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

8.1 KiB
Raw Blame History

立即测试 - 核心支付流程

创建时间: 2026-01-23
预计时间: 10分钟


🚀 快速开始3步

步骤1: 准备测试数据2分钟

复制以下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分钟

# 方法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

支付流程检查

  • 选择钱包支付
  • 点击"立即支付"
  • 显示"支付中..."
  • 支付成功提示
  • 跳转到订单列表

🔍 快速调试

如果钱包余额不显示

// 在控制台查看
console.log('钱包余额:', this.walletBalance)

// 检查网络请求
// Network标签 -> 查找 /api/wallet/balance

如果次卡不显示

-- 检查数据库
SELECT * FROM time_card WHERE user_id = 1 AND status = 1;

如果优惠券不显示

-- 检查数据库
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批处理

@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脚本

#!/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是否执行成功

问题: 支付失败
解决: 查看控制台错误信息

问题: 弹窗不显示
解决: 检查数据是否存在


测试完成

测试完成后,请确认:

  • 所有功能正常
  • 无控制台错误
  • 支付流程完整
  • 数据更新正确

测试时间: ___________
测试结果: 通过 / 未通过
备注: ___________


立即开始测试! 🚀