Skip to content

Steaming-Fresh/AI-Secret

Repository files navigation

定密工作数字化管理系统 MVP

这是一个基于Node.js和SQLite的定密工作数字化管理系统最简演示版本(MVP),实现了设计文档中的核心功能。

功能特性

用户与权限管理

  • 基于角色的访问控制(RBAC)
  • 支持管理员、承办人、定密责任人、监督员四种角色
  • 用户状态管理

定密依据知识库

  • 知识条目管理
  • 分类检索功能
  • 与定密申请关联

定密流程管理

  • 定密申请提交
  • 审批流程(批准/驳回)
  • 自动生成台账记录

国家秘密台账管理

  • 秘密记录全生命周期管理
  • 状态变更历史跟踪
  • 统计分析功能

定密监督与审计

  • 全操作审计日志
  • 权限控制访问
  • 统计分析报表

工作台概览

  • 数据统计展示
  • 最近活动记录
  • 待处理事项提醒

技术架构

  • 后端: Node.js + Express + SQLite
  • 前端: 原生HTML/CSS/JavaScript
  • 认证: Express Session
  • 加密: bcryptjs
  • 数据库: SQLite (轻量级,易部署)

快速开始

1. 安装依赖

npm install

2. 启动系统

npm start

系统将在 http://localhost:3000 启动

3. 演示账户

角色 用户名 密码 权限说明
系统管理员 admin admin123 全部功能访问
承办人 proposer prop123 提交定密申请
定密责任人 officer off123 审批定密申请
监督员 supervisor sup123 查看审计日志

使用流程

1. 登录系统

2. 定密申请流程

  1. **承办人(proposer)**登录
  2. 进入"定密流程"模块
  3. 点击"提交新申请"
  4. 填写申请信息:
    • 标题: 例如"项目技术方案"
    • 内容描述: 详细说明
    • 密级: 选择秘密/机密/绝密
    • 定密理由: 说明为什么需要定密
    • 知悉范围: 谁可以知悉
    • 保密期限: 天数(可选)
  5. 提交申请

3. 审批流程

  1. **定密责任人(officer)**登录
  2. 进入"定密流程"模块
  3. 查看待审批申请
  4. 点击"批准"或"驳回"
  5. 输入审批意见
  6. 完成审批

4. 查看台账

  1. 进入"秘密台账"模块
  2. 查看已批准的秘密记录
  3. 可按状态、密级筛选

5. 审计监督

  1. **监督员(supervisor)管理员(admin)**登录
  2. 进入"审计监督"模块
  3. 查看所有操作日志
  4. 可按时间、操作类型筛选

项目结构

├── 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% 基础统计完整,缺少图表展示

后续扩展建议

  1. 界面优化: 集成UI框架(如Ant Design)
  2. 工作流引擎: 集成Flowable或Camunda
  3. 数据库升级: 迁移到MySQL/PostgreSQL
  4. 安全增强: 添加数字签名、时间戳
  5. 智能功能: 集成NLP进行智能推荐
  6. 移动端: 开发移动应用
  7. 部署优化: Docker容器化部署

许可证

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors