Files
xlxumu/docs/design/ARCHITECTURE.md
mapleaf 47c67ff704 docs(database): 更新数据库设计规范和核心数据表结构
- 新增数据库基础规范、API映射规范、安全规范等详细设计要求- 增加读写分离、分库分表、数据生命周期管理等策略说明
- 新建核心业务表结构,包括用户表、贷款申请表、保险申请表等
- 优化索引设计,提高查询效率
2025-08-19 22:04:18 +08:00

17 KiB
Raw Blame History

系统架构文档

1. 概述

本项目是一个综合性的畜牧业数字化管理平台,主要面向锡林郭勒盟地区的养殖产业,包含官网展示、后台管理、移动端小程序、大屏可视化等多个子系统。平台集成了养殖管理、金融服务(银行监管、保险监管)、政府监管、牛只交易、牛肉商城、数据分析等功能模块,旨在通过数字化手段提升整个产业链的管理效率和透明度。

2. 技术栈

2.1 前端技术栈

  • 官网首页: HTML5 + CSS3 + JavaScript
  • 后台管理系统: Vue.js 3 + TypeScript + Ant Design Vue + Pinia
  • 大屏可视化系统: Vue.js 3 + ECharts + 自定义可视化组件
  • 微信小程序矩阵: 微信小程序原生开发 + uni-app

2.2 后端技术栈

  • API服务: Node.js + Express.js + TypeScript + RESTful API
  • 数据库: MySQL
  • 缓存系统: Redis
  • 消息队列: RabbitMQ用于异步处理
  • 文件存储: 腾讯云对象存储
  • 实时通信: WebSocket用于大屏数据推送和实时通知

2.3 数据库配置

2.3.1 测试环境

  • 主机: 192.168.0.240 (MySQL主机地址)
  • 端口: 3306 (MySQL端口)
  • 用户名: root
  • 密码: aiot$Aiot123
  • 数据库: xlxumudata

2.3.2 生产环境

  • 主机: 129.211.213.226
  • 端口: 9527(端口号)
  • 用户名: root
  • 密码: aiotAiot123!
  • 数据库: xlxumudata

2.4 安全架构

  • 身份认证: JWT (JSON Web Tokens)
  • 权限管理: 基于角色的访问控制 (RBAC)
  • 数据传输: HTTPS 加密传输
  • API防护: 接口限流、参数校验、防SQL注入等
  • 密码安全: BCrypt加密存储
  • 操作审计: 用户操作日志记录和审计

2.5 数据架构

  • 实时数据采集: IoT设备数据接入
  • 数据处理: ETL数据处理流程
  • 数据存储: 分层数据存储(操作数据、历史数据、统计数据)
  • 大数据分析: 数据分析引擎
  • 智能预警: 基于规则的预警系统
  • 可视化展示: 图表化数据展示平台

3. 系统架构图

┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│                                    用户端接入层                                             │
├─────────────────┬─────────────────────────────────────────────────────────────────────────┤
│   官网首页      │                         专业管理系统                                     │
│  (HTML5展示)    ├─────────────────────────────────────────────────────────────────────────┤
│                 │  - 养殖管理系统 (Vue.js 3 + Ant)                                        │
│                 │  - 银行监管系统 (Vue.js 3 + Ant)                                        │
│                 │  - 保险监管系统 (Vue.js 3 + Ant)                                        │
│                 │  - 政府监管平台 (Vue.js 3 + Ant)                                        │
│                 │  - 活牛交易系统 (Vue.js 3 + Ant)                                        │
│                 │  - 商城管理系统 (Vue.js 3 + Ant)                                        │
│                 │  - 大屏可视化系统 (Vue.js 3 + ECharts)                                  │
├─────────────────┼─────────────────────────────────────────────────────────────────────────┤
│       微信小程序矩阵                                                                        │
│  - 牛肉商城小程序                                                                           │
│  - 养殖管理小程序                                                                           │
│  - 银行监管小程序                                                                           │
│  - 保险监管小程序                                                                           │
│  - 活牛交易小程序                                                                           │
│  - 政府监管小程序                                                                           │
│  - 数据中台小程序                                                                           │
│  - AI能力小程序                                                                             │
├─────────────────┴─────────────────────────────────────────────────────────────────────────┤
│                                    API服务层 (Node.js)                                    │
├─────────────────────────────────────────────────────────────────────────────────────────────┤
│                                    数据处理与存储层                                         │
├─────────────────────────────────────────────────────────────────────────────────────────────┤
│  关系数据库(MySQL)  │  缓存系统(Redis)  │  消息队列(RabbitMQ)  │  文件存储(腾讯云)          │
├─────────────────────────────────────────────────────────────────────────────────────────────┤
│                                    数据分析与展示层                                         │
├─────────────────────────────────────────────────────────────────────────────────────────────┤
│        大数据分析引擎      │      智能预警系统      │   可视化平台    │   实时数据推送          │
└─────────────────────────────────────────────────────────────────────────────────────────────┘

4. 前端系统架构

4.1 官网首页系统

  • 纯HTML5、CSS3、JavaScript实现
  • 响应式设计,适配多种设备
  • 突出锡林郭勒盟地域元素和蒙古族文化特色
  • 绿色草原主题风格

4.2 专业管理系统

4.2.1 养殖管理系统

  • 基于Vue.js 3 Composition API
  • 使用Ant Design Vue组件库
  • 状态管理采用Pinia
  • TypeScript增强代码可维护性
功能模块
  1. 牛只档案管理
  2. 饲养记录管理
  3. 繁殖管理
  4. 环境监测数据展示
  5. 健康监测管理
  6. 生产计划制定和执行跟踪

4.2.2 银行监管系统

  • 基于Vue.js 3 Composition API
  • 使用Ant Design Vue组件库
  • 状态管理采用Pinia
  • TypeScript增强代码可维护性
功能模块
  1. 贷款申请和审批流程管理
  2. 质押物(牛只)状态监控
  3. 还款计划跟踪
  4. 风险评估数据展示
  5. 财务报表生成
  6. 风控管理

4.2.3 保险监管系统

  • 基于Vue.js 3 Composition API
  • 使用Ant Design Vue组件库
  • 状态管理采用Pinia
  • TypeScript增强代码可维护性
功能模块
  1. 保险投保管理
  2. 理赔申请和处理流程
  3. 风险评估和预警
  4. 保险记录查询
  5. 数据统计分析

4.2.4 政府监管平台

  • 基于Vue.js 3 Composition API
  • 使用Ant Design Vue组件库
  • 状态管理采用Pinia
  • TypeScript增强代码可维护性
功能模块
  1. 产业数据总览
  2. 各类监管数据汇总
  3. 政策发布和通知
  4. 合规性检查
  5. 统计报表生成
  6. 用户管理(集中式用户权限管理)
  7. 系统配置管理

4.2.5 活牛交易系统

  • 基于Vue.js 3 Composition API
  • 使用Ant Design Vue组件库
  • 状态管理采用Pinia
  • TypeScript增强代码可维护性
功能模块
  1. 牛只信息发布和展示
  2. 在线交易撮合
  3. 合同管理
  4. 支付流程管理
  5. 交易记录查询
  6. 商户管理
  7. 行情管理

4.2.6 商城管理系统

  • 基于Vue.js 3 Composition API
  • 使用Ant Design Vue组件库
  • 状态管理采用Pinia
  • TypeScript增强代码可维护性
功能模块
  1. 商品信息管理
  2. 库存管理
  3. 订单处理
  4. 物流跟踪
  5. 售后服务管理
  6. 营销管理

4.2.7 大屏可视化系统

  • 基于Vue.js 3 Composition API
  • 使用ECharts和自定义可视化组件
  • 状态管理采用Pinia
  • TypeScript增强代码可维护性
  • WebSocket实现实时数据推送
