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,35 +1,43 @@
# 里程碑规�
# 里程碑规划
> **用途:** 中期规划和里程碑管理
> **时间跨度�* ��
> **时间跨度:** 周/月
> **最后更新:** 2025-11-07
---
## 📊 里程碑概�
### 当å‰<C3A5>里ç¨ç¢?
**里程� - 架构改�* 🚧 进行�- 时间�025-11-06 �2025-11-15
- 进度�0%
- æ ¸å¿ƒä»»åŠ¡ï¼šæ‡æ¡£é‡<C3A9>æž?✅ã€<C3A3>Schema隔离 â<>³ã€<C3A3>代ç <C3A7>é‡<C3A9>æž?â<>?
**里程ç¢? - ASL模å<C2A1>—å¼€å<E282AC>?* 📋 规划ä¸?- æ—¶é—´ï¼?025-11-15 è‡?2025-12-06
- 进度�%
- 核心任务:标题æ˜è¦<EFBFBD>åˆ<EFBFBD>ç­ã€<EFBFBD>å…¨æ‡å¤<EFBFBD>ç­?
## 📊 里程碑概览
### 当前里程碑
**里程碑4 - 架构改造** 🚧 进行中
- 时间2025-11-06 至 2025-11-15
- 进度50%
- 核心任务:文档重构 ✅、Schema隔离 ⏳、代码重构 ⏳
**里程碑5 - ASL模块开发** 📋 规划中
- 时间2025-11-15 至 2025-12-06
- 进度0%
- 核心任务:标题摘要初筛、全文复筛
---
## 📋 里程碑列�
| ç¼å<E28093>· | å<><C3A5>ç§° | 状æ€?| æ—¶é—´ | 核心目标 |
## 📋 里程碑列表
| 编号 | 名称 | 状态 | 时间 | 核心目标 |
|------|------|------|------|---------|
| M4 | 架构改é€?| 🚧 进行ä¸?| 2025-11 | å»ºç«æ¨¡å<C2A1>—åŒæž¶æž?|
| M5 | ASL模å<EFBFBD>—å¼€å<EFBFBD>?| 📋 规划ä¸?| 2025-11-12 | 完æˆ<C3A6>标题æ˜è¦<C3A8>åˆ<C3A5>ç­+å…¨æ‡å¤<C3A5>ç­ |
| M6 | è¿<EFBFBD>è<EFBFBD>¥ç®¡ç<EFBFBD>†ç«?| 📋 规划ä¸?| 2026-01 | P0功能上线 |
| M7 | ASL完整功能 | 📋 规划ä¸?| 2026-02 | æ•°æ<C2B0>®æ<C2AE><C3A6>å<EFBFBD>ˆ†æž<C3A6>æŠ¥åŠ |
| M4 | 架构改造 | 🚧 进行中 | 2025-11 | 建立模块化架构 |
| M5 | ASL模块开发 | 📋 规划中 | 2025-11-12 | 完成标题摘要初筛+全文复筛 |
| M6 | 运营管理端 | 📋 规划中 | 2026-01 | P0功能上线 |
| M7 | ASL完整功能 | 📋 规划中 | 2026-02 | 数据提取+分析报告 |
---
**详细文档�*
- [里程� - 架构改造](./04-里程�-架构改�md)
- [里程ç¢? - ASL模å<C2A1>—å¼€å<E282AC>](./05-里程ç¢?-ASL模å<C2A1>—å¼€å<E282AC>?md)
**详细文档:**
- [里程碑4 - 架构改造](./04-里程碑4-架构改造.md)
- [里程碑5 - ASL模块开发](./05-里程碑5-ASL模块开发.md)
---
**维护者:** 项ç®ç®¡ç<C2A1>†ç»?
**维护者:** 项目管理组
**最后更新:** 2025-11-07