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,46 +1,46 @@
|
||||
# ASL妯″潡寮€鍙?- 2025-11-18 鍏ㄥぉ鎬荤粨鎶ュ憡
|
||||
# ASL模块开发 - 2025-11-18 全天总结报告
|
||||
|
||||
**日期**: 2025-11-18
|
||||
**工作时长**: 全天
|
||||
**寮€鍙戦樁娈?*: Week 1瀹屾垚 + Prompt浼樺寲 + Phase 2璁″垝
|
||||
**开发阶段**: Week 1完成 + Prompt优化 + Phase 2计划
|
||||
|
||||
---
|
||||
|
||||
## 📊 今日核心成果
|
||||
|
||||
### 1. 鉁?瀹屾垚Prompt璁捐<EFBFBD>涓庢祴璇曪紙涓婂崍锛?
|
||||
### 1. ✅ 完成Prompt设计与测试(上午)
|
||||
|
||||
- 设计MVP Prompt v1.0.0
|
||||
- 娴嬭瘯10绡嘢GLT2鎶戝埗鍓傛枃鐚?
|
||||
- 测试10篇SGLT2抑制剂文献
|
||||
- 双模型一致率: 70%
|
||||
- 鍑嗙‘鐜? 60%
|
||||
- 准确率: 60%
|
||||
|
||||
### 2. 鉁?瀹屾垚鍗掍腑鏁版嵁娉涘寲娴嬭瘯锛堜腑鍗堬級
|
||||
### 2. ✅ 完成卒中数据泛化测试(中午)
|
||||
|
||||
- 娴嬭瘯5绡囧崚涓<EFBFBD>爺绌舵枃鐚?
|
||||
- 测试5篇卒中研究文献
|
||||
- 发现泛化能力问题
|
||||
- 鍑嗙‘鐜? 60%锛堟爣鍑嗘ā寮忥級
|
||||
- 准确率: 60%(标准模式)
|
||||
- 修复测试脚本Bug
|
||||
|
||||
### 3. 鉁?瀹屾垚涓ゆ<E6B693>绯荤粺娴嬭瘯锛堜笅鍗堬級
|
||||
### 3. ✅ 完成两步系统测试(下午)
|
||||
|
||||
**绗?姝? 鍥藉唴澶栨ā鍨嬪<E98DA8>姣?*
|
||||
- DeepSeek-V3 + Qwen-Max: 鍑嗙‘鐜?0%锛孞SON绋冲畾100% 鉁?
|
||||
- GPT-4o + Claude-4.5: JSON閿欒<EFBFBD>鐜?0% 鉂?
|
||||
**第1步: 国内外模型对比**
|
||||
- DeepSeek-V3 + Qwen-Max: 准确率40%,JSON稳定100% ✅
|
||||
- GPT-4o + Claude-4.5: JSON错误率80% ❌
|
||||
- **结论**: 不是模型能力问题
|
||||
|
||||
**绗?姝? 涓夌<E6B693>绛涢€夐<E282AC>鏍兼祴璇?*
|
||||
- 鏍囧噯妯″紡: 鍑嗙‘鐜?0%锛屽彫鍥炵巼0%锛岀簿纭<E7B0BF>巼100%
|
||||
- 瀹芥澗妯″紡: 鍑嗙‘鐜?0%锛屽彫鍥炵巼50%锛岀簿纭<E7B0BF>巼0%
|
||||
**第2步: 三种筛选风格测试**
|
||||
- 标准模式: 准确率60%,召回率0%,精确率100%
|
||||
- 宽松模式: 准确率20%,召回率50%,精确率0%
|
||||
- **结论**: 单纯调整宽松/严格无法根本解决问题
|
||||
|
||||
### 4. 鉁?淇<><E6B787>JSON瑙f瀽鍣?
|
||||
### 4. ✅ 修复JSON解析器
|
||||
|
||||
- 支持中文引号自动转换
|
||||
- 支持全角符号转换
|
||||
- 娴嬭瘯閫氳繃鐜? 100% (9/9)
|
||||
- 测试通过率: 100% (9/9)
|
||||
|
||||
### 5. 鉁?瀹炵幇涓夌<E6B693>绛涢€夐<E282AC>鏍?
|
||||
### 5. ✅ 实现三种筛选风格
|
||||
|
||||
**代码实现**:
|
||||
- `prompts/asl/screening/v1.1.0-lenient.txt` (宽松Prompt)
|
||||
@@ -49,11 +49,11 @@
|
||||
- `llmScreeningService.ts` 支持`style`参数
|
||||
- `screening.schema.ts` 动态生成Prompt
|
||||
|
||||
### 6. 鉁?瑙勫垝Phase 2鍔熻兘
|
||||
### 6. ✅ 规划Phase 2功能
|
||||
|
||||
**智能Prompt生成模块**:
|
||||
- 鐢ㄦ埛杈撳叆PICOS 鈫?AI鍒嗘瀽杈圭晫鎯呭喌 鈫?鐢ㄦ埛纭<E59F9B><E7BAAD> 鈫?鐢熸垚鑷<E59E9A>畾涔塒rompt
|
||||
- 瀹屾暣璁捐<EFBFBD>鏂囨。: `07-鏅鸿兘Prompt鐢熸垚妯″潡寮€鍙戣<EFBFBD>鍒?md`
|
||||
- 用户输入PICOS → AI分析边界情况 → 用户确认 → 生成自定义Prompt
|
||||
- 完整设计文档: `07-智能Prompt生成模块开发计划.md`
|
||||
- 整合到主任务清单: `03-任务分解.md`
|
||||
|
||||
---
|
||||
@@ -62,23 +62,23 @@
|
||||
|
||||
### 核心问题确认
|
||||
|
||||
**鍑嗙‘鐜囦笉楂樼殑鏍规湰鍘熷洜** = AI涓庝汉绫诲<E7BBAB>杈圭晫鎯呭喌鐨勭悊瑙e樊寮?
|
||||
**准确率不高的根本原因** = AI与人类对边界情况的理解差异
|
||||
|
||||
**具体表现**:
|
||||
1. "浜氭床浜虹兢"鏄<>繀椤昏繕鏄<E7B995>紭鍏堬紵鈫?AI鍜屼汉绫荤悊瑙d笉鍚?
|
||||
2. "缁艰堪"鏄<>惁鍖呮嫭Meta鍒嗘瀽锛熲啋 瀹氫箟涓嶆槑纭?
|
||||
3. "瀹夋叞鍓傚<EFBFBD>鐓?鏄<>惁鍖呮嫭鍙︿竴绉嶈嵂鐗╋紵鈫?杈圭晫妯$硦
|
||||
1. "亚洲人群"是必须还是优先?→ AI和人类理解不同
|
||||
2. "综述"是否包括Meta分析?→ 定义不明确
|
||||
3. "安慰剂对照"是否包括另一种药物?→ 边界模糊
|
||||
|
||||
**不是因为**:
|
||||
- 鉂?妯″瀷鏅哄晢涓嶅<E6B693>
|
||||
- 鉂?Prompt璁捐<EFBFBD>涓嶅ソ
|
||||
- 鉂?瀹芥澗/涓ユ牸绋嬪害涓嶅<E6B693>
|
||||
- ❌ 模型智商不够
|
||||
- ❌ Prompt设计不好
|
||||
- ❌ 宽松/严格程度不对
|
||||
|
||||
---
|
||||
|
||||
## 馃摝 浠婃棩浜や粯鐗?
|
||||
## 📦 今日交付物
|
||||
|
||||
### 浠g爜鏂囦欢 (10涓?
|
||||
### 代码文件 (10个)
|
||||
|
||||
**新增**:
|
||||
1. `prompts/asl/screening/v1.1.0-lenient.txt`
|
||||
@@ -94,58 +94,58 @@
|
||||
2. `src/modules/asl/services/llmScreeningService.ts` (支持style参数)
|
||||
3. `src/common/utils/jsonParser.ts` (修复中文引号)
|
||||
|
||||
### 鏂囨。鏂囦欢 (7涓?
|
||||
### 文档文件 (7个)
|
||||
|
||||
1. `05-寮€鍙戣<EFBFBD>褰?2025-11-18-Prompt璁捐<EFBFBD>涓庢祴璇曞畬鎴愭姤鍛?md`
|
||||
2. `05-寮€鍙戣<EFBFBD>褰?2025-11-18-鍗掍腑鏁版嵁娉涘寲娴嬭瘯鎶ュ憡.md`
|
||||
3. `05-寮€鍙戣<EFBFBD>褰?2025-11-18-涓ゆ<EFBFBD>娴嬭瘯瀹屾暣鎶ュ憡.md`
|
||||
4. `05-寮€鍙戣<EFBFBD>褰?2025-11-18-浠婃棩宸ヤ綔鎬荤粨.md`
|
||||
5. `05-寮€鍙戣<EFBFBD>褰?README.md`
|
||||
6. `02-鎶€鏈<EFBFBD><EFBFBD>璁?07-鏅鸿兘Prompt鐢熸垚妯″潡寮€鍙戣<E98D99>鍒?md`
|
||||
7. `00-鏂癆I浜ゆ帴鏂囨。.md` 猸?
|
||||
8. `銆愮粰鏂癆I銆戝揩閫熷紑濮?md` 猸?(鏈<>枃浠?
|
||||
1. `05-开发记录/2025-11-18-Prompt设计与测试完成报告.md`
|
||||
2. `05-开发记录/2025-11-18-卒中数据泛化测试报告.md`
|
||||
3. `05-开发记录/2025-11-18-两步测试完整报告.md`
|
||||
4. `05-开发记录/2025-11-18-今日工作总结.md`
|
||||
5. `05-开发记录/README.md`
|
||||
6. `02-技术设计/07-智能Prompt生成模块开发计划.md`
|
||||
7. `00-新AI交接文档.md` ⭐
|
||||
8. `【给新AI】快速开始.md` ⭐ (本文件)
|
||||
|
||||
**系统文档更新**:
|
||||
- `docs/00-绯荤粺鎬讳綋璁捐<EFBFBD>/00-绯荤粺褰撳墠鐘舵€佷笌寮€鍙戞寚鍗?md` (V2.4.0)
|
||||
- `docs/00-系统总体设计/00-系统当前状态与开发指南.md` (V2.4.0)
|
||||
|
||||
---
|
||||
|
||||
## 📈 数据统计
|
||||
|
||||
- 鏂板<EFBFBD>浠g爜: ~2100琛?
|
||||
- 淇<EFBFBD>敼浠g爜: ~200琛?
|
||||
- 鏂板<EFBFBD>鏂囨。: ~2000琛?
|
||||
- 新增代码: ~2100行
|
||||
- 修改代码: ~200行
|
||||
- 新增文档: ~2000行
|
||||
- 测试案例: 15次LLM调用
|
||||
- Bug淇<EFBFBD><EFBFBD>: 3涓?
|
||||
- Bug修复: 3个
|
||||
|
||||
---
|
||||
|
||||
## 馃幆 鏄庣‘鐨勪笅涓€姝?
|
||||
## 🎯 明确的下一步
|
||||
|
||||
### 绔嬪嵆琛屽姩锛氬紑濮媁eek 2鍓嶇<E98D93>寮€鍙?
|
||||
### 立即行动:开始Week 2前端开发
|
||||
|
||||
**鍙傝€冩枃妗?*:
|
||||
1. `04-寮€鍙戣<EFBFBD>鍒?03-浠诲姟鍒嗚В.md` - Week 2浠诲姟娓呭崟
|
||||
**参考文档**:
|
||||
1. `04-开发计划/03-任务分解.md` - Week 2任务清单
|
||||
2. `03-UI设计/AI智能文献-标题摘要初筛原型.html` - UI原型
|
||||
3. `00-鏂癆I浜ゆ帴鏂囨。.md` - 瀹屾暣浜ゆ帴鏂囨。锛?鍒嗛挓闃呰<E99783>锛?
|
||||
3. `00-新AI交接文档.md` - 完整交接文档(5分钟阅读)
|
||||
|
||||
**寮€鍙戦噸鐐?*:
|
||||
- 鉁?椤圭洰绠$悊鐣岄潰锛圥ICOS杈撳叆锛?
|
||||
- 鉁?鏂囩尞瀵煎叆鐣岄潰锛圗xcel涓婁紶锛?
|
||||
- 猸?**绛涢€夌粨鏋滃睍绀猴紙鏄剧ず涓や釜妯″瀷鐞嗙敱锛?* 鈫?鏈€閲嶈<E996B2>
|
||||
**开发重点**:
|
||||
- ✅ 项目管理界面(PICOS输入)
|
||||
- ✅ 文献导入界面(Excel上传)
|
||||
- ⭐ **筛选结果展示(显示两个模型理由)** ← 最重要
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 关键提醒
|
||||
|
||||
1. **鍚庣<EFBFBD>宸插畬鎴?* - 10涓狝PI鍙<49>互鐩存帴璋冪敤
|
||||
2. **鏄剧ず妯″瀷鐞嗙敱** - 鐢ㄦ埛寮鸿皟鐨勬牳蹇冮渶姹?
|
||||
3. **涓夌<EFBFBD>绛涢€夐<EFBFBD>鏍?* - 鍚庣<E98D9A>宸叉敮鎸侊紝鍓嶇<E98D93>闇€娣诲姞閫夋嫨鍣?
|
||||
1. **后端已完成** - 10个API可以直接调用
|
||||
2. **显示模型理由** - 用户强调的核心需求
|
||||
3. **三种筛选风格** - 后端已支持,前端需添加选择器
|
||||
4. **JWT暂时绕过** - 使用默认测试用户
|
||||
|
||||
---
|
||||
|
||||
## 馃殌 蹇<>€熷懡浠?
|
||||
## 🚀 快速命令
|
||||
|
||||
```bash
|
||||
# 启动后端
|
||||
@@ -163,16 +163,16 @@ curl http://localhost:3001/api/v1/asl/health
|
||||
## 📞 文档位置
|
||||
|
||||
**核心文档**:
|
||||
- 浠诲姟娓呭崟: `04-寮€鍙戣<EFBFBD>鍒?03-浠诲姟鍒嗚В.md`
|
||||
- 任务清单: `04-开发计划/03-任务分解.md`
|
||||
- 交接文档: `00-新AI交接文档.md`
|
||||
- 绯荤粺鐘舵€? `../../../00-绯荤粺鎬讳綋璁捐<EFBFBD>/00-绯荤粺褰撳墠鐘舵€佷笌寮€鍙戞寚鍗?md`
|
||||
- 系统状态: `../../../00-系统总体设计/00-系统当前状态与开发指南.md`
|
||||
|
||||
**鎵€鏈夋枃妗?*: `docs/03-涓氬姟妯″潡/ASL-AI鏅鸿兘鏂囩尞/`
|
||||
**所有文档**: `docs/03-业务模块/ASL-AI智能文献/`
|
||||
|
||||
---
|
||||
|
||||
**鐗堟湰**: v1.0 - 鏋佺畝鐗?
|
||||
**缁?*: 涓嬩竴涓<E7ABB4>帴鎵嬬殑AI
|
||||
**版本**: v1.0 - 极简版
|
||||
**给**: 下一个接手的AI
|
||||
**来自**: 2025-11-18开发的AI
|
||||
|
||||
**祝你开发顺利!** 🎉
|
||||
|
||||
Reference in New Issue
Block a user