# 系统架构文档

## 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. 系统架构图

为了更直观地展示系统架构，我们提供了一个可视化的系统架构图：

![系统架构图](./system_architecture.svg)

图中展示了以下主要层次和组件：

1. **用户接入层**：包括官网首页、专业管理系统和微信小程序矩阵
2. **API服务层**：基于Node.js的各个业务模块API服务
3. **数据处理与存储层**：包括关系数据库、缓存系统、消息队列、文件存储和日志存储
4. **数据分析与展示层**：包含大数据分析引擎、智能预警系统、可视化平台和实时数据推送
5. **监控与日志层**：应用性能监控、服务器资源监控、日志收集与分析以及异常告警
6. **部署架构层**：容器化部署、负载均衡、自动化部署和容灾备份

此外，图中还展示了各组件之间的连接关系和数据流向。

## 4. 前端系统架构

### 4.1 官网首页系统
- 纯HTML5、CSS3、JavaScript实现
- 响应式设计，适配多种设备
- 突出锡林郭勒盟地域元素和蒙古族文化特色
- 绿色草原主题风格
- 集成Chart.js实现数据可视化展示
- 通过官网API获取新闻资讯和统计数据

### 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.1.1 养殖管理API (`/api/v1/farming`)
- 牛只档案管理
- 饲喂记录
- 防疫管理
- 繁殖管理

#### 5.1.2 金融服务API (`/api/v1/finance`)
- 贷款申请
- 保险购买
- 理赔处理
- 贷款审批

#### 5.1.3 政府监管API (`/api/v1/gov`)
- 防疫任务下发
- 补贴发放
- 检疫监管
- 任务状态跟踪

#### 5.1.4 交易管理API (`/api/v1/trades`)
- 商品发布/下架
- 订单创建/支付
- 物流跟踪
- 订单状态查询

#### 5.1.5 商城管理API (`/api/v1/mall`)
- 商品管理
- 订单处理
- 库存管理
- 用户评价

#### 5.1.6 数据中台API (`/api/v1/data`)
- 数据血缘追踪
- 接口调用分析
- 数据质量监控

#### 5.1.7 AI能力API (`/api/v1/ai`)
- 牛只体况评估
- 饲料配方推荐
- 智能诊断辅助

#### 5.1.8 用户中心API (`/api/v1/users`)
- 用户注册/登录/注销
- 个人信息管理
- 权限控制

#### 5.1.9 官网API (`/api/v1/website`)
- 新闻资讯管理
- 平台数据展示
- 用户留言处理
- 平台信息配置

#### 5.1.10 大屏可视化API (`/api/v1/dashboard`)
- 实时数据展示（支持 WebSocket）
- 历史数据查询（支持分页和排序）
- 数据可视化配置（增删改查）
- 告警信息推送（订阅/取消订阅）
- 数据导出（CSV/JSON 格式）

### 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
│   │   ├── website/           # 官网API
│   │   └── user-center/       # 用户中心API
│   ├── database/              # 数据库脚本
│   ├── utils/                 # 工具函数
│   └── services/              # 微服务模块
├── docs/                      # 文档
└── deployment/                # 部署相关配置
```

## 7. 用户权限管理架构

### 7.1 集中式用户管理
- 所有用户信息统一在政府监管平台进行管理
- 各子系统仅负责登录验证和部分权限校验
- 实现统一的RBAC权限模型
- 通过用户中心API进行统一认证和授权

### 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设计
- 支持多维度数据钻取和交互
- 通过大屏可视化API获取实时和历史数据

## 9. 系统集成架构

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

### 9.2 数据交换机制
- RESTful API接口
- 消息队列异步处理
- 文件传输
- 数据库同步

## 10. 性能优化策略

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

### 10.2 后端优化
- 数据库索引优化
- API响应缓存（Redis）
- 数据库连接池
- 负载均衡部署
- 异步任务处理（RabbitMQ）

## 11. 系统监控与日志

### 11.1 监控系统
- 应用性能监控（APM）
- 服务器资源监控（CPU、内存、磁盘等）
- 数据库性能监控
- 网络监控
- 业务指标监控

### 11.2 日志系统
- 统一日志格式
- 日志分级管理（DEBUG、INFO、WARN、ERROR）
- 日志收集与分析（ELK Stack）
- 日志存储策略
- 异常日志告警

## 12. 部署架构

### 12.1 开发环境
- 本地开发服务器
- 热重载功能
- 代理配置解决跨域问题

### 12.2 生产环境
- Nginx反向代理服务器
- 负载均衡配置
- SSL证书配置
- 日志收集和监控系统
- 容器化部署（Docker）
- 自动化部署（CI/CD）

## 13. 容灾与备份策略

### 13.1 数据备份
- 定时全量备份
- 增量备份机制
- 备份数据异地存储
- 备份恢复演练

### 13.2 系统容灾
- 多节点部署
- 故障自动切换
- 数据同步机制
- 灾难恢复预案