Files
zyt/CHECKLIST.md
T
2026-03-04 15:32:30 +08:00

277 lines
6.3 KiB
Markdown

# 音视频通话功能 - 实施检查清单
## 📋 文件创建检查
### 前端文件
- [x] `admin/src/components/video-call/index.vue` - 视频通话组件
- [x] `admin/src/api/tcm.ts` - API 接口(已更新)
- [x] `admin/src/views/tcm/diagnosis/index.vue` - 诊断列表(已更新)
- [x] `admin/package.json` - 依赖配置(已更新)
- [x] `admin/INSTALL.md` - 安装说明
- [x] `admin/README_VIDEO_CALL.md` - 功能文档
### 后端文件
- [x] `server/app/adminapi/controller/tcm/DiagnosisController.php` - 控制器(已更新)
- [x] `server/app/adminapi/logic/tcm/DiagnosisLogic.php` - 业务逻辑(已更新)
- [x] `server/app/common/model/tcm/CallRecord.php` - 通话记录模型
- [x] `server/config/project.php` - 项目配置(已更新)
- [x] `server/config/trtc.php` - TRTC 配置文件
- [x] `server/sql/tcm_call_record.sql` - 数据库迁移文件
- [x] `server/.env.trtc.example` - 环境变量示例
### 文档文件
- [x] `TRTC_SETUP_GUIDE.md` - 完整配置指南
- [x] `TEST_VIDEO_CALL.md` - 测试指南
- [x] `VIDEO_CALL_SUMMARY.md` - 实现总结
- [x] `README_音视频通话功能.md` - 功能说明
- [x] `CHECKLIST.md` - 本检查清单
### 工具脚本
- [x] `install_video_call.bat` - Windows 安装脚本
- [x] `install_video_call.sh` - Linux/Mac 安装脚本
## 🔧 安装步骤检查
### 1. 前端安装
- [ ] 进入 admin 目录
- [ ] 执行 `npm install @tencentcloud/call-uikit-vue`
- [ ] 验证 package.json 中包含该依赖
- [ ] 执行 `npm run build` 构建项目
### 2. 后端配置
- [ ] 复制 `server/.env.trtc.example``server/.env`
- [ ] 填写 TRTC_SDK_APP_ID
- [ ] 填写 TRTC_SECRET_KEY
- [ ] 设置 TRTC_ENABLE=true
### 3. 数据库迁移
- [ ] 执行 SQL 文件创建通话记录表
- [ ] 验证表 `la_tcm_call_record` 已创建
- [ ] 检查表结构是否正确
### 4. 权限配置
- [ ] 在后台添加权限:`tcm.diagnosis/video-call`
- [ ] 分配权限给相应角色
- [ ] 验证权限控制生效
## 🧪 功能测试检查
### 基础功能测试
- [ ] 登录后台管理系统
- [ ] 进入中医诊单页面
- [ ] 点击"视频通话"按钮
- [ ] 对话框正常弹出
- [ ] 显示"正在初始化通话..."
### 签名获取测试
- [ ] 点击"开始通话"
- [ ] 成功获取签名
- [ ] 返回 sdkAppId、userId、userSig
- [ ] 无错误信息
### 通话功能测试
- [ ] 授权摄像头权限
- [ ] 授权麦克风权限
- [ ] TUICallKit 初始化成功
- [ ] 显示本地视频画面
- [ ] 可以正常发起通话
### 通话记录测试
- [ ] 结束通话
- [ ] 通话记录自动保存
- [ ] 记录包含开始时间
- [ ] 记录包含结束时间
- [ ] 记录包含通话时长
- [ ] 时长格式正确(X分X秒)
### API 接口测试
- [ ] getCallSignature 接口正常
- [ ] startCall 接口正常
- [ ] endCall 接口正常
- [ ] getCallRecords 接口正常
## 🔍 代码审查检查
### 前端代码
- [ ] 组件导入路径正确
- [ ] API 接口路径正确
- [ ] 类型定义完整
- [ ] 错误处理完善
- [ ] 用户提示友好
### 后端代码
- [ ] 控制器方法完整
- [ ] 参数验证严格
- [ ] 错误处理完善
- [ ] 日志记录充分
- [ ] 安全性考虑周全
### 数据库设计
- [ ] 表结构合理
- [ ] 索引设置正确
- [ ] 字段类型恰当
- [ ] 注释清晰完整
## 📖 文档完整性检查
### 安装文档
- [ ] 安装步骤清晰
- [ ] 命令示例正确
- [ ] 配置说明详细
- [ ] 常见问题覆盖
### API 文档
- [ ] 接口地址正确
- [ ] 请求参数完整
- [ ] 响应格式清晰
- [ ] 示例代码可用
### 测试文档
- [ ] 测试用例完整
- [ ] 测试步骤详细
- [ ] 期望结果明确
- [ ] 故障排查指南
## 🔒 安全性检查
### 配置安全
- [ ] 密钥不在代码中硬编码
- [ ] 使用环境变量管理配置
- [ ] .env 文件在 .gitignore 中
- [ ] 提供 .env.example 示例
### 接口安全
- [ ] 需要 Token 验证
- [ ] 参数验证完整
- [ ] 权限控制严格
- [ ] 防止 SQL 注入
- [ ] 防止 XSS 攻击
### 数据安全
- [ ] 敏感数据加密
- [ ] 通话记录权限控制
- [ ] 定期清理过期数据
## 🚀 性能优化检查
### 前端性能
- [ ] 组件按需加载
- [ ] 避免重复渲染
- [ ] 合理使用缓存
- [ ] 资源压缩优化
### 后端性能
- [ ] 数据库查询优化
- [ ] 索引使用合理
- [ ] 缓存策略得当
- [ ] 并发处理优化
## 💰 成本控制检查
### 使用监控
- [ ] 设置用量告警
- [ ] 定期查看账单
- [ ] 监控异常调用
- [ ] 记录使用统计
### 优化建议
- [ ] 考虑使用语音通话
- [ ] 设置通话时长限制
- [ ] 优化视频编码参数
- [ ] 定期清理录制文件
## 📱 兼容性检查
### 浏览器兼容
- [ ] Chrome 测试通过
- [ ] Edge 测试通过
- [ ] Safari 测试通过
- [ ] Firefox 测试通过
### 设备兼容
- [ ] Windows PC 测试
- [ ] Mac 测试
- [ ] 移动设备测试(如需要)
### 网络环境
- [ ] WiFi 环境测试
- [ ] 4G 网络测试
- [ ] 弱网环境测试
## 🎯 上线前检查
### 环境准备
- [ ] 生产环境配置正确
- [ ] HTTPS 证书配置
- [ ] 域名解析正确
- [ ] 防火墙规则配置
### 数据备份
- [ ] 数据库备份
- [ ] 配置文件备份
- [ ] 代码版本标记
### 监控告警
- [ ] 错误日志监控
- [ ] 性能监控配置
- [ ] 告警通知设置
### 文档准备
- [ ] 用户使用手册
- [ ] 运维文档
- [ ] 应急预案
## ✅ 最终验收
### 功能验收
- [ ] 所有功能正常运行
- [ ] 无严重 Bug
- [ ] 性能达标
- [ ] 用户体验良好
### 文档验收
- [ ] 文档完整准确
- [ ] 示例代码可用
- [ ] 注释清晰充分
### 安全验收
- [ ] 通过安全测试
- [ ] 无安全漏洞
- [ ] 权限控制正确
### 性能验收
- [ ] 响应时间达标
- [ ] 并发处理正常
- [ ] 资源占用合理
## 📝 备注
### 已知问题
-
### 待优化项
- 可考虑添加通话录制功能
- 可考虑添加通话质量监控
- 可考虑添加多人会议支持
### 后续计划
- [ ] 患者端小程序集成
- [ ] 通话统计报表
- [ ] 通话质量分析
---
## 签字确认
- [ ] 开发人员:__________ 日期:__________
- [ ] 测试人员:__________ 日期:__________
- [ ] 项目经理:__________ 日期:__________
---
**检查完成日期**: ____________
**检查人**: ____________
**备注**: ____________