diff --git a/api/modules/wallet.js b/api/modules/wallet.js index e03ba51..a07c6d0 100644 --- a/api/modules/wallet.js +++ b/api/modules/wallet.js @@ -52,6 +52,15 @@ export const walletApi = { }); }, + // 支付充值订单 + payRechargeOrder(identifier, rechargeOrderId, paymentMethod) { + return request({ + url: `/api/c/v1/recharge-orders/${rechargeOrderId}/pay`, + method: 'POST', + data: { identifier, payment_method: paymentMethod, app_type: APP_TYPE } + }); + }, + getTransactions(identifier, page, page_size, params = {}) { return request({ url: '/api/c/v1/wallet/transactions', diff --git a/pages/my-wallet/my-wallet.vue b/pages/my-wallet/my-wallet.vue index ec32f11..b859ea3 100644 --- a/pages/my-wallet/my-wallet.vue +++ b/pages/my-wallet/my-wallet.vue @@ -544,16 +544,17 @@ }); try { - // 获取充值订单详情(包含支付配置) - const rechargeData = await walletApi.getRechargeOrderDetail( + // 调用支付接口获取支付配置 + const payData = await walletApi.payRechargeOrder( userStore.state.identifier, - rechargeOrder.recharge_order_id || rechargeOrder.recharge_id + rechargeOrder.recharge_order_id || rechargeOrder.recharge_id, + 'wechat' ); uni.hideLoading(); // 验证支付配置 - if (!rechargeData.pay_config || !rechargeData.pay_config.package) { + if (!payData.pay_config || !payData.pay_config.package) { uni.showToast({ title: '支付参数获取失败', icon: 'none' @@ -561,6 +562,8 @@ return; } + const rechargeData = payData; + // 调起微信支付 // #ifdef H5 if (typeof WeixinJSBridge === 'undefined') { @@ -919,6 +922,7 @@ padding: 12rpx 32rpx; font-size: 26rpx; font-weight: 500; + width:100%; &::after { border: none; diff --git a/pages/package-order/package-order.vue b/pages/package-order/package-order.vue index 30dfddd..2caaff7 100644 --- a/pages/package-order/package-order.vue +++ b/pages/package-order/package-order.vue @@ -163,7 +163,7 @@ } // 检查充值订单是否已存在(待支付状态但无支付配置) - if (recharge.status === 0 && (!orderResult.pay_config || !orderResult.pay_config.package)) { + if (recharge.status === 1 && (!orderResult.pay_config || !orderResult.pay_config.package)) { // 待支付订单已存在,引导用户跳转到订单页面 uni.hideLoading(); showModal.value = false;