feat: Q4 测试覆盖 + 插件生态 — 集成测试/E2E/进销存插件/热更新
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled

Q4 成熟度路线图全部完成:

1. 集成测试框架 (Testcontainers + PostgreSQL):
   - auth_tests: 用户 CRUD、租户隔离、用户名唯一性
   - plugin_tests: 动态表创建查询、租户数据隔离

2. Playwright E2E 测试:
   - 登录页面渲染和表单验证测试
   - 用户管理、插件管理、多租户隔离占位测试

3. 进销存插件 (erp-plugin-inventory):
   - 6 实体: 产品/仓库/库存/供应商/采购单/销售单
   - 12 权限、6 页面、完整 manifest
   - WASM 编译验证通过

4. 插件热更新:
   - POST /api/v1/admin/plugins/{id}/upgrade
   - manifest 对比 + 增量 DDL + WASM 热加载
   - 失败保持旧版本继续运行

5. 文档更新: CLAUDE.md + wiki/index.md 同步 Q2-Q4 进度
This commit is contained in:
iven
2026-04-17 22:17:47 +08:00
parent 62eea3d20d
commit e8739e80c7
22 changed files with 1679 additions and 64 deletions

View File

@@ -5,13 +5,14 @@
**模块化 SaaS ERP 底座**Rust + React 技术栈,提供身份权限/工作流/消息/配置/插件五大基础模块,支持行业业务模块快速插接。
关键数字:
- 11 个 Rust crate9 个已实现 + 2 个插件原型1 个前端 SPA
- 34 个数据库迁移
- 13 个 Rust crate9 个已实现 + 2 个插件原型 + 2 个业务插件1 个前端 SPA
- 37 个数据库迁移
- 6 个业务模块 (auth, config, workflow, message, plugin, server)
- 2 个插件 crate (plugin-prototype Host 运行时, plugin-test-sample 测试插件)
- 4 个插件 crate (plugin-prototype, plugin-test-sample, plugin-crm, plugin-inventory)
- Health Check API (`/api/v1/health`)
- OpenAPI JSON (`/api/docs/openapi.json`)
- Phase 1-6 全部完成WASM 插件系统已集成到主服务
- Q2-Q4 成熟度路线图已完成(安全地基/架构强化/测试覆盖/插件生态)
## 模块导航树
@@ -20,17 +21,19 @@
- [[erp-common]] — ID 生成 · 时间戳 · 编号生成工具
### L2 业务层
- erp-auth — 用户/角色/权限/组织/部门/岗位管理 · JWT 认证 · RBAC
- erp-auth — 用户/角色/权限/组织/部门/岗位管理 · JWT 认证 · RBAC · 行级数据权限
- erp-config — 字典/菜单/设置/编号规则/主题/语言
- erp-workflow — BPMN 解析 · Token 驱动执行 · 任务分配 · 流程设计器
- erp-message — 消息 CRUD · 模板管理 · 订阅偏好 · 通知面板 · 事件集成
- erp-plugin — 插件管理 · WASM 运行时 · 动态表 · 数据 CRUD · 生命周期管理
- erp-plugin — 插件管理 · WASM 运行时 · 动态表 · 数据 CRUD · 生命周期管理 · 热更新 · 行级数据权限
### L3 组装层
- [[erp-server]] — Axum 服务入口 · AppState · ModuleRegistry 集成 · 配置加载 · 数据库连接 · 优雅关闭
### 插件系统
- [[wasm-plugin]] — Wasmtime 运行时 · WIT 接口契约 · Host API · Fuel 资源限制 · 插件制作完整流程
- erp-plugin-crm — CRM 客户管理插件 (5 实体/9 权限/6 页面)
- erp-plugin-inventory — 进销存管理插件 (6 实体/12 权限/6 页面)
### 基础设施
- [[database]] — SeaORM 迁移 · 多租户表结构 · 软删除模式
@@ -57,6 +60,10 @@
**版本差异怎么办?** package.json 使用 React 19 + Ant Design 6比规格文档更新以实际代码为准。
**行级数据权限怎么控制?** role_permissions 表增加 data_scope 字段all/self/department/department_treeJWT 中间件注入 department_ids插件数据查询自动拼接 scope 条件。
**插件怎么热更新?** 通过 `/api/v1/admin/plugins/{id}/upgrade` 上传新版本 WASM + manifest系统对比 schema 变更执行增量 DDL卸载旧 WASM 加载新 WASM失败时保持旧版本继续运行。
## 开发进度
| Phase | 内容 | 状态 |
@@ -69,6 +76,10 @@
| 6 | 整合与打磨 | 完成 |
| - | WASM 插件原型 | V1-V6 验证通过 |
| - | 插件系统集成 | 已集成到主服务 |
| - | CRM 插件 | 完成 |
| - | Q2 安全地基 + CI/CD | 完成 |
| - | Q3 架构强化 + 前端体验 | 完成 |
| - | Q4 测试覆盖 + 插件生态 | 完成 |
## 关键文档索引
@@ -78,5 +89,7 @@
| 实施计划 | `docs/superpowers/plans/2026-04-10-erp-platform-base-plan.md` |
| WASM 插件设计 | `docs/superpowers/specs/2026-04-13-wasm-plugin-system-design.md` |
| WASM 插件计划 | `docs/superpowers/plans/2026-04-13-wasm-plugin-system-plan.md` |
| CRM 插件设计 | `docs/superpowers/specs/2026-04-16-crm-plugin-design.md` |
| CRM 插件计划 | `docs/superpowers/plans/2026-04-16-crm-plugin-plan.md` |
| 协作规则 | `CLAUDE.md` |
| 设计评审 | `plans/squishy-pondering-aho-agent-a23c7497aadc6da41.md` |