66255368b72a2ef3f2e5ee9c687ae781e16ec074
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
AI科研助手
专注于赋能临床及科研人员的智能化平台
📚 项目文档
📖 文档导航中心
- 📚 完整文档导航 ⭐ 查看所有设计文档和开发规范
🔗 快速链接
- 产品需求文档(PRD) - 了解产品需求
- 技术架构总览 - 了解技术方案
- 数据库设计文档 - 理解数据结构
- API设计规范 - 掌握接口定义
- 开发里程碑 - 查看开发进度
🛠️ 子项目文档
🏗️ 技术栈
前端
- React 18 + TypeScript
- Vite
- TailwindCSS
- Zustand
- LobeChat组件
后端
- Node.js + Fastify + TypeScript
- Prisma ORM
- PostgreSQL
- Redis
第三方服务
- Dify(RAG知识库)
- DeepSeek-V3(主力LLM)
- Qwen3(备用LLM)
✨ 核心功能
1. 智能问答系统
- 基于项目背景的上下文对话
- 支持@知识库引用
- 3种对话模式:RAG快速检索、全文阅读、批处理
2. 知识库管理
- 文档上传与管理(支持PDF/Word/Txt)
- 智能文本提取(Python微服务)
- RAG检索优化(top_k=15, chunk_size=1500)
3. 批处理模式
- 批量提取结构化信息(3-50个文档)
- 预设模板+自定义Prompt
- Excel导出
4. 稿件审查功能 ⭐ 新增
- 双维度智能评估:
- 稿约规范性评估(11个标准)
- 方法学评估(3个部分,20个检查点)
- 完整工作流程:
- Word文档上传(.doc/.docx)
- 实时进度展示
- 详细评估报告
- PDF导出+文本复制
- 多模型支持:DeepSeek-V3 / Qwen3-72B / Qwen-Long
- 独立导航入口:左侧菜单"稿件审查"
5. 12个智能体(规划中)
- ✅ 选题评价智能体(已完成)
- ⏳ 其他11个智能体(计划中)
🚀 快速开始
1. 启动基础服务
# 启动PostgreSQL和Redis
docker-compose up -d
2. 后端开发
cd backend
npm install
npm run dev
3. 前端开发
cd frontend
npm install
npm run dev
📦 目录结构
AIclinicalresearch/
├── frontend/ # 前端项目
├── backend/ # 后端项目
├── docs/ # 项目文档
├── docker-compose.yml # Docker配置
└── README.md # 本文件
🔑 环境变量
请参考 .env.example 文件配置环境变量。
📖 开发指南
请查看 开发里程碑 了解详细的开发计划。
📄 License
MIT
🔗 相关链接
- 📚 文档中心 - 完整的项目文档导航
- ⚙️ 后端项目 - 后端开发指南
- 🎨 前端项目 - 前端开发指南
- 🚀 快速启动指南 - 一步步启动项目
- 🐳 Dify部署方案 - Dify部署指南
当前开发阶段: 里程碑1 - Day 6(前端基础架构)
开发进度: 50% - 前后端基础架构已完成
Description
Languages
TypeScript
83%
Python
6.2%
JavaScript
3.8%
CSS
3.2%
R
2.5%
Other
1.2%