feat(admin): Complete Phase 3.5.1-3.5.4 Prompt Management System (83%)

Summary:
- Implement Prompt management infrastructure and core services
- Build admin portal frontend with light theme
- Integrate CodeMirror 6 editor for non-technical users

Phase 3.5.1: Infrastructure Setup
- Create capability_schema for Prompt storage
- Add prompt_templates and prompt_versions tables
- Add prompt:view/edit/debug/publish permissions
- Migrate RVW prompts to database (RVW_EDITORIAL, RVW_METHODOLOGY)

Phase 3.5.2: PromptService Core
- Implement gray preview logic (DRAFT for debuggers, ACTIVE for users)
- Module-level debug control (setDebugMode)
- Handlebars template rendering
- Variable extraction and validation (extractVariables, validateVariables)
- Three-level disaster recovery (database -> cache -> hardcoded fallback)

Phase 3.5.3: Management API
- 8 RESTful endpoints (/api/admin/prompts/*)
- Permission control (PROMPT_ENGINEER can edit, SUPER_ADMIN can publish)

Phase 3.5.4: Frontend Management UI
- Build admin portal architecture (AdminLayout, OrgLayout)
- Add route system (/admin/*, /org/*)
- Implement PromptListPage (filter, search, debug switch)
- Implement PromptEditor (CodeMirror 6 simplified for clinical users)
- Implement PromptEditorPage (edit, save, publish, test, version history)

Technical Details:
- Backend: 6 files, ~2044 lines (prompt.service.ts 596 lines)
- Frontend: 9 files, ~1735 lines (PromptEditorPage.tsx 399 lines)
- CodeMirror 6: Line numbers, auto-wrap, variable highlight, search, undo/redo
- Chinese-friendly: 15px font, 1.8 line-height, system fonts

Next Step: Phase 3.5.5 - Integrate RVW module with PromptService

Tested: Backend API tests passed (8/8), Frontend pending user testing
Status: Ready for Phase 3.5.5 RVW integration
This commit is contained in:
2026-01-11 21:25:16 +08:00
parent cdfbc9927a
commit 5523ef36ea
297 changed files with 15914 additions and 1266 deletions

View File

@@ -0,0 +1,326 @@
# 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-13天
- ✅ 用户表统一public.users → platform_schema.users
- ✅ 数据库Schema完整创建
- ✅ 超级管理员种子数据
### M2: 认证系统可用Phase 2-35天
- ✅ JWT认证系统实现
- ✅ 登录/登出功能可用
- ✅ 所有API加上认证保护
### M3: Prompt管理系统可用Phase 3.55天
- ✅ PromptService实现
- ✅ Prompt管理API
- ✅ Prompt管理前端界面
- ✅ 全局调试开关
### M4: 运营管理端MVPPhase 45天
- ✅ 租户管理CRUD
- ✅ 品牌配置Logo/背景/主题色)
- ✅ Feature Flag管理
### M5: 租户专属登录Phase 52天
- ✅ 租户专属登录页(`/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`
- [ ] 认证APIregister/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*