Skip to content

架构设计

整体架构

系统采用 前后端分离 + 微服务架构 的设计模式,确保系统的高可用性、可扩展性和易维护性。

后端架构

微服务模块

系统采用 Spring Boot + Spring Cloud 微服务架构,包含多个核心业务服务:

服务类型职责说明
网关服务API 网关,统一入口,路由转发,负载均衡
BFF 服务Backend For Frontend,前端聚合层
系统管理服务用户、角色、菜单、部门、机构等管理
数据服务数据填报、审核、复核、查询等业务
运维服务操作日志、PDCA、评估、整改等
配置服务系统配置、参数设置
常量服务数据字典、枚举常量管理

公共模块

模块说明
common公共组件:通用工具类、异常处理、响应封装
utils工具模块:数据处理、文件操作等
mq消息队列:异步消息处理
dependencies依赖管理:统一版本管理

数据库设计

数据源说明

  • 主数据库:存储业务数据
  • 源数据库:数据同步来源

核心数据表

  • 用户权限相关:用户表、角色表、菜单表、部门表、机构表
  • 数据管理相关:数据填报表、审核表、复核表
  • 指标管理相关:指标基础表、指标分类表、指标分值表
  • 记录管理相关:PDCA记录表、评估表、整改表

前端架构

技术架构

基于 Vue Vben Admin 框架,采用 Monorepo 架构。

核心特性

1. Monorepo 架构

使用 pnpm + Turbo 管理多包项目:

  • 代码复用:共享组件、工具函数、类型定义
  • 独立开发:各模块可独立开发和测试
  • 统一构建:Turbo 提供增量构建,提升效率

2. 组件化开发

  • 基础组件:基于 Ant Design Vue 封装业务组件
  • 表单组件:动态表单、高级查询表单
  • 表格组件:高级表格,支持展开、编辑、批量操作
  • 图表组件:ECharts 数据可视化

3. 状态管理

使用 Pinia 进行状态管理:

  • 用户状态:登录信息、权限信息
  • 应用状态:主题配置、布局设置
  • 业务状态:各模块业务数据缓存

4. 路由权限

  • 动态路由:根据用户权限动态生成路由
  • 路由守卫:登录验证、权限验证
  • 菜单管理:后端配置菜单,前端动态加载

核心模块

数据管理模块

数据填报 → 数据审核 → 数据复核 → 数据管理 → 历史数据 → 指标查询
  • 支持月度、季度、年度数据周期
  • 多级审核流程
  • 数据同步与校验

指标管理模块

指标基础管理 → 指标分类 → 指标列表 → 指标卡 → 指标收藏 → 指标展示 → 指标体系
  • 完整的指标生命周期管理
  • 灵活的分类体系
  • 分值管理

记录管理模块

PDCA记录 → 评估记录 → 整改历史 → 数据分析
  • PDCA 全流程记录
  • 持续改进追踪
  • 数据多维度分析

系统管理模块

用户管理 → 角色管理 → 菜单管理 → 部门管理 → 机构管理 → 操作日志
  • RBAC 权限模型
  • 多维度组织架构
  • 完整的操作审计

部署架构

Docker 容器化部署

系统采用 Docker 容器化部署,包含以下服务组件:

  • 数据库服务
  • 网关服务
  • BFF 服务
  • 各业务微服务(系统管理、数据服务、运维服务等)
  • Nginx 反向代理服务

访问流程

用户 → Nginx → Gateway → BFF → 业务服务 → 数据库

相关文档