Files
zyt/TEST_MINI_PROGRAM_QRCODE.md
T
2026-03-06 14:27:24 +08:00

3.4 KiB
Raw Blame History

小程序二维码功能测试指南

前置条件

1. 配置小程序信息

进入后台管理系统:

  • 导航到:渠道设置 -> 微信小程序设置
  • 填写必填项:
    • AppID(小程序AppID
    • AppSecret(小程序AppSecret
  • 保存配置

2. 确保有测试数据

  • 至少有一条患者诊断记录
  • 记录中包含完整的患者信息(patient_id)

测试步骤

测试1:正常生成二维码

  1. 登录后台管理系统
  2. 进入:中医管理 -> 诊断管理
  3. 找到任意一条患者记录
  4. 点击操作列的"小程序二维码"按钮
  5. 预期结果:
    • 弹出二维码显示弹窗
    • 显示加载状态
    • 成功生成并显示二维码图片
    • 显示患者姓名
    • 提示"请使用微信扫描二维码"

测试2:未配置小程序

  1. 清空小程序配置(AppID或AppSecret
  2. 点击"小程序二维码"按钮
  3. 预期结果:
    • 提示"小程序未配置,请先配置小程序信息"
    • 弹窗自动关闭

测试3:重新生成二维码

  1. 成功生成二维码后
  2. 点击弹窗底部的"重新生成"按钮
  3. 预期结果:
    • 显示加载状态
    • 重新生成新的二维码
    • 二维码URL可能不同(因为时间戳变化)

测试4:扫码验证

  1. 生成二维码后
  2. 使用微信扫描二维码
  3. 预期结果:
    • 跳转到小程序
    • 进入 pages/order/monad/monad 页面
    • 页面能够获取到诊单ID和分享用户ID参数

接口测试

使用Postman测试

接口: POST /adminapi/tcm.diagnosis/generateMiniProgramQrcode

Headers:

Content-Type: application/json
token: {你的登录token}

Body (JSON):

{
  "diagnosis_id": 1,
  "patient_id": 1,
  "share_user_id": 1
}

预期响应:

{
  "code": 1,
  "msg": "success",
  "data": {
    "qrcode_url": "http://yourdomain.com/uploads/qrcode/20240306/qrcode_xxx.png",
    "diagnosis_id": 1,
    "patient_id": 1
  }
}

常见问题排查

问题1:提示"小程序未配置"

  • 检查是否已配置AppID和AppSecret
  • 确认配置已保存成功

问题2:生成失败

问题3:二维码无法显示

  • 检查uploads目录是否有写入权限
  • 检查生成的图片路径是否正确
  • 检查图片URL是否可访问

问题4:扫码后无法跳转

  • 确认小程序中存在 pages/order/monad/monad 页面
  • 检查小程序是否已发布
  • 确认AppID是否匹配

数据库检查

生成的二维码图片存储在:

public/uploads/qrcode/{日期}/qrcode_{appId}_{md5}_{timestamp}.png

AccessToken缓存Key

wx_access_token_{appId}

可以通过以下方式查看缓存:

// 在PHP中
$token = cache('wx_access_token_' . $appId);
var_dump($token);

性能测试

并发测试

  • 同时生成多个二维码
  • 观察AccessToken是否正确复用
  • 检查是否有重复请求微信API

缓存测试

  • 第一次生成二维码(会请求微信获取AccessToken
  • 7000秒内再次生成(应使用缓存的AccessToken
  • 观察响应时间差异

安全检查

  1. 权限验证:未登录用户无法访问
  2. 参数验证:必填参数缺失时返回错误
  3. 数据验证:诊单ID和患者ID必须存在
  4. 文件安全:生成的图片文件名包含随机因素,避免被猜测