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
This commit is contained in:
2026-01-16 13:42:10 +08:00
parent 98d862dbd4
commit 66255368b7
560 changed files with 70424 additions and 52353 deletions

View File

@@ -1,5 +1,6 @@
# 整体开å<EFBFBD>计åˆ?
> **æ‡æ¡£å®šä½<C3A4>ï¼?* 项目总体规划和长期路线图
# 整体开发计划
> **文档定位:** 项目总体规划和长期路线图
> **最后更新:** 2025-11-07
---
@@ -8,55 +9,61 @@
**打造覆盖医学科研全流程的智能化平台**
支æŒ<EFBFBD>ï¼?- âœ?文献检索与筛é€?- âœ?æ•°æ<C2B0>®æ¸…洗与整ç<C2B4>?- âœ?统计分æž<C3A6>
- �AI辅助写作
- �稿件审查
支持:
- ✅ 文献检索与筛选
- ✅ 数据清洗与整理
- ✅ 统计分析
- ✅ AI辅助写作
- ✅ 稿件审查
---
## 📊 2025-2026年度路线�
### Q4 2025�1-12月)
## 📊 2025-2026年度路线图
| 时间 | 里程�| 核心目标 | 状�|
### Q4 202511-12月
| 时间 | 里程碑 | 核心目标 | 状态 |
|------|--------|---------|------|
| 2025-11 | 里程� | 架构改�| 🚧 进行�|
| 2025-11-12 | 里程ç¢? Week 1 | ASL基础设施+LLMç½å…³ | 📋 规划ä¸?|
| 2025-11-12 | 里程ç¢? Week 2-3 | ASL标题æ˜è¦<EFBFBD>åˆ<EFBFBD>ç­+å…¨æ‡å¤<C3A5>ç­ | 📋 规划ä¸?|
| 2025-11 | 里程碑4 | 架构改造 | 🚧 进行中 |
| 2025-11-12 | 里程碑5 Week 1 | ASL基础设施+LLM网关 | 📋 规划中 |
| 2025-11-12 | 里程碑5 Week 2-3 | ASL标题摘要初筛+全文复筛 | 📋 规划中 |
### Q1 2026�-3月)
### Q1 20261-3月
| 时间 | 里程�| 核心目标 | 状�|
| 时间 | 里程碑 | 核心目标 | 状态 |
|------|--------|---------|------|
| 2026-01 | 里程ç¢? | è¿<C3A8>è<EFBFBD>¥ç®¡ç<C2A1>†ç«¯P0功能 | 📋 规划ä¸?|
| 2026-02 | 里程� | ASL完整功能 | 📋 规划�|
| 2026-03 | Beta测试 | 第一批用户测�| 📋 规划�|
| 2026-01 | 里程碑6 | 运营管理端P0功能 | 📋 规划中 |
| 2026-02 | 里程碑7 | ASL完整功能 | 📋 规划中 |
| 2026-03 | Beta测试 | 第一批用户测试 | 📋 规划中 |
---
## ðŸ<EFBFBD>—ï¸?8个业务模å<C2A1>—è§„åˆ?
### P0 - 核心差å¼åŒæ¨¡å<C2A1>?
| 模å<C2A1>— | 优先çº?| 状æ€?| 预计开å§?| 说明 |
## 🏗️ 8个业务模块规划
### P0 - 核心差异化模块
| 模块 | 优先级 | 状态 | 预计开始 | 说明 |
|------|--------|------|---------|------|
| **ASL** | P0 | 📋 规划ä¸?| 2025-11 | AI智能æ‡çŒ®ç­é€?|
| **DC** | P0 | 📋 规划ä¸?| 2026-02 | æ•°æ<C2B0>®æ¸…æ´—æ•´ç<C2B4> |
| **RVW** | P0 | �已完�| - | 稿件审查(独立系统) |
| **ASL** | P0 | 📋 规划中 | 2025-11 | AI智能文献筛选 |
| **DC** | P0 | 📋 规划中 | 2026-02 | 数据清洗整理 |
| **RVW** | P0 | ✅ 已完成 | - | 稿件审查(独立系统) |
### P1 - 协同模块
| 模å<EFBFBD>— | 优先çº?| 状æ€?| 预计开å§?| 说明 |
| 模块 | 优先级 | 状态 | 预计开始 | 说明 |
|------|--------|------|---------|------|
| **ADMIN** | P1 | 📋 规划ä¸?| 2026-01 | è¿<C3A8>è<EFBFBD>¥ç®¡ç<C2A1>†ç«?|
| **SSA** | P1 | 📋 规划ä¸?| 2026-04 | 智能统计分æž<C3A6> |
| **ST** | P1 | 📋 规划ä¸?| 2026-05 | 统计分æž<C3A6>工具 |
| **ADMIN** | P1 | 📋 规划中 | 2026-01 | 运营管理端 |
| **SSA** | P1 | 📋 规划中 | 2026-04 | 智能统计分析 |
| **ST** | P1 | 📋 规划中 | 2026-05 | 统计分析工具 |
### 已完æˆ?- 基础模å<C2A1>
### 已完成 - 基础模块
| 模å<EFBFBD>— | 状æ€?| 完æˆ<C3A6>æ—¶é—´ | 说明 |
| 模块 | 状态 | 完成时间 | 说明 |
|------|------|---------|------|
| **AIA** | �已完�| 2025-10 | AI智能问答�2个智能体�|
| **PKB** | �已完�| 2025-10 | 个人知识库(RAG问答�|
| **AIA** | ✅ 已完成 | 2025-10 | AI智能问答12个智能体 |
| **PKB** | ✅ 已完成 | 2025-10 | 个人知识库RAG问答 |
---
**维护者:** 项ç®ç®¡ç<C2A1>†ç»?
**维护者:** 项目管理组
**最后更新:** 2025-11-07