功能模块
  1. 产业概览
  2. 养殖监控
  3. 金融服务
  4. 交易统计
  5. 运输跟踪
  6. 风险预警
  7. 生态指标
  8. 政府监管

4.3 微信小程序矩阵

  • 使用微信小程序原生开发框架
  • 跨平台支持采用uni-app
  • 包含8个专门的小程序应用

4.3.1 牛肉商城小程序(消费者端)

  • 商品浏览和搜索
  • 在线下单和支付
  • 订单查询和跟踪
  • 售后服务申请
  • 认养功能:用户可以认养特定牛只,跟踪其成长过程

4.3.2 养殖管理小程序(牧民端)

  • 移动端牛只档案查看
  • 饲养记录录入
  • 健康状况上报
  • 通知消息接收
  • 数据统计查看

4.3.3 银行监管小程序(银行端)

  • 移动端贷款审批
  • 质押物状态查看
  • 风险数据监控
  • 移动办公支持

4.3.4 保险监管小程序(保险端)

  • 移动端保险处理
  • 理赔流程管理
  • 风险评估查看
  • 移动查勘支持

4.3.5 活牛交易小程序(交易员端)

  • 活牛信息发布
  • 在线交易撮合
  • 合同查看和管理
  • 交易记录查询
  • 支付状态跟踪

4.3.6 政府监管小程序(监管人员端)

  • 防疫任务执行
  • 补贴申请审核
  • 政策信息查看
  • 监管数据上报

4.3.7 数据中台小程序(数据人员端)

  • 数据查询和导出
  • 统计报表查看
  • 数据服务申请

4.3.8 AI能力小程序养殖户/兽医端)

  • 牛只体况评估
  • 饲料配方推荐
  • 智能诊断辅助

5. 后端系统架构

5.1 API服务层

  • 基于Node.js和Express.js构建
  • 使用TypeScript增强代码健壮性
  • RESTful API设计风格
  • JWT身份认证机制
  • 微服务架构设计(按业务模块划分)

5.2 数据存储层

  • 主数据库MySQL关系型数据库
  • 缓存系统Redis用于会话缓存、数据缓存
  • 消息队列RabbitMQ用于异步任务处理
  • 文件存储:腾讯云对象存储服务
  • 日志存储Elasticsearch用于日志分析

5.3 安全架构

  • 基于JWT的无状态认证
  • RBAC角色权限管理系统集中式用户管理
  • HTTPS加密传输
  • API接口安全防护限流、防注入等
  • 数据加密存储BCrypt等
  • 操作日志审计

5.4 数据分析层

  • 实时数据采集系统IoT设备数据、用户行为数据
  • 大数据分析引擎
  • 智能预警系统
  • 数据可视化展示平台

6. 项目结构

.
├── frontend/                  # 前端项目
│   ├── website/               # 官网首页
│   ├── farming-management/    # 养殖管理系统
│   ├── bank-supervision/      # 银行监管系统
│   ├── insurance-supervision/ # 保险监管系统
│   ├── government-platform/   # 政府监管平台
│   ├── cattle-trading/        # 活牛交易系统
│   ├── mall-management/       # 商城管理系统
│   ├── dashboard/             # 大屏可视化系统
│   └── mini-programs/         # 微信小程序矩阵
│       ├── beef-mall/         # 牛肉商城小程序
│       ├── farming-manager/   # 养殖管理小程序
│       ├── bank-supervision/  # 银行监管小程序
│       ├── insurance-supervision/ # 保险监管小程序
│       ├── cattle-trading/    # 活牛交易小程序
│       ├── gov-supervision/   # 政府监管小程序
│       ├── data-platform/     # 数据中台小程序
│       └── ai-capabilities/   # AI能力小程序
├── backend/                   # 后端项目
│   ├── api/                   # API服务
│   │   ├── farming/           # 养殖管理API
│   │   ├── finance/           # 金融服务API
│   │   ├── government/        # 政府监管API
│   │   ├── trade/             # 交易管理API
│   │   ├── mall/              # 商城管理API
│   │   ├── data-platform/     # 数据中台API
│   │   ├── ai/                # AI能力API
│   │   └── user-center/       # 用户中心API
│   ├── database/              # 数据库脚本
│   ├── utils/                 # 工具函数
│   └── services/              # 微服务模块
├── docs/                      # 文档
└── deployment/                # 部署相关配置

