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,17 +1,17 @@
|
||||
# 鐢ㄦ埛涓庢潈闄愪腑蹇?(UAM)
|
||||
# 用户与权限中心 (UAM)
|
||||
|
||||
> **妯″潡瀹氫綅锛?* 骞冲彴鍩虹<E98DA9>灞傛牳蹇冩ā鍧?
|
||||
> **模块定位:** 平台基础层核心模块
|
||||
> **优先级:** P0(最高)
|
||||
> **鐘舵€侊細** 鈴?璁捐<E79281>涓?
|
||||
> **状态:** ⏳ 设计中
|
||||
|
||||
---
|
||||
|
||||
## 📋 模块概述
|
||||
|
||||
用户与权限中心(User Access Management)是平台的核心基础模块,负责:
|
||||
- 鐢ㄦ埛娉ㄥ唽銆佺櫥褰曘€佽<EFBFBD>璇?
|
||||
- 瑙掕壊涓庢潈闄愮<EFBFBD>鐞嗭紙RBAC锛?
|
||||
- Feature Flag 鍔熻兘寮€鍏筹紙鍟嗕笟妯″紡鍩虹<EFBFBD>锛?
|
||||
- 用户注册、登录、认证
|
||||
- 角色与权限管理(RBAC)
|
||||
- Feature Flag 功能开关(商业模式基础)
|
||||
- 多租户管理(SaaS版)
|
||||
|
||||
---
|
||||
@@ -21,21 +21,21 @@
|
||||
### 1. 用户认证
|
||||
- JWT Token认证
|
||||
- 用户注册/登录
|
||||
- 瀵嗙爜鍔犲瘑锛坆crypt锛?
|
||||
- 密码加密(bcrypt)
|
||||
- 会话管理
|
||||
|
||||
### 2. 瑙掕壊鏉冮檺绠$悊锛圧BAC锛?
|
||||
### 2. 角色权限管理(RBAC)
|
||||
- 角色定义
|
||||
- 权限定义
|
||||
- 用户-角色关联
|
||||
- 角色-权限关联
|
||||
|
||||
### 3. Feature Flag 绠$悊 猸?**鍟嗕笟妯″紡鏍稿績**
|
||||
- 鐗堟湰鍔熻兘鎺у埗锛堜笓涓氱増銆侀珮绾х増銆佹棗鑸扮増锛?
|
||||
- 妯″潡寮€鍏?
|
||||
- 鍔熻兘寮€鍏?
|
||||
### 3. Feature Flag 管理 ⭐ **商业模式核心**
|
||||
- 版本功能控制(专业版、高级版、旗舰版)
|
||||
- 模块开关
|
||||
- 功能开关
|
||||
|
||||
### 4. 澶氱<EFBFBD>鎴风<EFBFBD>鐞?
|
||||
### 4. 多租户管理
|
||||
- 租户隔离
|
||||
- 租户配额
|
||||
|
||||
@@ -44,17 +44,17 @@
|
||||
## 📂 文档结构
|
||||
|
||||
```
|
||||
01-鐢ㄦ埛涓庢潈闄愪腑蹇?UAM)/
|
||||
鈹溾攢鈹€ [AI瀵规帴] UAM蹇<EFBFBD>€熶笂涓嬫枃.md # 鈴?寰呭垱寤?
|
||||
鈹溾攢鈹€ 00-闇€姹傚垎鏋?
|
||||
鈹? 鈹斺攢鈹€ README.md
|
||||
01-用户与权限中心(UAM)/
|
||||
├── [AI对接] UAM快速上下文.md # ⏳ 待创建
|
||||
├── 00-需求分析/
|
||||
│ └── README.md
|
||||
├── 01-设计文档/
|
||||
鈹? 鈹溾攢鈹€ 01-鏋舵瀯璁捐<E79281>.md # 鈴?寰呭垱寤?
|
||||
鈹? 鈹溾攢鈹€ 02-鏁版嵁搴撹<E690B4>璁?md # 鈴?寰呭垱寤?
|
||||
鈹? 鈹溾攢鈹€ 03-API璁捐<EFBFBD>.md # 鈴?寰呭垱寤?
|
||||
鈹? 鈹溾攢鈹€ 04-Feature-Flag璁捐<EFBFBD>.md # 鈴?寰呭垱寤?
|
||||
鈹? 鈹斺攢鈹€ README.md
|
||||
鈹斺攢鈹€ README.md # 鉁?褰撳墠鏂囨。
|
||||
│ ├── 01-架构设计.md # ⏳ 待创建
|
||||
│ ├── 02-数据库设计.md # ⏳ 待创建
|
||||
│ ├── 03-API设计.md # ⏳ 待创建
|
||||
│ ├── 04-Feature-Flag设计.md # ⏳ 待创建
|
||||
│ └── README.md
|
||||
└── README.md # ✅ 当前文档
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
# 存储服务
|
||||
|
||||
> **妯″潡瀹氫綅锛?* 骞冲彴鍩虹<E98DA9>灞?
|
||||
> **模块定位:** 平台基础层
|
||||
> **优先级:** P1
|
||||
> **鐘舵€侊細** 鈴?寰呰<E5AFB0>璁?
|
||||
> **状态:** ⏳ 待设计
|
||||
|
||||
---
|
||||
|
||||
## 📋 模块概述
|
||||
|
||||
瀛樺偍鏈嶅姟璐熻矗缁熶竴绠$悊骞冲彴鐨勬枃浠跺瓨鍌<EFBFBD>紝鏀<EFBFBD>寔锛?
|
||||
- 鏂囦欢涓婁紶銆佷笅杞姐€佸垹闄?
|
||||
- 瀵硅薄瀛樺偍锛圤SS/S3锛?
|
||||
- 鏈<EFBFBD>湴鏂囦欢绯荤粺锛堝崟鏈虹増锛?
|
||||
存储服务负责统一管理平台的文件存储,支持:
|
||||
- 文件上传、下载、删除
|
||||
- 对象存储(OSS/S3)
|
||||
- 本地文件系统(单机版)
|
||||
- 文件权限控制
|
||||
|
||||
---
|
||||
@@ -28,7 +28,7 @@
|
||||
- 单机版:本地文件系统
|
||||
|
||||
### 3. 文件访问控制
|
||||
- 涓存椂璁块棶URL锛堢<EFBFBD>鍚峌RL锛?
|
||||
- 临时访问URL(签名URL)
|
||||
- 权限验证
|
||||
|
||||
---
|
||||
@@ -37,11 +37,11 @@
|
||||
|
||||
```
|
||||
02-存储服务/
|
||||
鈹溾攢鈹€ 00-闇€姹傚垎鏋?
|
||||
鈹? 鈹斺攢鈹€ README.md
|
||||
├── 00-需求分析/
|
||||
│ └── README.md
|
||||
├── 01-设计文档/
|
||||
鈹? 鈹斺攢鈹€ README.md
|
||||
鈹斺攢鈹€ README.md # 鉁?褰撳墠鏂囨。
|
||||
│ └── README.md
|
||||
└── README.md # ✅ 当前文档
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# 通知服务
|
||||
|
||||
> **讓。蝮怜ョ壻ス搾シ?* 蟷ウ蜿ー蝓コ遑螻?
|
||||
> **模块定位:** 平台基础层
|
||||
> **优先级:** P2
|
||||
> **迥カ諤<EFBFBD>シ<EFBFBD>** 竢?蠕<>ョセ隶?
|
||||
> **状态:** ⏳ 待设计
|
||||
|
||||
---
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
通知服务负责平台的消息通知,支持:
|
||||
- 站内消息
|
||||
- 邮件通知
|
||||
- WebSocket螳樊慮謗ィ騾?
|
||||
- WebSocket实时推送
|
||||
|
||||
---
|
||||
|
||||
@@ -19,16 +19,16 @@
|
||||
|
||||
### 1. 站内消息
|
||||
- 消息列表
|
||||
- 蟾イ隸サ/譛ェ隸サ迥カ諤?
|
||||
- 已读/未读状态
|
||||
- 消息删除
|
||||
|
||||
### 2. 邮件通知
|
||||
- SMTP驍ョ莉カ蜿鷹?
|
||||
- SMTP邮件发送
|
||||
- 邮件模板
|
||||
|
||||
### 3. WebSocket螳樊慮謗ィ騾?
|
||||
- 螳樊慮豸域<EFBFBD>謗ィ騾?
|
||||
- 霑帛コヲ譖エ譁ー謗ィ騾?
|
||||
### 3. WebSocket实时推送
|
||||
- 实时消息推送
|
||||
- 进度更新推送
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# 监控与日�
|
||||
# 监控与日志
|
||||
|
||||
> **模å<EFBFBD>—定ä½<EFBFBD>ï¼?* å¹³å<C2B3>°åŸºç¡€å±?
|
||||
> **模块定位:** 平台基础层
|
||||
> **优先级:** P1
|
||||
> **状æ€<EFBFBD>:** â<>?待设è®?
|
||||
> **状态:** ⏳ 待设计
|
||||
|
||||
---
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
### 1. 操作日志
|
||||
- 用户操作记录
|
||||
- 管ç<EFBFBD>†å‘˜æ“<EFBFBD>作记å½?
|
||||
- 管理员操作记录
|
||||
|
||||
### 2. 错误日志
|
||||
- 系统错误捕获
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
# 系统配置
|
||||
|
||||
> **模å<EFBFBD>—定ä½<EFBFBD>ï¼?* å¹³å<C2B3>°åŸºç¡€å±?
|
||||
> **模块定位:** 平台基础层
|
||||
> **优先级:** P1
|
||||
> **状æ€<EFBFBD>:** â<>?待设è®?
|
||||
> **状态:** ⏳ 待设计
|
||||
|
||||
---
|
||||
|
||||
## 📋 模块概述
|
||||
|
||||
系统é…<EFBFBD>ç½®æœ<EFBFBD>务负责ï¼?
|
||||
- 系统级é…<EFBFBD>置管ç<EFBFBD>?
|
||||
系统配置服务负责:
|
||||
- 系统级配置管理
|
||||
- 多环境配置(开发、测试、生产)
|
||||
- 动æ€<EFBFBD>é…<EFBFBD>置更æ–?
|
||||
- 动态配置更新
|
||||
|
||||
---
|
||||
|
||||
## 🎯 核心功能
|
||||
|
||||
### 1. 配置管理
|
||||
- é…<EFBFBD>置项定ä¹?
|
||||
- é…<EFBFBD>置值管ç<EFBFBD>?
|
||||
- 配置项定义
|
||||
- 配置值管理
|
||||
- 配置版本控制
|
||||
|
||||
### 2. 动æ€<EFBFBD>é…<EFBFBD>ç½?
|
||||
- è¿<EFBFBD>行时é…<EFBFBD>置更æ–?
|
||||
- é…<EFBFBD>ç½®çƒæ›´æ–?
|
||||
### 2. 动态配置
|
||||
- 运行时配置更新
|
||||
- 配置热更新
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,48 +1,48 @@
|
||||
# 平台前端总体架构设计
|
||||
|
||||
> **譁<EFBFBD>。」迚域悽<EFBFBD>?* v1.0
|
||||
> **蛻帛サコ譌・譛滂シ?* 2025-10-29
|
||||
> **扈エ謚、閠<EFBFBD>シ<EFBFBD>** 蜑咲ォッ蠑蜿大屬髦?
|
||||
> **文档版本:** v1.0
|
||||
> **创建日期:** 2025-10-29
|
||||
> **维护者:** 前端开发团队
|
||||
> **最后更新:** 2025-10-29
|
||||
|
||||
---
|
||||
|
||||
## 📋 文档说明
|
||||
|
||||
譛ャ譁<EFBFBD>。」譏ッ**蟷ウ蜿ー郤ァ蜑咲ォッ譫カ譫<EFBDB6>ョセ隶?*<2A>梧カオ逶匁紛荳ェAI遘醍<E98198>泌ケウ蜿ー逧<EFBDB0>燕遶ッ譫カ譫<EFBDB6>シ悟桁諡ャ<E8ABA1>?
|
||||
- 扈滉ク逧<EFBFBD>。カ驛ィ蟇シ闊ェ隶セ隶?
|
||||
- 讓。蝮怜喧譫カ譫<EFBFBD>ョセ隶?
|
||||
本文档是**平台级前端架构设计**,涵盖整个AI科研平台的前端架构,包括:
|
||||
- 统一的顶部导航设计
|
||||
- 模块化架构设计
|
||||
- 路由设计
|
||||
- 譚<EFBFBD>剞謗ァ蛻カ邉サ扈滂シ?*迚域悽驟咲スョ螳悟<E89EB3>蜿ッ隹<EFBDAF><E99AB9>?*<2A>?
|
||||
- 讓。蝮礼峡遶区ァ隶セ隶。<EFBFBD>域髪謖∵悴譚・迢ャ遶句<EFBFBD>諡<EFBFBD>シ?
|
||||
- 权限控制系统(**版本配置完全可调整**)
|
||||
- 模块独立性设计(支持未来独立分拆)
|
||||
|
||||
> **豕ィ諢擾シ?* 譛ャ譁<EFBDAC>。」譏ッ蟷ウ蜿ー郤ァ隶セ隶。<E99AB6>悟推讓。蝮礼噪隸ヲ扈<EFBDA6>楔譫<E6A594>ョセ隶。隸キ蜿り<E3828A>推讓。蝮礼噪荳灘ア樊枚譯」縲?
|
||||
> **注意:** 本文档是平台级设计,各模块的详细架构设计请参考各模块的专属文档。
|
||||
|
||||
> **驥崎ヲ∵署遉コ<EFBFBD>?* 譛ャ譁<EFBDAC>。」荳ュ豸牙所逧<E68980>沿譛ャ譚<EFBDAC>剞蛻<E5899E><E89BBB><EFBFBD>亥渕遑迚医<E58CBB>ォ倡コァ迚医∵覧闊ー迚育噪讓。蝮怜<E89DAE>驟搾シ牙插荳コ**蛻晏ァ区婿譯<E5A9BF>**<2A>悟庄莉・譬ケ謐ョ荳壼苅髴豎る囂譌カ隹<EFBDB6>紛<EFBFBD>梧裏髴謾ケ蜉ィ莉」遐<EFBDA3>サ霎代よ耳闕蝉サ主錘遶ッAPI蜉ィ諤∬執蜿也沿譛ャ驟咲スョ縲?
|
||||
> **重要提示:** 本文档中涉及的版本权限分配(基础版、高级版、旗舰版的模块分配)均为**初始方案**,可以根据业务需求随时调整,无需改动代码逻辑。推荐从后端API动态获取版本配置。
|
||||
|
||||
---
|
||||
|
||||
## 🎯 设计原则
|
||||
|
||||
### 1. 讓。蝮怜喧隶セ隶?
|
||||
- 豈丈クェ蜉溯<EFBFBD>讓。蝮礼峡遶句シ蜿代∫峡遶矩Κ鄂?
|
||||
### 1. 模块化设计
|
||||
- 每个功能模块独立开发、独立部署
|
||||
- 模块间无依赖关系,可独立运行
|
||||
- 謾ッ謖∵ィ。蝮礼峡遶倶コァ蜩∝喧<EFBFBD>亥ヲ<EFBFBD>I譎コ閭ス譁<EFBFBD>鍵迢ャ遶句醗蜊厄シ?
|
||||
- 支持模块独立产品化(如AI智能文献独立售卖)
|
||||
|
||||
### 2. 权限控制设计
|
||||
- 蝓コ莠守畑謌キ迚域悽逧<EFBFBD>揀髯先而蛻?
|
||||
- 轣オ豢サ逧<EFBFBD>粥閭ス讓。蝮怜シ蜈ウ譛コ蛻?
|
||||
- 謾ッ謖∵悴譚・蝠<EFBFBD>ク壽ィ。蠑乗挙螻包シ亥渕遑迚医<EFBFBD>ォ倡コァ迚医∵覧闊ー迚茨シ?
|
||||
- 基于用户版本的权限控制
|
||||
- 灵活的功能模块开关机制
|
||||
- 支持未来商业模式拓展(基础版、高级版、旗舰版)
|
||||
|
||||
### 3. 蜿ッ謇ゥ螻墓ァ隶セ隶?
|
||||
- 鬚<EFBFBD>蕗譁ー讓。蝮玲磁蜈・謗・蜿?
|
||||
### 3. 可扩展性设计
|
||||
- 预留新模块接入接口
|
||||
- 插件化的模块加载机制
|
||||
- 驟咲スョ鬩ア蜉ィ逧<EFBFBD>粥閭ス蠑蜈?
|
||||
- 配置驱动的功能开关
|
||||
|
||||
### 4. 荳閾エ諤ァ隶セ隶?
|
||||
### 4. 一致性设计
|
||||
- 统一的UI/UX规范
|
||||
- 扈滉ク逧<EFBFBD>コ、莠呈ィ。蠑?
|
||||
- 扈滉ク逧<EFBFBD>憾諤∫ョ。逅?
|
||||
- 统一的交互模式
|
||||
- 统一的状态管理
|
||||
|
||||
---
|
||||
|
||||
@@ -51,37 +51,37 @@
|
||||
### 导航结构
|
||||
|
||||
```
|
||||
笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?
|
||||
笏?Logo [AI髣ョ遲脳 [AI譎コ閭ス譁<EFBDBD>鍵] [遏・隸<EFBDA5>コ転 [譎コ閭ス謨ー謐ョ貂<EFBDAE>エ余 [譎コ閭ス扈溯ョ。蛻<EFBDA1>梵] [扈溯ョ。蛻<EFBDA1>梵蟾・蜈キ] [逕ィ謌キ蜷?笆シ] 笏?
|
||||
笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?
|
||||
┌──────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Logo [AI问答] [AI智能文献] [知识库] [智能数据清洗] [智能统计分析] [统计分析工具] [用户名 ▼] │
|
||||
└──────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 蟇シ闊ェ鬘ケ隸ヲ諠?
|
||||
### 导航项详情
|
||||
|
||||
| 菴咲スョ | 荳ュ譁<EFBDAD>錐遘ー | 闍ア譁<EFBDB1><E8AD81><EFBFBD>ッ<EFBFBD> | 霍ッ逕ア霍ッ蠕<EFBDAF> | 蠑蜿醍憾諤?| 譚<>剞隕∵アゑシ亥<EFBDBC>蟋矩<E89F8B>鄂ョ<E98482><EFBDAE> |
|
||||
| 位置 | 中文名称 | 英文标识 | 路由路径 | 开发状态 | 权限要求(初始配置) |
|
||||
|------|---------|---------|---------|---------|---------------------|
|
||||
| 1 | AI髣ョ遲<EFBFBD> | `ai-qa` | `/ai-qa` | 笨?蟾イ蠑蜿?| 蝓コ遑迚? 笞<><E7AC9E>丞庄隹<E5BA84><E99AB9>?|
|
||||
| 2 | AI譎コ閭ス譁<EFBFBD>鍵 | `literature-platform` | `/literature` | <EFBFBD>圦 蠕<>シ蜿?| 鬮倡コァ迚? 笞<><E7AC9E>丞庄隹<E5BA84><E99AB9>?|
|
||||
| 3 | 遏・隸<EFBFBD>コ?| `knowledge-base` | `/knowledge-base` | 笨?蟾イ蠑蜿?| 蝓コ遑迚? 笞<><E7AC9E>丞庄隹<E5BA84><E99AB9>?|
|
||||
| 4 | 譎コ閭ス謨ー謐ョ貂<EFBFBD>エ<EFBFBD> | `data-cleaning` | `/data-cleaning` | <EFBFBD>搭 蜊<>菴<EFBFBD> | 鬮倡コァ迚? 笞<><E7AC9E>丞庄隹<E5BA84><E99AB9>?|
|
||||
| 5 | 譎コ閭ス扈溯ョ。蛻<EFBFBD>梵 | `statistical-analysis` | `/intelligent-analysis` | 笨?蟾イ蠑蜿托シ<E68998>ava蝗「髦滂シ?| 譌苓芦迚?笞<><E7AC9E>丞庄隹<E5BA84><E99AB9>?|
|
||||
| 6 | 扈溯ョ。蛻<EFBFBD>梵蟾・蜈キ | `statistical-tools` | `/statistical-tools` | 笨?蟾イ蠑蜿托シ<E68998>ava蝗「髦滂シ?| 譌苓芦迚?笞<><E7AC9E>丞庄隹<E5BA84><E99AB9>?|
|
||||
| 譛蜿ウ萓ァ | 荳ェ莠コ荳ュ蠢<EFBDAD> | `user-center` | `/user/*` | 笨?蟾イ蠑蜿?| 謇譛臥畑謌?|
|
||||
| 1 | AI问答 | `ai-qa` | `/ai-qa` | ✅ 已开发 | 基础版+ ⚠️可调整 |
|
||||
| 2 | AI智能文献 | `literature-platform` | `/literature` | 🚧 待开发 | 高级版+ ⚠️可调整 |
|
||||
| 3 | 知识库 | `knowledge-base` | `/knowledge-base` | ✅ 已开发 | 基础版+ ⚠️可调整 |
|
||||
| 4 | 智能数据清洗 | `data-cleaning` | `/data-cleaning` | 📋 占位 | 高级版+ ⚠️可调整 |
|
||||
| 5 | 智能统计分析 | `statistical-analysis` | `/intelligent-analysis` | ✅ 已开发(Java团队) | 旗舰版 ⚠️可调整 |
|
||||
| 6 | 统计分析工具 | `statistical-tools` | `/statistical-tools` | ✅ 已开发(Java团队) | 旗舰版 ⚠️可调整 |
|
||||
| 最右侧 | 个人中心 | `user-center` | `/user/*` | ✅ 已开发 | 所有用户 |
|
||||
|
||||
> **隸エ譏趣シ?* 譚<>剞隕∵アょ<EFBDB1>荳ュ逧?蝓コ遑迚?"縲?鬮倡コァ迚?"縲?譌苓芦迚?荳?*蛻晏ァ矩<EFBDA7>鄂ョ**<2A>悟庄譬ケ謐ョ荳壼苅髴豎る囂譌カ隹<EFBDB6>紛<EFBFBD>梧裏髴謾ケ蜉ィ莉」遐<EFBDA3>サ霎代よ耳闕蝉サ主錘遶ッAPI蜉ィ諤∬執蜿也沿譛ャ驟咲スョ縲?
|
||||
> **说明:** 权限要求列中的"基础版+"、"高级版+"、"旗舰版"为**初始配置**,可根据业务需求随时调整,无需改动代码逻辑。推荐从后端API动态获取版本配置。
|
||||
|
||||
### 路由路径设计
|
||||
|
||||
```typescript
|
||||
// 荳サ霍ッ逕ア扈捺<EFBFBD>?
|
||||
// 主路由结构
|
||||
const routes = {
|
||||
// 模块路由
|
||||
'/ai-qa': 'AI问答模块',
|
||||
'/literature': 'AI智能文献模块',
|
||||
'/knowledge-base': '遏・隸<EFBFBD>コ捺ィ。蝮?,
|
||||
'/knowledge-base': '知识库模块',
|
||||
'/data-cleaning': '智能数据清洗模块(占位)',
|
||||
'/intelligent-analysis': '譎コ閭ス扈溯ョ。蛻<EFBFBD>梵讓。蝮暦シ<EFBFBD>ava蝗「髦溷シ蜿托シ悟宵蛛夐。カ驛ィ蟇シ闊ェ髮<EFBFBD><EFBFBD><EFBFBD>?,
|
||||
'/statistical-tools': '扈溯ョ。蛻<EFBFBD>梵蟾・蜈キ讓。蝮暦シ<EFBFBD>ava蝗「髦溷シ蜿托シ悟宵蛛夐。カ驛ィ蟇シ闊ェ髮<EFBFBD><EFBFBD><EFBFBD>?,
|
||||
'/intelligent-analysis': '智能统计分析模块(Java团队开发,只做顶部导航集成)',
|
||||
'/statistical-tools': '统计分析工具模块(Java团队开发,只做顶部导航集成)',
|
||||
|
||||
// 用户相关
|
||||
'/user/profile': '个人中心 - 个人资料',
|
||||
@@ -93,35 +93,35 @@ const routes = {
|
||||
|
||||
---
|
||||
|
||||
## <EFBFBD>女<EFBFBD>?謨エ菴捺楔譫<E6A594>ョセ隶。
|
||||
## 🏗️ 整体架构设计
|
||||
|
||||
### 譫カ譫<EFBFBD>アよャ。蝗?
|
||||
### 架构层次图
|
||||
|
||||
```
|
||||
笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?
|
||||
笏? 蠎皮畑螻?(Application) 笏?
|
||||
笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏?笏娯楳笏笏笏笏笏笏笏笏笏笏?笏娯楳笏笏笏笏笏笏笏笏笏笏?笏娯楳笏笏笏笏笏笏笏笏笏笏? 笏?
|
||||
笏? 笏?AI髣ョ遲<EFBDAE> 笏?笏<>I譎コ閭ス譁<EFBDBD>鍵笏?笏?遏・隸<EFBDA5>コ? 笏?笏?蜈カ莉匁ィ。蝮<EFBDA1> 笏? 笏?
|
||||
笏? 笏?Module 笏?笏?Module 笏?笏?Module 笏?笏?Module 笏? 笏?
|
||||
笏? 笏披楳笏笏笏笏笏笏笏笏笏笏?笏披楳笏笏笏笏笏笏笏笏笏笏?笏披楳笏笏笏笏笏笏笏笏笏笏?笏披楳笏笏笏笏笏笏笏笏笏笏? 笏?
|
||||
笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?
|
||||
竊?
|
||||
笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?
|
||||
笏? 譯<EFBFBD>楔螻?(Framework Layer) 笏?
|
||||
笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏?笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏?笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?
|
||||
笏? 笏?蟇シ闊ェ邉サ扈<EFBDBB> 笏?笏?霍ッ逕ア邉サ扈<EFBDBB> 笏?笏?譚<>剞謗ァ蛻カ 笏? 笏?
|
||||
笏? 笏?Navigation 笏?笏?Router 笏?笏?Permission 笏? 笏?
|
||||
笏? 笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏?笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏?笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?
|
||||
笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏?笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏?笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?
|
||||
笏? 笏?蟶<>ア邉サ扈<EFBDBB> 笏?笏?迥カ諤∫ョ。逅? 笏?笏?驟咲スョ邂。逅<EFBDA1> 笏? 笏?
|
||||
笏? 笏?Layout 笏?笏?State Mgmt 笏?笏?Config 笏? 笏?
|
||||
笏? 笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏?笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏?笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?
|
||||
笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?
|
||||
竊?
|
||||
笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?
|
||||
笏? 蝓コ遑螻?(Base Layer) 笏?
|
||||
笏? React + TypeScript + Ant Design + Tailwind CSS 笏?
|
||||
笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 应用层 (Application) │
|
||||
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
||||
│ │ AI问答 │ │AI智能文献│ │ 知识库 │ │ 其他模块 │ │
|
||||
│ │ Module │ │ Module │ │ Module │ │ Module │ │
|
||||
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 框架层 (Framework Layer) │
|
||||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
||||
│ │ 导航系统 │ │ 路由系统 │ │ 权限控制 │ │
|
||||
│ │ Navigation │ │ Router │ │ Permission │ │
|
||||
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
||||
│ │ 布局系统 │ │ 状态管理 │ │ 配置管理 │ │
|
||||
│ │ Layout │ │ State Mgmt │ │ Config │ │
|
||||
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 基础层 (Base Layer) │
|
||||
│ React + TypeScript + Ant Design + Tailwind CSS │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 目录结构设计
|
||||
@@ -129,80 +129,80 @@ const routes = {
|
||||
```
|
||||
frontend-v2/
|
||||
├── src/
|
||||
笏? 笏懌楳笏 app/ # 蠎皮畑蜈・蜿」
|
||||
笏? 笏? 笏懌楳笏 App.tsx # 譬ケ扈<EFBFBD>サ?
|
||||
笏? 笏? 笏懌楳笏 main.tsx # 蜈・蜿」譁<EFBFBD>サカ
|
||||
笏? 笏? 笏披楳笏 routes.tsx # 霍ッ逕ア驟咲スョ
|
||||
笏? 笏?
|
||||
笏? 笏懌楳笏 framework/ # 譯<EFBFBD>楔螻ゑシ域<EFBFBD>ク蠢<EFBFBD>シ?
|
||||
笏? 笏? 笏懌楳笏 navigation/ # 蟇シ闊ェ邉サ扈<EFBFBD>
|
||||
笏? 笏? 笏? 笏懌楳笏 TopNavigation.tsx # 鬘カ驛ィ蟇シ闊ェ
|
||||
笏? 笏? 笏? 笏懌楳笏 SideNavigation.tsx # 蟾ヲ萓ァ蟇シ闊ェ
|
||||
笏? 笏? 笏? 笏披楳笏 navigationConfig.ts # 蟇シ闊ェ驟咲スョ
|
||||
笏? 笏? 笏?
|
||||
笏? 笏? 笏懌楳笏 routing/ # 霍ッ逕ア邉サ扈<EFBFBD>
|
||||
笏? 笏? 笏? 笏懌楳笏 RouterConfig.tsx # 霍ッ逕ア驟咲スョ
|
||||
笏? 笏? 笏? 笏懌楳笏 RouteGuard.tsx # 霍ッ逕ア螳亥梱<EFBFBD>域揀髯撰シ<EFBFBD>
|
||||
笏? 笏? 笏? 笏披楳笏 LazyLoader.tsx # 諛貞刈霓?
|
||||
笏? 笏? 笏?
|
||||
笏? 笏? 笏懌楳笏 permission/ # 譚<EFBFBD>剞謗ァ蛻カ
|
||||
笏? 笏? 笏? 笏懌楳笏 PermissionProvider.tsx
|
||||
笏? 笏? 笏? 笏懌楳笏 usePermission.ts # 譚<EFBFBD>剞Hook
|
||||
笏? 笏? 笏? 笏懌楳笏 permissionConfig.ts # 譚<EFBFBD>剞驟咲スョ
|
||||
笏? 笏? 笏? 笏披楳笏 versionConfig.ts # 迚域悽驟咲スョ
|
||||
笏? 笏? 笏?
|
||||
笏? 笏? 笏懌楳笏 layout/ # 蟶<EFBFBD>ア邉サ扈<EFBFBD>
|
||||
笏? 笏? 笏? 笏懌楳笏 MainLayout.tsx # 荳サ蟶<EFBFBD>ア
|
||||
笏? 笏? 笏? 笏懌楳笏 ModuleLayout.tsx # 讓。蝮怜ク<EFBFBD>ア
|
||||
笏? 笏? 笏? 笏披楳笏 EmptyLayout.tsx # 遨コ蟶<EFBFBD>ア
|
||||
笏? 笏? 笏?
|
||||
笏? 笏? 笏懌楳笏 config/ # 驟咲スョ邂。逅<EFBFBD>
|
||||
笏? 笏? 笏? 笏懌楳笏 moduleConfig.ts # 讓。蝮鈴<EFBFBD>鄂ョ
|
||||
笏? 笏? 笏? 笏懌楳笏 appConfig.ts # 蠎皮畑驟咲スョ
|
||||
笏? 笏? 笏? 笏披楳笏 environment.ts # 邇ッ蠅<EFBFBD><EFBFBD>鄂ョ
|
||||
笏? 笏? 笏?
|
||||
笏? 笏? 笏披楳笏 state/ # 蜈ィ螻迥カ諤?
|
||||
笏? 笏? 笏懌楳笏 userStore.ts # 逕ィ謌キ迥カ諤?
|
||||
笏? 笏? 笏懌楳笏 navigationStore.ts # 蟇シ闊ェ迥カ諤?
|
||||
笏? 笏? 笏披楳笏 permissionStore.ts # 譚<EFBFBD>剞迥カ諤?
|
||||
笏? 笏?
|
||||
笏? 笏懌楳笏 modules/ # 蜉溯<EFBFBD>讓。蝮暦シ育峡遶具シ<EFBFBD>
|
||||
笏? 笏? 笏懌楳笏 ai-qa/ # AI髣ョ遲疲ィ。蝮<EFBFBD>
|
||||
笏? 笏? 笏? 笏懌楳笏 index.tsx
|
||||
笏? 笏? 笏? 笏懌楳笏 routes.tsx
|
||||
笏? 笏? 笏? 笏披楳笏 ...
|
||||
笏? 笏? 笏?
|
||||
笏? 笏? 笏懌楳笏 literature/ # AI譎コ閭ス譁<EFBFBD>鍵讓。蝮<EFBFBD>
|
||||
笏? 笏? 笏? 笏懌楳笏 index.tsx
|
||||
笏? 笏? 笏? 笏懌楳笏 routes.tsx
|
||||
笏? 笏? 笏? 笏披楳笏 ...
|
||||
笏? 笏? 笏?
|
||||
笏? 笏? 笏懌楳笏 knowledge-base/ # 遏・隸<EFBFBD>コ捺ィ。蝮?
|
||||
笏? 笏? 笏? 笏懌楳笏 index.tsx
|
||||
笏? 笏? 笏? 笏懌楳笏 routes.tsx
|
||||
笏? 笏? 笏? 笏披楳笏 ...
|
||||
笏? 笏? 笏?
|
||||
笏? 笏? 笏懌楳笏 data-cleaning/ # 譎コ閭ス謨ー謐ョ貂<EFBFBD>エ暦シ亥頃菴搾シ<EFBFBD>
|
||||
笏? 笏? 笏? 笏披楳笏 Placeholder.tsx
|
||||
笏? 笏? 笏?
|
||||
笏? 笏? 笏懌楳笏 intelligent-analysis/ # 譎コ閭ス扈溯ョ。蛻<EFBFBD>梵
|
||||
笏? 笏? 笏? 笏披楳笏 ...
|
||||
笏? 笏? 笏?
|
||||
笏? 笏? 笏披楳笏 statistical-tools/ # 扈溯ョ。蛻<EFBFBD>梵蟾・蜈キ
|
||||
笏? 笏? 笏披楳笏 ...
|
||||
笏? 笏?
|
||||
笏? 笏懌楳笏 components/ # 騾夂畑扈<EFBFBD>サカ
|
||||
笏? 笏? 笏懌楳笏 common/ # 蝓コ遑扈<EFBFBD>サカ
|
||||
笏? 笏? 笏懌楳笏 business/ # 荳壼苅扈<EFBFBD>サカ
|
||||
笏? 笏? 笏披楳笏 hooks/ # 騾夂畑Hooks
|
||||
笏? 笏?
|
||||
笏? 笏懌楳笏 api/ # API螻?
|
||||
笏? 笏? 笏懌楳笏 client.ts # API螳「謌キ遶?
|
||||
笏? 笏? 笏懌楳笏 modules/ # 讓。蝮輸PI
|
||||
笏? 笏? 笏披楳笏 types/ # API邀サ蝙<EFBFBD>
|
||||
笏? 笏?
|
||||
笏? 笏懌楳笏 utils/ # 蟾・蜈キ蜃ス謨ー
|
||||
笏? 笏披楳笏 types/ # 蜈ィ螻邀サ蝙<EFBFBD>
|
||||
│ ├── app/ # 应用入口
|
||||
│ │ ├── App.tsx # 根组件
|
||||
│ │ ├── main.tsx # 入口文件
|
||||
│ │ └── routes.tsx # 路由配置
|
||||
│ │
|
||||
│ ├── framework/ # 框架层(核心)
|
||||
│ │ ├── navigation/ # 导航系统
|
||||
│ │ │ ├── TopNavigation.tsx # 顶部导航
|
||||
│ │ │ ├── SideNavigation.tsx # 左侧导航
|
||||
│ │ │ └── navigationConfig.ts # 导航配置
|
||||
│ │ │
|
||||
│ │ ├── routing/ # 路由系统
|
||||
│ │ │ ├── RouterConfig.tsx # 路由配置
|
||||
│ │ │ ├── RouteGuard.tsx # 路由守卫(权限)
|
||||
│ │ │ └── LazyLoader.tsx # 懒加载
|
||||
│ │ │
|
||||
│ │ ├── permission/ # 权限控制
|
||||
│ │ │ ├── PermissionProvider.tsx
|
||||
│ │ │ ├── usePermission.ts # 权限Hook
|
||||
│ │ │ ├── permissionConfig.ts # 权限配置
|
||||
│ │ │ └── versionConfig.ts # 版本配置
|
||||
│ │ │
|
||||
│ │ ├── layout/ # 布局系统
|
||||
│ │ │ ├── MainLayout.tsx # 主布局
|
||||
│ │ │ ├── ModuleLayout.tsx # 模块布局
|
||||
│ │ │ └── EmptyLayout.tsx # 空布局
|
||||
│ │ │
|
||||
│ │ ├── config/ # 配置管理
|
||||
│ │ │ ├── moduleConfig.ts # 模块配置
|
||||
│ │ │ ├── appConfig.ts # 应用配置
|
||||
│ │ │ └── environment.ts # 环境配置
|
||||
│ │ │
|
||||
│ │ └── state/ # 全局状态
|
||||
│ │ ├── userStore.ts # 用户状态
|
||||
│ │ ├── navigationStore.ts # 导航状态
|
||||
│ │ └── permissionStore.ts # 权限状态
|
||||
│ │
|
||||
│ ├── modules/ # 功能模块(独立)
|
||||
│ │ ├── ai-qa/ # AI问答模块
|
||||
│ │ │ ├── index.tsx
|
||||
│ │ │ ├── routes.tsx
|
||||
│ │ │ └── ...
|
||||
│ │ │
|
||||
│ │ ├── literature/ # AI智能文献模块
|
||||
│ │ │ ├── index.tsx
|
||||
│ │ │ ├── routes.tsx
|
||||
│ │ │ └── ...
|
||||
│ │ │
|
||||
│ │ ├── knowledge-base/ # 知识库模块
|
||||
│ │ │ ├── index.tsx
|
||||
│ │ │ ├── routes.tsx
|
||||
│ │ │ └── ...
|
||||
│ │ │
|
||||
│ │ ├── data-cleaning/ # 智能数据清洗(占位)
|
||||
│ │ │ └── Placeholder.tsx
|
||||
│ │ │
|
||||
│ │ ├── intelligent-analysis/ # 智能统计分析
|
||||
│ │ │ └── ...
|
||||
│ │ │
|
||||
│ │ └── statistical-tools/ # 统计分析工具
|
||||
│ │ └── ...
|
||||
│ │
|
||||
│ ├── components/ # 通用组件
|
||||
│ │ ├── common/ # 基础组件
|
||||
│ │ ├── business/ # 业务组件
|
||||
│ │ └── hooks/ # 通用Hooks
|
||||
│ │
|
||||
│ ├── api/ # API层
|
||||
│ │ ├── client.ts # API客户端
|
||||
│ │ ├── modules/ # 模块API
|
||||
│ │ └── types/ # API类型
|
||||
│ │
|
||||
│ ├── utils/ # 工具函数
|
||||
│ └── types/ # 全局类型
|
||||
```
|
||||
|
||||
---
|
||||
@@ -211,7 +211,7 @@ frontend-v2/
|
||||
|
||||
### 用户版本定义
|
||||
|
||||
> **驥崎ヲ∬ッエ譏趣シ?* 迚域悽譚<E682BD>剞蛻<E5899E><E89BBB>譏ッ螳悟<E89EB3>?*蜿ッ驟咲スョ縲∝庄隹<E5BA84>紛**逧<>ゆサ・荳矩<E88DB3>鄂ョ荳コ**蛻晏ァ区婿譯<E5A9BF>**<2A>悟庄莉・譬ケ謐ョ荳壼苅髴豎る囂譌カ菫ョ謾ケ<E8ACBE>梧裏髴謾ケ蜉ィ莉」遐<EFBDA3>サ霎代?
|
||||
> **重要说明:** 版本权限分配是完全**可配置、可调整**的。以下配置为**初始方案**,可以根据业务需求随时修改,无需改动代码逻辑。
|
||||
|
||||
```typescript
|
||||
// 用户版本类型
|
||||
@@ -219,14 +219,14 @@ type UserVersion = 'basic' | 'advanced' | 'premium';
|
||||
|
||||
// 版本配置(可配置,支持后期调整)
|
||||
// 配置文件位置:src/framework/permission/versionConfig.ts
|
||||
// 謌冶<EFBFBD>夊ソ<EFBFBD>錘遶ッAPI蜉ィ諤∬執蜿夜<EFBFBD>鄂?
|
||||
// 或者通过后端API动态获取配置
|
||||
const VERSION_CONFIG = {
|
||||
basic: {
|
||||
name: '蝓コ遑迚?,
|
||||
modules: ['ai-qa', 'knowledge-base'], // 蛻晏ァ矩<EFBDA7>鄂ョ<E98482>壼渕遑迚亥桁蜷ォ讓。蝮?
|
||||
name: '基础版',
|
||||
modules: ['ai-qa', 'knowledge-base'], // 初始配置:基础版包含模块
|
||||
},
|
||||
advanced: {
|
||||
name: '鬮倡コァ迚?,
|
||||
name: '高级版',
|
||||
modules: [
|
||||
'ai-qa',
|
||||
'knowledge-base',
|
||||
@@ -235,7 +235,7 @@ const VERSION_CONFIG = {
|
||||
], // 初始配置:高级版包含模块
|
||||
},
|
||||
premium: {
|
||||
name: '譌苓芦迚?,
|
||||
name: '旗舰版',
|
||||
modules: [
|
||||
'ai-qa',
|
||||
'knowledge-base',
|
||||
@@ -247,15 +247,15 @@ const VERSION_CONFIG = {
|
||||
},
|
||||
};
|
||||
|
||||
// 隸エ譏趣シ?
|
||||
// 1. 莉・荳頑ィ。蝮怜<EFBFBD>驟堺クコ蛻晏ァ区婿譯茨シ悟庄譬ケ謐ョ螳樣刔荳壼苅髴豎りー<EFBFBD><EFBFBD>?
|
||||
// 说明:
|
||||
// 1. 以上模块分配为初始方案,可根据实际业务需求调整
|
||||
// 2. 支持通过配置文件修改,无需改动代码
|
||||
// 3. 更推荐从后端API动态获取版本配置,便于实时调整
|
||||
```
|
||||
|
||||
### 权限控制实现
|
||||
|
||||
> **隶セ隶。隸エ譏趣シ?* 譚<>剞謗ァ蛻カ驥<EFBDB6>畑驟咲スョ鬩ア蜉ィ逧<EFBDA8>婿蠑擾シ梧髪謖<E9ABAA>夊ソ<E5A48A><EFBDBF>鄂ョ譁<EFBDAE>サカ謌門錘遶ッAPI蜉ィ諤∬執蜿也沿譛ャ驟咲スョ<EFBDBD>御セソ莠主錘譛溽<E8AD9B>豢サ隹<EFBDBB>紛縲?
|
||||
> **设计说明:** 权限控制采用配置驱动的方式,支持通过配置文件或后端API动态获取版本配置,便于后期灵活调整。
|
||||
|
||||
```typescript
|
||||
// 权限控制Hook
|
||||
@@ -266,7 +266,7 @@ export const usePermission = () => {
|
||||
// const allowedModules = VERSION_CONFIG[userVersion].modules;
|
||||
|
||||
// 方式2:从后端API动态获取(推荐,支持实时调整)
|
||||
const versionConfig = useVersionConfig(); // 莉拶PI闔キ蜿匁怙譁ー驟咲ス?
|
||||
const versionConfig = useVersionConfig(); // 从API获取最新配置
|
||||
const allowedModules = versionConfig[userVersion]?.modules || [];
|
||||
|
||||
const hasAccess = (moduleId: string): boolean => {
|
||||
@@ -275,7 +275,7 @@ export const usePermission = () => {
|
||||
|
||||
const getFilteredNavigation = (navigation: NavigationItem[]) => {
|
||||
return navigation.filter((item) => {
|
||||
// 譽譟・逕ィ謌キ迚域悽譏ッ蜷ヲ貊。雜ウ讓。蝮苓ヲ∵ア?
|
||||
// 检查用户版本是否满足模块要求
|
||||
if (!item.requiredVersion) return true;
|
||||
const versionHierarchy = ['basic', 'advanced', 'premium'];
|
||||
const userLevel = versionHierarchy.indexOf(userVersion);
|
||||
@@ -288,12 +288,12 @@ export const usePermission = () => {
|
||||
hasAccess,
|
||||
getFilteredNavigation,
|
||||
userVersion,
|
||||
versionConfig, // 霑泌屓蠖灘燕迚域悽驟咲スョ<EFBFBD>御セソ莠手ー<EFBFBD>ッ?
|
||||
versionConfig, // 返回当前版本配置,便于调试
|
||||
};
|
||||
};
|
||||
```
|
||||
|
||||
### 迚域悽驟咲スョ蜉ィ諤∬執蜿厄シ域耳闕先婿譯茨シ?
|
||||
### 版本配置动态获取(推荐方案)
|
||||
|
||||
```typescript
|
||||
// src/framework/permission/useVersionConfig.ts
|
||||
@@ -311,16 +311,16 @@ export const useVersionConfig = () => {
|
||||
refetchOnWindowFocus: false,
|
||||
});
|
||||
|
||||
// 螯よ棡API隸キ豎ょ、ア雍・<EFBFBD>悟屓騾蛻ー譛ャ蝨ー驟咲ス?
|
||||
// 如果API请求失败,回退到本地配置
|
||||
return data || VERSION_CONFIG;
|
||||
};
|
||||
```
|
||||
|
||||
**莨伜漢<EFBFBD>?*
|
||||
- 笨?迚域悽驟咲スョ蜿ッ蝨ィ蜷守ォッ螳樊慮隹<E685AE>紛<EFBFBD>梧裏髴蜑咲ォッ蜿醍沿
|
||||
- 笨?謾ッ謖、/B豬玖ッ穂ク榊酔迚域悽驟咲スョ
|
||||
- 笨?萓ソ莠手ソ占是莠コ蜻倡<E89CBB>豢サ隹<EFBDBB>紛莠ァ蜩∫ュ也払
|
||||
- 笨?蜑咲ォッ譛画悽蝨ー驟咲スョ菴應クコ蜈懷コ墓婿譯茨シ御ソ晁ッ∝庄逕ィ諤?
|
||||
**优势:**
|
||||
- ✅ 版本配置可在后端实时调整,无需前端发版
|
||||
- ✅ 支持A/B测试不同版本配置
|
||||
- ✅ 便于运营人员灵活调整产品策略
|
||||
- ✅ 前端有本地配置作为兜底方案,保证可用性
|
||||
|
||||
### 路由守卫
|
||||
|
||||
@@ -339,7 +339,7 @@ export const RouteGuard = ({ moduleId, children }) => {
|
||||
|
||||
---
|
||||
|
||||
## <EFBFBD>伯 讓。蝮礼峡遶区ァ隶セ隶?
|
||||
## 🔌 模块独立性设计
|
||||
|
||||
### 模块注册机制
|
||||
|
||||
@@ -350,9 +350,9 @@ interface ModuleDefinition {
|
||||
name: string; // 模块名称
|
||||
route: string; // 路由路径
|
||||
icon?: ReactNode; // 图标
|
||||
component: LazyComponent; // 諛貞刈霓ス扈<EFBFBD>サ?
|
||||
component: LazyComponent; // 懒加载组件
|
||||
sideNav?: SideNavConfig; // 左侧导航配置
|
||||
version?: UserVersion[]; // 謾ッ謖∫噪迚域<EFBFBD>?
|
||||
version?: UserVersion[]; // 支持的版本
|
||||
standalone?: boolean; // 是否支持独立运行
|
||||
apiBaseUrl?: string; // 独立运行时的API地址
|
||||
}
|
||||
@@ -366,7 +366,7 @@ const MODULES: ModuleDefinition[] = [
|
||||
component: lazy(() => import('@/modules/literature')),
|
||||
version: ['advanced', 'premium'],
|
||||
standalone: true, // 支持独立运行
|
||||
apiBaseUrl: process.env.LITERATURE_API_URL, // 蜿ッ驟咲ス?
|
||||
apiBaseUrl: process.env.LITERATURE_API_URL, // 可配置
|
||||
},
|
||||
// ... 其他模块
|
||||
];
|
||||
@@ -375,7 +375,7 @@ const MODULES: ModuleDefinition[] = [
|
||||
### 独立部署支持
|
||||
|
||||
```typescript
|
||||
// 讓。蝮怜刈霓ス蝎?
|
||||
// 模块加载器
|
||||
export const ModuleLoader = ({ moduleId }: { moduleId: string }) => {
|
||||
const module = MODULES.find((m) => m.id === moduleId);
|
||||
|
||||
@@ -383,7 +383,7 @@ export const ModuleLoader = ({ moduleId }: { moduleId: string }) => {
|
||||
return <NotFound />;
|
||||
}
|
||||
|
||||
// 譽譟・譏ッ蜷ヲ迢ャ遶玖ソ占。梧ィ。蠑?
|
||||
// 检查是否独立运行模式
|
||||
const isStandalone = module.standalone &&
|
||||
window.location.hostname === module.apiBaseUrl;
|
||||
|
||||
@@ -397,7 +397,7 @@ export const ModuleLoader = ({ moduleId }: { moduleId: string }) => {
|
||||
};
|
||||
```
|
||||
|
||||
### 驟咲スョ鬩ア蜉ィ逧<EFBFBD>ィ。蝮怜刈霓?
|
||||
### 配置驱动的模块加载
|
||||
|
||||
```typescript
|
||||
// 环境变量配置
|
||||
@@ -421,12 +421,12 @@ const getEnabledModules = () => {
|
||||
```
|
||||
MainLayout (主布局)
|
||||
├── Header (顶部导航)
|
||||
笏? 笏懌楳笏 Logo
|
||||
笏? 笏懌楳笏 TopNavigation (蟇シ闊ェ鬘?
|
||||
笏? 笏披楳笏 UserMenu (逕ィ謌キ闖懷黒)
|
||||
笏?
|
||||
│ ├── Logo
|
||||
│ ├── TopNavigation (导航项)
|
||||
│ └── UserMenu (用户菜单)
|
||||
│
|
||||
└── MainContent (主内容区)
|
||||
笏懌楳笏 SideNavigation (蟾ヲ萓ァ蟇シ闊ェ) - 蜿ッ騾?
|
||||
├── SideNavigation (左侧导航) - 可选
|
||||
└── Content (内容区域)
|
||||
└── ModuleLayout (模块布局)
|
||||
```
|
||||
@@ -498,55 +498,55 @@ export const ModuleLayout = ({ module }: { module: ModuleDefinition }) => {
|
||||
}
|
||||
```
|
||||
|
||||
### 蜩榊コ泌シ剰ョセ隶?
|
||||
### 响应式设计
|
||||
|
||||
- **譯碁擇遶?(>1024px)**: 螳梧紛譏セ遉コ謇譛牙ッシ闊ェ鬘ケ
|
||||
- **蟷ウ譚ソ遶?(768-1024px)**: 譏セ遉コ蜑?荳ェ<E88DB3>悟<EFBFBD>菴呎釜蜿<E9879C>蛻?譖エ螟<EFBDB4>"闖懷黒
|
||||
- **遘サ蜉ィ遶?(<768px)**: 豎牙<EFBFBD>。闖懷黒 + 謚ス螻牙ッシ闊ェ
|
||||
- **桌面端 (>1024px)**: 完整显示所有导航项
|
||||
- **平板端 (768-1024px)**: 显示前4个,其余折叠到"更多"菜单
|
||||
- **移动端 (<768px)**: 汉堡菜单 + 抽屉导航
|
||||
|
||||
---
|
||||
|
||||
## 📝 实施计划
|
||||
|
||||
### 隨ャ荳髦カ谿オ<EFBFBD>壽。<EFBFBD>楔謳ュ蟒コ<EFBFBD><EFBFBD>eek 1<EFBFBD>?
|
||||
- [x] 蛻帛サコ譁ー蜑咲ォッ鬘ケ逶ョ扈捺<EFBFBD>?
|
||||
### 第一阶段:框架搭建(Week 1)
|
||||
- [x] 创建新前端项目结构
|
||||
- [ ] 实现顶部导航组件
|
||||
- [ ] 实现路由系统
|
||||
- [ ] 实现权限控制基础
|
||||
- [ ] 实现基础布局系统
|
||||
|
||||
### 隨ャ莠碁亳谿オ<EFBFBD>壽ィ。蝮鈴寔謌撰シ<EFBFBD>eek 2<EFBFBD>?
|
||||
### 第二阶段:模块集成(Week 2)
|
||||
- [ ] 迁移AI问答模块
|
||||
- [ ] 霑∫ァサ遏・隸<EFBFBD>コ捺ィ。蝮?
|
||||
- [ ] 迁移知识库模块
|
||||
- [ ] 实现占位模块(智能数据清洗)
|
||||
- [ ] 完善权限控制
|
||||
|
||||
### 隨ャ荳蛾亳谿オ<EFBFBD>哂I譎コ閭ス譁<EFBFBD>鍵蠑蜿托シ<EFBFBD>eek 3+<EFBFBD>?
|
||||
### 第三阶段:AI智能文献开发(Week 3+)
|
||||
- [ ] 开发AI智能文献模块
|
||||
- [ ] 实现模块独立运行支持
|
||||
- [ ] 螳悟埋譁<EFBFBD>。」蜥梧オ玖ッ?
|
||||
- [ ] 完善文档和测试
|
||||
|
||||
---
|
||||
|
||||
## 🔄 未来扩展考虑
|
||||
|
||||
### 1. 讓。蝮礼峡遶倶コァ蜩∝<EFBFBD>?
|
||||
### 1. 模块独立产品化
|
||||
- 支持通过环境变量配置独立运行
|
||||
- 独立的API地址配置
|
||||
- 迢ャ遶狗噪驛ィ鄂イ驟咲ス?
|
||||
- 独立的部署配置
|
||||
|
||||
### 2. 版本权限管理
|
||||
- 后端API提供用户版本信息
|
||||
- 迚域悽驟咲スョ螳悟<EFBFBD>蜿ッ隹<EFBFBD>紛<EFBFBD>域裏髴謾ケ蜉ィ莉」遐<EFBFBD>シ?
|
||||
- 版本配置完全可调整(无需改动代码)
|
||||
- 推荐从后端API动态获取版本配置,支持实时调整模块分配
|
||||
- 蜑咲ォッ譬ケ謐ョ迚域悽蜉ィ諤∵仞遉?髫占酪讓。蝮<EFBDA1>
|
||||
- 前端根据版本动态显示/隐藏模块
|
||||
- 支持版本升级提示
|
||||
- 迚域悽譚<EFBFBD>剞蛻<EFBFBD><EFBFBD>遲也払蜿ッ髫乗慮譬ケ謐ョ荳壼苅髴豎りー<EFBFBD><EFBFBD>?
|
||||
- 版本权限分配策略可随时根据业务需求调整
|
||||
|
||||
### 3. 譁ー讓。蝮玲磁蜈?
|
||||
### 3. 新模块接入
|
||||
- 遵循模块接口规范
|
||||
- 在配置文件中注册模块
|
||||
- 閾ェ蜉ィ髮<EFBFBD><EFBFBD>蛻ー蟇シ闊ェ邉サ扈?
|
||||
- 自动集成到导航系统
|
||||
|
||||
---
|
||||
|
||||
@@ -560,7 +560,7 @@ export const ModuleLayout = ({ module }: { module: ModuleDefinition }) => {
|
||||
|
||||
---
|
||||
|
||||
**譁<EFBFBD>。」迚域悽<EFBFBD>?* v1.0
|
||||
**文档版本:** v1.0
|
||||
**最后更新:** 2025-10-29
|
||||
|
||||
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
# 导航结构设计文档
|
||||
|
||||
> **譁<EFBFBD>。」迚域悽<EFBFBD>?* v1.0
|
||||
> **蛻帛サコ譌・譛滂シ?* 2025-10-29
|
||||
> **扈エ謚、閠<EFBFBD>シ<EFBFBD>** 蜑咲ォッ蠑蜿大屬髦?
|
||||
> **文档版本:** v1.0
|
||||
> **创建日期:** 2025-10-29
|
||||
> **维护者:** 前端开发团队
|
||||
> **最后更新:** 2025-10-29
|
||||
|
||||
---
|
||||
|
||||
## 📋 文档说明
|
||||
|
||||
譛ャ譁<EFBFBD>。」隸ヲ扈<EFBFBD>ッエ譏拶I遘醍<EFBFBD>泌ケウ蜿ー逧<EFBFBD>ッシ闊ェ扈捺桷隶セ隶。<EFBFBD>悟桁諡ャ鬘カ驛ィ蟇シ闊ェ蜥悟キヲ萓ァ蟇シ闊ェ逧<EFBFBD>ョセ隶。隗<EFBFBD>激縲?
|
||||
本文档详细说明AI科研平台的导航结构设计,包括顶部导航和左侧导航的设计规范。
|
||||
|
||||
> **驥崎ヲ∵署遉コ<EFBFBD>?* 譛ャ譁<EFBDAC>。」荳ュ豸牙所逧<E68980>ィ。蝮礼沿譛ャ隕∵アゑシ<E38291>requiredVersion`<60>牙插荳?*蛻晏ァ矩<EFBDA7>鄂ョ**<2A>悟庄莉・譬ケ謐ョ荳壼苅髴豎る囂譌カ隹<EFBDB6>紛縲ら沿譛ャ譚<EFBDAC>剞蛻<E5899E><E89BBB>螳悟<E89EB3>蜿ッ驟咲スョ<EFBDBD>梧裏髴謾ケ蜉ィ莉」遐<EFBDA3>サ霎代?
|
||||
> **重要提示:** 本文档中涉及的模块版本要求(`requiredVersion`)均为**初始配置**,可以根据业务需求随时调整。版本权限分配完全可配置,无需改动代码逻辑。
|
||||
|
||||
---
|
||||
|
||||
## 🧭 顶部导航设计
|
||||
|
||||
### 蟇シ闊ェ鬘ケ驟咲ス?
|
||||
### 导航项配置
|
||||
|
||||
```typescript
|
||||
// navigationConfig.ts
|
||||
@@ -26,15 +26,15 @@ export interface NavigationItem {
|
||||
label: string; // 显示名称
|
||||
route: string; // 路由路径
|
||||
icon?: ReactNode; // 图标(可选)
|
||||
requiredVersion?: UserVersion; // 譛菴守沿譛ャ隕∵アゑシ亥庄驟咲スョ<EFBFBD>梧髪謖∝錘譛溯ー<EFBFBD>紛<EFBFBD>?
|
||||
requiredVersion?: UserVersion; // 最低版本要求(可配置,支持后期调整)
|
||||
standalone?: boolean; // 是否支持独立运行
|
||||
}
|
||||
|
||||
/**
|
||||
* 顶部导航配置
|
||||
*
|
||||
* 笞<EFBFBD><EFBFBD><EFBFBD> 驥崎ヲ∬ッエ譏趣シ?
|
||||
* - requiredVersion 蟄玲ョオ荳コ蛻晏ァ矩<EFBFBD>鄂ョ<EFBFBD>悟庄譬ケ謐ョ荳壼苅髴豎る囂譌カ隹<EFBFBD><EFBFBD>?
|
||||
* ⚠️ 重要说明:
|
||||
* - requiredVersion 字段为初始配置,可根据业务需求随时调整
|
||||
* - 推荐通过后端API动态获取版本配置,支持实时调整
|
||||
* - 修改版本要求无需改动代码逻辑,只需更新配置即可
|
||||
*/
|
||||
@@ -49,12 +49,12 @@ export const TOP_NAVIGATION_ITEMS: NavigationItem[] = [
|
||||
id: 'literature-platform',
|
||||
label: 'AI智能文献',
|
||||
route: '/literature',
|
||||
requiredVersion: 'advanced', // 蛻晏ァ矩<EFBFBD>鄂ョ<EFBFBD>夐ォ倡コァ迚亥庄逕ィ<EFBFBD>亥庄隹<EFBFBD>紛<EFBFBD>?
|
||||
requiredVersion: 'advanced', // 初始配置:高级版可用(可调整)
|
||||
standalone: true,
|
||||
},
|
||||
{
|
||||
id: 'knowledge-base',
|
||||
label: '遏・隸<EFBFBD>コ?,
|
||||
label: '知识库',
|
||||
route: '/knowledge-base',
|
||||
requiredVersion: 'basic', // 初始配置:基础版可用(可调整)
|
||||
},
|
||||
@@ -62,21 +62,21 @@ export const TOP_NAVIGATION_ITEMS: NavigationItem[] = [
|
||||
id: 'data-cleaning',
|
||||
label: '智能数据清洗',
|
||||
route: '/data-cleaning',
|
||||
requiredVersion: 'advanced', // 蛻晏ァ矩<EFBDA7>鄂ョ<E98482>夐ォ倡コァ迚亥庄逕ィ<E98095>亥庄隹<E5BA84>紛<EFBFBD>?
|
||||
placeholder: true, // 蜊<>菴搾シ梧仞遉?蠑蜿台クュ"
|
||||
requiredVersion: 'advanced', // 初始配置:高级版可用(可调整)
|
||||
placeholder: true, // 占位,显示"开发中"
|
||||
},
|
||||
{
|
||||
id: 'statistical-analysis',
|
||||
label: '智能统计分析',
|
||||
route: '/intelligent-analysis',
|
||||
requiredVersion: 'premium', // 蛻晏ァ矩<EFBDA7>鄂ョ<E98482>壽覧闊ー迚亥庄逕ィ<E98095>亥庄隹<E5BA84>紛<EFBFBD>?
|
||||
requiredVersion: 'premium', // 初始配置:旗舰版可用(可调整)
|
||||
external: true, // 由Java团队开发,只做顶部导航集成
|
||||
},
|
||||
{
|
||||
id: 'statistical-tools',
|
||||
label: '统计分析工具',
|
||||
route: '/statistical-tools',
|
||||
requiredVersion: 'premium', // 蛻晏ァ矩<EFBFBD>鄂ョ<EFBFBD>壽覧闊ー迚亥庄逕ィ<EFBFBD>亥庄隹<EFBFBD>紛<EFBFBD>?
|
||||
requiredVersion: 'premium', // 初始配置:旗舰版可用(可调整)
|
||||
external: true, // 由Java团队开发,只做顶部导航集成
|
||||
},
|
||||
];
|
||||
@@ -85,19 +85,19 @@ export const TOP_NAVIGATION_ITEMS: NavigationItem[] = [
|
||||
### 顶部导航布局
|
||||
|
||||
```
|
||||
笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?
|
||||
笏? [Logo] [AI髣ョ遲脳 [AI譎コ閭ス譁<EFBDBD>鍵] [遏・隸<EFBDA5>コ転 [譎コ閭ス謨ー謐ョ貂<EFBDAE>エ余 [譎コ閭ス扈溯ョ。蛻<EFBDA1>梵] [扈溯ョ。蛻<EFBDA1>梵蟾・蜈キ] [逕ィ謌キ蜷江 [逕ィ謌キ闖懷黒笆シ] 笏?
|
||||
笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?
|
||||
┌──────────────────────────────────────────────────────────────────────────┐
|
||||
│ [Logo] [AI问答] [AI智能文献] [知识库] [智能数据清洗] [智能统计分析] [统计分析工具] [用户名] [用户菜单▼] │
|
||||
└──────────────────────────────────────────────────────────────────────────┘
|
||||
160px 自适应宽度 200px
|
||||
```
|
||||
|
||||
### 视觉设计规范
|
||||
|
||||
#### 蟇シ闊ェ鬘ケ譬キ蠑?
|
||||
- **豁」蟶ク迥カ諤?*<2A>啻color: #4b5563`, `font-weight: 500`
|
||||
- **謔ャ蛛懃憾諤?*<2A>啻color: #0ea5e9`, `background: rgba(14, 165, 233, 0.1)`
|
||||
- **豼豢サ迥カ諤?*<2A>啻color: #0ea5e9`, `font-weight: 600`, `border-bottom: 2px solid #0ea5e9`
|
||||
- **遖∫畑迥カ諤?*<2A>域裏譚<E8A38F>剞<EFBFBD>会シ啻color: #9ca3af`, `cursor: not-allowed`
|
||||
#### 导航项样式
|
||||
- **正常状态**:`color: #4b5563`, `font-weight: 500`
|
||||
- **悬停状态**:`color: #0ea5e9`, `background: rgba(14, 165, 233, 0.1)`
|
||||
- **激活状态**:`color: #0ea5e9`, `font-weight: 600`, `border-bottom: 2px solid #0ea5e9`
|
||||
- **禁用状态**(无权限):`color: #9ca3af`, `cursor: not-allowed`
|
||||
|
||||
#### 间距规范
|
||||
- 导航项之间:`16px` 水平间距
|
||||
@@ -108,26 +108,26 @@ export const TOP_NAVIGATION_ITEMS: NavigationItem[] = [
|
||||
|
||||
**位置**:顶部导航最右侧
|
||||
|
||||
**譏セ遉コ蜀<EFBFBD>ョケ**<EFBFBD>?
|
||||
- 逕ィ謌キ蜷搾シ域焔譛コ蜿キ閼ア謨乗仞遉コ<EFBFBD>悟ヲゑシ啻186****8738`<EFBFBD>?
|
||||
**显示内容**:
|
||||
- 用户名(手机号脱敏显示,如:`186****8738`)
|
||||
- 用户头像/图标(点击触发下拉菜单)
|
||||
|
||||
**荳区級闖懷黒騾蛾。ケ**<EFBFBD>?
|
||||
**下拉菜单选项**:
|
||||
```
|
||||
笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?
|
||||
笏?荳ェ莠コ荳ュ蠢<EFBDAD> 笏?
|
||||
笏?蜴<>彰隶ー蠖<EFBDB0> 笏?
|
||||
笏?笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏 笏?
|
||||
笏?隶「髦<EFBDA2>ョ。逅<EFBDA1> 笏?
|
||||
笏?騾蜃コ雍ヲ蜿? 笏?
|
||||
笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?
|
||||
┌─────────────────────┐
|
||||
│ 个人中心 │
|
||||
│ 历史记录 │
|
||||
│ ──────────────── │
|
||||
│ 订阅管理 │
|
||||
│ 退出账号 │
|
||||
└─────────────────────┘
|
||||
```
|
||||
|
||||
**霍ッ逕ア霍ウ霓ャ**<EFBFBD>?
|
||||
- 荳ェ莠コ荳ュ蠢<EFBFBD> 竊?`/user/profile`
|
||||
- 蜴<EFBFBD>彰隶ー蠖<EFBFBD> 竊?`/user/history`
|
||||
- 隶「髦<EFBFBD>ョ。逅<EFBFBD> 竊?`/user/subscription`
|
||||
- 騾蜃コ雍ヲ蜿?竊?逋サ蜃コ謫堺ス<E5A0BA>
|
||||
**路由跳转**:
|
||||
- 个人中心 → `/user/profile`
|
||||
- 历史记录 → `/user/history`
|
||||
- 订阅管理 → `/user/subscription`
|
||||
- 退出账号 → 登出操作
|
||||
|
||||
---
|
||||
|
||||
@@ -135,27 +135,27 @@ export const TOP_NAVIGATION_ITEMS: NavigationItem[] = [
|
||||
|
||||
### 设计原则
|
||||
|
||||
1. **謖蛾怙譏セ遉コ**<EFBFBD>壼宵譛芽ソ帛<EFBFBD>蜈キ菴捺ィ。蝮怜錘謇肴仞遉コ蟾ヲ萓ァ蟇シ闊?
|
||||
2. **讓。蝮礼峡遶<EFBFBD>**<EFBFBD>壽ッ丈クェ讓。蝮玲怏閾ェ蟾ア迢ャ遶狗噪蟾ヲ萓ァ蟇シ闊ェ驟咲ス?
|
||||
1. **按需显示**:只有进入具体模块后才显示左侧导航
|
||||
2. **模块独立**:每个模块有自己独立的左侧导航配置
|
||||
3. **层级清晰**:支持一级和二级菜单
|
||||
|
||||
### AI问答模块左侧导航
|
||||
|
||||
**蟶<EFBFBD>ア譁ケ蠑<EFBFBD>**<EFBFBD>壼今迚<EFBFBD>シ丞ク<EFBFBD>ア<EFBFBD>井ク堺スソ逕ィ蟾ヲ萓ァ蟇シ闊ェ<EFBFBD>?
|
||||
**布局方式**:卡片式布局(不使用左侧导航)
|
||||
|
||||
```
|
||||
笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?
|
||||
笏? AI髣ョ遲比クサ逡碁<EFBFBD>? 笏?
|
||||
笏? 笏娯楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?
|
||||
笏? 笏? 謳懃エ「譯?+ 謠宣琉謖蛾聴 笏? 笏?
|
||||
笏? 笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏? 笏?
|
||||
笏? 笏?
|
||||
笏? 謌夜画叫荳荳ェ譎コ閭ス菴灘シ蟋? 笏?
|
||||
笏? 笏娯楳笏笏笏笏?笏娯楳笏笏笏笏?笏娯楳笏笏笏笏?笏娯楳笏笏笏笏? 笏?
|
||||
笏? 笏る蛾「倪<EFBDA2>?笏1ICO笏?笏ら<E7AC8F>皮ゥカ笏<EFBDB6> 笏よ婿豕補狽 ... 笏?
|
||||
笏? 笏りッ<E3828A>サキ笏<EFBDB7> 笏よ「ウ逅<EFBDB3>狽 笏よ婿譯遺狽 笏ょュヲ 笏? 笏?
|
||||
笏? 笏披楳笏笏笏笏?笏披楳笏笏笏笏?笏披楳笏笏笏笏?笏披楳笏笏笏笏? 笏?
|
||||
笏披楳笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏笏?
|
||||
┌─────────────────────────────────────────┐
|
||||
│ AI问答主界面 │
|
||||
│ ┌───────────────────────────────────┐ │
|
||||
│ │ 搜索框 + 提问按钮 │ │
|
||||
│ └───────────────────────────────────┘ │
|
||||
│ │
|
||||
│ 或选择一个智能体开始: │
|
||||
│ ┌────┐ ┌────┐ ┌────┐ ┌────┐ │
|
||||
│ │选题│ │PICO│ │研究│ │方法│ ... │
|
||||
│ │评价│ │梳理│ │方案│ │学 │ │
|
||||
│ └────┘ └────┘ └────┘ └────┘ │
|
||||
└─────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### AI智能文献模块左侧导航
|
||||
@@ -170,7 +170,7 @@ const LITERATURE_SIDE_NAV = [
|
||||
},
|
||||
{
|
||||
id: 'search',
|
||||
label: '譎コ閭ス譁<EFBFBD>鍵譽邏?,
|
||||
label: '智能文献检索',
|
||||
route: '/literature/search',
|
||||
icon: '🔍',
|
||||
},
|
||||
@@ -184,7 +184,7 @@ const LITERATURE_SIDE_NAV = [
|
||||
id: 'screening',
|
||||
label: '标题摘要初筛',
|
||||
route: '/literature/screening',
|
||||
icon: '笨?,
|
||||
icon: '✅',
|
||||
},
|
||||
{
|
||||
id: 'full-text',
|
||||
@@ -194,37 +194,37 @@ const LITERATURE_SIDE_NAV = [
|
||||
},
|
||||
{
|
||||
id: 'extraction',
|
||||
label: '蜈ィ譁<EFBFBD>ァ」譫蝉ク取焚謐ョ謠仙<EFBFBD>?,
|
||||
label: '全文解析与数据提取',
|
||||
route: '/literature/extraction',
|
||||
icon: '🔬',
|
||||
},
|
||||
{
|
||||
id: 'analysis',
|
||||
label: '謨ー謐ョ扈シ蜷亥<EFBFBD>譫蝉ク取冠蜻?,
|
||||
label: '数据综合分析与报告',
|
||||
route: '/literature/analysis',
|
||||
icon: '📊',
|
||||
},
|
||||
];
|
||||
```
|
||||
|
||||
**蟶<EFBFBD>ア譬キ蠑<EFBFBD>**<EFBFBD>?
|
||||
**布局样式**:
|
||||
- 宽度:`200px`
|
||||
- 背景色:`#f9fafb`
|
||||
- 激活项:`background: #e0e7ff`, `border-left: 3px solid #4f46e5`
|
||||
|
||||
### 遏・隸<EFBFBD>コ捺ィ。蝮怜キヲ萓ァ蟇シ闊?
|
||||
### 知识库模块左侧导航
|
||||
|
||||
```typescript
|
||||
const KNOWLEDGE_BASE_SIDE_NAV = [
|
||||
{
|
||||
id: 'list',
|
||||
label: '遏・隸<EFBFBD>コ灘<EFBFBD>陦?,
|
||||
label: '知识库列表',
|
||||
route: '/knowledge-base',
|
||||
icon: '📚',
|
||||
},
|
||||
{
|
||||
id: 'create',
|
||||
label: '+ 譁ー蟒コ遏・隸<EFBFBD>コ?,
|
||||
label: '+ 新建知识库',
|
||||
route: '/knowledge-base/create',
|
||||
icon: '+',
|
||||
},
|
||||
@@ -233,23 +233,23 @@ const KNOWLEDGE_BASE_SIDE_NAV = [
|
||||
|
||||
### 智能统计分析模块(外部模块说明)
|
||||
|
||||
**隸エ譏趣シ?* 譎コ閭ス扈溯ョ。蛻<EFBDA1>梵讓。蝮礼<E89DAE>?*Java蝗「髦<EFBDA2>**蠑蜿托シ碁㊦逕ィ**Java蜷守ォッ**謚譛ッ譬医?
|
||||
**謌台サャ逧<EFBFBD>′雍」<EFBFBD><EFBFBD>** 莉<>惠鬘カ驛ィ蟇シ闊ェ荳ュ髮<EFBDAD><E9ABAE>隸・讓。蝮礼噪蜈・蜿」<E89CBF>檎せ蜃サ蜷手キウ霓ャ蛻ーJava蝗「髦溷シ蜿醍噪鬘オ髱「縲?
|
||||
**隶セ隶。隗<EFBFBD>激<EFBFBD>?* 荳埼怙隕∵<E99A95>莉ャ隶セ隶。蟾ヲ萓ァ蟇シ闊ェ<E9978A>繰ava蝗「髦溷キイ譛芽<E8AD9B>蟾ア逧<EFBDB1>。オ髱「蟶<EFBDA2>ア隶セ隶。縲?
|
||||
**说明:** 智能统计分析模块由**Java团队**开发,采用**Java后端**技术栈。
|
||||
**我们的职责:** 仅在顶部导航中集成该模块的入口,点击后跳转到Java团队开发的页面。
|
||||
**设计规范:** 不需要我们设计左侧导航,Java团队已有自己的页面布局设计。
|
||||
|
||||
**髮<EFBFBD><EFBFBD>譁ケ蠑擾シ?*
|
||||
- 鬘カ驛ィ蟇シ闊ェ轤ケ蜃サ蜷趣シ檎峩謗・霍ウ霓ャ蛻?`/intelligent-analysis` 霍ッ逕ア
|
||||
**集成方式:**
|
||||
- 顶部导航点击后,直接跳转到 `/intelligent-analysis` 路由
|
||||
- 该路由可能指向独立的Java应用或iframe嵌入
|
||||
- 具体集成方式需与Java团队协商确定
|
||||
|
||||
### 统计分析工具模块(外部模块说明)
|
||||
|
||||
**隸エ譏趣シ?* 扈溯ョ。蛻<EFBDA1>梵蟾・蜈キ讓。蝮礼<E89DAE>?*Java蝗「髦<EFBDA2>**蠑蜿托シ碁㊦逕ィ**Java蜷守ォッ**謚譛ッ譬医?
|
||||
**謌台サャ逧<EFBFBD>′雍」<EFBFBD><EFBFBD>** 莉<>惠鬘カ驛ィ蟇シ闊ェ荳ュ髮<EFBDAD><E9ABAE>隸・讓。蝮礼噪蜈・蜿」<E89CBF>檎せ蜃サ蜷手キウ霓ャ蛻ーJava蝗「髦溷シ蜿醍噪鬘オ髱「縲?
|
||||
**隶セ隶。隗<EFBFBD>激<EFBFBD>?* 隸・讓。蝮?*荳肴弍蟾ヲ萓ァ蟇シ闊ェ隶セ隶。**<EFBFBD>繰ava蝗「髦滓怏閾ェ蟾ア逧<EFBFBD>。オ髱「蟶<EFBFBD>ア<EFBFBD>亥ヲる。カ驛ィTab蟇シ闊ェ遲会シ峨?
|
||||
**说明:** 统计分析工具模块由**Java团队**开发,采用**Java后端**技术栈。
|
||||
**我们的职责:** 仅在顶部导航中集成该模块的入口,点击后跳转到Java团队开发的页面。
|
||||
**设计规范:** 该模块**不是左侧导航设计**,Java团队有自己的页面布局(如顶部Tab导航等)。
|
||||
|
||||
**髮<EFBFBD><EFBFBD>譁ケ蠑擾シ?*
|
||||
- 鬘カ驛ィ蟇シ闊ェ轤ケ蜃サ蜷趣シ檎峩謗・霍ウ霓ャ蛻?`/statistical-tools` 霍ッ逕ア
|
||||
**集成方式:**
|
||||
- 顶部导航点击后,直接跳转到 `/statistical-tools` 路由
|
||||
- 该路由可能指向独立的Java应用或iframe嵌入
|
||||
- 具体集成方式需与Java团队协商确定
|
||||
|
||||
@@ -260,9 +260,9 @@ const KNOWLEDGE_BASE_SIDE_NAV = [
|
||||
### 顶部导航切换
|
||||
|
||||
```typescript
|
||||
// 轤ケ蜃サ鬘カ驛ィ蟇シ闊ェ鬘?
|
||||
// 点击顶部导航项
|
||||
const handleNavClick = (item: NavigationItem) => {
|
||||
// 1. 譽譟・譚<EFBFBD><EFBFBD>?
|
||||
// 1. 检查权限
|
||||
if (!hasPermission(item.requiredVersion)) {
|
||||
showUpgradePrompt(item);
|
||||
return;
|
||||
@@ -274,10 +274,10 @@ const handleNavClick = (item: NavigationItem) => {
|
||||
return;
|
||||
}
|
||||
|
||||
// 3. 蟇シ闊ェ蛻ー逶ョ譬<EFBFBD>キッ逕?
|
||||
// 3. 导航到目标路由
|
||||
navigate(item.route);
|
||||
|
||||
// 4. 譖エ譁ー豼豢サ迥カ諤?
|
||||
// 4. 更新激活状态
|
||||
setActiveNavItem(item.id);
|
||||
};
|
||||
```
|
||||
@@ -285,12 +285,12 @@ const handleNavClick = (item: NavigationItem) => {
|
||||
### 左侧导航切换
|
||||
|
||||
```typescript
|
||||
// 轤ケ蜃サ蟾ヲ萓ァ蟇シ闊ェ鬘?
|
||||
// 点击左侧导航项
|
||||
const handleSideNavClick = (item: SideNavItem) => {
|
||||
// 蟇シ闊ェ蛻ー逶ョ譬<EFBFBD>キッ逕ア<EFBFBD>域ィ。蝮怜<EFBFBD>驛ィ霍ッ逕ア<EFBFBD>?
|
||||
// 导航到目标路由(模块内部路由)
|
||||
navigate(item.route);
|
||||
|
||||
// 譖エ譁ー豼豢サ迥カ諤?
|
||||
// 更新激活状态
|
||||
setActiveSideNavItem(item.id);
|
||||
};
|
||||
```
|
||||
@@ -300,24 +300,24 @@ const handleSideNavClick = (item: SideNavItem) => {
|
||||
对于深层级页面,建议添加面包屑导航:
|
||||
|
||||
```
|
||||
鬥夜。オ > AI譎コ閭ス譁<EFBFBD>鍵 > 譬<>「俶遭隕∝<E99A95>遲<EFBFBD> > 螳。譬ク蟾・菴懷<E88FB4>?
|
||||
首页 > AI智能文献 > 标题摘要初筛 > 审核工作台
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## <EFBFBD>導 蜩榊コ泌シ剰ョセ隶?
|
||||
## 📱 响应式设计
|
||||
|
||||
### 譯碁擇遶?(>1024px)
|
||||
### 桌面端 (>1024px)
|
||||
- 完整显示所有顶部导航项
|
||||
- 譏セ遉コ螳梧紛逧<EFBFBD>キヲ萓ァ蟇シ闊?
|
||||
- 显示完整的左侧导航
|
||||
|
||||
### 蟷ウ譚ソ遶?(768-1024px)
|
||||
- 譏セ遉コ蜑?荳ェ鬘カ驛ィ蟇シ闊ェ鬘ケ
|
||||
### 平板端 (768-1024px)
|
||||
- 显示前4个顶部导航项
|
||||
- 其余导航项折叠到"更多"菜单
|
||||
- 蟾ヲ萓ァ蟇シ闊ェ蜿ッ謚伜匠荳コ謚ス螻牙シ?
|
||||
- 左侧导航可折叠为抽屉式
|
||||
|
||||
### 遘サ蜉ィ遶?(<768px)
|
||||
- 鬘カ驛ィ蟇シ闊ェ驥<EFBFBD>畑豎牙<EFBFBD>。闖懷黒<EFBFBD>遺于<EFBFBD>?
|
||||
### 移动端 (<768px)
|
||||
- 顶部导航采用汉堡菜单(☰)
|
||||
- 左侧导航改为底部Tab导航或抽屉式
|
||||
|
||||
---
|
||||
@@ -336,7 +336,7 @@ const handleSideNavClick = (item: SideNavItem) => {
|
||||
--nav-text-active: #0ea5e9;
|
||||
--nav-active-border: #0ea5e9;
|
||||
|
||||
/* 萓ァ霎ケ譬城「懆<EFBFBD>?*/
|
||||
/* 侧边栏颜色 */
|
||||
--sidebar-bg: #f9fafb;
|
||||
--sidebar-active-bg: #e0e7ff;
|
||||
--sidebar-active-border: #4f46e5;
|
||||
@@ -354,7 +354,7 @@ const handleSideNavClick = (item: SideNavItem) => {
|
||||
|
||||
## 📝 实施清单
|
||||
|
||||
### 扈<EFBFBD>サカ蠑蜿?
|
||||
### 组件开发
|
||||
- [ ] `TopNavigation.tsx` - 顶部导航组件
|
||||
- [ ] `SideNavigation.tsx` - 左侧导航组件
|
||||
- [ ] `UserMenu.tsx` - 用户菜单组件
|
||||
@@ -364,16 +364,16 @@ const handleSideNavClick = (item: SideNavItem) => {
|
||||
### 配置文件
|
||||
- [ ] `navigationConfig.ts` - 导航配置
|
||||
- [ ] `moduleNavConfig.ts` - 模块导航配置
|
||||
- [ ] `versionConfig.ts` - 迚域悽驟咲スョ<EFBFBD>域悽蝨ー驟咲スョ<EFBFBD>御ス應クコ蜈懷コ包シ?
|
||||
- [ ] `versionConfig.ts` - 版本配置(本地配置,作为兜底)
|
||||
- [ ] `useVersionConfig.ts` - 版本配置Hook(从API动态获取)
|
||||
|
||||
### 文档
|
||||
- [ ] 譖エ譁ー譛ャ譁<EFBFBD>。?
|
||||
- [ ] 更新本文档
|
||||
- [ ] 编写导航组件使用文档
|
||||
|
||||
---
|
||||
|
||||
**譁<EFBFBD>。」迚域悽<EFBFBD>?* v1.0
|
||||
**文档版本:** v1.0
|
||||
**最后更新:** 2025-10-29
|
||||
|
||||
|
||||
|
||||
@@ -2,32 +2,32 @@
|
||||
|
||||
## 📋 目录
|
||||
|
||||
本目录包å<EFBFBD>«å¹³å<EFBFBD>°å‰<EFBFBD>端的架构设计文档ã€?
|
||||
本目录包含平台前端的架构设计文档。
|
||||
|
||||
### 文档列表
|
||||
|
||||
- **[01-前端总体架构设计.md](./01-前端总体架构设计.md)** - 平台级前端架构总体设计
|
||||
- **[02-导航结构设计.md](./02-导航结构设计.md)** - 顶部导航和左侧导航的详细设计
|
||||
- **[03-架构原型å›?html](./03-架构原型å›?html)** - 交互å¼<C3A5>å‰<C3A5>端架构原型图
|
||||
- **[03-架构原型图.html](./03-架构原型图.html)** - 交互式前端架构原型图
|
||||
|
||||
---
|
||||
|
||||
## 🎯 设计原则
|
||||
|
||||
### 1. 模å<EFBFBD>—化设è®?
|
||||
- æ¯<EFBFBD>个功能模å<EFBFBD>—独立开å<EFBFBD>‘ã€<EFBFBD>独立部ç½?
|
||||
### 1. 模块化设计
|
||||
- 每个功能模块独立开发、独立部署
|
||||
- 模块间无依赖关系,可独立运行
|
||||
- 支æŒ<EFBFBD>模å<EFBFBD>—独立产å“<EFBFBD>åŒ?
|
||||
- 支持模块独立产品化
|
||||
|
||||
### 2. 权限控制设计
|
||||
- 基于用户版本的æ<EFBFBD>ƒé™<EFBFBD>控åˆ?
|
||||
- ç<EFBFBD>µæ´»çš„功能模å<EFBFBD>—开关机åˆ?
|
||||
- 版本é…<EFBFBD>ç½®å<EFBFBD>¯åЍæ€<EFBFBD>è°ƒæ•?
|
||||
- 基于用户版本的权限控制
|
||||
- 灵活的功能模块开关机制
|
||||
- 版本配置可动态调整
|
||||
|
||||
### 3. å<EFBFBD>¯æ‰©å±•性设è®?
|
||||
- 预留新模å<EFBFBD>—接入接å<EFBFBD>?
|
||||
### 3. 可扩展性设计
|
||||
- 预留新模块接入接口
|
||||
- 插件化的模块加载机制
|
||||
- é…<EFBFBD>置驱动的功能开å…?
|
||||
- 配置驱动的功能开关
|
||||
|
||||
---
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
---
|
||||
|
||||
**维护者:** å‰<C3A5>端开å<E282AC>‘团é˜?
|
||||
**维护者:** 前端开发团队
|
||||
**最后更新:** 2025-11-07
|
||||
|
||||
|
||||
|
||||
@@ -1,52 +1,52 @@
|
||||
# å¹³å<EFBFBD>°åŸºç¡€å±?
|
||||
# 平台基础层
|
||||
|
||||
> **层级定义ï¼?* 所有业务模å<C2A1>—的基础设施
|
||||
> **æ ¸å¿ƒåŽŸåˆ™ï¼?* 全局唯一ã€<C3A3>ä¸šåŠ¡æ— å…³ã€<C3A3>稳定性高
|
||||
> **层级定义:** 所有业务模块的基础设施
|
||||
> **核心原则:** 全局唯一、业务无关、稳定性高
|
||||
|
||||
---
|
||||
|
||||
## 📋 模块清单
|
||||
|
||||
| 模å<EFBFBD>— | 说明 | 状æ€?|
|
||||
| 模块 | 说明 | 状态 |
|
||||
|------|------|------|
|
||||
| **01-用户与æ<EFBFBD>ƒé™<EFBFBD>ä¸å¿?UAM)** | 用户认è¯<C3A8>ã€<C3A3>角色æ<C2B2>ƒé™<C3A9>ã€<C3A3>Feature Flag | â<EFBFBD>?待设è®?|
|
||||
| **02-å˜å‚¨æœ<EFBFBD>务** | æ–‡ä»¶ä¸Šä¼ ä¸‹è½½ã€<C3A3>对象å˜å‚?| â<>?待设è®?|
|
||||
| **03-通知æœ<EFBFBD>务** | 站内消æ<CB86>¯ã€<C3A3>邮件ã€<C3A3>WebSocket | â<>?待设è®?|
|
||||
| **04-监控与日å¿?* | æ“<C3A6>作日志ã€<C3A3>错误监控ã€<C3A3>审计日å¿?| â<>?待设è®?|
|
||||
| **05-系统é…<EFBFBD>ç½®** | 系统级é…<C3A9>置管ç<C2A1>†ã€<C3A3>动æ€<C3A6>é…<C3A9>ç½?| â<>?待设è®?|
|
||||
| **01-用户与权限中心(UAM)** | 用户认证、角色权限、Feature Flag | ⏳ 待设计 |
|
||||
| **02-存储服务** | 文件上传下载、对象存储 | ⏳ 待设计 |
|
||||
| **03-通知服务** | 站内消息、邮件、WebSocket | ⏳ 待设计 |
|
||||
| **04-监控与日志** | 操作日志、错误监控、审计日志 | ⏳ 待设计 |
|
||||
| **05-系统配置** | 系统级配置管理、动态配置 | ⏳ 待设计 |
|
||||
|
||||
---
|
||||
|
||||
## 🎯 设计原则
|
||||
|
||||
### 1. 全局唯一�
|
||||
### 1. 全局唯一性
|
||||
- 整个平台只有一套基础设施
|
||||
- 所有业务模å<EFBFBD>—å…±äº?
|
||||
- 所有业务模块共享
|
||||
|
||||
### 2. ä¸šåŠ¡æ— å…³æ€?
|
||||
### 2. 业务无关性
|
||||
- 不涉及具体业务逻辑
|
||||
- 提供通用能力
|
||||
|
||||
### 3. 高稳定�
|
||||
### 3. 高稳定性
|
||||
- 很少变动
|
||||
- 向后兼容
|
||||
|
||||
### 4. 高å<EFBFBD>¯ç”¨æ€?
|
||||
### 4. 高可用性
|
||||
- 支持负载均衡
|
||||
- 支持容灾备份
|
||||
|
||||
---
|
||||
|
||||
## 📚 快速导�
|
||||
## 📚 快速导航
|
||||
|
||||
### 快速上下文
|
||||
- **[AI对接] å¹³å<C2B3>°å±‚快速上下文.md** - 2-3分钟了解平å<C2B3>°å±?
|
||||
- **[AI对接] 平台层快速上下文.md** - 2-3分钟了解平台层
|
||||
|
||||
### 核心模块
|
||||
1. [用户与æ<EFBFBD>ƒé™<EFBFBD>ä¸å¿?UAM)](./01-用户与æ<C5BD>ƒé™<C3A9>ä¸å¿?UAM)/README.md) - P0优先çº?
|
||||
1. [用户与权限中心(UAM)](./01-用户与权限中心(UAM)/README.md) - P0优先级
|
||||
2. [存储服务](./02-存储服务/README.md)
|
||||
3. [通知服务](./03-通知服务/README.md)
|
||||
4. [监控与日志](./04-监控与日�README.md)
|
||||
4. [监控与日志](./04-监控与日志/README.md)
|
||||
5. [系统配置](./05-系统配置/README.md)
|
||||
|
||||
---
|
||||
@@ -54,7 +54,7 @@
|
||||
## 🔗 相关文档
|
||||
|
||||
- [系统架构分层设计](../00-系统总体设计/01-系统架构分层设计.md)
|
||||
- [通用能力层](../02-通用能力�README.md)
|
||||
- [通用能力层](../02-通用能力层/README.md)
|
||||
- [业务模块层](../03-业务模块/README.md)
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user