Files
AIclinicalresearch/docs/03-业务模块/ADMIN-运营管理端/04-开发计划/00-总体开发计划.md
HaHafeng 66255368b7 feat(admin): Add user management and upgrade to module permission system
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
2026-01-16 13:42:10 +08:00

8.6 KiB
Raw Blame History

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管理系统

  • PromptServiceprompt.service.ts
  • Prompt管理API
  • Prompt管理前端界面
  • 全局调试开关组件
  • Prompt管理用户手册

Phase 4: 运营管理端MVP

  • 租户管理界面
  • 品牌配置界面
  • Feature Flag管理界面
  • 运营端用户手册

Phase 5: 租户专属登录

  • 租户登录页(TenantLoginPage.tsx
  • 租户配置API/api/public/tenant-config
  • 品牌加载逻辑
  • 路由分发逻辑

🔧 技术依赖

新增npm包后端

{
  "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包前端

{
  "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. 完整备份
2. 分步迁移
3. 准备回滚方案
后端负责人
多租户隔离漏洞 🔴 数据泄露 1. 严格代码审查
2. 自动化测试
3. 安全测试
全员
JWT安全问题 🟡 认证绕过 1. 使用强密钥
2. 短过期时间
3. Token刷新机制
后端负责人
Prompt管理复杂度 🟡 开发延期 1. 参考设计文档
2. 先实现核心功能
3. 灰度发布
全员
前端权限对接 🟢 轻微延期 1. 复用现有框架
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