From f5841d09340fa7f03086bd5fde36b67d60ad6ea0 Mon Sep 17 00:00:00 2001 From: zzc <1761997216@qq.com> Date: Wed, 11 Feb 2026 23:59:51 +0800 Subject: [PATCH] fix: create order --- api/pay.js | 2 +- pages/mine/vip.vue | 10 ++++++++-- utils/request.js | 3 +++ utils/system.js | 4 ++++ 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/api/pay.js b/api/pay.js index 338f00b..5cac542 100644 --- a/api/pay.js +++ b/api/pay.js @@ -2,7 +2,7 @@ import { request } from "@/utils/request.js"; export const createOrder = async (data) => { return request({ - url: "/api/pay/wechat/order/create", + url: "/api/pay/order/v2/create", method: "POST", data, }); diff --git a/pages/mine/vip.vue b/pages/mine/vip.vue index 24bb18f..1eecd72 100644 --- a/pages/mine/vip.vue +++ b/pages/mine/vip.vue @@ -111,6 +111,7 @@ import { storeToRefs } from "pinia"; import { useUserStore } from "@/stores/user"; import { createOrder, getVipPlan } from "@/api/pay.js"; import NavBar from "@/components/NavBar/NavBar.vue"; +import { getPlatformProvider } from "@/utils/system"; const userStore = useUserStore(); const { userInfo } = storeToRefs(userStore); @@ -179,8 +180,11 @@ const handlePurchase = async () => { }); if (orderRes?.payParams) { + const platform = getPlatformProvider(); + const provider = platform === "mp-alipay" ? "alipay" : "wxpay"; + uni.requestPayment({ - provider: "wxpay", + provider: provider, ...orderRes.payParams, success(res) { uni.showToast({ title: "支付成功", icon: "success" }); @@ -189,7 +193,9 @@ const handlePurchase = async () => { }, fail(err) { console.log("payment fail", err); - if (err.errMsg.indexOf("cancel") > -1) { + // 支付宝取消支付的错误码是 6001 + // 微信取消支付的错误信息包含 cancel + if (err.errMsg.indexOf("cancel") > -1 || err.resultCode === "6001") { uni.showToast({ title: "支付已取消", icon: "none" }); } else { uni.showToast({ title: "支付失败", icon: "none" }); diff --git a/utils/request.js b/utils/request.js index 022bc02..a515037 100644 --- a/utils/request.js +++ b/utils/request.js @@ -3,6 +3,8 @@ const BASE_URL = "http://192.168.1.3:3999"; // const BASE_URL = "http://192.168.31.253:3999"; import { useUserStore } from "@/stores/user"; +import { getPlatform } from "./system.js"; +const platform = getPlatform(); // 环境区分 // const BASE_URL = @@ -33,6 +35,7 @@ function hideLoading() { function getHeaders() { const headers = { "x-app-id": "69665538a49b8ae3be50fe5d", + "x-platform": platform, }; const userStore = useUserStore(); if (userStore.token) { diff --git a/utils/system.js b/utils/system.js index 3d1a753..c9b9388 100644 --- a/utils/system.js +++ b/utils/system.js @@ -55,6 +55,10 @@ export function getPlatformProvider() { // return typeof tt !== 'undefined' ? 'toutiao' : 'weixin'; } +export function getPlatform() { + return getPlatformProvider().replace("mp-", ""); +} + export function getDeviceInfo() { const info = uni.getSystemInfoSync(); return {