- T40 UI 审计计划和结果文档(docs/qa/) - wiki 更新:miniprogram 设计系统合规审计记录 + index 关键数字更新 - 审计 V2 完整报告(docs/audits/v2/) - 讨论记录文档(docs/discussions/) - 设计规格和实施计划(docs/superpowers/) - 角色测试计划和结果(docs/qa/role-test-*) - Docker 生产部署配置
99 lines
4.5 KiB
Markdown
99 lines
4.5 KiB
Markdown
# 技术债务清单
|
||
|
||
> 审计日期:2026-05-04 | 范围:`crates/*` + `apps/*`
|
||
|
||
## 1. `#[allow(dead_code)]` / `#[allow(unused` 抑制清单(17 处)
|
||
|
||
| 文件 | 行号 | 说明 |
|
||
|------|------|------|
|
||
| `erp-ai/service/reanalysis.rs` | :14 | FromQueryResult 映射字段 |
|
||
| `erp-ai/provider/claude.rs` | :55,:66,:72,:74 | serde 反序列化字段(4 处) |
|
||
| `erp-auth/service/wechat_service.rs` | :43 | WeChat 服务字段 |
|
||
| `erp-plugin/host.rs` | :42,:44 | 插件宿主字段(2 处) |
|
||
| `erp-plugin/data_service.rs` | :462,:775,:1173,:1536 | FromQueryResult chk/id/check_result 字段(4 处) |
|
||
| `erp-server/middleware/rate_limit.rs` | :27 | 限流结构体字段 |
|
||
| `erp-server/handlers/analytics.rs` | :11 | 客户端上报字段,待接入 |
|
||
| `erp-health/service/action_inbox_service.rs` | :119,:131,:140 | FromQueryResult 映射字段(3 处) |
|
||
| `erp-health/service/stats_service/health.rs` | :295 | FromQueryResult total 字段 |
|
||
|
||
**根因**:大量来自 SeaORM `FromQueryResult` 宏,字段必须声明但当前未读取。建议在 DTO 转换层使用 `_` 前缀或 `#[serde(skip)]`。
|
||
|
||
## 2. TODO / FIXME / HACK 注释(5 处)
|
||
|
||
| 文件 | 内容 |
|
||
|------|------|
|
||
| `erp-auth/handler/wechat_handler.rs:45` | TODO: 多租户微信登录需要设计租户解析策略 |
|
||
| `erp-auth/handler/wechat_handler.rs:76` | TODO: 多租户微信登录需要设计租户解析策略(重复) |
|
||
| `erp-plugin/data_service.rs:1075` | TODO: 未来版本添加 Redis 缓存层 |
|
||
| `erp-health/event.rs:51` | TODO: 患者认证和死亡记录流程尚未实现 |
|
||
| `web/pages/workflow/PendingTasks.tsx:208` | TODO: 替换为 UserSelect 用户搜索选择组件 |
|
||
| `web/pages/health/components/ActionDetailDrawer.tsx:78` | TODO: 调用实际 API 执行操作 |
|
||
|
||
**风险**:wechat_handler 多租户策略未定,影响 SaaS 化路线。ActionDetailDrawer TODO 说明功能未接通。
|
||
|
||
## 3. 硬编码检测
|
||
|
||
### 3.1 `localhost` / `127.0.0.1`(14 处,排除 lock 文件)
|
||
|
||
| 文件 | 硬编码值 | 风险 |
|
||
|------|---------|------|
|
||
| `apps/web/vite.config.ts` | `localhost:3000` | 开发代理,可接受 |
|
||
| `apps/web/playwright.config.ts` | `localhost:5174` | E2E,可接受 |
|
||
| `apps/miniprogram/config/index.ts` | `localhost:3000` | **MP 构建默认值** |
|
||
| `apps/miniprogram/src/services/request.ts` | `localhost:3000` | **MP 运行时 fallback** |
|
||
| `apps/miniprogram/e2e/helpers/api-client.ts` | `localhost:3000` | E2E |
|
||
| `apps/miniprogram/e2e/check-readiness.ts` | `localhost:3000` | E2E |
|
||
| `apps/web/e2e/check-readiness.ts` | `localhost:3000` + `localhost:5174` | E2E |
|
||
| `apps/web/e2e/fixtures/api-client.ts` | `localhost:3000` | E2E |
|
||
| `apps/web/e2e/auth.fixture.ts` | `localhost:3000` | **无 env fallback,纯硬编码** |
|
||
| `apps/web/e2e/fixtures/auth.fixture.ts` | `localhost:3000` | E2E |
|
||
| `integration-tests/test_workflow_module.rs` | `localhost:3000` | 集成测试 |
|
||
| `integration-tests/test_common.rs` | `localhost:3000` | 集成测试 |
|
||
| `integration-tests/test_auth_module.rs` | `localhost:3000` | 集成测试 |
|
||
| `erp-server/tests/integration/test_db.rs` | `localhost:5432` + 明文密码 | **安全风险** |
|
||
| `erp-core/test_helpers.rs` | `localhost:5432` + 明文密码 | **安全风险** |
|
||
|
||
### 3.2 硬编码端口号
|
||
|
||
`3000`(API)、`5174`(Web dev)、`5432`(PostgreSQL) — 均为开发/测试用途,无生产风险。但 `test_db.rs` 中 `postgres:123123@localhost` 明文密码应移至 env。
|
||
|
||
## 4. 主要依赖版本
|
||
|
||
### 后端(Cargo.toml workspace)
|
||
|
||
| 依赖 | 版本 | 备注 |
|
||
|------|------|------|
|
||
| axum | 0.8 | 最新 stable |
|
||
| sea-orm | 1.1 | 最新 |
|
||
| tokio | 1 | LTS |
|
||
| serde / serde_json | 1 / 1 | stable |
|
||
| chrono | 0.4 | stable |
|
||
| thiserror / anyhow | 2 / 1 | thiserror v2 |
|
||
| utoipa | 5 | 最新 |
|
||
| redis | 0.27 | — |
|
||
| reqwest | 0.12 | — |
|
||
|
||
### 前端(apps/web/package.json)
|
||
|
||
| 依赖 | 版本 | 备注 |
|
||
|------|------|------|
|
||
| react | ^19.2 | React 19 |
|
||
| antd | ^6.3 | Ant Design 6 |
|
||
| react-router-dom | ^7.14 | React Router 7 |
|
||
| dayjs | ^1.11 | — |
|
||
| zustand | ^5.0 | — |
|
||
| typescript | ~6.0 | TS 6 |
|
||
| vite | ^8.0 | Vite 8 |
|
||
|
||
**结论**:依赖版本均较新,无重大过时风险。
|
||
|
||
---
|
||
|
||
## 优先修复建议
|
||
|
||
1. **P0** — `test_db.rs` / `test_helpers.rs` 明文数据库密码移至环境变量
|
||
2. **P1** — `web/e2e/auth.fixture.ts` 硬编码 API 地址应加 env fallback
|
||
3. **P1** — 清理 `wechat_handler.rs` 重复 TODO,明确多租户方案
|
||
4. **P2** — 统一 SeaORM 查询结果的字段抑制策略(`_` 前缀或 helper 宏)
|
||
5. **P2** — `ActionDetailDrawer` TODO 接通实际 API
|