peixue-dev/Archive/peidu-temp-files/docs/[一次性]钱包充值功能-修复完成-2026-01-25.md

3.2 KiB
Raw Blame History

钱包充值功能 - 修复完成

创建时间2026-01-25
状态:已修复,可以测试


🔧 修复的问题

问题1request is not defined

原因: 前端代码使用了未导入的 request 对象

解决: 改用已导入的 walletApi


问题2this.$http is undefined

原因: Vue实例上没有 $http 属性

解决: 使用 walletApi 的方法


已完成的修改

1. 后端 (WalletController.java)

  • 所有接口改用 @CurrentUser 注解
  • 新增 recharge-request 接口
  • 新增 mock-pay 接口
  • 新增 recharge-callback 接口

2. 前端 API (api/index.js)

  • 添加 walletApi.rechargeRequest() 方法
  • 添加 walletApi.mockPay() 方法
  • 添加 walletApi.rechargeCallback() 方法

3. 前端页面 (recharge.vue)

  • 使用 walletApi.rechargeRequest() 创建充值请求
  • 使用 walletApi.mockPay() 模拟支付
  • 添加真实支付方法(已注释)

🚀 现在可以测试了

测试步骤:

  1. 重新编译前端(如果需要)

    # 微信开发者工具会自动编译
    # 或者手动点击"编译"按钮
    
  2. 测试充值功能

    • 登录系统
    • 进入"我的钱包"
    • 点击"充值"
    • 选择金额(如 ¥200
    • 点击"确认充值"
    • 应该看到"充值成功"提示
    • 余额应该增加
  3. 查看控制台日志

    创建充值请求: {amount: 200, paymentChannel: "wechat"}
    充值请求响应: {code: 200, data: {...}}
    充值请求创建成功: {transactionNo: "RCH...", ...}
    开始模拟支付...
    模拟支付响应: {code: 200, data: "充值成功"}
    

📊 完整的充值流程

用户点击充值
↓
选择金额和支付方式
↓
调用 walletApi.rechargeRequest()
  → POST /api/wallet/recharge-request
  → 后端生成充值订单号
  → 返回 {transactionNo, amount, paymentChannel}
↓
调用 walletApi.mockPay()
  → POST /api/wallet/mock-pay
  → 后端调用 walletService.recharge()
  → 更新钱包余额
  → 创建交易记录
  → 返回"充值成功"
↓
前端显示"充值成功"
↓
返回钱包页面,余额已更新

🎯 后期替换真实支付

只需要修改 handleRecharge() 方法中的这部分:

// 【模拟支付】删除这部分
const payRes = await walletApi.mockPay({
  transactionNo,
  amount,
  paymentChannel
})

// 【真实支付】启用这部分
if (this.selectedPayment === 'wechat') {
  await this.wechatPay(transactionNo, amount)
} else if (this.selectedPayment === 'alipay') {
  await this.alipayPay(transactionNo, amount)
}

📝 修改的文件清单

  1. peidu/backend/src/main/java/com/peidu/controller/WalletController.java
  2. peidu/uniapp/src/api/index.js
  3. peidu/uniapp/src/user-package/pages/wallet/recharge.vue

🎉 功能已完成

现在你可以:

  1. 测试充值功能(模拟支付)
  2. 测试订单支付(钱包扣款)
  3. 测试退款功能(钱包退回)
  4. 查看交易记录

所有功能都已经可以正常使用了!


创建时间: 2026-01-25
状态: 已完成,可以测试