面向方案、子方案和配套资料全生命周期管理的前后端业务系统。

weisijie 1f2611647e 1. 实现了配套方案并入共享资料库,新增附件类型ACCOMPANYING_PLAN(配套方案/支撑成果/方案训考资料/典型案例四类),配套方案Tab的上传、挂载、解绑、拖动排序与解绑后留存语义同其余三类附件完全一致; 1 ヶ月 前
.claude 3552691a57 1. 实现了角色管理与权限矩阵功能,支持角色关联用户及密级×部门范围×操作的表格式权限配置,可设默认角色且调整后实时生效; 1 ヶ月 前
backend 1f2611647e 1. 实现了配套方案并入共享资料库,新增附件类型ACCOMPANYING_PLAN(配套方案/支撑成果/方案训考资料/典型案例四类),配套方案Tab的上传、挂载、解绑、拖动排序与解绑后留存语义同其余三类附件完全一致; 1 ヶ月 前
backend-java 1f2611647e 1. 实现了配套方案并入共享资料库,新增附件类型ACCOMPANYING_PLAN(配套方案/支撑成果/方案训考资料/典型案例四类),配套方案Tab的上传、挂载、解绑、拖动排序与解绑后留存语义同其余三类附件完全一致; 1 ヶ月 前
build 85e32118b0 1. 实现了后端SpringBoot完整转写(backend-java/),基于Java 17、Spring Boot 3.5 与 MyBatis,九个阶段全部完成,接口契约与 Python 版逐条对齐,前端零改动即可切换; 1 ヶ月 前
docs 1f2611647e 1. 实现了配套方案并入共享资料库,新增附件类型ACCOMPANYING_PLAN(配套方案/支撑成果/方案训考资料/典型案例四类),配套方案Tab的上传、挂载、解绑、拖动排序与解绑后留存语义同其余三类附件完全一致; 1 ヶ月 前
frontend 1f2611647e 1. 实现了配套方案并入共享资料库,新增附件类型ACCOMPANYING_PLAN(配套方案/支撑成果/方案训考资料/典型案例四类),配套方案Tab的上传、挂载、解绑、拖动排序与解绑后留存语义同其余三类附件完全一致; 1 ヶ月 前
skills 1eca780116 1. 将 prompts.txt 需求文档拆分为前后端; 2 ヶ月 前
tools 873fc549be 1. 实现了文档更新时间范围检索,统一主方案、子方案与附件查询; 2 ヶ月 前
.gitattributes 3552691a57 1. 实现了角色管理与权限矩阵功能,支持角色关联用户及密级×部门范围×操作的表格式权限配置,可设默认角色且调整后实时生效; 1 ヶ月 前
.gitignore 85e32118b0 1. 实现了后端SpringBoot完整转写(backend-java/),基于Java 17、Spring Boot 3.5 与 MyBatis,九个阶段全部完成,接口契约与 Python 版逐条对齐,前端零改动即可切换; 1 ヶ月 前
CODEX_BACKEND_PERSISTENCE_GUIDE.md 329c2622b9 1. 实现了DOC与DOCX转PDF预览,支持LibreOffice离线转换; 2 ヶ月 前
DMS_API_CONTRACT.md 1f2611647e 1. 实现了配套方案并入共享资料库,新增附件类型ACCOMPANYING_PLAN(配套方案/支撑成果/方案训考资料/典型案例四类),配套方案Tab的上传、挂载、解绑、拖动排序与解绑后留存语义同其余三类附件完全一致; 1 ヶ月 前
DMS_FUNCTION_CONTRACT.md bad04bc5d2 1. 实现了正文解析失败可视化与重新解析功能,失败原因脱敏落库(0019 迁移),管理员编辑界面展示解析状态与失败原因并可一键重新解析; 1 ヶ月 前
FUNCTION_AND_API_SPECIFICATION.md bad04bc5d2 1. 实现了正文解析失败可视化与重新解析功能,失败原因脱敏落库(0019 迁移),管理员编辑界面展示解析状态与失败原因并可一键重新解析; 1 ヶ月 前
README.md af246e0067 整理项目工程文档与生产配置 2 ヶ月 前
prompts.md 1f2611647e 1. 实现了配套方案并入共享资料库,新增附件类型ACCOMPANYING_PLAN(配套方案/支撑成果/方案训考资料/典型案例四类),配套方案Tab的上传、挂载、解绑、拖动排序与解绑后留存语义同其余三类附件完全一致; 1 ヶ月 前
verified.md 873fc549be 1. 实现了文档更新时间范围检索,统一主方案、子方案与附件查询; 2 ヶ月 前

README.md

方案计划文档管理系统

面向方案、子方案和共享附件全生命周期管理的前后端业务系统。系统提供分类管理、文档上传与下载、共享附件挂载、文档权限、审计统计、回收站恢复和统一中文展示字典。

技术栈

  • 前端:React 18、TypeScript、Vite、Material UI
  • 后端:Python、Flask、SQLAlchemy、Alembic
  • 数据库:MySQL 8
  • 文件存储:本地文件系统,数据库仅保存安全相对路径
  • 接口规范:OpenAPI 3.0.3

工程结构

.
├─ backend/                    后端应用、迁移、OpenAPI和自动化测试
│  ├─ dms/                    DMS业务模块
│  ├─ src/                    既有AI信息抽取模块
│  ├─ migrations/             Alembic迁移
│  ├─ openapi/                OpenAPI规格
│  ├─ tests/                  后端自动化测试
│  ├─ dms-storage/            正式运行文件存储(内容不提交Git)
│  └─ dms-test-storage/       本地测试文件存储(不提交Git)
├─ frontend/                   React前端
│  └─ src/features/           按业务领域划分的前端模块
├─ docs/                       计划、提示词和演示资料
├─ deliverables/               本地部署包和交付压缩包(不提交Git)
├─ DMS_FUNCTION_CONTRACT.md    正式功能契约
├─ DMS_API_CONTRACT.md         正式接口契约
└─ FUNCTION_AND_API_SPECIFICATION.md

详细文档索引见 docs/README.md。

本地运行

后端

cd backend
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt

.env.example 是配置模板,应用不会自动读取本地 .env。运行前应通过进程环境或服务管理器配置至少以下参数:

DMS_DATABASE_URL
DMS_JWT_SECRET
DMS_STORAGE_ROOT

开发启动:

python app.py

默认后端地址为 http://127.0.0.1:8754,健康检查为:

GET /api/v1/health

数据库迁移:

alembic -c migrations/alembic.ini upgrade head

前端

cd frontend
npm install
npm run dev

默认开发端口由 vite.config.ts 配置为 9345。生产接口基础路径通过 VITE_API_BASE_URL 配置。

验证

后端:

cd backend
python -m pytest

前端:

cd frontend
npm run typecheck
npm run test
npm run build

自动化测试源码属于正式工程质量资产,应保留在仓库中;缓存、覆盖率、运行日志和隔离测试存储不提交Git。

配置与数据边界

  • 数据库连接、JWT密钥、存储根目录和AI密钥通过安全环境配置提供。
  • UI中文展示字典默认位于 backend/dms/resources/ui-dictionaries.zh-CN.json。
  • 业务文件保存在 DMS_STORAGE_ROOT,数据库只保存相对路径、大小和SHA-256。
  • .env、运行日志、构建目录、部署包和存储文件均不提交Git。

当前基线

  • 功能契约:1.2
  • API契约:1.2
  • OpenAPI:1.2.0
  • 数据库迁移最新版本:0002_add_restore_audit_action
  • Q1统一UI字典、分类层级和真实认证已通过独立验收