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:
@@ -1,22 +1,22 @@
|
||||
# 荳壼苅讓。蝮怜ア?
|
||||
# 业务模块层
|
||||
|
||||
> **螻らコァ螳壻ス搾シ?* 髱「蜷醍畑謌キ逧<EFBDB7>コァ蜩∝粥閭?
|
||||
> **譬ク蠢<EFBFBD>次蛻呻シ?* 迢ャ遶矩Κ鄂イ縲∫峡遶矩楳蜚ョ縲∽ス手ヲ蜷医<E58CBB>ォ伜<EFBDAB>閨<EFBFBD>
|
||||
> **层级定位:** 面向用户的产品功能
|
||||
> **核心原则:** 独立部署、独立销售、低耦合、高内聚
|
||||
|
||||
---
|
||||
|
||||
## 📋 模块清单
|
||||
|
||||
| 讓。蝮<EFBFBD> | 蜷咲ァー | 蝠<>ク壻サキ蛟?| 迢ャ遶区?| 迥カ諤?| 莨伜<E88EA8>郤?|
|
||||
| 模块 | 名称 | 商业价值 | 独立性 | 状态 | 优先级 |
|
||||
|------|------|---------|-------|------|--------|
|
||||
| **AIA** | AI譎コ閭ス髣ョ遲<EFBFBD> | 箝絶ュ絶ュ絶ュ<E7B5B6> | 箝絶ュ絶ュ?| 笨?蟾イ螳梧<E89EB3>?| - |
|
||||
| **ASL** | AI譎コ閭ス譁<EFBFBD>鍵 | 箝絶ュ絶ュ絶ュ絶ュ?| 箝絶ュ絶ュ絶ュ絶ュ?| 竢?荳倶ク豁?| P0 |
|
||||
| **PKB** | 荳ェ莠コ遏・隸<EFBFBD>コ?| 箝絶ュ絶ュ?| 箝絶ュ絶ュ?| 笨?蟾イ螳梧<E89EB3>?| - |
|
||||
| **DC** | 謨ー謐ョ貂<EFBFBD>エ玲紛逅<EFBFBD> | 箝絶ュ絶ュ絶ュ絶ュ?| 箝絶ュ絶ュ絶ュ絶ュ?| 竢?隗<><E99A97>荳?| P1 |
|
||||
| **SSA** | 譎コ閭ス扈溯ョ。蛻<EFBFBD>梵 | 箝絶ュ絶ュ絶ュ絶ュ?| 箝絶ュ絶ュ絶ュ<E7B5B6> | 竢?隗<><E99A97>荳?| P2 |
|
||||
| **ST** | 扈溯ョ。蛻<EFBFBD>梵蟾・蜈キ | 箝絶ュ絶ュ絶ュ<E7B5B6> | 箝絶ュ絶ュ絶ュ<E7B5B6> | 竢?隗<><E99A97>荳?| P2 |
|
||||
| **RVW** | 遞ソ莉カ螳。譟・邉サ扈<EFBFBD> | 箝絶ュ絶ュ絶ュ絶ュ?| 箝絶ュ絶ュ絶ュ絶ュ?| 笞?迢ャ遶狗ウサ扈<EFBDBB> | P1 |
|
||||
| **ADMIN** | 霑占是邂。逅<EFBFBD>ォ?| 箝絶ュ絶ュ絶ュ絶ュ?| 箝絶ュ絶ュ絶ュ絶ュ?| 竢?隗<><E99A97>荳?| P1 |
|
||||
| **AIA** | AI智能问答 | ⭐⭐⭐⭐ | ⭐⭐⭐ | ✅ 已完成 | - |
|
||||
| **ASL** | AI智能文献 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⏳ 下一步 | P0 |
|
||||
| **PKB** | 个人知识库 | ⭐⭐⭐ | ⭐⭐⭐ | ✅ 已完成 | - |
|
||||
| **DC** | 数据清洗整理 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⏳ 规划中 | P1 |
|
||||
| **SSA** | 智能统计分析 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⏳ 规划中 | P2 |
|
||||
| **ST** | 统计分析工具 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⏳ 规划中 | P2 |
|
||||
| **RVW** | 稿件审查系统 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⚡ 独立系统 | P1 |
|
||||
| **ADMIN** | 运营管理端 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⏳ 规划中 | P1 |
|
||||
|
||||
---
|
||||
|
||||
@@ -25,19 +25,19 @@
|
||||
### 1. 独立部署
|
||||
- 每个模块可以单独部署
|
||||
- 支持Docker打包
|
||||
- 謾ッ謖・lectron蜊墓惻迚?
|
||||
- 支持Electron单机版
|
||||
|
||||
### 2. 迢ャ遶矩楳蜚?
|
||||
### 2. 独立销售
|
||||
- 每个模块可以单独售卖
|
||||
- 完整的文档和部署指南
|
||||
- 迢ャ遶狗噪螳壻サキ遲也<EFBFBD>?
|
||||
- 独立的定价策略
|
||||
|
||||
### 3. 低耦合
|
||||
- 模块间不直接依赖
|
||||
- 騾夊ソ<EFBFBD>夂畑閭ス蜉帛アゆコ、莠?
|
||||
- 通过通用能力层交互
|
||||
|
||||
### 4. 鬮伜<EFBFBD>閨?
|
||||
- 讓。蝮怜<EFBFBD>蜉溯<EFBFBD>螳梧<EFBFBD>?
|
||||
### 4. 高内聚
|
||||
- 模块内功能完整
|
||||
- 业务逻辑闭环
|
||||
|
||||
---
|
||||
@@ -45,21 +45,21 @@
|
||||
## 📊 模块分类
|
||||
|
||||
### 核心差异化模块(可独立销售)
|
||||
1. **ASL** - AI譎コ閭ス譁<EFBFBD>鍵 箝絶ュ絶ュ絶ュ絶ュ?
|
||||
- 逶ョ譬<EFBFBD>ョ「謌キ<EFBFBD>夂ウサ扈溯ッ<EFBFBD>サキ遐皮ゥカ閠<EFBFBD>∝セェ隸∝現蟄ヲ荳ュ蠢?
|
||||
- 蝠<EFBFBD>ク壽ィ。蠑擾シ夂峡遶句醗蜊?
|
||||
1. **ASL** - AI智能文献 ⭐⭐⭐⭐⭐
|
||||
- 目标客户:系统评价研究者、循证医学中心
|
||||
- 商业模式:独立售卖
|
||||
|
||||
2. **DC** - 謨ー謐ョ貂<EFBFBD>エ玲紛逅<EFBFBD> 箝絶ュ絶ュ絶ュ絶ュ?
|
||||
2. **DC** - 数据清洗整理 ⭐⭐⭐⭐⭐
|
||||
- 目标客户:临床科室、数据管理员
|
||||
- 蝠<EFBFBD>ク壽ィ。蠑擾シ夂峡遶句醗蜊?
|
||||
- 商业模式:独立售卖
|
||||
|
||||
3. **RVW** - 遞ソ莉カ螳。譟・邉サ扈<EFBFBD> 箝絶ュ絶ュ絶ュ絶ュ?
|
||||
3. **RVW** - 稿件审查系统 ⭐⭐⭐⭐⭐
|
||||
- 目标客户:期刊编辑部、出版社
|
||||
- 商业模式:按期刊订阅
|
||||
|
||||
### 协同模块(组合销售)
|
||||
4. **SSA** + **ST** - 统计分析套件
|
||||
- 蜊丞酔謨亥コ泌シ?
|
||||
- 协同效应强
|
||||
- 组合售卖
|
||||
|
||||
### 基础模块(平台功能)
|
||||
@@ -67,27 +67,27 @@
|
||||
- 平台标配功能
|
||||
|
||||
### 管理模块
|
||||
6. **ADMIN** - 霑占是邂。逅<EFBFBD>ォ?
|
||||
6. **ADMIN** - 运营管理端
|
||||
- SaaS运营必备
|
||||
|
||||
---
|
||||
|
||||
## <EFBFBD>答 蠢ォ騾溷ッシ闊?
|
||||
## 📚 快速导航
|
||||
|
||||
### 快速上下文
|
||||
- **[AI蟇ケ謗・] 荳壼苅讓。蝮怜ソォ騾滉ク贋ク区枚.md** - 2-3蛻<33>帖莠<E5B896>ァ」荳壼苅讓。蝮怜ア?
|
||||
- **[AI对接] 业务模块快速上下文.md** - 2-3分钟了解业务模块层
|
||||
|
||||
### 核心模块(按优先级)
|
||||
1. [ASL-AI譎コ閭ス譁<EFBFBD>鍵](./ASL-AI譎コ閭ス譁<EFBFBD>鍵/README.md) - P0<EFBFBD>御ク倶ク豁・蠑蜿?
|
||||
1. [ASL-AI智能文献](./ASL-AI智能文献/README.md) - P0,下一步开发
|
||||
2. [DC-数据清洗整理](./DC-数据清洗整理/README.md) - P1,核心竞争力
|
||||
3. [RVW-遞ソ莉カ螳。譟・邉サ扈歉(./RVW-遞ソ莉カ螳。譟・邉サ扈<EFBDBB>/README.md) - P1<EFBFBD>檎峡遶狗ウサ扈?
|
||||
4. [ADMIN-霑占是邂。逅<EFBFBD>ォッ](./ADMIN-霑占是邂。逅<EFBFBD>ォ?README.md) - P1<EFBFBD>悟膚荳壼渕遑
|
||||
3. [RVW-稿件审查系统](./RVW-稿件审查系统/README.md) - P1,独立系统
|
||||
4. [ADMIN-运营管理端](./ADMIN-运营管理端/README.md) - P1,商业基础
|
||||
|
||||
### 蟾イ螳梧<EFBFBD>讓。蝮?
|
||||
5. [AIA-AI譎コ閭ス髣ョ遲脳(./AIA-AI譎コ閭ス髣ョ遲<EFBDAE>/README.md) - 蟾イ螳梧<EFBFBD>?
|
||||
6. [PKB-荳ェ莠コ遏・隸<EFBFBD>コ転(./PKB-荳ェ莠コ遏・隸<EFBDA5>コ?README.md) - 蟾イ螳梧<EFBFBD>?
|
||||
### 已完成模块
|
||||
5. [AIA-AI智能问答](./AIA-AI智能问答/README.md) - 已完成
|
||||
6. [PKB-个人知识库](./PKB-个人知识库/README.md) - 已完成
|
||||
|
||||
### 隗<EFBFBD><EFBFBD>荳ュ讓。蝮?
|
||||
### 规划中模块
|
||||
7. [SSA-智能统计分析](./SSA-智能统计分析/README.md) - P2
|
||||
8. [ST-统计分析工具](./ST-统计分析工具/README.md) - P2
|
||||
|
||||
@@ -96,8 +96,8 @@
|
||||
## 🔗 相关文档
|
||||
|
||||
- [系统架构分层设计](../00-系统总体设计/01-系统架构分层设计.md)
|
||||
- [蟷ウ蜿ー蝓コ遑螻<EFBFBD>(../01-蟷ウ蜿ー蝓コ遑螻?README.md)
|
||||
- [騾夂畑閭ス蜉帛ア<EFBFBD>(../02-騾夂畑閭ス蜉帛ア?README.md)
|
||||
- [平台基础层](../01-平台基础层/README.md)
|
||||
- [通用能力层](../02-通用能力层/README.md)
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user