7. 用户权限管理架构

7.1 集中式用户管理

  • 所有用户信息统一在政府监管平台进行管理
  • 各子系统仅负责登录验证和部分权限校验
  • 实现统一的RBAC权限模型

7.2 权限体系

  • 基于角色的访问控制RBAC
  • 支持多角色分配
  • 细粒度权限控制(菜单权限、操作权限、数据权限)
  • 权限继承机制

7.3 用户角色

  1. 超级管理员
  2. 政府监管员
  3. 银行信贷员
  4. 保险专员
  5. 交易管理员
  6. 商城管理员
  7. 养殖户
  8. 普通用户
  9. 数据分析师
  10. 系统审计员

8. 大屏可视化系统架构

8.1 系统概述

大屏可视化系统是本项目的重要组成部分,主要用于展示锡林郭勒盟安格斯牛养殖产业的整体数据、实时监控信息和分析结果。通过直观的图表和数据可视化方式,为管理者提供全面的产业洞察。

8.2 技术实现

  • 前端框架: Vue.js 3 + ECharts + 自定义可视化组件
  • 可视化库: Apache ECharts + D3.js
  • 响应式设计: 支持多种大屏比例(16:9, 4:3等)
  • 实时数据: WebSocket实时数据推送
  • 性能优化: 虚拟滚动、数据分页等技术

8.3 功能模块

  1. 产业概览: 展示整体产业规模、产值、增长率等关键指标
  2. 养殖监控: 实时展示各牧场的养殖情况、环境数据
  3. 金融服务: 展示贷款、保险等金融服务数据
  4. 交易统计: 牛只交易量、价格趋势、区域分布等数据
  5. 运输跟踪: 牛只运输实时状态和路径展示
  6. 风险预警: 风险事件展示和预警信息推送
  7. 生态指标: 环保数据、可持续发展指标展示
  8. 政府监管: 展示政府监管相关数据和政策执行效果

8.4 设计特色

  • 融入锡林郭勒盟草原绿色主题
  • 采用蒙古族文化元素的UI设计
  • 突出安格斯牛品牌形象
  • 支持多维度数据钻取和交互

9. 系统集成架构

9.1 外部系统集成

  1. 银行系统对接
  2. 政府监管平台对接
  3. 第三方系统集成LDAP/AD、OAuth2.0等)
  4. 物联网设备集成MQTT/CoAP协议
  5. 云服务集成腾讯云COS、短信服务等

9.2 数据交换机制

  • RESTful API接口
  • 消息队列异步处理
  • 文件传输
  • 数据库同步

10. 性能优化策略

10.1 前端优化

  • 代码分割和按需加载
  • 图片懒加载和压缩
  • CDN加速静态资源
  • 浏览器缓存策略
  • 虚拟滚动处理大数据量展示

10.2 后端优化

  • 数据库索引优化
  • API响应缓存Redis
  • 数据库连接池
  • 负载均衡部署
  • 异步任务处理RabbitMQ

11. 部署架构

11.1 开发环境

  • 本地开发服务器
  • 热重载功能
  • 代理配置解决跨域问题

11.2 生产环境

  • Nginx反向代理服务器
  • 负载均衡配置
  • SSL证书配置
  • 日志收集和监控系统
  • 容器化部署Docker
  • 自动化部署CI/CD