peixue-dev/Archive/peidu-temp-files/docs/⚡⚡⚡立即测试-核心支付流程-2026-01-23.md

285 lines
8.1 KiB
Markdown
Raw Normal View History

2026-02-28 17:26:03 +08:00
# ⚡⚡⚡ 立即测试 - 核心支付流程
**创建时间**: 2026-01-23
**预计时间**: 10分钟
---
## 🚀 快速开始3步
### 步骤1: 准备测试数据2分钟
复制以下SQL并在数据库中执行
```sql
-- 1. 创建测试钱包
INSERT INTO wallet (user_id, balance, frozen_balance, total_recharge, total_withdraw, create_time, update_time)
VALUES (1, 500.00, 0.00, 500.00, 0.00, NOW(), NOW())
ON DUPLICATE KEY UPDATE balance = 500.00, update_time = NOW();
-- 2. 创建测试次卡
INSERT INTO time_card (user_id, card_no, card_name, card_type, price, total_hours, used_hours, remaining_hours, status, start_date, expire_date, create_time, update_time)
VALUES (1, 'TC20260123001', '标准次卡', 'standard', 200.00, 10, 0, 10, 1, CURDATE(), DATE_ADD(CURDATE(), INTERVAL 1 YEAR), NOW(), NOW());
-- 3. 创建测试套餐
INSERT INTO `package` (package_name, package_type, price, total_times, description, status, create_time, update_time)
VALUES ('基础套餐', 'basic', 300.00, 5, '5次陪伴服务', 1, NOW(), NOW())
ON DUPLICATE KEY UPDATE status = 1;
INSERT INTO user_package (user_id, package_id, package_name, total_times, used_times, remaining_times, status, purchase_time, expire_time, create_time, update_time)
VALUES (1, 1, '基础套餐', 5, 0, 5, 1, NOW(), DATE_ADD(NOW(), INTERVAL 1 YEAR), NOW(), NOW());
-- 4. 创建测试优惠券
INSERT INTO coupon (coupon_name, coupon_type, discount_amount, min_amount, total_quantity, received_quantity, used_quantity, start_time, end_time, status, create_time, update_time)
VALUES ('新用户优惠券', 'discount', 20.00, 100.00, 100, 0, 0, NOW(), DATE_ADD(NOW(), INTERVAL 1 MONTH), 1, NOW(), NOW())
ON DUPLICATE KEY UPDATE status = 1;
INSERT INTO user_coupon (user_id, coupon_id, coupon_name, coupon_type, discount_amount, min_amount, status, receive_time, expire_time, create_time, update_time)
VALUES (1, 1, '新用户优惠券', 'discount', 20.00, 100.00, 0, NOW(), DATE_ADD(NOW(), INTERVAL 1 MONTH), NOW(), NOW());
-- 5. 创建测试订单
INSERT INTO `order` (order_no, user_id, service_name, service_date, time_slot, duration, price, pay_amount, status, create_time, update_time)
VALUES ('ORD20260123001', 1, '陪伴服务', CURDATE(), '14:00-16:00', 2, 150.00, 150.00, 0, NOW(), NOW());
```
### 步骤2: 重新编译前端3分钟
```bash
# 方法1: 使用命令行
cd peidu/uniapp
npm run dev:mp-weixin
# 方法2: 使用HBuilderX
# 右键项目 -> 运行 -> 运行到小程序模拟器 -> 微信开发者工具
```
### 步骤3: 打开支付页面测试5分钟
1. 打开微信开发者工具
2. 在地址栏输入:`/pages/payment/index?orderId=1`
3. 按Enter进入支付页面
---
## ✅ 快速验证清单
### 页面加载检查
- [ ] 订单信息显示正常
- [ ] 支付金额显示¥150.00
- [ ] 6种支付方式都显示
### 钱包支付检查
- [ ] 显示"余额¥500.00"
- [ ] 点击可以选中
- [ ] 显示绿色边框
### 次卡支付检查
- [ ] 显示"1张可用"
- [ ] 点击后弹出选择器
- [ ] 显示"标准次卡 剩余10小时"
- [ ] 选择后弹窗关闭
### 套餐支付检查
- [ ] 显示"1个可用"
- [ ] 点击后弹出选择器
- [ ] 显示"基础套餐 剩余5次"
- [ ] 选择后弹窗关闭
### 优惠券检查
- [ ] 显示"1张可用"
- [ ] 点击后弹出选择器
- [ ] 显示"新用户优惠券 满100减20"
- [ ] 选择后显示"-¥20.00"
- [ ] 实付金额变为¥130.00
### 支付流程检查
- [ ] 选择钱包支付
- [ ] 点击"立即支付"
- [ ] 显示"支付中..."
- [ ] 支付成功提示
- [ ] 跳转到订单列表
---
## 🔍 快速调试
### 如果钱包余额不显示
```javascript
// 在控制台查看
console.log('钱包余额:', this.walletBalance)
// 检查网络请求
// Network标签 -> 查找 /api/wallet/balance
```
### 如果次卡不显示
```sql
-- 检查数据库
SELECT * FROM time_card WHERE user_id = 1 AND status = 1;
```
### 如果优惠券不显示
```sql
-- 检查数据库
SELECT * FROM user_coupon WHERE user_id = 1 AND status = 0;
```
---
## 📸 预期效果截图说明
### 1. 支付页面
```
┌─────────────────────────────┐
│ 订单信息 │
│ 订单号: ORD20260123001 │
│ 服务名称: 陪伴服务 │
│ 服务时间: 2026-01-23 14:00 │
│ 服务时长: 2小时 │
├─────────────────────────────┤
│ 支付金额: ¥150.00 │
├─────────────────────────────┤
│ 选择支付方式 │
│ │
│ 💳 微信支付 ✓ │
│ 💰 钱包支付 │
│ 余额¥500.00 │
│ 🎟️ 次卡支付 │
│ 1张可用 │
│ 📦 套餐支付 │
│ 1个可用 │
│ 🔵 支付宝支付 │
├─────────────────────────────┤
│ 🎫 优惠券 1张可用
├─────────────────────────────┤
│ 实付金额: ¥150.00 │
│ [立即支付] │
└─────────────────────────────┘
```
### 2. 选择优惠券后
```
┌─────────────────────────────┐
│ 🎫 优惠券 -¥20.00
├─────────────────────────────┤
│ 实付金额: ¥130.00 │
│ [立即支付] │
└─────────────────────────────┘
```
---
## ⚡ 一键测试脚本
### Windows批处理
```batch
@echo off
echo ========================================
echo 核心支付流程 - 快速测试
echo ========================================
echo.
echo [1/3] 执行SQL脚本...
mysql -u root -p peidu < test_payment_data.sql
echo SQL脚本执行完成
echo.
echo [2/3] 重新编译前端...
cd peidu\uniapp
call npm run dev:mp-weixin
echo 前端编译完成!
echo.
echo [3/3] 打开微信开发者工具...
echo 请手动打开微信开发者工具
echo 并访问: /pages/payment/index?orderId=1
echo.
echo ========================================
echo 测试准备完成!
echo ========================================
pause
```
### Linux/Mac脚本
```bash
#!/bin/bash
echo "========================================"
echo "核心支付流程 - 快速测试"
echo "========================================"
echo
echo "[1/3] 执行SQL脚本..."
mysql -u root -p peidu < test_payment_data.sql
echo "SQL脚本执行完成"
echo
echo "[2/3] 重新编译前端..."
cd peidu/uniapp
npm run dev:mp-weixin
echo "前端编译完成!"
echo
echo "[3/3] 打开微信开发者工具..."
echo "请手动打开微信开发者工具"
echo "并访问: /pages/payment/index?orderId=1"
echo
echo "========================================"
echo "测试准备完成!"
echo "========================================"
```
---
## 🎯 成功标准
### 必须通过
- ✅ 所有支付方式都能显示
- ✅ 钱包余额正确显示
- ✅ 次卡/套餐数量正确显示
- ✅ 优惠券可以选择
- ✅ 实付金额计算正确
- ✅ 支付流程完整
### 可选通过
- ⭕ 支付成功后跳转正确
- ⭕ 数据库记录更新正确
- ⭕ 余额/次数扣减正确
---
## 📞 遇到问题?
### 常见问题快速解决
**问题**: 页面空白
**解决**: 检查orderId参数是否正确
**问题**: 余额不显示
**解决**: 检查SQL是否执行成功
**问题**: 支付失败
**解决**: 查看控制台错误信息
**问题**: 弹窗不显示
**解决**: 检查数据是否存在
---
## ✅ 测试完成
测试完成后,请确认:
- [ ] 所有功能正常
- [ ] 无控制台错误
- [ ] 支付流程完整
- [ ] 数据更新正确
**测试时间**: ___________
**测试结果**: ⭕ 通过 / ❌ 未通过
**备注**: ___________
---
**立即开始测试!** 🚀