title, updated, status, tags
| title |
updated |
status |
tags |
| 项目健康度评估 |
2026-06-07 |
active |
| health |
| tech-debt |
| risk |
| improvement |
|
项目健康度评估
从 index 导航。本文档基于 2026-06-01 全量代码分析生成,2026-06-07 更新。
总体评分
| 维度 |
评分 |
说明 |
| 架构设计 |
⭐⭐⭐⭐⭐ |
模块化 ErpModule trait、分层清晰、基座复用 |
| 代码质量 |
⭐⭐⭐⭐ |
Rust 错误处理规范、Flutter 注释质量高、分层一致 |
| 测试覆盖 |
⭐⭐⭐ |
后端 ~77 测试通过、前端 15 个测试文件 203 个用例(仍有 1 个失败待修) |
| 安全合规 |
⭐⭐⭐⭐⭐ |
PIPL 合规框架完整、PII 加密、RLS 多租户隔离 |
| 文档维护 |
⭐⭐⭐⭐⭐ |
wiki 6 页 + 技术债看板 + CLAUDE.md,同步度高 |
| DevOps |
⭐⭐ |
Docker 配置完善但未验证、CI/CD 缺失、无自动化 |
| 功能完整度 |
⭐⭐⭐⭐ |
后端完整闭环、前端核心模块 85%+、班级/家长模块待完善 |
技术债全景
已记录(10 条)
| 编号 |
债务 |
优先级 |
预估 |
| TD-1 |
authorId 硬编码 'local' |
P0 |
0.5 天 |
| TD-3 |
Docker 部署未验证 |
P0 |
0.5 天 |
| TD-7 |
Settings 持久化未实现 |
P1 |
0.5 天 |
TD-8 |
编辑器不加载已有日记 |
P1 ✅ |
1 天 |
| TD-4 |
toImage() 同步阻塞主线程 |
P1 |
1 天 |
| TD-2 |
CI/CD 未建立 |
P2 |
1 天 |
| TD-5 |
前端测试为零 |
P2 |
3 天 |
| TD-6 |
画布尺寸变化缓存过渡 |
P2 |
1 天 |
| TD-9 |
Isar FTS 搜索未实现 |
P2 |
1 天 |
| TD-10 |
SyncEngine 蜂窝数据未支持 |
P3 |
0.5 天 |
新发现(9 条)
| 编号 |
债务 |
优先级 |
预估 |
位置 |
NEW-1 |
前端测试缺失(0 回归保护) |
Critical ✅ |
3 天 |
15 个测试文件 203 用例,auth_bloc 1 个失败待修 |
NEW-2 |
SSE 端口不一致 (8080 vs 3000) |
Critical ✅ |
0.5 天 |
AppConfig 统一管理,均指向 3000 |
| NEW-3 |
Dockerfile 不存在(生产部署引用) |
High |
1 天 |
docker-compose.production.yml |
| NEW-4 |
API base URL 硬编码 localhost |
High |
0.5 天 |
api_client.dart:29 |
| NEW-5 |
班级码后端验证未实现 |
High |
1 天 |
auth_bloc.dart:141 TODO |
| NEW-6 |
Prometheus exporters 未定义 |
Medium |
0.5 天 |
prometheus.yml 引用 |
| NEW-7 |
25 处通用 catch(e) 静默吞异常 |
Medium |
1 天 |
各 BLoC 文件 |
| NEW-8 |
Feature Flag 未实现(计划中有但未落地) |
Medium |
2 天 |
erp-server/Cargo.toml |
| NEW-9 |
状态管理不统一(BLoC vs ChangeNotifier) |
Low |
2 天 |
5 个功能模块 |
前端模块完成度矩阵
| 模块 |
完成度 |
关键缺失 |
| 手写引擎 |
95% |
toImage 异步化 |
| 编辑器 |
98% |
查看模式 + 图层调整已实现,文字输入/图片上传为占位 |
| 认证 |
85% |
班级码后端验证 TODO |
| 首页 |
90% |
— |
| 设计系统 |
90% |
core/utils/ 空目录 |
| 设置 |
85% |
持久化未实现 |
| 日历 |
90% |
初始加载已修复,周视图/时间线未实现 |
| 数据层 |
85% |
SyncEngine 缺少网络监听 |
| 班级 |
80% |
— |
| 心情统计 |
80% |
— |
| 个人中心 |
80% |
— |
| 贴纸 |
70% |
应用贴纸为 SnackBar 占位 |
| 模板 |
65% |
应用模板为 SnackBar 占位 |
| 成就 |
65% |
视图页面空壳 |
| 教师 |
60% |
班级码硬编码 'a1b2c3' |
| 家长 |
40% |
全部为 SnackBar 占位 |
| 搜索 |
30% |
Isar FTS 未集成 |
后端 Crate 依赖图
依赖健康度: 无循环依赖、无跨业务 crate 直接依赖、通过 EventBus 模块间通信 ✅
风险矩阵
| 风险 |
概率 |
影响 |
缓解 |
| 前端测试覆盖不足 |
中 |
中 |
15 个测试文件已建立,auth_bloc 1 个失败待修 |
| Feature Flag 未实现限制扩展 |
中 |
中 |
NEW-8: 补充 Cargo features 配置 |
| Docker 生产部署无法构建 |
高 |
高 |
NEW-3: 创建 Dockerfile + 验证 |
SSE 端口不匹配致推送失败 |
确定 ✅ |
中 |
AppConfig 已统一为 3000 |
| 手写 toImage 卡 UI |
中 |
中 |
TD-4: compute() isolate 异步光栅化 |
| 大文件超 800 行限制 |
中 |
低 |
erp-plugin manifest.rs(1809) + data_service.rs(1907) 需拆分 |
改进建议路线图
第一阶段(1-2 天)— 紧急修复
NEW-2: SSE 端口统一为 3000 ✅
- TD-1: authorId 接入 AuthBloc
- NEW-4: API base URL 环境配置化
第二阶段(3-5 天)— 基础设施
- TD-2: CI/CD 基础流水线
- TD-3 + NEW-3: Docker 部署验证 + Dockerfile 创建
TD-5: 核心模块单元测试 ✅ 已有 15 个测试文件,持续补充
第三阶段(持续)— 质量提升
- NEW-7: 通用 catch(e) → 类型化异常处理
- NEW-8: Feature Flag 配置落地
- TD-4: toImage() 异步光栅化
TD-8: 编辑器加载已有日记 ✅
变更记录
| 日期 |
变更 |
| 2026-06-07 |
更新:TD-8/NEW-1/NEW-2 已修复,测试覆盖 ⭐⭐→⭐⭐⭐,编辑器 95%→98%,日历 85%→90% |
| 2026-06-01 |
初始创建 — 基于 4 代理并行分析结果 |