流联科技 × 西南交通大学 — 校企联合实验室信息同步与管理平台
本平台为流联科技与西南交通大学联合实验室的专属信息管理平台,提供双方人员登录查阅、文件管理、信息同步等功能。
- 🔐 用户认证:超级管理员统一管理用户注册,安全登录
- 📊 仪表盘:项目概览、统计数据、最近动态一目了然
- 📁 文档管理:分类浏览、全文搜索校企合作所有管理文件
- 👥 用户管理:超级管理员/管理员可管理用户账号与权限
- 🔒 权限控制:三级角色(超级管理员/管理员/成员),精细权限管理
- 🎭 角色权限管理:自定义角色 + 8项细化权限配置(文档浏览/编辑/下载/上传/删除 + 用户管理/分类管理/系统设置)
- 🏷️ 文档保密等级:五级保密体系(公开/一般/秘密/机密/绝密),按角色控制访问
- 🖊️ 全局水印:基于 Canvas 的防篡改水印,显示当前登录用户身份
- 📈 访问统计:文档浏览统计、用户活跃度追踪
| 层级 | 技术 |
|---|---|
| 前端 | React 18 + TypeScript + Vite + React Router + Zustand |
| 后端 | Node.js + Express + JWT |
| 数据库 | SQLite (node:sqlite) |
| 样式 | CSS Modules(蓝色科技风) |
| 部署 | Docker 支持 |
联合实验室管理平台/
├── client/ # React 前端
│ ├── src/
│ │ ├── api/ # API 客户端
│ │ ├── components/ # 通用组件
│ │ │ └── Layout/ # 页面布局组件
│ │ ├── pages/ # 页面组件
│ │ │ ├── Login/ # 登录页
│ │ │ ├── Dashboard/ # 仪表盘
│ │ │ ├── Documents/ # 文档管理
│ │ │ ├── Users/ # 用户管理
│ │ │ └── Profile/ # 个人中心
│ │ └── store/ # 状态管理
│ ├── dist/ # 构建产物
│ └── index.html
├── server/ # Node.js 后端
│ ├── routes/ # API 路由
│ │ ├── auth.js # 认证(登录/注册/密码修改)
│ │ ├── users.js # 用户管理(CRUD)
│ │ ├── documents.js # 文档管理(列表/详情/搜索)
│ │ ├── categories.js # 分类管理
│ │ ├── roles.js # 角色权限管理(CRUD + 权限配置)
│ │ └── stats.js # 统计信息
│ ├── middleware/
│ │ └── auth.js # JWT 认证中间件
│ ├── db.js # 数据库连接(含 roles/role_permissions 表)
│ ├── seed.js # 数据初始化(含默认角色和权限)
│ └── index.js # 服务入口
├── Dockerfile # Docker 构建文件
└── README.md
- Node.js >= 22(需要
node:sqlite内置模块支持) - npm >= 9
# 1. 安装后端依赖
cd server
npm install
# 2. 初始化数据库(创建默认管理员账号)
node seed.js
# 3. 安装前端依赖
cd ../client
npm install
# 4. 构建前端
npm run build
# 5. 启动服务
cd ../server
npm start服务默认运行在 http://localhost:3001
docker build -t joint-lab-platform .
docker run -p 3001:3001 joint-lab-platform| 角色 | 用户名 | 密码 | 权限 |
|---|---|---|---|
| 超级管理员 | admin |
admin123 |
全部权限,可创建/管理用户 |
⚠️ 首次登录后请立即修改密码!
| 权限 | super_admin | admin | member |
|---|---|---|---|
| 登录 | ✅ | ✅ | ✅ |
| 查看仪表盘 | ✅ | ✅ | ✅ |
| 浏览文档 | 全部 | 全部 | 全部 |
| 编辑文档 | 全部 | 全部 | 内部级 |
| 下载文档 | 全部 | 全部 | 全部 |
| 上传文档 | ✅ | ✅ | ✅ |
| 删除文档 | ✅ | ✅ | ❌ |
| 管理用户 | ✅ | ✅ | ❌ |
| 创建用户 | ✅ | ❌ | ❌ |
| 删除用户 | ✅ | ❌ | ❌ |
| 管理分类 | ✅ | ✅ | ❌ |
| 系统设置 | ✅ | ❌ | ❌ |
| 修改密码 | ✅ | ✅ | ✅ |
- 🎭 自定义角色:超级管理员可创建/编辑/删除自定义角色
- 🔑 8项细化权限:
- 浏览文档:全局 / 按保密等级(全部 / 绝密 / 机密 / 秘密 / 一般 / 公开 / 无)
- 编辑文档:全局 / 按保密等级
- 下载文档:全局 / 按保密等级
- 上传文档:是 / 否
- 删除文档:是 / 否
- 管理用户:是 / 否
- 管理分类:是 / 否
- 系统设置:是 / 否
POST /api/auth/login— 用户登录POST /api/auth/register— 注册用户(仅 super_admin)GET /api/auth/me— 获取当前用户信息PUT /api/auth/password— 修改密码
GET /api/documents— 文档列表(支持分类/搜索/分页)GET /api/documents/:id— 文档详情GET /api/documents/search/suggestions— 搜索建议
GET /api/categories— 分类列表
GET /api/users— 用户列表(admin+)GET /api/users/:id— 用户详情PUT /api/users/:id— 更新用户(super_admin)DELETE /api/users/:id— 删除用户(super_admin)
GET /api/stats— 平台统计数据
GET /api/roles— 角色列表(含权限详情和权限定义)POST /api/roles— 创建角色(仅 super_admin)PUT /api/roles/:id— 更新角色及权限配置(仅 super_admin)DELETE /api/roles/:id— 删除角色(仅 super_admin,不可删除内置角色)GET /api/roles/:id/permissions— 获取角色权限详情
蓝色科技风主题:
- 主色:
#2563eb(蓝色) - 背景:
#f0f4ff(浅蓝) - 侧边栏:
#1e3a5f(深蓝) - 卡片:白色 + 阴影
- 强调色:
#0ea5e9(天蓝)
本项目为流联科技与西南交通大学联合实验室内部使用。
| 版本 | 日期 | 变更内容 |
|---|---|---|
| v1.3 | 2026-05 | 保密等级体系扩展为五级(公开 → 一般 → 秘密 → 机密 → 绝密);文档关系图谱种子数据(8个核心文档 + 8个流程图附件的关联/引用/依赖关系) |
| v1.2 | 2026-05 | 新增全局水印功能(Canvas + MutationObserver 防篡改);文档内容适配 Web 阅读(清除 ASCII 装饰图、添加目录、规范化标题层级);清理 server/ 测试辅助脚本 |
| v1.1 | 2026-05 | 角色权限管理系统(自定义角色 + 8项细化权限);文档保密等级体系;用户管理功能修复 |
| v1.0 | 2026-05 | 初始版本:登录认证、仪表盘、文档管理、用户管理、三级角色权限 |
流联科技 × 西南交通大学 | 联合实验室管理平台 v1.3