1、创建订单之前是否需要检测有待支付订单; ### 用户登录时检测可以可以使用软件 - 当页面请求完 getUserInfo() 时,检测 membershipEndTime 字段是否小于当前时间和为空的时候,打开购买弹窗 - 创建一个全局弹窗:有以下几个套餐 29.9/7天、 39.9/14天、 49.9/一个月、 199/6个月、 299/12月赠送两个月 - 弹窗上有两个按钮:续费、取消 - 点击取消,关闭弹窗; - 点击续费,创建订单接口使用 /edu-app/userPaymentOrder/executeOrder;参数: { orderType: 'VIP', paymentType: this.paymentType, paymentCashAmount: 0, paymentCouponAmount: 0, goodsInfos: params, orderName: '乐器AI学练工具', orderDesc: '乐器AI学练工具' } } - 创建订单成功后,页面显示支付二维码,目前仅支持微信支付 - 生成二维码,后页面轮询接口:request.get(/edu-app/userPaymentOrder/detail/' + data.orderNo); 检测订单状态,成功后调用 '/Users/wangxinlei/daya/classroom-instruments/src/store/modules/users.ts' 中的 getInfo 方法获取用户信息重置登录状态 - 支付方法和支付类型使用下面接口: async getConfig() { try { const { data } = await request.get( '/edu-app/open/paramConfig/queryByParamNameList', { requestType: 'form', params: { paramNames: 'vip_payment_service_provider' } } ); if (data && Array.isArray(data)) {cg data.forEach((item: any) => { if (item.paramName === 'vip_payment_service_provider') { const provider = JSON.parse(item.paramValue); this.paymentType = provider.vendor; this.paymentChannel = provider.channel; } }); } } catch { // } }, - 购买成功后,关闭弹窗,调用 '/Users/wangxinlei/daya/classroom-instruments/src/store/modules/users.ts' 中的 getInfo 方法获取用户信息重置登录状态 先列一个计划,分步实现: 1、先判断用户是否有权限访问; 2、获取用户信息; 3、弹出购买弹窗, 根据当前项目风格生成弹窗; 4、用户点击确认按钮,调用接口进行支付; 5、支付成功后,关闭弹窗,调用 '/Users/wangxinlei/daya/classroom-instruments/src/store/modules/users.ts' 中的 getInfo 方法获取用户信息重置登录状态。