这是一个基于Node.js和SQLite的定密工作数字化管理系统最简演示版本(MVP),实现了设计文档中的核心功能。
✅ 用户与权限管理
- 基于角色的访问控制(RBAC)
- 支持管理员、承办人、定密责任人、监督员四种角色
- 用户状态管理
✅ 定密依据知识库
- 知识条目管理
- 分类检索功能
- 与定密申请关联
✅ 定密流程管理
- 定密申请提交
- 审批流程(批准/驳回)
- 自动生成台账记录
✅ 国家秘密台账管理
- 秘密记录全生命周期管理
- 状态变更历史跟踪
- 统计分析功能
✅ 定密监督与审计
- 全操作审计日志
- 权限控制访问
- 统计分析报表
✅ 工作台概览
- 数据统计展示
- 最近活动记录
- 待处理事项提醒
- 后端: Node.js + Express + SQLite
- 前端: 原生HTML/CSS/JavaScript
- 认证: Express Session
- 加密: bcryptjs
- 数据库: SQLite (轻量级,易部署)
npm installnpm start系统将在 http://localhost:3000 启动
| 角色 | 用户名 | 密码 | 权限说明 |
|---|---|---|---|
| 系统管理员 | admin | admin123 | 全部功能访问 |
| 承办人 | proposer | prop123 | 提交定密申请 |
| 定密责任人 | officer | off123 | 审批定密申请 |
| 监督员 | supervisor | sup123 | 查看审计日志 |
- 访问 http://localhost:3000
- 使用演示账户登录
- 点击演示账户可快速填充用户名密码
- **承办人(proposer)**登录
- 进入"定密流程"模块
- 点击"提交新申请"
- 填写申请信息:
- 标题: 例如"项目技术方案"
- 内容描述: 详细说明
- 密级: 选择秘密/机密/绝密
- 定密理由: 说明为什么需要定密
- 知悉范围: 谁可以知悉
- 保密期限: 天数(可选)
- 提交申请
- **定密责任人(officer)**登录
- 进入"定密流程"模块
- 查看待审批申请
- 点击"批准"或"驳回"
- 输入审批意见
- 完成审批
- 进入"秘密台账"模块
- 查看已批准的秘密记录
- 可按状态、密级筛选
- **监督员(supervisor)或管理员(admin)**登录
- 进入"审计监督"模块
- 查看所有操作日志
- 可按时间、操作类型筛选
├── server.js # 主服务器文件
├── package.json # 项目配置和依赖
├── database.db # SQLite数据库(自动生成)
├── public/ # 前端静态文件
│ ├── index.html # 主界面
│ ├── login.html # 登录页面
│ ├── css/ # 样式文件
│ │ ├── common.css # 通用样式
│ │ ├── login.css # 登录样式
│ │ └── main.css # 主界面样式
│ └── js/ # JavaScript文件
│ ├── login.js # 登录逻辑
│ └── main.js # 主界面逻辑
└── server/ # 后端路由
└── routes/ # API路由
├── users.js # 用户管理
├── knowledge.js # 知识库
├── workflow.js # 工作流
├── ledger.js # 台账管理
└── audit.js # 审计日志
- users: 用户表
- knowledge_base: 知识库表
- secrecy_applications: 定密申请表
- secrets_ledger: 秘密台账表
- audit_logs: 审计日志表
npm run dev删除 database.db 文件,重新启动服务器会自动重建数据库和初始数据。
- 端口: 修改
server.js中的PORT变量 - Session密钥: 修改
server.js中的 session secret - 默认用户: 修改
server.js中的createDefaultUsers函数
| 模块 | 设计要求 | 实现状态 | 说明 |
|---|---|---|---|
| 用户权限管理 | ✅ | ✅ 100% | RBAC权限控制完整实现 |
| 知识库管理 | ✅ | ✅ 85% | 基础功能完整,缺少智能推荐 |
| 定密流程 | ✅ | ✅ 90% | 核心流程完整,缺少复杂工作流 |
| 台账管理 | ✅ | ✅ 85% | 基础功能完整,缺少批量操作 |
| 审计监督 | ✅ | ✅ 90% | 日志记录完整,缺少自动预警 |
| 统计报表 | ✅ | ✅ 70% | 基础统计完整,缺少图表展示 |
- 界面优化: 集成UI框架(如Ant Design)
- 工作流引擎: 集成Flowable或Camunda
- 数据库升级: 迁移到MySQL/PostgreSQL
- 安全增强: 添加数字签名、时间戳
- 智能功能: 集成NLP进行智能推荐
- 移动端: 开发移动应用
- 部署优化: Docker容器化部署
MIT License