index.md 2.5 KB

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 方法获取用户信息重置登录状态。