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,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)
|
||||
- 鏂版枃妗g粨鏋勮<EFBFBD>璁?
|
||||
👉 **必读:** [02-文档体系重构方案v2.0](./02-文档体系重构方案.md)
|
||||
- 新文档结构设计
|
||||
- 8个模块的标准文档模板
|
||||
- 迁移计划
|
||||
|
||||
---
|
||||
|
||||
### 了解所有架构问题的答案
|
||||
馃憠 **蹇呰<E8B987>锛?* [00-鏍稿績闂<E7B8BE><E99782>瑙g瓟](./00-鏍稿績闂<E7B8BE><E99782>瑙g瓟.md)
|
||||
- 閮ㄧ讲妯″紡璋冩暣锛?绉嶏紝涓嶈€冭檻娣峰悎閮ㄧ讲锛?
|
||||
- 瀹$ǹ绯荤粺鐙<EFBFBD>珛鎬у垎鏋?
|
||||
- 鏁版嵁搴撴灦鏋勬緞娓?
|
||||
👉 **必读:** [00-核心问题解答](./00-核心问题解答.md)
|
||||
- 部署模式调整(3种,不考虑混合部署)
|
||||
- 审稿系统独立性分析
|
||||
- 数据库架构澄清
|
||||
|
||||
---
|
||||
|
||||
## 📊 文档阅读顺序建议
|
||||
|
||||
### 璺<EFBFBD>緞1锛氬揩閫熶簡瑙o紙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锛氬叏闈㈢悊瑙o紙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%
|
||||
- **建议:** 现在做 ⭐⭐⭐⭐⭐
|
||||
- **成本:** 1周 vs 未来3-5周
|
||||
- **ROI:** 300-500%
|
||||
|
||||
### Monorepo
|
||||
- **寤鸿<EFBFBD>锛?* 鐜板湪杞<E6B9AA>崲 猸愨瓙猸愨瓙猸?
|
||||
- **鎴愭湰锛?* 2-3澶?vs 鏈<EFBFBD>潵7-11澶?
|
||||
- **ROI锛?* 300-400%
|
||||
- **瑙﹀彂鏉′欢锛?* 杩戞湡寮€鍙戣繍钀ョ<E99280>鐞嗙<E9909E>锛屽繀椤昏浆鎹?
|
||||
- **建议:** 现在转换 ⭐⭐⭐⭐⭐
|
||||
- **成本:** 2-3天 vs 未来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>瑙g瓟.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-系统架构分层设计.md(900+行)
|
||||
3. ✅ 02-文档体系重构方案v2.0.md(790+行)
|
||||
4. ✅ 03-数据库架构说明.md(434+行)
|
||||
5. ✅ 04-运营管理端架构设计.md(859+行)
|
||||
6. ✅ 05-Schema隔离方案与成本分析.md(1042+行)
|
||||
7. ✅ 06-模块独立部署与单机版方案.md(1541+行)
|
||||
8. ✅ 07-Monorepo架构评估.md(555+行)
|
||||
9. ✅ 08-架构设计全景图.md
|
||||
10. ✅ 99-下一步行动决策建议.md
|
||||
|
||||
**鎬昏<EFBFBD>锛?* 6000+琛岃<E7909B>缁嗚<E7BC81>璁?
|
||||
**总计:** 6000+行详细设计
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user