This commit is contained in:
Alex-larget
2026-03-24 15:44:08 +08:00
parent 346e8ab057
commit 28ad08da84
62 changed files with 814 additions and 840 deletions

View File

@@ -1,4 +1,5 @@
const accessManager = require('../../utils/chapterAccessManager')
const soulBridge = require('../../utils/soulBridge.js')
const app = getApp()
const { trackClick } = require('../../utils/trackClick')
@@ -90,7 +91,7 @@ Page({
const amount = this.data.price
try {
// 0. 尝试余额支付(若余额足够)
const referralCode = wx.getStorageSync('referral_code') || ''
const referralCode = soulBridge.getReferralCodeForPay(app)
try {
const balanceRes = await app.request({ url: `/api/miniprogram/balance?userId=${userId}`, silent: true })
const balance = balanceRes?.data?.balance || 0
@@ -117,7 +118,7 @@ Page({
console.warn('[VIP] 余额支付失败,改用微信支付:', e)
}
// 1. 微信支付
// 1. 微信支付(带推荐码,与章节/匹配支付一致,便于分销归因)
const payRes = await app.request('/api/miniprogram/pay', {
method: 'POST',
data: {
@@ -126,18 +127,21 @@ Page({
productType: 'vip',
productId: 'vip_annual',
amount,
description: '卡若创业派对VIP年度会员365天'
description: '卡若创业派对VIP年度会员365天',
referralCode: soulBridge.getReferralCodeForPay(app) || undefined
}
})
if (payRes?.success && payRes.data?.payParams) {
wx.requestPayment({
...payRes.data.payParams,
success: async () => {
wx.showToast({ title: 'VIP开通成功', icon: 'success' })
await this._onVipPaymentSuccess()
},
fail: () => wx.showToast({ title: '支付取消', icon: 'none' })
})
try {
await soulBridge.requestWxJsapiPayment(payRes.data.payParams)
await soulBridge.syncOrderStatusQuery(app, payRes.data.orderSn)
wx.showToast({ title: 'VIP开通成功', icon: 'success' })
await this._onVipPaymentSuccess()
} catch (e) {
const msg = (e && e.errMsg) ? String(e.errMsg) : ''
if (msg.indexOf('cancel') !== -1) wx.showToast({ title: '支付取消', icon: 'none' })
else wx.showToast({ title: '支付失败', icon: 'none' })
}
} else {
wx.showToast({ title: payRes?.error || '支付参数获取失败', icon: 'none' })
}