From 2b3e563160214d939731da78597ec595e07cd24f Mon Sep 17 00:00:00 2001 From: Mrx <18278715334@163.com> Date: Fri, 30 Jan 2026 11:38:30 +0800 Subject: [PATCH] f --- src/components/Payment.vue | 58 ++++++++++++++++++++++++++++++-------- vite.config.js | 4 +-- 2 files changed, 48 insertions(+), 14 deletions(-) diff --git a/src/components/Payment.vue b/src/components/Payment.vue index ebeadf3..7ce23f0 100644 --- a/src/components/Payment.vue +++ b/src/components/Payment.vue @@ -58,9 +58,32 @@ + + + + + + import { ref, defineProps } from "vue"; const { isWeChat } = useEnv(); +const isDev = import.meta.env.DEV; const props = defineProps({ data: { @@ -110,9 +134,13 @@ const props = defineProps({ }, }); const show = defineModel(); -const selectedPaymentMethod = ref(isWeChat.value ? "wechat" : "alipay"); +const selectedPaymentMethod = ref( + isDev ? "test" : isWeChat.value ? "wechat" : "alipay" +); onMounted(() => { - if (isWeChat.value) { + if (isDev) { + selectedPaymentMethod.value = "test"; + } else if (isWeChat.value) { selectedPaymentMethod.value = "wechat"; } else { selectedPaymentMethod.value = "alipay"; @@ -121,13 +149,6 @@ onMounted(() => { const orderNo = ref(""); const router = useRouter(); const discountPrice = ref(false); // 是否应用折扣 -onMounted(() => { - if (isWeChat.value) { - selectedPaymentMethod.value = "wechat"; - } else { - selectedPaymentMethod.value = "alipay"; - } -}); async function getPayment() { const { data, error } = await useApiFetch("/pay/payment") @@ -139,10 +160,23 @@ async function getPayment() { .json(); if (data.value && !error.value) { + const prepayId = data.value.data.prepay_id ?? data.value.data.prepayId; + const orderNoFromApi = data.value.data.order_no; + orderNo.value = orderNoFromApi; + + // 开发环境测试支付:直接跳转结果页 + if (selectedPaymentMethod.value === "test" && prepayId === "test_payment_success") { + router.push({ + path: "/payment/result", + query: { orderNo: orderNoFromApi }, + }); + show.value = false; + return; + } + if (selectedPaymentMethod.value === "alipay") { - orderNo.value = data.value.data.order_no; // 存储订单ID以便支付宝返回时获取 - const prepayUrl = data.value.data.prepay_id; + const prepayUrl = prepayId; const paymentForm = document.createElement("form"); paymentForm.method = "POST"; paymentForm.action = prepayUrl; diff --git a/vite.config.js b/vite.config.js index 82fb402..077b78b 100644 --- a/vite.config.js +++ b/vite.config.js @@ -15,8 +15,8 @@ export default defineConfig({ strictPort: true, // 如果端口被占用则抛出错误而不是使用下一个可用端口 proxy: { "/api/v1": { - target: "http://127.0.0.1:8888", // 本地接口地址 - // target: "https://www.tianyuancha.cn", // 本地接口地址 + // target: "http://127.0.0.1:8888", // 本地接口地址 + target: "https://www.tianyuancha.cn", // 本地接口地址 changeOrigin: true, }, },