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,157 +1,157 @@
# 系统总体设计 - 阅读指南
> **鏂囨。鏃ユ湡锛?* 2025-11-06
> **鏂囨。鐩<EFBFBD>殑锛?* 蹇<>€熷<E282AC><EFBFBD>紝鎵惧埌鎮ㄩ渶瑕佺殑鏂囨。
> **文档日期:** 2025-11-06
> **文档目的:** 快速导航,找到您需要的文档
---
## 🎯 如果您想...
### 快速了解今天的成果
馃憠 **蹇呰<E8B987>锛?* [00-浠婃棩鏋舵瀯璁捐<E79281>鎬荤粨](./00-浠婃棩鏋舵瀯璁捐<E79281>鎬荤粨.md)
👉 **必读:** [00-今日架构设计总结](./00-今日架构设计总结.md)
- 7个核心文档总览
- 关键决策总结
- 涓嬩竴姝ュ缓璁?
- 下一步建议
---
### 了解整个系统架构
馃憠 **蹇呰<E8B987>锛?* [08-鏋舵瀯璁捐<E79281>鍏ㄦ櫙鍥綸(./08-鏋舵瀯璁捐<E79281>鍏ㄦ櫙鍥?md)
- 涓€鍥剧湅鎳傚畬鏁存灦鏋?
👉 **必读:** [08-架构设计全景图](./08-架构设计全景图.md)
- 一图看懂完整架构
- 四种部署模式
- 代码组织结构
馃憠 **璇︾粏浜嗚В锛?* [01-绯荤粺鏋舵瀯鍒嗗眰璁捐<EFBFBD>](./01-绯荤粺鏋舵瀯鍒嗗眰璁捐<E79281>.md)
👉 **详细了解:** [01-系统架构分层设计](./01-系统架构分层设计.md)
- 三层架构详细设计
- 8<EFBFBD>笟鍔℃ā鍧?
- 8个业务模块
- 5个通用能力
- 依赖关系分析
---
### 鍋氬嚭涓嬩竴姝ヨ<EFBFBD>鍔ㄥ喅绛?
馃憠 **蹇呰<E8B987>锛?* [99-涓嬩竴姝ヨ<E5A79D>鍔ㄥ喅绛栧缓璁甝(./99-涓嬩竴姝ヨ<E5A79D>鍔ㄥ喅绛栧缓璁?md)
- 3涓<33>柟妗堝<E5A697>姣旓紙绔嬪嵆寮€鍙?vs 鍏堟敼閫?vs 鎶樹腑锛?
### 做出下一步行动决策
👉 **必读:** [99-下一步行动决策建议](./99-下一步行动决策建议.md)
- 3个方案对比立即开发 vs 先改造 vs 折中)
- 成本收益分析
- 明确的建议和实施计划
---
### 浜嗚В鏁版嵁搴撴灦鏋?
馃憠 **鍏堢湅锛?* [03-鏁版嵁搴撴灦鏋勮<EFBFBD>鏄嶿(./03-鏁版嵁搴撴灦鏋勮<E98F8B>鏄?md)
- PostgreSQL鏄疍ocker閮ㄧ讲鐨?
### 了解数据库架构
👉 **先看:** [03-数据库架构说明](./03-数据库架构说明.md)
- PostgreSQL是Docker部署的
- 您有自己独立的数据库
- 与Dify数据库的关系
馃憠 **娣卞叆浜嗚В锛?* [05-Schema闅旂<EFBFBD>鏂规<EFBFBD>涓庢垚鏈<EFBFBD>垎鏋怾(./05-Schema闅旂<E99785>鏂规<E98F82>涓庢垚鏈<E59E9A>垎鏋?md)
👉 **深入了解:** [05-Schema隔离方案与成本分析](./05-Schema隔离方案与成本分析.md)
- 逻辑隔离 vs 物理隔离
- 鏀归€犳垚鏈<E59E9A><E98F88>姣旓紙鐜板湪1鍛?vs 鏈<>潵3-5鍛<35>
- 改造成本对比现在1周 vs 未来3-5周
- 实施方案
---
### 了解如何模块独立部署
馃憠 **蹇呰<E8B987>锛?* [06-妯″潡鐙<EFBFBD>珛閮ㄧ讲涓庡崟鏈虹増鏂规<EFBFBD>](./06-妯″潡鐙<E6BDA1>珛閮ㄧ讲涓庡崟鏈虹増鏂规<E98F82>.md)
👉 **必读:** [06-模块独立部署与单机版方案](./06-模块独立部署与单机版方案.md)
- 完整打包方案(独立产品)
- 鍏变韩鏈嶅姟鏂规<EFBFBD>锛堝钩鍙板唴妯″潡锛?
- Electron鍗曟満鐗堟灦鏋?
- 浠g爜澶嶇敤鐜囧垎鏋愶紙85%+锛?
- 共享服务方案(平台内模块)
- Electron单机版架构
- 代码复用率分析(85%+
---
### 浜嗚В杩愯惀绠$悊绔?
馃憠 **蹇呰<E8B987>锛?* [04-杩愯惀绠悊绔<E6828A>灦鏋勮<E98F8B><EFBFBD>(./04-杩愯惀绠悊绔<E6828A>灦鏋勮<E98F8B>璁?md)
- 15涓<35>姛鑳芥ā鍧?
### 了解运营管理端
👉 **必读:** [04-运营管理端架构设计](./04-运营管理端架构设计.md)
- 15个功能模块
- 3阶段实施计划
- 瀵圭郴缁熺殑6澶у奖鍝?
- 对系统的6大影响
---
### 了解是否需要Monorepo
馃憠 **蹇呰<E8B987>锛?* [07-Monorepo鏋舵瀯璇勪及](./07-Monorepo鏋舵瀯璇勪及.md)
- 褰撳墠闃舵<EFBFBD>闇€瑕佸悧锛?
- 鎴愭湰瀵规瘮锛堢幇鍦?-3澶?vs 鏈<>7-11澶╋級
👉 **必读:** [07-Monorepo架构评估](./07-Monorepo架构评估.md)
- 当前阶段需要吗?
- 成本对比现在2-3天 vs 未来7-11天)
- 实施方案
---
### 了解文档体系如何重构
馃憠 **蹇呰<E8B987>锛?* [02-鏂囨。浣撶郴閲嶆瀯鏂规<E98F82>v2.0](./02-鏂囨。浣撶郴閲嶆瀯鏂规<EFBFBD>.md)
- 鏂版枃妗粨鏋勮<EFBFBD>璁?
👉 **必读:** [02-文档体系重构方案v2.0](./02-文档体系重构方案.md)
- 新文档结构设计
- 8个模块的标准文档模板
- 迁移计划
---
### 了解所有架构问题的答案
馃憠 **蹇呰<E8B987>锛?* [00-鏍稿績闂<E7B8BE><E99782>](./00-鏍稿績闂<E7B8BE><E99782>.md)
- 閮ㄧ讲妯″紡璋冩暣锛?绉嶏紝涓嶈€冭檻娣峰悎閮ㄧ讲锛?
- ǹ绯荤粺鐙<EFBFBD>珛鎬у垎鏋?
- 鏁版嵁搴撴灦鏋勬緞娓?
👉 **必读:** [00-核心问题解答](./00-核心问题解答.md)
- 部署模式调整3种不考虑混合部署
- 审稿系统独立性分析
- 数据库架构澄清
---
## 📊 文档阅读顺序建议
### <EFBFBD>緞1锛氬揩閫熶簡瑙紙20鍒嗛挓锛?
### 路径1快速了解20分钟
1. [00-今日架构设计总结](./00-今日架构设计总结.md) - 5分钟
2. [08-鏋舵瀯璁捐<EFBFBD>鍏ㄦ櫙鍥綸(./08-鏋舵瀯璁捐<E79281>鍏ㄦ櫙鍥?md) - 10鍒嗛挓
3. [99-涓嬩竴姝ヨ<EFBFBD>鍔ㄥ喅绛栧缓璁甝(./99-涓嬩竴姝ヨ<E5A79D>鍔ㄥ喅绛栧缓璁?md) - 5鍒嗛挓
2. [08-架构设计全景图](./08-架构设计全景图.md) - 10分钟
3. [99-下一步行动决策建议](./99-下一步行动决策建议.md) - 5分钟
---
### <EFBFBD>緞2锛氬叏闈㈢悊瑙紙1-2灏忔椂锛?
### 路径2全面理解1-2小时
1. [00-今日架构设计总结](./00-今日架构设计总结.md) - 10分钟
2. [01-系统架构分层设计](./01-系统架构分层设计.md) - 30分钟
3. [05-Schema闅旂<EFBFBD>鏂规<EFBFBD>涓庢垚鏈<EFBFBD>垎鏋怾(./05-Schema闅旂<E99785>鏂规<E98F82>涓庢垚鏈<E59E9A>垎鏋?md) - 20鍒嗛挓
3. [05-Schema隔离方案与成本分析](./05-Schema隔离方案与成本分析.md) - 20分钟
4. [07-Monorepo架构评估](./07-Monorepo架构评估.md) - 15分钟
5. [99-涓嬩竴姝ヨ<EFBFBD>鍔ㄥ喅绛栧缓璁甝(./99-涓嬩竴姝ヨ<E5A79D>鍔ㄥ喅绛栧缓璁?md) - 10鍒嗛挓
5. [99-下一步行动决策建议](./99-下一步行动决策建议.md) - 10分钟
---
### <EFBFBD>緞3锛氭繁鍏ョ爺绌讹紙3-4灏忔椂锛?
### 路径3深入研究3-4小时
鎸夐『搴忛槄璇绘墍鏈?0涓<30>枃妗?
按顺序阅读所有10个文档
---
## 🎯 关键结论速查
### Schema隔离
- **寤鸿<EFBFBD>锛?* 鐜板湪鍋?猸愨瓙猸愨瓙猸?
- **鎴愭湰锛?* 1鍛?vs <EFBFBD>3-5鍛?
- **ROI锛?* 300-500%
- **建议:** 现在做 ⭐⭐⭐⭐⭐
- **成本:** 1vs 未来3-5
- **ROI** 300-500%
### Monorepo
- **寤鸿<EFBFBD>锛?* 鐜板湪杞<E6B9AA>崲 猸愨瓙猸愨瓙猸?
- **鎴愭湰锛?* 2-3澶?vs <EFBFBD>7-11澶?
- **ROI锛?* 300-400%
- **瑙﹀彂鏉′欢锛?* 杩戞湡寮€鍙戣繍钀ョ<E99280>鐞嗙<E9909E>锛屽繀椤昏浆鎹?
- **建议:** 现在转换 ⭐⭐⭐⭐⭐
- **成本:** 2-3vs 未来7-11
- **ROI** 300-400%
- **触发条件:** 近期开发运营管理端,必须转换
### 涓嬩竴姝ヨ<EFBFBD>鍔?
- **鏂规<EFBFBD>A锛?* 绔嬪嵆寮€鍙慉SL锛堢疮绉<E796AE>妧鏈<E5A6A7>€猴級
- **鏂规<EFBFBD>B锛?* 鍏堟敼閫犳灦鏋勶紝鍐嶅紑鍙慉SL锛堝己鐑堟帹鑽愶級猸愨瓙猸愨瓙猸?
- **鏂规<EFBFBD>C锛?* 鍙<>Monorepo锛屽欢鍚嶴chema闅旂<EFBFBD>
### 下一步行动
- **方案A** 立即开发ASL累积技术债
- **方案B** 先改造架构再开发ASL强烈推荐⭐⭐⭐⭐⭐
- **方案C** 只做Monorepo延后Schema隔离
---
## 📝 今日成果
**完成的文档:**
1. 鉁?00-鏍稿績闂<EFBFBD><EFBFBD>.md
2. 鉁?01-绯荤粺鏋舵瀯鍒嗗眰璁捐<EFBFBD>.md锛?00+琛岋級
3. 鉁?02-鏂囨。浣撶郴閲嶆瀯鏂规<EFBFBD>v2.0.md锛?90+琛岋級
4. 鉁?03-鏁版嵁搴撴灦鏋勮<EFBFBD>鏄?md锛?34+琛岋級
5. 鉁?04-杩愯惀绠悊绔<EFBFBD>灦鏋勮<EFBFBD>璁?md锛?59+琛岋級
6. 鉁?05-Schema闅旂<EFBFBD>鏂规<EFBFBD>涓庢垚鏈<EFBFBD>垎鏋?md锛?042+琛岋級
7. 鉁?06-妯″潡鐙<EFBFBD>珛閮ㄧ讲涓庡崟鏈虹増鏂规<EFBFBD>.md锛?541+琛岋級
8. 鉁?07-Monorepo鏋舵瀯璇勪及.md锛?55+琛岋級
9. 鉁?08-鏋舵瀯璁捐<EFBFBD>鍏ㄦ櫙鍥?md
10. 鉁?99-涓嬩竴姝ヨ<EFBFBD>鍔ㄥ喅绛栧缓璁?md
1. 00-核心问题解答.md
2. 01-系统架构分层设计.md900+行)
3. 02-文档体系重构方案v2.0.md790+行)
4. 03-数据库架构说明.md434+行)
5. 04-运营管理端架构设计.md859+行)
6. 05-Schema隔离方案与成本分析.md1042+行)
7. 06-模块独立部署与单机版方案.md1541+行)
8. 07-Monorepo架构评估.md555+行)
9. 08-架构设计全景图.md
10. 99-下一步行动决策建议.md
**鎬昏<EFBFBD>锛?* 6000+琛岃<E7909B>缁嗚<E7BC81>璁?
**总计:** 6000+行详细设计
---