# 系统架构文档 ## 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. 项目结构 ``` . ├── admin-system/ # 管理系统 │ ├── dashboard/ # 数据大屏 │ ├── official-website/ # 官网 │ ├── farming-management/ # 养殖管理系统 │ ├── bank-supervision/ # 银行监管系统 │ ├── insurance-supervision/ # 保险监管系统 │ ├── government-platform/ # 政府监管平台 │ ├── cattle-trading/ # 活牛交易系统 │ └── mall-management/ # 商城管理系统 ├── mini_program/ # 小程序集合 │ ├── farming-manager/ # 养殖管理小程序 │ ├── beef-mall/ # 牛肉商城小程序 │ ├── bank-supervision/ # 银行监管小程序 │ ├── insurance-supervision/ # 保险监管小程序 │ ├── cattle-trading/ # 活牛交易小程序 │ └── government-supervision/ # 政府监管小程序 ├── website/ # 官方网站 ├── backend-java/ # 后端项目 (Java微服务架构) │ ├── api/ # API网关模块 │ ├── gateway/ # Spring Cloud Gateway网关服务 │ ├── registry/ # Eureka服务注册中心 │ ├── config-server/ # Spring Cloud配置中心 │ ├── services/ # 微服务模块 │ │ ├── farming-service/ # 养殖管理服务 │ │ ├── finance-service/ # 金融服务 │ │ ├── government-service/ # 政府监管服务 │ │ ├── trade-service/ # 交易管理服务 │ │ ├── mall-service/ # 商城管理服务 │ │ ├── data-platform-service/ # 数据中台服务 │ │ ├── ai-service/ # AI能力服务 │ │ └── user-center-service/ # 用户中心服务 │ ├── common/ # 公共模块 │ ├── docs/ # 后端文档 │ ├── scripts/ # 后端脚本 │ └── pom.xml # Maven父项目配置文件 ├── 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 系统容灾 - 多节点部署 - 故障自动切换 - 数据同步机制 - 灾难恢复预案