Features - User Management (Phase 4.1): - Database: Add user_modules table for fine-grained module permissions - Database: Add 4 user permissions (view/create/edit/delete) to role_permissions - Backend: UserService (780 lines) - CRUD with tenant isolation - Backend: UserController + UserRoutes (648 lines) - 13 API endpoints - Backend: Batch import users from Excel - Frontend: UserListPage (412 lines) - list/filter/search/pagination - Frontend: UserFormPage (341 lines) - create/edit with module config - Frontend: UserDetailPage (393 lines) - details/tenant/module management - Frontend: 3 modal components (592 lines) - import/assign/configure - API: GET/POST/PUT/DELETE /api/admin/users/* endpoints Architecture Upgrade - Module Permission System: - Backend: Add getUserModules() method in auth.service - Backend: Login API returns modules array in user object - Frontend: AuthContext adds hasModule() method - Frontend: Navigation filters modules based on user.modules - Frontend: RouteGuard checks requiredModule instead of requiredVersion - Frontend: Remove deprecated version-based permission system - UX: Only show accessible modules in navigation (clean UI) - UX: Smart redirect after login (avoid 403 for regular users) Fixes: - Fix UTF-8 encoding corruption in ~100 docs files - Fix pageSize type conversion in userService (String to Number) - Fix authUser undefined error in TopNavigation - Fix login redirect logic with role-based access check - Update Git commit guidelines v1.2 with UTF-8 safety rules Database Changes: - CREATE TABLE user_modules (user_id, tenant_id, module_code, is_enabled) - ADD UNIQUE CONSTRAINT (user_id, tenant_id, module_code) - INSERT 4 permissions + role assignments - UPDATE PUBLIC tenant with 8 module subscriptions Technical: - Backend: 5 new files (~2400 lines) - Frontend: 10 new files (~2500 lines) - Docs: 1 development record + 2 status updates + 1 guideline update - Total: ~4900 lines of code Status: User management 100% complete, module permission system operational
327 lines
8.6 KiB
Markdown
327 lines
8.6 KiB
Markdown
# ADMIN-运营管理端 - 总体开发计划
|
||
|
||
> **版本:** v1.0
|
||
> **创建日期:** 2026-01-11
|
||
> **基于文档:** `00-权限与角色体系梳理报告_v1.0.md`
|
||
> **状态:** 📋 计划中
|
||
> **预计工期:** 3-4周(20人天)
|
||
|
||
---
|
||
|
||
## 📅 开发时间表
|
||
|
||
### 总览
|
||
|
||
| Phase | 名称 | 工期 | 状态 | 开始日期 | 结束日期 |
|
||
|-------|------|------|------|---------|---------|
|
||
| Phase 0 | 数据迁移 | 1天 | ⏳ 待开始 | TBD | TBD |
|
||
| Phase 1 | 数据库Schema设计 | 2天 | ⏳ 待开始 | TBD | TBD |
|
||
| Phase 2 | 后端认证系统 | 3天 | ⏳ 待开始 | TBD | TBD |
|
||
| Phase 3 | 前端认证对接 | 2天 | ⏳ 待开始 | TBD | TBD |
|
||
| **Phase 3.5** | **🆕 Prompt管理系统** | **5天** | **⏳ 待开始** | **TBD** | **TBD** |
|
||
| Phase 4 | 运营管理端MVP | 5天 | ⏳ 待开始 | TBD | TBD |
|
||
| Phase 5 | 租户专属登录 | 2天 | ⏳ 待开始 | TBD | TBD |
|
||
| Phase 6 | 机构管理端 | TBD | ⏳ 待开始 | TBD | TBD |
|
||
|
||
**总计:** 20天(不含Phase 6机构管理端)
|
||
|
||
---
|
||
|
||
## 🎯 里程碑
|
||
|
||
### M1: 基础设施就绪(Phase 0-1,3天)
|
||
- ✅ 用户表统一(public.users → platform_schema.users)
|
||
- ✅ 数据库Schema完整创建
|
||
- ✅ 超级管理员种子数据
|
||
|
||
### M2: 认证系统可用(Phase 2-3,5天)
|
||
- ✅ JWT认证系统实现
|
||
- ✅ 登录/登出功能可用
|
||
- ✅ 所有API加上认证保护
|
||
|
||
### M3: Prompt管理系统可用(Phase 3.5,5天)⭐
|
||
- ✅ PromptService实现
|
||
- ✅ Prompt管理API
|
||
- ✅ Prompt管理前端界面
|
||
- ✅ 全局调试开关
|
||
|
||
### M4: 运营管理端MVP(Phase 4,5天)
|
||
- ✅ 租户管理(CRUD)
|
||
- ✅ 品牌配置(Logo/背景/主题色)
|
||
- ✅ Feature Flag管理
|
||
|
||
### M5: 租户专属登录(Phase 5,2天)
|
||
- ✅ 租户专属登录页(`/t/{code}/login`)
|
||
- ✅ 品牌动态加载
|
||
- ✅ 智能路由分发
|
||
|
||
### M6: 机构管理端(Phase 6,待定)
|
||
- 🔄 医院管理端
|
||
- 🔄 药企管理端
|
||
|
||
---
|
||
|
||
## 👥 人力资源需求
|
||
|
||
### 核心团队配置
|
||
|
||
| 角色 | 人数 | 工作内容 | 时间投入 |
|
||
|------|------|---------|---------|
|
||
| **后端开发** | 1人 | Phase 0-2, 3.5后端, Phase 4后端 | 12天 |
|
||
| **前端开发** | 1人 | Phase 3, 3.5前端, Phase 4前端, Phase 5 | 10天 |
|
||
| **测试** | 0.5人 | 集成测试、安全测试 | 3天 |
|
||
| **产品/UI** | 0.2人 | 需求确认、UI审核 | 按需 |
|
||
|
||
**总人天:** 约25人天(含测试)
|
||
|
||
### 技能要求
|
||
|
||
**后端开发:**
|
||
- ✅ Node.js + Fastify
|
||
- ✅ Prisma ORM
|
||
- ✅ PostgreSQL
|
||
- ✅ JWT认证
|
||
- ✅ 多租户架构经验
|
||
|
||
**前端开发:**
|
||
- ✅ React 19 + TypeScript
|
||
- ✅ Ant Design 6.0
|
||
- ✅ React Context/Hooks
|
||
- ✅ 权限控制经验
|
||
|
||
---
|
||
|
||
## 📦 交付物清单
|
||
|
||
### Phase 0: 数据迁移
|
||
- [ ] 数据迁移脚本(SQL)
|
||
- [ ] 数据验证报告
|
||
- [ ] 回滚方案文档
|
||
|
||
### Phase 1: 数据库Schema
|
||
- [ ] 完整的Prisma Schema
|
||
- [ ] 迁移脚本
|
||
- [ ] 种子数据脚本
|
||
- [ ] 数据库ER图
|
||
|
||
### Phase 2: 后端认证
|
||
- [ ] JWT工具类(`jwt.service.ts`)
|
||
- [ ] 认证API(register/login/logout)
|
||
- [ ] 认证中间件(`auth.middleware.ts`)
|
||
- [ ] Postman测试集合
|
||
- [ ] API文档(Swagger)
|
||
|
||
### Phase 3: 前端认证
|
||
- [ ] 登录页面(`LoginPage.tsx`)
|
||
- [ ] 认证上下文(`AuthContext.tsx`)
|
||
- [ ] 权限上下文更新(对接后端)
|
||
- [ ] 前端测试用例
|
||
|
||
### Phase 3.5: Prompt管理系统 ⭐
|
||
- [ ] PromptService(`prompt.service.ts`)
|
||
- [ ] Prompt管理API
|
||
- [ ] Prompt管理前端界面
|
||
- [ ] 全局调试开关组件
|
||
- [ ] Prompt管理用户手册
|
||
|
||
### Phase 4: 运营管理端MVP
|
||
- [ ] 租户管理界面
|
||
- [ ] 品牌配置界面
|
||
- [ ] Feature Flag管理界面
|
||
- [ ] 运营端用户手册
|
||
|
||
### Phase 5: 租户专属登录
|
||
- [ ] 租户登录页(`TenantLoginPage.tsx`)
|
||
- [ ] 租户配置API(`/api/public/tenant-config`)
|
||
- [ ] 品牌加载逻辑
|
||
- [ ] 路由分发逻辑
|
||
|
||
---
|
||
|
||
## 🔧 技术依赖
|
||
|
||
### 新增npm包(后端)
|
||
|
||
```json
|
||
{
|
||
"dependencies": {
|
||
"jsonwebtoken": "^9.0.0",
|
||
"bcryptjs": "^2.4.3",
|
||
"handlebars": "^4.7.8"
|
||
},
|
||
"devDependencies": {
|
||
"@types/jsonwebtoken": "^9.0.0",
|
||
"@types/bcryptjs": "^2.4.2"
|
||
}
|
||
}
|
||
```
|
||
|
||
### 新增npm包(前端)
|
||
|
||
```json
|
||
{
|
||
"dependencies": {
|
||
// 无需新增,使用现有技术栈
|
||
}
|
||
}
|
||
```
|
||
|
||
### 基础设施要求
|
||
|
||
- ✅ PostgreSQL 14+(支持LISTEN/NOTIFY)
|
||
- ✅ 阿里云OSS(品牌资源存储)
|
||
- ✅ Node.js 18+
|
||
- ✅ React 19
|
||
|
||
---
|
||
|
||
## 📊 进度跟踪
|
||
|
||
### 进度计算公式
|
||
|
||
```
|
||
总进度 = (已完成任务数 / 总任务数) × 100%
|
||
```
|
||
|
||
### 当前进度(示例)
|
||
|
||
```
|
||
Phase 0: █░░░░░░░░░ 10% (1/10)
|
||
Phase 1: ░░░░░░░░░░ 0% (0/15)
|
||
Phase 2: ░░░░░░░░░░ 0% (0/20)
|
||
Phase 3: ░░░░░░░░░░ 0% (0/12)
|
||
Phase 3.5: ░░░░░░░░░░ 0% (0/18)
|
||
Phase 4: ░░░░░░░░░░ 0% (0/25)
|
||
Phase 5: ░░░░░░░░░░ 0% (0/10)
|
||
|
||
总进度: █░░░░░░░░░ 1% (1/110)
|
||
```
|
||
|
||
---
|
||
|
||
## ⚠️ 风险与应对
|
||
|
||
### 高风险项(需重点关注)
|
||
|
||
| 风险 | 级别 | 影响 | 应对措施 | 负责人 |
|
||
|------|------|------|---------|--------|
|
||
| **数据迁移失败** | 🔴 高 | 无法启动开发 | 1. 完整备份<br>2. 分步迁移<br>3. 准备回滚方案 | 后端负责人 |
|
||
| **多租户隔离漏洞** | 🔴 高 | 数据泄露 | 1. 严格代码审查<br>2. 自动化测试<br>3. 安全测试 | 全员 |
|
||
| **JWT安全问题** | 🟡 中 | 认证绕过 | 1. 使用强密钥<br>2. 短过期时间<br>3. Token刷新机制 | 后端负责人 |
|
||
| **Prompt管理复杂度** | 🟡 中 | 开发延期 | 1. 参考设计文档<br>2. 先实现核心功能<br>3. 灰度发布 | 全员 |
|
||
| **前端权限对接** | 🟢 低 | 轻微延期 | 1. 复用现有框架<br>2. 详细接口文档 | 前端负责人 |
|
||
|
||
---
|
||
|
||
## 📋 验收标准
|
||
|
||
### Phase 0-1: 基础设施
|
||
- [ ] `platform_schema.users`表存在且包含所有必需字段
|
||
- [ ] 超级管理员账号可以登录
|
||
- [ ] 所有表结构符合Schema设计
|
||
|
||
### Phase 2-3: 认证系统
|
||
- [ ] 登录成功后返回有效JWT Token
|
||
- [ ] Token验证通过后可访问受保护API
|
||
- [ ] 未登录用户访问受保护API返回401
|
||
- [ ] 前端登录/登出流程正常
|
||
|
||
### Phase 3.5: Prompt管理系统
|
||
- [ ] 可以创建、编辑、发布Prompt
|
||
- [ ] 调试者开启Debug模式后看到DRAFT版本
|
||
- [ ] 普通用户始终看到ACTIVE版本
|
||
- [ ] 发布Prompt后,缓存自动更新
|
||
|
||
### Phase 4: 运营管理端MVP
|
||
- [ ] 可以创建租户并配置基本信息
|
||
- [ ] 可以上传Logo和背景图到OSS
|
||
- [ ] 可以配置主题色并实时预览
|
||
- [ ] 可以管理Feature Flag开关
|
||
|
||
### Phase 5: 租户专属登录
|
||
- [ ] `/t/{code}/login`显示租户品牌
|
||
- [ ] Logo、背景图、主题色正确加载
|
||
- [ ] 登录后根据角色跳转到正确页面
|
||
|
||
---
|
||
|
||
## 🔗 相关文档
|
||
|
||
### 设计文档
|
||
- `00-系统设计/00-权限与角色体系梳理报告_v1.0.md` - 总体架构
|
||
- `00-系统设计/02-通用能力层_10-权限体系梳理反馈与修正建议.md` - 反馈建议
|
||
|
||
### 需求文档
|
||
- `01-需求分析/02-通用能力层_07-运营与机构管理端PRD_v2.1.md` - 需求详述
|
||
|
||
### 技术文档
|
||
- `02-技术设计/03-Prompt管理系统快速参考.md` - Prompt管理实现
|
||
- `02-技术设计/02-通用能力层_03-Prompt管理系统与灰度预览设计方案.md` - 详细设计
|
||
|
||
### 开发文档(本文件夹)
|
||
- `01-TODO清单(可追踪).md` - 详细任务清单,实时跟踪进度
|
||
|
||
---
|
||
|
||
## 📞 联系方式
|
||
|
||
### 项目组
|
||
|
||
| 角色 | 姓名 | 联系方式 | 主要职责 |
|
||
|------|------|---------|---------|
|
||
| **产品负责人** | [待定] | - | 需求澄清、验收 |
|
||
| **技术负责人** | [待定] | - | 架构设计、技术决策 |
|
||
| **后端开发** | [待定] | - | 后端实现、数据库设计 |
|
||
| **前端开发** | [待定] | - | 前端实现、UI对接 |
|
||
| **测试** | [待定] | - | 测试计划、质量保障 |
|
||
|
||
---
|
||
|
||
## 🎯 成功标准
|
||
|
||
### 项目成功的定义
|
||
|
||
1. **功能完整性**
|
||
- ✅ 所有P0功能实现
|
||
- ✅ 验收标准通过
|
||
|
||
2. **质量标准**
|
||
- ✅ 无P0/P1 Bug
|
||
- ✅ 代码审查通过
|
||
- ✅ 安全测试通过
|
||
|
||
3. **时间标准**
|
||
- ✅ 按计划完成(允许±3天)
|
||
- ✅ 无严重延期
|
||
|
||
4. **文档标准**
|
||
- ✅ API文档完整
|
||
- ✅ 用户手册完整
|
||
|
||
---
|
||
|
||
## 📝 备注
|
||
|
||
### 重要提醒
|
||
|
||
1. **数据安全第一**
|
||
- Phase 0必须有完整备份和回滚方案
|
||
- 多租户隔离必须严格测试
|
||
|
||
2. **Prompt管理是核心**
|
||
- Phase 3.5不可省略
|
||
- 建议与Phase 4并行开发
|
||
|
||
3. **渐进式开发**
|
||
- 不要一次性改造所有API
|
||
- 优先保护敏感API
|
||
|
||
4. **持续测试**
|
||
- 每个Phase完成后立即测试
|
||
- 不要等到最后集成测试
|
||
|
||
---
|
||
|
||
*最后更新:2026-01-11*
|
||
|