- docs/reviews/代码质量审计报告-20260428.md: full audit results and fix summary - docs/planning/12-待办事项决策分类.md: action items split by decision owner (hardware team / product team / ops / independent)
95 行
3.4 KiB
Markdown
95 行
3.4 KiB
Markdown
# 代码质量审计报告
|
||
|
||
审计时间:2026-04-28
|
||
审计范围:server/、miniprogram/、admin-console/ 全部源码 + 设计文档合规性
|
||
|
||
## 审计结果总览
|
||
|
||
### 代码质量(修复前 -> 修复后)
|
||
|
||
| 模块 | 修复前 CRITICAL | 修复后 CRITICAL | 修复的问题数 |
|
||
|------|----------------|----------------|-------------|
|
||
| Server 后端 | 4 | 0 | 13 |
|
||
| 小程序 | 7 | 0 | 14 |
|
||
| Admin 管理后台 | 5 | 0 | 16 |
|
||
| 文档一致性 | 6 | 3 (已知差距) | 3 |
|
||
|
||
42 个文件修改,+495 / -1216 行(净减少 721 行),经两轮独立审查验证通过。
|
||
|
||
### 文档合规校验
|
||
|
||
| 校验维度 | 符合 | 部分符合 | 未实现 |
|
||
|----------|------|----------|--------|
|
||
| BLE 通信协议 | 4/10 | 2/10 | 2/10 |
|
||
| API 接口 | 9/17 | 6/17 | 2/17 |
|
||
| 数据库表结构 | 0/8 | 6/8 | 2/8 |
|
||
| 安全与鉴权 | 4/15 | 4/15 | 7/15 |
|
||
| 小程序业务流程 | 3/9 | 6/9 | 0/9 |
|
||
| 管理后台功能 | 5/9 | 4/9 | 0/9 |
|
||
|
||
---
|
||
|
||
## 已修复的问题
|
||
|
||
### Server(13 项)
|
||
|
||
1. JWT 密钥生产环境强制校验(不允许默认值)
|
||
2. 订阅 verify 改为 admin-only(堵免费订阅漏洞)
|
||
3. 设备命令结果上报增加设备归属校验
|
||
4. 设备事件上报增加设备归属校验
|
||
5. 护理记录同步增加设备归属校验
|
||
6. 移除 admin token 从请求 body 读取
|
||
7. 管理员设置接口增加 key 白名单
|
||
8. 管理员创建订阅增加用户存在性校验
|
||
9. COS getObjectUrl 改为 callback-based Promise
|
||
10. 固件检查增加版本比较逻辑
|
||
11. 绑定返回真实订阅状态(替代硬编码 trial)
|
||
12. 分页参数增加边界保护(pageSize 上限 100)
|
||
13. 提取公共工具函数(limitClause, toMysqlDate, formatDate)
|
||
|
||
### 小程序(14 项)
|
||
|
||
1. 扫描 PD 假数据替换为占位符
|
||
2. 护理完成标记为 client_timer 来源
|
||
3. mock.js 禁用
|
||
4. auto-scan 增加 onUnload 清理 BLE 监听器
|
||
5. wear-check 增加 onUnload 清理 BLE 监听器
|
||
6. ble-connect 增加 onUnload 清理 BLE 监听器
|
||
7. index 页 ble.off 传入具体回调(不再清除所有监听器)
|
||
8. subscription status 类型统一为数字
|
||
9. BLE 扫描回调累积修复(offBluetoothDeviceFound)
|
||
10. 历史统计数据跨页累加
|
||
11. subscribe-success 从参数读取实际套餐信息
|
||
12. treatment-done 从参数读取实际护理模式
|
||
13. BLE 断连检测(onBLEConnectionStateChange)
|
||
14. 购买流程替换为联系管理员弹窗
|
||
|
||
### Admin 管理后台(16 项)
|
||
|
||
1. AdminLayout 退出功能修复(require->import, logout->clearToken)
|
||
2. 删除全部 mock 数据和 getMockData 函数
|
||
3. Dashboard 假数据替换为真实 API 调用
|
||
4. Dashboard monthly_revenue 替换为 subscription_count
|
||
5. 订阅统计 || 改为 ?? 修复 0 值显示
|
||
6. Token 增加 7 天过期校验
|
||
7. 设备状态码统一("库存"改为"未激活")
|
||
8. 用户页"记录"链接指向正确页面
|
||
9. 订阅 createForm.user_id 类型修复
|
||
10. 所有 catch 块增加错误提示 Toast
|
||
11. 订阅状态文本统一
|
||
12. 删除无效的"记住登录状态"复选框
|
||
13. 提取公共 CSS 到 common.css(减少 900+ 行重复)
|
||
14. 提取 formatDate 到 utils/format.js
|
||
15. AdminLayout 显示真实管理员名称
|
||
16. 移除未使用的 uview-plus 依赖
|
||
|
||
---
|
||
|
||
## 剩余差距
|
||
|
||
详见 `docs/planning/12-待办事项决策分类.md`,分为:
|
||
- 需要硬件团队确认的 6 项(BLE 协议细节)
|
||
- 需要产品团队确认的 6 项(功能范围)
|
||
- 需要运维确认的 5 项(部署配置)
|
||
- 可独立完成的 P0 共 6 项、P1 共 8 项、P2 共 6 项
|