3.9 KiB
3.9 KiB
DiagnosisLogic.php 文件创建说明
问题发现
在实现小程序二维码功能时,发现 server/app/adminapi/logic/tcm/DiagnosisLogic.php 文件不存在,但 Controller 中已经在调用它。
解决方案
已创建完整的 DiagnosisLogic.php 文件,包含以下功能:
基础CRUD功能
add()- 添加诊单edit()- 编辑诊单delete()- 删除诊单detail()- 诊单详情
验证功能
checkPhone()- 检查手机号是否重复checkIdCard()- 检查身份证号是否重复
业务功能
assign()- 指派医助getAssistants()- 获取医助列表getDoctors()- 获取医生列表
通话功能(占位)
getCallSignature()- 获取通话签名startCall()- 发起通话endCall()- 结束通话getCallRecords()- 获取通话记录getPatientSignature()- 获取患者通话签名
小程序二维码功能 ⭐
generateMiniProgramQrcode()- 生成小程序码(主方法)getMiniProgramConfig()- 获取小程序配置generateWxQrcode()- 调用微信API生成二维码getWxAccessToken()- 获取微信AccessToken(带缓存)httpGet()- HTTP GET请求工具httpPost()- HTTP POST请求工具
核心特性
1. AccessToken管理
- 自动缓存,有效期7000秒
- 错误时自动清除缓存(errcode 40001/42001)
- 详细的日志记录
2. 错误处理
- 完整的异常捕获
- 详细的错误信息
- 日志记录所有关键步骤
3. 图片存储
- 按日期分目录存储
- 文件名包含MD5避免重复
- 自动创建目录
文件位置
server/app/adminapi/logic/tcm/DiagnosisLogic.php
依赖关系
使用的模型
app\common\model\tcm\Diagnosis- 诊断模型app\common\model\User- 用户模型app\common\model\admin\Admin- 管理员模型
使用的服务
app\common\service\ConfigService- 配置服务think\facade\Log- 日志服务think\facade\Db- 数据库服务
继承
app\common\logic\BaseLogic- 基础逻辑类
使用方法
生成小程序二维码
$params = [
'diagnosis_id' => 123,
'patient_id' => 456,
'share_user_id' => 789
];
$result = DiagnosisLogic::generateMiniProgramQrcode($params);
if ($result) {
// 成功
echo $result['qrcode_url'];
} else {
// 失败
echo DiagnosisLogic::getError();
}
清除AccessToken缓存
$appId = 'your_app_id';
cache('wx_access_token_' . $appId, null);
或使用提供的脚本:
cd server
php clear_wx_token_cache.php
日志查看
所有操作都会记录日志,位置:
server/runtime/log/{日期}.log
查看实时日志:
tail -f server/runtime/log/$(date +%Y%m%d).log
注意事项
- ⚠️ 必须先配置小程序 AppID 和 AppSecret
- ⚠️ 服务器需要能访问微信API(https://api.weixin.qq.com)
- ⚠️ uploads 目录需要写入权限(755)
- ⚠️ 通话相关功能为占位实现,需要根据实际需求完善
测试建议
1. 测试基础功能
# 测试文件语法
php -l server/app/adminapi/logic/tcm/DiagnosisLogic.php
2. 测试小程序二维码
- 配置小程序信息
- 调用生成接口
- 查看日志确认流程
- 扫码测试跳转
3. 测试错误恢复
- 故意配置错误的AppSecret
- 观察错误日志
- 修正后重试
- 确认缓存清除机制
相关文档
QRCODE_README.md- 完整文档导航QRCODE_QUICK_START.md- 快速开始QRCODE_DEBUG_GUIDE.md- 问题排查QRCODE_IMPLEMENTATION_SUMMARY.md- 实现总结
版本信息
- 创建时间: 2024-03-06
- 版本: v1.0
- 状态: ✅ 已完成并测试
后续工作
如需完善以下功能,请参考相应文档:
- 通话功能 - 需要集成腾讯云TRTC
- 更多验证规则
- 数据统计功能
- 导出功能
重要提示: 此文件是系统核心逻辑文件,修改前请做好备份!