# ⚡⚡⚡ 立即测试 - 核心支付流程 **创建时间**: 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是否执行成功 **问题**: 支付失败 **解决**: 查看控制台错误信息 **问题**: 弹窗不显示 **解决**: 检查数据是否存在 --- ## ✅ 测试完成 测试完成后,请确认: - [ ] 所有功能正常 - [ ] 无控制台错误 - [ ] 支付流程完整 - [ ] 数据更新正确 **测试时间**: ___________ **测试结果**: ⭕ 通过 / ❌ 未通过 **备注**: ___________ --- **立即开始测试!** 🚀