docs: 重构API文档和系统架构文档,统一技术栈规范docs(architecture): 更新系统架构设计文档
- 重新组织文档结构,优化标题层级 - 添加系统架构图,直观展示系统组成- 补充前端架构、后端架构、数据架构等详细内容 - 更新安全架构、部署架构、性能优化策略等章节 - 增加扩展性设计和高可用设计章节 - 总结系统架构设计特点和优势
This commit is contained in:
145
docs/API_DOCUMENTATION_MAINTENANCE.md
Normal file
145
docs/API_DOCUMENTATION_MAINTENANCE.md
Normal file
@@ -0,0 +1,145 @@
|
||||
# API文档维护流程
|
||||
|
||||
## 1. 概述
|
||||
|
||||
本文档定义了xlxumu项目中API文档的维护流程和规范,适用于Node.js和Java两种技术栈的后端服务。
|
||||
|
||||
## 2. 维护责任
|
||||
|
||||
### 2.1 责任分配
|
||||
- **Node.js服务**: 由Node.js开发团队负责维护
|
||||
- **Java服务**: 由Java开发团队负责维护
|
||||
- **架构师**: 负责审核重大变更和规范更新
|
||||
- **技术负责人**: 负责日常审核和质量把控
|
||||
|
||||
### 2.2 维护周期
|
||||
- **实时更新**: API变更时必须同步更新文档
|
||||
- **定期检查**: 每月进行一次文档准确性检查
|
||||
- **版本发布**: 每个版本发布前必须完成文档更新
|
||||
|
||||
## 3. 更新流程
|
||||
|
||||
### 3.1 新增API
|
||||
1. 开发人员在实现API时同步编写文档
|
||||
2. 提交代码时包含API文档更新
|
||||
3. 技术负责人审核API文档
|
||||
4. 合并到主分支
|
||||
|
||||
### 3.2 修改API
|
||||
1. 评估变更影响范围
|
||||
2. 更新API文档
|
||||
3. 标注变更历史
|
||||
4. 技术负责人审核
|
||||
5. 发布更新
|
||||
|
||||
### 3.3 删除API
|
||||
1. 标记API为废弃状态
|
||||
2. 提供替代方案说明
|
||||
3. 设置废弃时间表
|
||||
4. 技术负责人审核
|
||||
5. 到期后删除文档
|
||||
|
||||
## 4. 技术栈特定规范
|
||||
|
||||
### 4.1 Node.js API文档维护
|
||||
- 文档位置: `docs/design/api/[service].md`
|
||||
- 使用Markdown格式编写
|
||||
- 遵循API文档标准规范
|
||||
|
||||
### 4.2 Java API文档维护
|
||||
- 文档位置: `docs/design/api/[service].md`
|
||||
- 使用Markdown格式编写
|
||||
- 遵循API文档标准规范
|
||||
- 响应格式需包含timestamp字段
|
||||
|
||||
## 5. 版本管理
|
||||
|
||||
### 5.1 版本号规则
|
||||
- 采用语义化版本号: `v主版本号.次版本号.修订号`
|
||||
- 与对应服务版本保持一致
|
||||
|
||||
### 5.2 版本兼容性
|
||||
- **主版本号变更**: 不兼容的API修改
|
||||
- **次版本号变更**: 向下兼容的功能性新增
|
||||
- **修订号变更**: 向下兼容的问题修正
|
||||
|
||||
### 5.3 版本发布流程
|
||||
1. 确认API文档已更新
|
||||
2. 技术负责人审核
|
||||
3. 生成版本标签
|
||||
4. 发布到文档服务器
|
||||
|
||||
## 6. 审核机制
|
||||
|
||||
### 6.1 审核层级
|
||||
- **开发人员自检**: 文档完整性和准确性
|
||||
- **技术负责人审核**: 技术规范和一致性
|
||||
- **架构师审核**: 重大变更和架构影响
|
||||
|
||||
### 6.2 审核要点
|
||||
- API功能描述准确性
|
||||
- 请求参数完整性
|
||||
- 响应格式正确性
|
||||
- 错误码定义完整性
|
||||
- 示例代码有效性
|
||||
|
||||
## 7. 质量保证
|
||||
|
||||
### 7.1 文档检查清单
|
||||
- [ ] 接口概述完整
|
||||
- [ ] 请求参数描述准确
|
||||
- [ ] 响应示例完整
|
||||
- [ ] 错误码定义完整
|
||||
- [ ] 示例代码可运行
|
||||
- [ ] 版本信息正确
|
||||
|
||||
### 7.2 自动化检查
|
||||
- 使用文档校验工具检查格式
|
||||
- 定期运行示例代码验证
|
||||
- 自动生成API文档网站
|
||||
|
||||
## 8. 变更记录
|
||||
|
||||
### 8.1 记录要求
|
||||
每次文档更新需要记录:
|
||||
- 更新日期
|
||||
- 更新内容
|
||||
- 更新人员
|
||||
- 影响范围
|
||||
|
||||
### 8.2 记录格式
|
||||
```markdown
|
||||
## [版本号] - [日期]
|
||||
### 新增
|
||||
- [新增内容]
|
||||
|
||||
### 修改
|
||||
- [修改内容]
|
||||
|
||||
### 删除
|
||||
- [删除内容]
|
||||
```
|
||||
|
||||
## 9. 发布与分发
|
||||
|
||||
### 9.1 发布渠道
|
||||
- 内部文档服务器
|
||||
- Git仓库
|
||||
- API文档网站
|
||||
|
||||
### 9.2 访问控制
|
||||
- 开发团队: 完全访问权限
|
||||
- 测试团队: 查看权限
|
||||
- 外部合作伙伴: 按需授权
|
||||
|
||||
## 10. 培训与支持
|
||||
|
||||
### 10.1 培训计划
|
||||
- 新员工入职培训
|
||||
- 技术栈专项培训
|
||||
- 文档规范培训
|
||||
|
||||
### 10.2 支持机制
|
||||
- 技术负责人提供文档编写支持
|
||||
- 定期组织文档评审会议
|
||||
- 建立文档问题反馈渠道
|
||||
@@ -1,195 +1,174 @@
|
||||
# API 文档格式规范标准
|
||||
# API文档规范标准
|
||||
|
||||
## 1. 文档结构规范
|
||||
## 1. 概述
|
||||
|
||||
### 1.1 文档头部
|
||||
```markdown
|
||||
# [系统名称] API 文档 (v[版本号])
|
||||
本文档定义了xlxumu项目中API文档的编写标准和规范,适用于Node.js和Java两种技术栈的后端服务。
|
||||
|
||||
## 1. 接口概述
|
||||
## 2. 文档结构
|
||||
|
||||
### 1.1 功能范围
|
||||
- [功能点1]
|
||||
- [功能点2]
|
||||
- [功能点3]
|
||||
每个API文档应包含以下部分:
|
||||
|
||||
### 1.2 基础路径
|
||||
`/api/v[版本号]/[系统名称]`
|
||||
1. 接口概述
|
||||
2. 技术栈说明
|
||||
3. 公共参数说明
|
||||
4. 接口列表
|
||||
5. 错误码定义
|
||||
6. 示例代码
|
||||
|
||||
### 1.3 权限控制
|
||||
- 公开接口(无需认证):[接口描述]
|
||||
- 管理接口(需要认证):[接口描述]
|
||||
## 3. 技术栈规范
|
||||
|
||||
### 1.4 全局错误码
|
||||
| 状态码 | 说明 |
|
||||
|--------|--------------------|
|
||||
| 400 | 请求参数无效 |
|
||||
| 401 | 未授权 |
|
||||
| 403 | 权限不足 |
|
||||
| 404 | 资源不存在 |
|
||||
| 500 | 服务器内部错误 |
|
||||
```
|
||||
### 3.1 Node.js技术栈API规范
|
||||
|
||||
## 2. 接口定义规范
|
||||
#### 3.1.1 基本信息
|
||||
- 协议:HTTP/HTTPS
|
||||
- 数据格式:JSON
|
||||
- 字符编码:UTF-8
|
||||
- 版本控制:通过URL路径实现(如/v1/)
|
||||
|
||||
### 2.1 接口格式
|
||||
```markdown
|
||||
### [序号].[序号] [接口名称]
|
||||
```
|
||||
[HTTP方法] [接口路径]
|
||||
#### 3.1.2 请求规范
|
||||
- Content-Type: application/json
|
||||
- Authorization: Bearer {token}
|
||||
- 请求体采用JSON格式
|
||||
|
||||
**请求参数**:
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|-------------|--------|------|--------------------|
|
||||
| param1 | string | 是 | 参数说明 |
|
||||
| param2 | number | 否 | 参数说明 |
|
||||
|
||||
**响应示例**:
|
||||
#### 3.1.3 响应规范
|
||||
```json
|
||||
{
|
||||
"status": "success",
|
||||
"code": 200,
|
||||
"message": "success",
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
### 3.2 Java技术栈API规范
|
||||
|
||||
#### 3.2.1 基本信息
|
||||
- 协议:HTTP/HTTPS
|
||||
- 数据格式:JSON
|
||||
- 字符编码:UTF-8
|
||||
- 版本控制:通过URL路径实现(如/v1/)
|
||||
|
||||
#### 3.2.2 请求规范
|
||||
- Content-Type: application/json
|
||||
- Authorization: Bearer {token}
|
||||
- 请求体采用JSON格式
|
||||
|
||||
#### 3.2.3 响应规范
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"message": "success",
|
||||
"data": {},
|
||||
"timestamp": "2024-01-20T10:00:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
## 4. 公共参数说明
|
||||
|
||||
### 4.1 请求头
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| Authorization | string | 是 | 认证令牌,格式为Bearer {token} |
|
||||
| Content-Type | string | 是 | application/json |
|
||||
| X-Request-ID | string | 否 | 请求唯一标识 |
|
||||
|
||||
### 4.2 响应结构
|
||||
| 字段名 | 类型 | 说明 |
|
||||
|--------|------|------|
|
||||
| code | integer | 状态码 |
|
||||
| message | string | 响应消息 |
|
||||
| data | object/array | 响应数据 |
|
||||
| timestamp | string | 响应时间戳(Java API特有) |
|
||||
|
||||
## 5. 接口列表规范
|
||||
|
||||
每个接口文档应包含以下信息:
|
||||
|
||||
### 5.1 接口基本信息
|
||||
- 接口名称
|
||||
- 请求方法 (GET/POST/PUT/DELETE)
|
||||
- 请求路径
|
||||
- 接口描述
|
||||
|
||||
### 5.2 请求参数
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| 参数1 | string | 是 | 参数说明 |
|
||||
|
||||
### 5.3 请求示例
|
||||
```bash
|
||||
curl -X POST "http://api.example.com/v1/users" \
|
||||
-H "Authorization: Bearer token" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"name": "张三"}'
|
||||
```
|
||||
|
||||
### 5.4 响应参数
|
||||
| 字段名 | 类型 | 说明 |
|
||||
|--------|------|------|
|
||||
| 字段1 | string | 字段说明 |
|
||||
|
||||
### 5.5 响应示例
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"message": "success",
|
||||
"data": {
|
||||
"field1": "value1",
|
||||
"field2": "value2"
|
||||
"id": 1,
|
||||
"name": "张三"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 2.2 错误响应格式
|
||||
```json
|
||||
{
|
||||
"status": "error",
|
||||
"code": "ERROR_CODE",
|
||||
"message": "错误描述信息"
|
||||
}
|
||||
```
|
||||
## 6. 错误码定义
|
||||
|
||||
## 3. 数据类型规范
|
||||
### 6.1 通用错误码
|
||||
| 错误码 | 说明 |
|
||||
|--------|------|
|
||||
| 200 | 请求成功 |
|
||||
| 400 | 请求参数错误 |
|
||||
| 401 | 未授权 |
|
||||
| 403 | 禁止访问 |
|
||||
| 404 | 资源不存在 |
|
||||
| 500 | 服务器内部错误 |
|
||||
|
||||
### 3.1 基本数据类型
|
||||
- `string`: 字符串类型
|
||||
- `number`: 数字类型
|
||||
- `boolean`: 布尔类型
|
||||
- `array`: 数组类型
|
||||
- `object`: 对象类型
|
||||
- `file`: 文件类型
|
||||
### 6.2 业务错误码
|
||||
业务错误码从10000开始定义,每个服务有独立的错误码范围。
|
||||
|
||||
### 3.2 日期时间格式
|
||||
- 日期: YYYY-MM-DD
|
||||
- 时间: YYYY-MM-DDTHH:mm:ssZ (ISO 8601)
|
||||
## 7. 示例代码
|
||||
|
||||
## 4. 权限控制规范
|
||||
|
||||
### 4.1 权限级别
|
||||
- **公开**: 无需认证即可访问
|
||||
- **用户**: 需要用户登录认证
|
||||
- **管理员**: 需要管理员权限
|
||||
- **系统管理员**: 需要系统管理员权限
|
||||
|
||||
### 4.2 权限标识
|
||||
在接口定义中明确标注所需权限级别
|
||||
|
||||
## 5. 版本管理规范
|
||||
|
||||
### 5.1 版本号格式
|
||||
采用语义化版本号: `v主版本号.次版本号.修订号`
|
||||
|
||||
### 5.2 版本兼容性
|
||||
- 主版本号变更: 不兼容的API修改
|
||||
- 次版本号变更: 向下兼容的功能性新增
|
||||
- 修订号变更: 向下兼容的问题修正
|
||||
|
||||
## 6. 安全规范
|
||||
|
||||
### 6.1 数据传输
|
||||
- 敏感数据必须使用HTTPS加密传输
|
||||
- 密码等敏感信息需要加密存储
|
||||
|
||||
### 6.2 身份认证
|
||||
- 使用JWT Token进行身份认证
|
||||
- Token有效期设置合理时间
|
||||
|
||||
## 7. 文档维护规范
|
||||
|
||||
### 7.1 更新记录
|
||||
每次文档更新需要记录:
|
||||
- 更新日期
|
||||
- 更新内容
|
||||
- 更新人员
|
||||
|
||||
### 7.2 审核机制
|
||||
- 新增接口需要经过技术负责人审核
|
||||
- 重大变更需要经过架构师审核
|
||||
|
||||
## 8. 示例模板
|
||||
|
||||
```markdown
|
||||
# 示例系统 API 文档 (v1.0.0)
|
||||
|
||||
## 1. 接口概述
|
||||
|
||||
### 1.1 功能范围
|
||||
- 用户管理
|
||||
- 数据查询
|
||||
- 系统配置
|
||||
|
||||
### 1.2 基础路径
|
||||
`/api/v1/example`
|
||||
|
||||
### 1.3 权限控制
|
||||
- 公开接口(无需认证):数据查询
|
||||
- 管理接口(需要认证):用户管理、系统配置
|
||||
|
||||
### 1.4 全局错误码
|
||||
| 状态码 | 说明 |
|
||||
|--------|--------------------|
|
||||
| 400 | 请求参数无效 |
|
||||
| 401 | 未授权 |
|
||||
| 403 | 权限不足 |
|
||||
| 404 | 资源不存在 |
|
||||
| 500 | 服务器内部错误 |
|
||||
|
||||
## 2. 接口明细
|
||||
|
||||
### 2.1 获取用户列表
|
||||
```
|
||||
GET /users
|
||||
```
|
||||
|
||||
**请求参数**:
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|-------------|--------|------|--------------------|
|
||||
| page | number | 否 | 页码(默认1) |
|
||||
| limit | number | 否 | 每页数量(默认10) |
|
||||
|
||||
**响应示例**:
|
||||
```json
|
||||
{
|
||||
"status": "success",
|
||||
"data": {
|
||||
"items": [
|
||||
{
|
||||
"id": 1,
|
||||
"username": "user1",
|
||||
"email": "user1@example.com"
|
||||
}
|
||||
],
|
||||
"total": 100,
|
||||
"page": 1,
|
||||
"limit": 10
|
||||
### 7.1 JavaScript示例
|
||||
```javascript
|
||||
// 使用axios调用API
|
||||
const response = await axios.post('/api/v1/users', {
|
||||
name: '张三'
|
||||
}, {
|
||||
headers: {
|
||||
'Authorization': 'Bearer token'
|
||||
}
|
||||
}
|
||||
```
|
||||
});
|
||||
```
|
||||
|
||||
## 9. 检查清单
|
||||
### 7.2 Java示例
|
||||
```java
|
||||
// 使用RestTemplate调用API
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.set("Authorization", "Bearer token");
|
||||
HttpEntity<User> entity = new HttpEntity<>(user, headers);
|
||||
ResponseEntity<ApiResponse> response = restTemplate.postForEntity("/api/v1/users", entity, ApiResponse.class);
|
||||
```
|
||||
|
||||
- [ ] 文档头部格式符合规范
|
||||
- [ ] 接口定义格式统一
|
||||
- [ ] 数据类型标注准确
|
||||
- [ ] 权限控制明确标注
|
||||
- [ ] 错误响应格式规范
|
||||
- [ ] 版本号管理规范
|
||||
- [ ] 安全要求明确
|
||||
- [ ] 示例代码完整
|
||||
```
|
||||
## 8. 文档维护
|
||||
|
||||
### 8.1 更新频率
|
||||
- API变更时必须同步更新文档
|
||||
- 每月定期检查文档准确性
|
||||
|
||||
### 8.2 版本控制
|
||||
- 文档版本与API版本保持一致
|
||||
- 重大变更需要更新版本号
|
||||
|
||||
### 8.3 审核流程
|
||||
1. 文档编写完成
|
||||
2. 技术负责人审核
|
||||
3. 团队评审
|
||||
4. 发布更新
|
||||
@@ -1,193 +1,185 @@
|
||||
# 项目目录结构说明
|
||||
# 项目结构说明
|
||||
|
||||
## 整体结构
|
||||
## 1. 项目总体结构
|
||||
|
||||
```
|
||||
xlxumu/
|
||||
├── backend-java/ # 后端服务目录 (Java微服务架构)
|
||||
├── admin-system/ # 管理后台系统目录
|
||||
├── website/ # 官网项目目录
|
||||
├── mini_program/ # 微信小程序矩阵目录
|
||||
├── docs/ # 项目文档目录
|
||||
├── test/ # 测试文件目录
|
||||
├── deployment/ # 部署配置目录
|
||||
└── scripts/ # 工具脚本目录
|
||||
├── admin-system/ # 管理后台前端
|
||||
├── backend-java/ # Java后端服务
|
||||
├── backend/ # Node.js后端服务
|
||||
├── docs/ # 项目文档
|
||||
├── frontend/ # 用户端前端
|
||||
├── miniprogram/ # 微信小程序
|
||||
└── README.md # 项目说明
|
||||
```
|
||||
|
||||
## 详细目录说明
|
||||
## 2. 前端项目结构
|
||||
|
||||
### 1. 后端服务目录 (backend-java/)
|
||||
```
|
||||
backend-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父项目配置文件
|
||||
```
|
||||
|
||||
#### 微服务模块结构
|
||||
每个微服务模块都遵循标准的Maven项目结构:
|
||||
```
|
||||
{service-name}/
|
||||
├── src/
|
||||
│ ├── main/
|
||||
│ │ ├── java/com/xlxumu/{service}/
|
||||
│ │ └── resources/
|
||||
│ └── test/
|
||||
│ └── java/com/xlxumu/{service}/
|
||||
└── pom.xml
|
||||
```
|
||||
|
||||
### 2. 管理后台系统目录 (admin-system/)
|
||||
### 2.1 admin-system (管理后台)
|
||||
```
|
||||
admin-system/
|
||||
├── farming-management/ # 养殖管理系统
|
||||
├── bank-supervision/ # 银行监管系统
|
||||
├── insurance-supervision/ # 保险监管系统
|
||||
├── government-platform/ # 政府监管平台
|
||||
├── cattle-trading/ # 活牛交易系统
|
||||
├── mall-management/ # 商城管理系统
|
||||
└── dashboard/ # 大屏可视化系统
|
||||
├── public/
|
||||
├── src/
|
||||
│ ├── api/ # API接口
|
||||
│ ├── assets/ # 静态资源
|
||||
│ ├── components/ # 公共组件
|
||||
│ ├── layout/ # 布局组件
|
||||
│ ├── router/ # 路由配置
|
||||
│ ├── store/ # 状态管理
|
||||
│ ├── styles/ # 样式文件
|
||||
│ ├── utils/ # 工具函数
|
||||
│ ├── views/ # 页面组件
|
||||
│ └── App.vue
|
||||
├── .env # 环境变量
|
||||
├── .eslintrc.js # ESLint配置
|
||||
├── package.json # 依赖配置
|
||||
└── vue.config.js # Vue配置
|
||||
```
|
||||
|
||||
### 3. 官网项目目录 (website/)
|
||||
### 2.2 frontend (用户端)
|
||||
```
|
||||
website/
|
||||
├── index.html # 首页
|
||||
├── about.html # 关于页面
|
||||
├── data.html # 数据展示页面
|
||||
├── news.html # 新闻页面
|
||||
├── css/ # 样式文件
|
||||
├── js/ # JavaScript文件
|
||||
└── images/ # 图片资源
|
||||
frontend/
|
||||
├── public/
|
||||
├── src/
|
||||
│ ├── api/ # API接口
|
||||
│ ├── assets/ # 静态资源
|
||||
│ ├── components/ # 公共组件
|
||||
│ ├── composables/ # 组合式函数
|
||||
│ ├── layout/ # 布局组件
|
||||
│ ├── pages/ # 页面组件
|
||||
│ ├── router/ # 路由配置
|
||||
│ ├── stores/ # 状态管理
|
||||
│ ├── styles/ # 样式文件
|
||||
│ ├── utils/ # 工具函数
|
||||
│ └── App.vue
|
||||
├── .env # 环境变量
|
||||
├── .eslintrc.js # ESLint配置
|
||||
├── nuxt.config.ts # Nuxt配置
|
||||
├── package.json # 依赖配置
|
||||
└── tsconfig.json # TypeScript配置
|
||||
```
|
||||
|
||||
### 4. 微信小程序矩阵目录 (mini_program/)
|
||||
### 2.3 miniprogram (微信小程序)
|
||||
```
|
||||
mini_program/
|
||||
├── beef-mall/ # 牛肉商城小程序
|
||||
├── farming-manager/ # 养殖管理小程序
|
||||
├── bank-supervision/ # 银行监管小程序
|
||||
├── insurance-supervision/ # 保险监管小程序
|
||||
├── cattle-trading/ # 活牛交易小程序
|
||||
├── gov-supervision/ # 政府监管小程序
|
||||
├── data-platform/ # 数据中台小程序
|
||||
└── ai-capabilities/ # AI能力小程序
|
||||
miniprogram/
|
||||
├── components/ # 自定义组件
|
||||
├── images/ # 图片资源
|
||||
├── pages/ # 页面文件
|
||||
├── utils/ # 工具函数
|
||||
├── app.js # 小程序逻辑
|
||||
├── app.json # 小程序公共设置
|
||||
├── app.wxss # 公共样式
|
||||
├── package.json # 依赖配置
|
||||
└── project.config.json # 项目配置
|
||||
```
|
||||
|
||||
### 5. 项目文档目录 (docs/)
|
||||
## 3. 后端项目结构
|
||||
|
||||
### 3.1 Java后端 (backend-java)
|
||||
```
|
||||
backend-java/
|
||||
├── README.md # 项目说明
|
||||
├── pom.xml # Maven配置
|
||||
├── common/ # 公共模块
|
||||
│ ├── pom.xml
|
||||
│ └── src/
|
||||
├── config-server/ # 配置中心
|
||||
│ ├── pom.xml
|
||||
│ └── src/
|
||||
├── gateway/ # 网关服务
|
||||
│ ├── pom.xml
|
||||
│ └── src/
|
||||
├── registry/ # 注册中心
|
||||
│ ├── pom.xml
|
||||
│ └── src/
|
||||
├── services/ # 业务服务
|
||||
│ ├── farming-service/ # 养殖管理服务 (端口: 8081)
|
||||
│ │ ├── pom.xml
|
||||
│ │ └── src/
|
||||
│ ├── user-center-service/ # 用户中心服务 (端口: 8082)
|
||||
│ │ ├── pom.xml
|
||||
│ │ └── src/
|
||||
│ ├── trade-service/ # 交易服务 (端口: 8083)
|
||||
│ │ ├── pom.xml
|
||||
│ │ └── src/
|
||||
│ ├── finance-service/ # 金融服务 (端口: 8084)
|
||||
│ │ ├── pom.xml
|
||||
│ │ └── src/
|
||||
│ ├── data-platform-service/ # 数据平台服务 (端口: 8085)
|
||||
│ │ ├── pom.xml
|
||||
│ │ └── src/
|
||||
│ ├── government-service/ # 政务服务 (端口: 8086)
|
||||
│ │ ├── pom.xml
|
||||
│ │ └── src/
|
||||
│ ├── dashboard-service/ # 大屏服务 (端口: 8087)
|
||||
│ │ ├── pom.xml
|
||||
│ │ └── src/
|
||||
│ └── mall-service/ # 商城服务 (端口: 8088)
|
||||
│ ├── pom.xml
|
||||
│ └── src/
|
||||
└── scripts/ # 部署脚本
|
||||
```
|
||||
|
||||
### 3.2 Node.js后端 (backend)
|
||||
```
|
||||
backend/
|
||||
├── api/ # API接口
|
||||
├── config/ # 配置文件
|
||||
├── controllers/ # 控制器
|
||||
├── middleware/ # 中间件
|
||||
├── models/ # 数据模型
|
||||
├── routes/ # 路由配置
|
||||
├── services/ # 业务逻辑
|
||||
├── utils/ # 工具函数
|
||||
├── app.js # 应用入口
|
||||
├── package.json # 依赖配置
|
||||
└── server.js # 服务启动
|
||||
```
|
||||
|
||||
## 4. 文档结构
|
||||
|
||||
```
|
||||
docs/
|
||||
├── design/ # 设计文档
|
||||
│ ├── ARCHITECTURE.md # 系统架构设计
|
||||
│ ├── DEVELOPMENT_PLAN.md # 开发计划
|
||||
│ ├── api/ # API设计文档
|
||||
│ ├── database/ # 数据库设计文档
|
||||
│ └── system_architecture.svg # 系统架构图
|
||||
├── requirements/ # 需求文档
|
||||
│ ├── SYSTEM_REQUIREMENTS.md # 系统需求
|
||||
│ ├── FARMING_MANAGEMENT_REQUIREMENTS.md # 养殖管理需求
|
||||
│ ├── FINANCIAL_SERVICES_REQUIREMENTS.md # 金融服务需求
|
||||
│ ├── GOVERNMENT_SUPERVISION_REQUIREMENTS.md # 政府监管需求
|
||||
│ ├── MALL_MANAGEMENT_REQUIREMENTS.md # 商城管理需求
|
||||
│ ├── MARKET_TRADING_REQUIREMENTS.md # 市场交易需求
|
||||
│ ├── DATA_PLATFORM_REQUIREMENTS.md # 数据中台需求
|
||||
│ ├── AI_CAPABILITIES_REQUIREMENTS.md # AI能力需求
|
||||
│ ├── SYSTEM_INTEGRATION_REQUIREMENTS.md # 系统集成需求
|
||||
│ └── WEBSITE_REQUIREMENTS.md # 官网需求
|
||||
├── development_plans/ # 开发计划文档
|
||||
│ ├── backend_api_development_plan.md # 后端API开发计划
|
||||
│ ├── farming_management_development_plan.md # 养殖管理开发计划
|
||||
│ ├── bank_supervision_development_plan.md # 银行监管开发计划
|
||||
│ ├── insurance_supervision_development_plan.md # 保险监管开发计划
|
||||
│ ├── government_platform_development_plan.md # 政府平台开发计划
|
||||
│ ├── cattle_trading_development_plan.md # 活牛交易开发计划
|
||||
│ ├── mall_management_development_plan.md # 商城管理开发计划
|
||||
│ ├── dashboard_development_plan.md # 大屏可视化开发计划
|
||||
│ └── website_development_plan.md # 官网开发计划
|
||||
├── API_DOCUMENTATION_STANDARD.md # API文档规范标准
|
||||
├── API_DOCUMENTATION_CHECKLIST.md # API文档检查清单
|
||||
├── DOCUMENTATION_MAINTENANCE_PROCESS.md # 文档维护流程
|
||||
└── PROJECT_STRUCTURE.md # 项目结构说明(本文档)
|
||||
├── README.md # 文档目录说明
|
||||
├── API_DOCUMENTATION_STANDARD.md # API文档标准
|
||||
├── API_DOCUMENTATION_MAINTENANCE.md # API文档维护流程
|
||||
├── PROJECT_STRUCTURE.md # 项目结构说明
|
||||
├── design/ # 设计文档
|
||||
│ ├── ARCHITECTURE.md # 系统架构设计
|
||||
│ ├── DEVELOPMENT_PLAN.md # 开发计划
|
||||
│ ├── api/ # API设计
|
||||
│ └── database/ # 数据库设计
|
||||
├── development_plans/ # 开发计划
|
||||
└── requirements/ # 需求文档
|
||||
```
|
||||
|
||||
### 6. 测试文件目录 (test/)
|
||||
```
|
||||
test/
|
||||
├── unit/ # 单元测试
|
||||
├── integration/ # 集成测试
|
||||
├── e2e/ # 端到端测试
|
||||
└── performance/ # 性能测试
|
||||
```
|
||||
## 5. 部署配置
|
||||
|
||||
### 7. 部署配置目录 (deployment/)
|
||||
```
|
||||
deployment/
|
||||
├── docker/ # Docker配置
|
||||
├── kubernetes/ # Kubernetes配置
|
||||
├── nginx/ # Nginx配置
|
||||
├── scripts/ # 部署脚本
|
||||
└── README.md # 部署说明文档
|
||||
```
|
||||
### 5.1 环境配置
|
||||
- `.env`: 开发环境配置
|
||||
- `.env.staging`: 测试环境配置
|
||||
- `.env.production`: 生产环境配置
|
||||
|
||||
### 8. 工具脚本目录 (scripts/)
|
||||
```
|
||||
scripts/
|
||||
└── update_api_docs.py # API文档更新脚本
|
||||
```
|
||||
### 5.2 Docker配置
|
||||
- `docker-compose.yml`: Docker编排配置
|
||||
- `Dockerfile`: Docker镜像配置
|
||||
|
||||
## 目录命名规范
|
||||
## 6. 技术栈说明
|
||||
|
||||
1. **后端目录**: 使用英文单数形式,如 `backend-java/`
|
||||
2. **前端目录**: 使用英文单数形式,如 `admin-system/`
|
||||
3. **文档目录**: 使用英文复数形式,如 `docs/`
|
||||
4. **子目录**: 使用英文连字符分隔,如 `farming-management/`
|
||||
5. **API目录**: 使用英文单数形式,如 `api/farming/`
|
||||
### 6.1 前端技术栈
|
||||
- Vue 3 + Element Plus (管理后台)
|
||||
- Nuxt 3 (用户端)
|
||||
- 微信小程序原生开发
|
||||
|
||||
## 开发规范
|
||||
### 6.2 后端技术栈
|
||||
- Java Spring Boot (核心服务)
|
||||
- Node.js Express (部分服务)
|
||||
- MySQL (主数据库)
|
||||
- Redis (缓存)
|
||||
- RabbitMQ (消息队列)
|
||||
|
||||
1. **模块化开发**: 每个功能模块独立开发,便于维护和扩展
|
||||
2. **前后端分离**: 后端提供RESTful API,前端通过API调用数据
|
||||
3. **文档驱动**: 所有功能开发前必须先完成需求文档和设计文档
|
||||
4. **测试覆盖**: 每个模块都需要有相应的测试用例
|
||||
5. **代码规范**: 遵循统一的代码风格和命名规范
|
||||
|
||||
## 部署说明
|
||||
|
||||
1. **独立部署**: 每个子系统可以独立部署和运行
|
||||
2. **微服务架构**: 后端采用微服务架构,支持水平扩展
|
||||
3. **容器化**: 支持Docker容器化部署
|
||||
4. **自动化部署**: 提供自动化部署脚本和配置
|
||||
|
||||
## 维护说明
|
||||
|
||||
1. **文档更新**: 任何代码变更都需要同步更新相关文档
|
||||
2. **版本控制**: 使用Git进行版本控制,遵循语义化版本规范
|
||||
3. **代码审查**: 所有代码提交都需要经过代码审查
|
||||
4. **持续集成**: 配置CI/CD流水线,自动化测试和部署
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [API文档规范标准](./API_DOCUMENTATION_STANDARD.md)
|
||||
- [API文档检查清单](./API_DOCUMENTATION_CHECKLIST.md)
|
||||
- [文档维护流程](./DOCUMENTATION_MAINTENANCE_PROCESS.md)
|
||||
- [系统架构设计](./design/ARCHITECTURE.md)
|
||||
- [开发计划](./design/DEVELOPMENT_PLAN.md)
|
||||
|
||||
---
|
||||
|
||||
**最后更新**: 2024年1月20日
|
||||
**版本**: v1.0.0
|
||||
### 6.3 DevOps工具
|
||||
- Git (版本控制)
|
||||
- Jenkins (持续集成)
|
||||
- Docker (容器化)
|
||||
- Kubernetes (容器编排)
|
||||
189
docs/README.md
189
docs/README.md
@@ -1,91 +1,126 @@
|
||||
# 项目文档
|
||||
# xlxumu项目文档
|
||||
|
||||
## 概述
|
||||
## 项目概述
|
||||
|
||||
本文档目录包含了锡林郭勒盟智慧养殖数字化管理平台的所有相关文档。
|
||||
xlxumu是一个综合性的畜牧管理系统,旨在为畜牧业提供全面的数字化解决方案。该系统涵盖了从养殖管理、金融服务、政府监管到电商交易等各个环节,通过现代化的技术架构和用户友好的界面设计,提升畜牧业的管理效率和经济效益。
|
||||
|
||||
## 文档列表
|
||||
## 文档结构
|
||||
|
||||
### 1. 架构文档
|
||||
- [系统架构文档](./design/ARCHITECTURE.md) - 系统整体架构设计,包含技术栈、系统架构图、前端系统架构、后端系统架构、用户权限管理架构、大屏可视化系统架构、系统集成架构、性能优化策略和部署架构
|
||||
- [开发计划文档](./design/DEVELOPMENT_PLAN.md) - 项目开发计划和时间安排
|
||||
```
|
||||
docs/
|
||||
├── requirements/ # 需求文档
|
||||
├── design/ # 设计文档
|
||||
├── development_plans/ # 开发计划
|
||||
├── API_DOCUMENTATION_STANDARD.md # API文档标准
|
||||
├── API_DOCUMENTATION_CHECKLIST.md # API文档检查清单
|
||||
├── DOCUMENTATION_MAINTENANCE_PROCESS.md # 文档维护流程
|
||||
├── PROJECT_STRUCTURE.md # 项目结构说明
|
||||
└── README.md # 文档目录说明(当前文件)
|
||||
```
|
||||
|
||||
### 2. 需求文档
|
||||
- [系统需求文档](./requirements/SYSTEM_REQUIREMENTS.md) - 系统非功能性需求
|
||||
- [养殖管理系统需求文档](./requirements/FARMING_MANAGEMENT_REQUIREMENTS.md) - 养殖管理系统的功能性需求
|
||||
- [金融服务系统需求文档](./requirements/FINANCIAL_SERVICES_REQUIREMENTS.md) - 金融服务系统的功能性需求
|
||||
- [政府监管系统需求文档](./requirements/GOVERNMENT_SUPERVISION_REQUIREMENTS.md) - 政府监管系统的功能性需求
|
||||
- [市场交易系统需求文档](./requirements/MARKET_TRADING_REQUIREMENTS.md) - 市场交易系统的功能性需求
|
||||
- [商城管理系统需求文档](./requirements/MALL_MANAGEMENT_REQUIREMENTS.md) - 商城管理系统的功能性需求
|
||||
- [数据中台系统需求文档](./requirements/DATA_PLATFORM_REQUIREMENTS.md) - 数据中台系统的功能性需求
|
||||
- [AI能力系统需求文档](./requirements/AI_CAPABILITIES_REQUIREMENTS.md) - AI能力系统的功能性需求
|
||||
- [官网需求文档](./requirements/WEBSITE_REQUIREMENTS.md) - 官网的功能性需求
|
||||
- [大屏可视化系统需求文档](./requirements/dashboard_requirements.md) - 大屏可视化系统的功能性需求
|
||||
- [系统集成需求文档](./requirements/SYSTEM_INTEGRATION_REQUIREMENTS.md) - 系统集成需求
|
||||
- 微信小程序需求文档:
|
||||
- [养殖户小程序需求文档](./requirements/farming_app_requirements.md) - 养殖户小程序的功能性需求
|
||||
- [金融服务小程序需求文档](./requirements/finance_app_requirements.md) - 金融服务小程序的功能性需求
|
||||
- [政府监管小程序需求文档](./requirements/gov_app_requirements.md) - 政府监管小程序的功能性需求
|
||||
- [市场交易小程序需求文档](./requirements/trading_app_requirements.md) - 市场交易小程序的功能性需求
|
||||
- [数据中台小程序需求文档](./requirements/data_platform_app_requirements.md) - 数据中台小程序的功能性需求
|
||||
- [AI能力小程序需求文档](./requirements/ai_app_requirements.md) - AI能力小程序的功能性需求
|
||||
- [牛肉商城小程序需求文档](./requirements/mall_app_requirements.md) - 牛肉商城小程序的功能性需求
|
||||
## 需求文档 (requirements/)
|
||||
|
||||
### 3. 设计文档
|
||||
- [养殖管理API](./design/api/farming.md) - 养殖管理相关接口
|
||||
- [金融服务API](./design/api/finance.md) - 金融服务相关接口
|
||||
- [政府监管API](./design/api/government.md) - 政府监管相关接口
|
||||
- [市场交易API](./design/api/trade.md) - 市场交易相关接口
|
||||
- [数据中台API](./design/api/data-platform.md) - 数据中台相关接口
|
||||
- [用户中心API](./design/api/user-center.md) - 用户中心相关接口
|
||||
- [官网API](./design/api/website.md) - 官网相关接口
|
||||
- [大屏可视化API](./design/api/dashboard.md) - 大屏可视化相关接口
|
||||
- 微信小程序API:
|
||||
- [养殖户小程序API](./design/api/miniprograms/farming-app.md) - 养殖户小程序相关接口
|
||||
- [政务人员小程序API](./design/api/miniprograms/gov-app.md) - 政务人员小程序相关接口
|
||||
- [商户小程序API](./design/api/miniprograms/merchant-app.md) - 商户小程序相关接口
|
||||
- [普通用户小程序API](./design/api/miniprograms/user-app.md) - 普通用户小程序相关接口
|
||||
### 系统级需求
|
||||
- [SYSTEM_REQUIREMENTS.md](requirements/SYSTEM_REQUIREMENTS.md) - 系统整体需求
|
||||
- [SYSTEM_INTEGRATION_REQUIREMENTS.md](requirements/SYSTEM_INTEGRATION_REQUIREMENTS.md) - 系统集成需求
|
||||
|
||||
### 4. 技术文档
|
||||
- 数据库设计文档 (位于[backend-java/services/farming-service/src/main/resources/sql](file:///Users/ainongkeji/code/vue/xlxumu/backend-java/services/farming-service/src/main/resources/sql)目录)
|
||||
- 前端组件文档 (各前端项目中)
|
||||
- 部署文档 ([deployment/README.md](file:///Users/ainongkeji/code/vue/xlxumu/deployment/README.md))
|
||||
### 业务模块需求
|
||||
- [FARMING_MANAGEMENT_REQUIREMENTS.md](requirements/FARMING_MANAGEMENT_REQUIREMENTS.md) - 养殖管理需求
|
||||
- [FINANCIAL_SERVICES_REQUIREMENTS.md](requirements/FINANCIAL_SERVICES_REQUIREMENTS.md) - 金融服务需求
|
||||
- [GOVERNMENT_SUPERVISION_REQUIREMENTS.md](requirements/GOVERNMENT_SUPERVISION_REQUIREMENTS.md) - 政府监管需求
|
||||
- [MARKET_TRADING_REQUIREMENTS.md](requirements/MARKET_TRADING_REQUIREMENTS.md) - 市场交易需求
|
||||
- [MALL_MANAGEMENT_REQUIREMENTS.md](requirements/MALL_MANAGEMENT_REQUIREMENTS.md) - 商城管理需求
|
||||
- [DATA_PLATFORM_REQUIREMENTS.md](requirements/DATA_PLATFORM_REQUIREMENTS.md) - 数据平台需求
|
||||
- [AI_CAPABILITIES_REQUIREMENTS.md](requirements/AI_CAPABILITIES_REQUIREMENTS.md) - AI能力需求
|
||||
- [WEBSITE_REQUIREMENTS.md](requirements/WEBSITE_REQUIREMENTS.md) - 官网需求
|
||||
- [RAISING_MANAGEMENT_REQUIREMENTS.md](requirements/RAISING_MANAGEMENT_REQUIREMENTS.md) - 养殖管理需求
|
||||
|
||||
### 5. 各系统详细开发计划
|
||||
- [养殖管理系统开发计划](./development_plans/farming_management_development_plan.md) - 养殖管理系统的详细开发计划
|
||||
- [银行监管系统开发计划](./development_plans/bank_supervision_development_plan.md) - 银行监管系统的详细开发计划
|
||||
- [保险监管系统开发计划](./development_plans/insurance_supervision_development_plan.md) - 保险监管系统的详细开发计划
|
||||
- [政府监管平台开发计划](./development_plans/government_platform_development_plan.md) - 政府监管平台的详细开发计划
|
||||
- [活牛交易系统开发计划](./development_plans/cattle_trading_development_plan.md) - 活牛交易系统的详细开发计划
|
||||
- [商城管理系统开发计划](./development_plans/mall_management_development_plan.md) - 商城管理系统的详细开发计划
|
||||
- [官网开发计划](./development_plans/website_development_plan.md) - 官网的详细开发计划
|
||||
- [后端API服务开发计划](./development_plans/backend_api_development_plan.md) - 后端API服务的详细开发计划
|
||||
- [大屏可视化系统开发计划](./development_plans/dashboard_development_plan.md) - 大屏可视化系统的详细开发计划
|
||||
### 小程序需求
|
||||
- [farming_app_requirements.md](requirements/farming_app_requirements.md) - 养殖管理小程序需求
|
||||
- [finance_app_requirements.md](requirements/finance_app_requirements.md) - 金融小程序需求
|
||||
- [gov_app_requirements.md](requirements/gov_app_requirements.md) - 政府监管小程序需求
|
||||
- [trading_app_requirements.md](requirements/trading_app_requirements.md) - 交易小程序需求
|
||||
- [mall_app_requirements.md](requirements/mall_app_requirements.md) - 商城小程序需求
|
||||
- [data_platform_app_requirements.md](requirements/data_platform_app_requirements.md) - 数据平台小程序需求
|
||||
- [ai_app_requirements.md](requirements/ai_app_requirements.md) - AI能力小程序需求
|
||||
- [dashboard_requirements.md](requirements/dashboard_requirements.md) - 仪表板需求
|
||||
|
||||
### 6. 微信小程序详细开发计划
|
||||
- [牛肉商城小程序开发计划](./development_plans/miniprograms/beef_mall_miniprogram_development_plan.md) - 牛肉商城小程序的详细开发计划
|
||||
- [养殖管理小程序开发计划](./development_plans/miniprograms/farming_management_miniprogram_development_plan.md) - 养殖管理小程序的详细开发计划
|
||||
- [银行监管小程序开发计划](./development_plans/miniprograms/bank_supervision_miniprogram_development_plan.md) - 银行监管小程序的详细开发计划
|
||||
- [保险监管小程序开发计划](./development_plans/miniprograms/insurance_supervision_miniprogram_development_plan.md) - 保险监管小程序的详细开发计划
|
||||
- [活牛交易小程序开发计划](./development_plans/miniprograms/cattle_trading_miniprogram_development_plan.md) - 活牛交易小程序的详细开发计划
|
||||
## 设计文档 (design/)
|
||||
|
||||
### 7. 用户文档
|
||||
- 用户手册 (待编写)
|
||||
- 管理员手册 (待编写)
|
||||
- 操作指南 (待编写)
|
||||
### 系统架构设计
|
||||
- [ARCHITECTURE.md](design/ARCHITECTURE.md) - 系统架构设计
|
||||
- [system_architecture.svg](design/system_architecture.svg) - 系统架构图
|
||||
|
||||
### 8. 其他文档
|
||||
- 测试报告 (待编写)
|
||||
- 项目总结报告 (待编写)
|
||||
### 数据库设计
|
||||
- [database/README.md](design/database/README.md) - 数据库设计说明
|
||||
- [database/DESIGN.md](design/database/DESIGN.md) - 数据库详细设计
|
||||
|
||||
### API设计
|
||||
- [api/farming.md](design/api/farming.md) - 养殖管理API设计
|
||||
- [api/finance.md](design/api/finance.md) - 金融服务API设计
|
||||
- [api/government.md](design/api/government.md) - 政府监管API设计
|
||||
- [api/trade.md](design/api/trade.md) - 交易管理API设计
|
||||
- [api/data-platform.md](design/api/data-platform.md) - 数据平台API设计
|
||||
- [api/user-center.md](design/api/user-center.md) - 用户中心API设计
|
||||
- [api/dashboard.md](design/api/dashboard.md) - 仪表板API设计
|
||||
- [api/website.md](design/api/website.md) - 官网API设计
|
||||
|
||||
### 小程序API设计
|
||||
- [api/miniprograms/](design/api/miniprograms/) - 小程序API设计目录
|
||||
|
||||
## 开发计划 (development_plans/)
|
||||
|
||||
### 后端开发计划
|
||||
- [backend_api_development_plan.md](development_plans/backend_api_development_plan.md) - 后端API开发计划
|
||||
|
||||
### 前端开发计划
|
||||
- [dashboard_development_plan.md](development_plans/dashboard_development_plan.md) - 仪表板开发计划
|
||||
- [farming_management_development_plan.md](development_plans/farming_management_development_plan.md) - 养殖管理开发计划
|
||||
- [cattle_trading_development_plan.md](development_plans/cattle_trading_development_plan.md) - 牛只交易开发计划
|
||||
- [mall_management_development_plan.md](development_plans/mall_management_development_plan.md) - 商城管理开发计划
|
||||
- [bank_supervision_development_plan.md](development_plans/bank_supervision_development_plan.md) - 银行监管开发计划
|
||||
- [insurance_supervision_development_plan.md](development_plans/insurance_supervision_development_plan.md) - 保险监管开发计划
|
||||
- [government_platform_development_plan.md](development_plans/government_platform_development_plan.md) - 政府平台开发计划
|
||||
- [website_development_plan.md](development_plans/website_development_plan.md) - 官网开发计划
|
||||
|
||||
### 小程序开发计划
|
||||
- [farming_management_miniprogram_development_plan.md](development_plans/farming_management_miniprogram_development_plan.md) - 养殖管理小程序开发计划
|
||||
- [cattle_trading_miniprogram_development_plan.md](development_plans/cattle_trading_miniprogram_development_plan.md) - 牛只交易小程序开发计划
|
||||
- [beef_mall_miniprogram_development_plan.md](development_plans/beef_mall_miniprogram_development_plan.md) - 牛肉商城小程序开发计划
|
||||
- [bank_supervision_miniprogram_development_plan.md](development_plans/bank_supervision_miniprogram_development_plan.md) - 银行监管小程序开发计划
|
||||
- [insurance_supervision_miniprogram_development_plan.md](development_plans/insurance_supervision_miniprogram_development_plan.md) - 保险监管小程序开发计划
|
||||
|
||||
## 标准与规范
|
||||
|
||||
- [API_DOCUMENTATION_STANDARD.md](API_DOCUMENTATION_STANDARD.md) - API文档标准
|
||||
- [API_DOCUMENTATION_CHECKLIST.md](API_DOCUMENTATION_CHECKLIST.md) - API文档检查清单
|
||||
- [DOCUMENTATION_MAINTENANCE_PROCESS.md](DOCUMENTATION_MAINTENANCE_PROCESS.md) - 文档维护流程
|
||||
- [PROJECT_STRUCTURE.md](PROJECT_STRUCTURE.md) - 项目结构说明
|
||||
|
||||
## 技术架构更新
|
||||
|
||||
随着项目的发展,我们新增了Java版本后端技术栈:
|
||||
|
||||
### Java后端技术栈
|
||||
- Java 8+ + Spring Boot 2.7.x
|
||||
- Spring Cloud 2021.x
|
||||
- Maven 3.8.x
|
||||
- MySQL 8.0
|
||||
|
||||
### 微服务架构
|
||||
项目现在采用微服务架构,包含以下服务:
|
||||
- farming-service (养殖管理服务)
|
||||
- user-center-service (用户中心服务)
|
||||
- finance-service (金融服务)
|
||||
- government-service (政府监管服务)
|
||||
- trade-service (交易管理服务)
|
||||
- mall-service (商城管理服务)
|
||||
- data-platform-service (数据平台服务)
|
||||
- ai-service (AI能力服务)
|
||||
- gateway (网关服务)
|
||||
- config-server (配置服务器)
|
||||
- registry (服务注册中心)
|
||||
|
||||
## 文档维护
|
||||
|
||||
所有文档应保持最新状态,与代码实现保持一致。当功能发生变化时,应及时更新相关文档。
|
||||
|
||||
## 贡献指南
|
||||
|
||||
如果您需要更新文档,请遵循以下步骤:
|
||||
1. Fork项目仓库
|
||||
2. 创建新的文档分支
|
||||
3. 进行文档修改
|
||||
4. 提交Pull Request
|
||||
请参考 [DOCUMENTATION_MAINTENANCE_PROCESS.md](DOCUMENTATION_MAINTENANCE_PROCESS.md) 了解文档维护流程和规范。
|
||||
@@ -1,502 +1,363 @@
|
||||
# 系统架构文档
|
||||
# 系统架构设计文档
|
||||
|
||||
## 1. 概述
|
||||
|
||||
本项目是一个综合性的畜牧业数字化管理平台,主要面向锡林郭勒盟地区的养殖产业,包含官网展示、后台管理、移动端小程序、大屏可视化等多个子系统。平台集成了养殖管理、金融服务(银行监管、保险监管)、政府监管、牛只交易、牛肉商城、数据分析等功能模块,旨在通过数字化手段提升整个产业链的管理效率和透明度。
|
||||
本项目采用前后端分离的架构设计,后端基于双技术栈(Java Spring Boot + Node.js)的微服务架构,前端采用Vue.js和Nuxt.js技术栈,支持Web端和微信小程序等多种客户端。
|
||||
|
||||
## 2. 技术栈
|
||||
|
||||
### 2.1 前端技术栈
|
||||
- **官网首页**: HTML5 + CSS3 + JavaScript
|
||||
- **后台管理系统**: Vue.js 3 + TypeScript + Ant Design Vue + Pinia
|
||||
- **大屏可视化系统**: Vue.js 3 + ECharts + 自定义可视化组件
|
||||
- **微信小程序矩阵**: 微信小程序原生开发 + uni-app
|
||||
- **管理后台**: Vue 3 + Element Plus
|
||||
- **用户端**: Nuxt 3 (SSR)
|
||||
- **微信小程序**: 微信小程序原生开发
|
||||
- **构建工具**: Vite, Webpack
|
||||
- **状态管理**: Pinia, Vuex
|
||||
- **HTTP客户端**: Axios
|
||||
|
||||
### 2.2 后端技术栈
|
||||
- **API服务**: Node.js + Express.js + TypeScript + RESTful API
|
||||
- **数据库**: MySQL
|
||||
- **缓存系统**: Redis
|
||||
- **消息队列**: RabbitMQ(用于异步处理)
|
||||
- **文件存储**: 腾讯云对象存储
|
||||
- **实时通信**: WebSocket(用于大屏数据推送和实时通知)
|
||||
|
||||
### 2.3 数据库配置
|
||||
#### 2.2.1 Java技术栈(主要)
|
||||
- **核心框架**: Spring Boot 2.7.x, Spring Cloud 2021.x
|
||||
- **服务注册与发现**: Eureka
|
||||
- **配置中心**: Spring Cloud Config
|
||||
- **API网关**: Spring Cloud Gateway
|
||||
- **数据库**: MySQL 8.0, Spring Data JPA
|
||||
- **缓存**: Redis
|
||||
- **消息队列**: RabbitMQ
|
||||
- **安全框架**: Spring Security + JWT
|
||||
- **构建工具**: Maven 3.8.x
|
||||
|
||||
#### 2.3.1 测试环境
|
||||
- **主机**: `192.168.0.240` (MySQL主机地址)
|
||||
- **端口**: `3306` (MySQL端口)
|
||||
- **用户名**: `root`
|
||||
- **密码**: `aiot$Aiot123`
|
||||
- **数据库**: `xlxumudata`
|
||||
#### 2.2.2 Node.js技术栈(辅助)
|
||||
- **运行环境**: Node.js 16.x
|
||||
- **Web框架**: Express.js
|
||||
- **数据库**: MySQL 8.0
|
||||
- **ORM**: Sequelize
|
||||
- **构建工具**: NPM/Yarn
|
||||
|
||||
#### 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数据处理流程
|
||||
- **数据存储**: 分层数据存储(操作数据、历史数据、统计数据)
|
||||
- **大数据分析**: 数据分析引擎
|
||||
- **智能预警**: 基于规则的预警系统
|
||||
- **可视化展示**: 图表化数据展示平台
|
||||
### 2.3 基础设施
|
||||
- **容器化**: Docker
|
||||
- **容器编排**: Kubernetes
|
||||
- **反向代理**: Nginx
|
||||
- **监控**: Prometheus + Grafana
|
||||
- **日志**: ELK Stack (Elasticsearch, Logstash, Kibana)
|
||||
- **CI/CD**: Jenkins
|
||||
|
||||
## 3. 系统架构图
|
||||
|
||||
为了更直观地展示系统架构,我们提供了一个可视化的系统架构图:
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph "客户端层"
|
||||
A[Web浏览器] --> B[管理后台 admin-system]
|
||||
C[Web浏览器] --> D[用户端 frontend]
|
||||
E[微信客户端] --> F[微信小程序 miniprogram]
|
||||
end
|
||||
|
||||

|
||||
subgraph "网关层"
|
||||
G[API网关 gateway]
|
||||
end
|
||||
|
||||
图中展示了以下主要层次和组件:
|
||||
subgraph "服务注册与配置中心"
|
||||
H[Eureka注册中心 registry]
|
||||
I[Config配置中心 config-server]
|
||||
end
|
||||
|
||||
1. **用户接入层**:包括官网首页、专业管理系统和微信小程序矩阵
|
||||
2. **API服务层**:基于Node.js的各个业务模块API服务
|
||||
3. **数据处理与存储层**:包括关系数据库、缓存系统、消息队列、文件存储和日志存储
|
||||
4. **数据分析与展示层**:包含大数据分析引擎、智能预警系统、可视化平台和实时数据推送
|
||||
5. **监控与日志层**:应用性能监控、服务器资源监控、日志收集与分析以及异常告警
|
||||
6. **部署架构层**:容器化部署、负载均衡、自动化部署和容灾备份
|
||||
subgraph "核心业务服务层(Java)"
|
||||
J[养殖管理服务<br/>farming-service:8081]
|
||||
K[用户中心服务<br/>user-center-service:8082]
|
||||
L[交易服务<br/>trade-service:8083]
|
||||
M[金融服务<br/>finance-service:8084]
|
||||
N[数据平台服务<br/>data-platform-service:8085]
|
||||
O[政务服务<br/>government-service:8086]
|
||||
P[大屏服务<br/>dashboard-service:8087]
|
||||
Q[商城服务<br/>mall-service:8088]
|
||||
end
|
||||
|
||||
此外,图中还展示了各组件之间的连接关系和数据流向。
|
||||
subgraph "辅助业务服务层(Node.js)"
|
||||
R[AI能力服务<br/>ai-service:3001]
|
||||
S[部分遗留服务<br/>legacy-service:3002]
|
||||
end
|
||||
|
||||
## 4. 前端系统架构
|
||||
subgraph "数据存储层"
|
||||
T[MySQL主数据库]
|
||||
U[Redis缓存]
|
||||
V[RabbitMQ消息队列]
|
||||
end
|
||||
|
||||
### 4.1 官网首页系统
|
||||
- 纯HTML5、CSS3、JavaScript实现
|
||||
- 响应式设计,适配多种设备
|
||||
- 突出锡林郭勒盟地域元素和蒙古族文化特色
|
||||
- 绿色草原主题风格
|
||||
- 集成Chart.js实现数据可视化展示
|
||||
- 通过官网API获取新闻资讯和统计数据
|
||||
subgraph "基础设施层"
|
||||
W[Docker容器]
|
||||
X[Kubernetes集群]
|
||||
Y[Nginx反向代理]
|
||||
end
|
||||
|
||||
### 4.2 专业管理系统
|
||||
B --> G
|
||||
D --> G
|
||||
F --> G
|
||||
|
||||
#### 4.2.1 养殖管理系统
|
||||
- 基于Vue.js 3 Composition API
|
||||
- 使用Ant Design Vue组件库
|
||||
- 状态管理采用Pinia
|
||||
- TypeScript增强代码可维护性
|
||||
G --> H
|
||||
G --> J
|
||||
G --> K
|
||||
G --> L
|
||||
G --> M
|
||||
G --> N
|
||||
G --> O
|
||||
G --> P
|
||||
G --> Q
|
||||
G --> R
|
||||
G --> S
|
||||
|
||||
##### 功能模块
|
||||
1. 牛只档案管理
|
||||
2. 饲养记录管理
|
||||
3. 繁殖管理
|
||||
4. 环境监测数据展示
|
||||
5. 健康监测管理
|
||||
6. 生产计划制定和执行跟踪
|
||||
J --> T
|
||||
K --> T
|
||||
L --> T
|
||||
M --> T
|
||||
N --> T
|
||||
O --> T
|
||||
P --> T
|
||||
Q --> T
|
||||
R --> T
|
||||
S --> T
|
||||
|
||||
#### 4.2.2 银行监管系统
|
||||
- 基于Vue.js 3 Composition API
|
||||
- 使用Ant Design Vue组件库
|
||||
- 状态管理采用Pinia
|
||||
- TypeScript增强代码可维护性
|
||||
J --> U
|
||||
K --> U
|
||||
L --> U
|
||||
M --> U
|
||||
N --> U
|
||||
O --> U
|
||||
P --> U
|
||||
Q --> U
|
||||
R --> U
|
||||
S --> U
|
||||
|
||||
##### 功能模块
|
||||
1. 贷款申请和审批流程管理
|
||||
2. 质押物(牛只)状态监控
|
||||
3. 还款计划跟踪
|
||||
4. 风险评估数据展示
|
||||
5. 财务报表生成
|
||||
6. 风控管理
|
||||
J --> V
|
||||
K --> V
|
||||
L --> V
|
||||
M --> V
|
||||
N --> V
|
||||
O --> V
|
||||
P --> V
|
||||
Q --> V
|
||||
R --> V
|
||||
S --> V
|
||||
|
||||
#### 4.2.3 保险监管系统
|
||||
- 基于Vue.js 3 Composition API
|
||||
- 使用Ant Design Vue组件库
|
||||
- 状态管理采用Pinia
|
||||
- TypeScript增强代码可维护性
|
||||
H --> W
|
||||
I --> W
|
||||
J --> W
|
||||
K --> W
|
||||
L --> W
|
||||
M --> W
|
||||
N --> W
|
||||
O --> W
|
||||
P --> W
|
||||
Q --> W
|
||||
R --> W
|
||||
S --> W
|
||||
T --> W
|
||||
U --> W
|
||||
V --> W
|
||||
|
||||
##### 功能模块
|
||||
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/ # 部署相关配置
|
||||
W --> X
|
||||
X --> Y
|
||||
```
|
||||
|
||||
## 7. 用户权限管理架构
|
||||
## 4. 前端架构
|
||||
|
||||
### 7.1 集中式用户管理
|
||||
- 所有用户信息统一在政府监管平台进行管理
|
||||
- 各子系统仅负责登录验证和部分权限校验
|
||||
- 实现统一的RBAC权限模型
|
||||
- 通过用户中心API进行统一认证和授权
|
||||
### 4.1 管理后台 (admin-system)
|
||||
- 基于Vue 3和Element Plus构建
|
||||
- 采用组件化开发模式
|
||||
- 使用Vue Router管理路由
|
||||
- 使用Pinia进行状态管理
|
||||
- 通过Axios与后端API通信
|
||||
|
||||
### 7.2 权限体系
|
||||
- 基于角色的访问控制(RBAC)
|
||||
- 支持多角色分配
|
||||
- 细粒度权限控制(菜单权限、操作权限、数据权限)
|
||||
- 权限继承机制
|
||||
### 4.2 用户端 (frontend)
|
||||
- 基于Nuxt 3构建,支持SSR
|
||||
- 采用模块化架构设计
|
||||
- 使用Vue Router管理路由
|
||||
- 使用Vuex进行状态管理
|
||||
- 通过Axios与后端API通信
|
||||
|
||||
### 7.3 用户角色
|
||||
1. 超级管理员
|
||||
2. 政府监管员
|
||||
3. 银行信贷员
|
||||
4. 保险专员
|
||||
5. 交易管理员
|
||||
6. 商城管理员
|
||||
7. 养殖户
|
||||
8. 普通用户
|
||||
9. 数据分析师
|
||||
10. 系统审计员
|
||||
### 4.3 微信小程序 (miniprogram)
|
||||
- 基于微信小程序原生开发
|
||||
- 采用页面+组件的结构
|
||||
- 使用微信提供的API和组件
|
||||
- 通过wx.request与后端API通信
|
||||
|
||||
## 8. 大屏可视化系统架构
|
||||
## 5. 后端架构
|
||||
|
||||
### 8.1 系统概述
|
||||
大屏可视化系统是本项目的重要组成部分,主要用于展示锡林郭勒盟智慧养殖产业的整体数据、实时监控信息和分析结果。通过直观的图表和数据可视化方式,为管理者提供全面的产业洞察。
|
||||
### 5.1 微服务架构
|
||||
系统采用微服务架构设计,将业务功能拆分为独立的服务:
|
||||
|
||||
### 8.2 技术实现
|
||||
- **前端框架**: Vue.js 3 + ECharts + 自定义可视化组件
|
||||
- **可视化库**: Apache ECharts + D3.js
|
||||
- **响应式设计**: 支持多种大屏比例(16:9, 4:3等)
|
||||
- **实时数据**: WebSocket实时数据推送
|
||||
- **性能优化**: 虚拟滚动、数据分页等技术
|
||||
#### 5.1.1 Java微服务(主要)
|
||||
1. **养殖管理服务 (farming-service:8081)**
|
||||
- 功能:养殖场管理、牲畜档案、饲养记录等
|
||||
- 技术:Spring Boot, Spring Data JPA
|
||||
|
||||
### 8.3 功能模块
|
||||
1. **产业概览**: 展示整体产业规模、产值、增长率等关键指标
|
||||
2. **养殖监控**: 实时展示各牧场的养殖情况、环境数据
|
||||
3. **金融服务**: 展示贷款、保险等金融服务数据
|
||||
4. **交易统计**: 牛只交易量、价格趋势、区域分布等数据
|
||||
5. **运输跟踪**: 牛只运输实时状态和路径展示
|
||||
6. **风险预警**: 风险事件展示和预警信息推送
|
||||
7. **生态指标**: 环保数据、可持续发展指标展示
|
||||
8. **政府监管**: 展示政府监管相关数据和政策执行效果
|
||||
2. **用户中心服务 (user-center-service:8082)**
|
||||
- 功能:用户管理、权限控制、认证授权等
|
||||
- 技术:Spring Boot, Spring Security, JWT
|
||||
|
||||
### 8.4 设计特色
|
||||
- 融入锡林郭勒盟草原绿色主题
|
||||
- 采用蒙古族文化元素的UI设计
|
||||
- 支持多维度数据钻取和交互
|
||||
- 通过大屏可视化API获取实时和历史数据
|
||||
3. **交易服务 (trade-service:8083)**
|
||||
- 功能:活牛交易、订单管理、支付处理等
|
||||
- 技术:Spring Boot, Spring Data JPA
|
||||
|
||||
## 9. 系统集成架构
|
||||
4. **金融服务 (finance-service:8084)**
|
||||
- 功能:贷款申请、保险购买、金融产品等
|
||||
- 技术:Spring Boot, Spring Data JPA
|
||||
|
||||
### 9.1 外部系统集成
|
||||
1. 银行系统对接
|
||||
2. 政府监管平台对接
|
||||
3. 第三方系统集成(LDAP/AD、OAuth2.0等)
|
||||
4. 物联网设备集成(MQTT/CoAP协议)
|
||||
5. 云服务集成(腾讯云COS、短信服务等)
|
||||
5. **数据平台服务 (data-platform-service:8085)**
|
||||
- 功能:数据统计、报表生成、数据分析等
|
||||
- 技术:Spring Boot, Spring Data JPA
|
||||
|
||||
### 9.2 数据交换机制
|
||||
- RESTful API接口
|
||||
- 消息队列异步处理
|
||||
- 文件传输
|
||||
- 数据库同步
|
||||
6. **政务服务 (government-service:8086)**
|
||||
- 功能:政策发布、监管上报、审批流程等
|
||||
- 技术:Spring Boot, Spring Data JPA
|
||||
|
||||
## 10. 性能优化策略
|
||||
7. **大屏服务 (dashboard-service:8087)**
|
||||
- 功能:数据可视化、实时监控、大屏展示等
|
||||
- 技术:Spring Boot, Spring Data JPA
|
||||
|
||||
### 10.1 前端优化
|
||||
- 代码分割和按需加载
|
||||
- 图片懒加载和压缩
|
||||
- CDN加速静态资源
|
||||
- 浏览器缓存策略
|
||||
- 虚拟滚动处理大数据量展示
|
||||
- CDN加速静态资源
|
||||
- 浏览器缓存策略
|
||||
- 虚拟滚动处理大数据量展示
|
||||
8. **商城服务 (mall-service:8088)**
|
||||
- 功能:商品管理、购物车、订单处理等
|
||||
- 技术:Spring Boot, Spring Data JPA
|
||||
|
||||
### 10.2 后端优化
|
||||
- 数据库索引优化
|
||||
- API响应缓存(Redis)
|
||||
- 数据库连接池
|
||||
- 负载均衡部署
|
||||
- 异步任务处理(RabbitMQ)
|
||||
#### 5.1.2 Node.js服务(辅助)
|
||||
1. **AI能力服务 (ai-service:3001)**
|
||||
- 功能:图像识别、智能分析等AI相关功能
|
||||
- 技术:Node.js, Express.js
|
||||
|
||||
## 11. 系统监控与日志
|
||||
2. **遗留服务 (legacy-service:3002)**
|
||||
- 功能:部分原有系统功能的兼容
|
||||
- 技术:Node.js, Express.js
|
||||
|
||||
### 11.1 监控系统
|
||||
- 应用性能监控(APM)
|
||||
- 服务器资源监控(CPU、内存、磁盘等)
|
||||
- 数据库性能监控
|
||||
- 网络监控
|
||||
- 业务指标监控
|
||||
### 5.2 核心组件
|
||||
|
||||
### 11.2 日志系统
|
||||
- 统一日志格式
|
||||
- 日志分级管理(DEBUG、INFO、WARN、ERROR)
|
||||
- 日志收集与分析(ELK Stack)
|
||||
- 日志存储策略
|
||||
- 异常日志告警
|
||||
#### 5.2.1 API网关 (gateway)
|
||||
- 技术:Spring Cloud Gateway
|
||||
- 功能:
|
||||
- 请求路由转发
|
||||
- 负载均衡
|
||||
- 认证鉴权
|
||||
- 限流熔断
|
||||
- 日志记录
|
||||
|
||||
## 12. 部署架构
|
||||
#### 5.2.2 服务注册中心 (registry)
|
||||
- 技术:Eureka Server
|
||||
- 功能:
|
||||
- 服务注册与发现
|
||||
- 服务健康检查
|
||||
- 服务状态监控
|
||||
|
||||
### 12.1 开发环境
|
||||
- 本地开发服务器
|
||||
- 热重载功能
|
||||
- 代理配置解决跨域问题
|
||||
#### 5.2.3 配置中心 (config-server)
|
||||
- 技术:Spring Cloud Config
|
||||
- 功能:
|
||||
- 集中化配置管理
|
||||
- 配置动态刷新
|
||||
- 环境隔离配置
|
||||
|
||||
### 12.2 生产环境
|
||||
- Nginx反向代理服务器
|
||||
- 负载均衡配置
|
||||
- SSL证书配置
|
||||
- 日志收集和监控系统
|
||||
- 容器化部署(Docker)
|
||||
- 自动化部署(CI/CD)
|
||||
## 6. 数据架构
|
||||
|
||||
## 13. 容灾与备份策略
|
||||
### 6.1 数据库设计
|
||||
- **主数据库**: MySQL 8.0
|
||||
- **读写分离**: 主从复制
|
||||
- **分库分表**: 根据业务模块分库
|
||||
- **索引优化**: 合理设计索引提升查询性能
|
||||
|
||||
### 13.1 数据备份
|
||||
- 定时全量备份
|
||||
- 增量备份机制
|
||||
- 备份数据异地存储
|
||||
- 备份恢复演练
|
||||
### 6.2 缓存设计
|
||||
- **缓存技术**: Redis
|
||||
- **缓存策略**:
|
||||
- 热点数据缓存
|
||||
- 会话缓存
|
||||
- 分布式锁
|
||||
- **缓存更新**: 通过消息队列实现缓存同步
|
||||
|
||||
### 13.2 系统容灾
|
||||
- 多节点部署
|
||||
- 故障自动切换
|
||||
- 数据同步机制
|
||||
- 灾难恢复预案
|
||||
### 6.3 消息队列
|
||||
- **消息中间件**: RabbitMQ
|
||||
- **应用场景**:
|
||||
- 异步处理
|
||||
- 服务解耦
|
||||
- 流量削峰
|
||||
- 日志收集
|
||||
|
||||
## 7. 安全架构
|
||||
|
||||
### 7.1 认证授权
|
||||
- **认证方式**: JWT Token
|
||||
- **授权机制**: RBAC权限模型
|
||||
- **安全传输**: HTTPS加密
|
||||
- **密码安全**: BCrypt加密存储
|
||||
|
||||
### 7.2 数据安全
|
||||
- **数据传输**: SSL/TLS加密
|
||||
- **数据存储**: 敏感信息加密
|
||||
- **访问控制**: 基于角色的访问控制
|
||||
- **审计日志**: 关键操作日志记录
|
||||
|
||||
## 8. 部署架构
|
||||
|
||||
### 8.1 容器化部署
|
||||
- **容器技术**: Docker
|
||||
- **镜像管理**: Harbor私有镜像仓库
|
||||
- **容器编排**: Kubernetes
|
||||
- **服务发现**: Kubernetes Service
|
||||
|
||||
### 8.2 负载均衡
|
||||
- **反向代理**: Nginx
|
||||
- **负载策略**: 轮询、权重、IP哈希
|
||||
- **健康检查**: 定期检查服务状态
|
||||
- **SSL终止**: Nginx处理SSL加密解密
|
||||
|
||||
### 8.3 监控告警
|
||||
- **指标监控**: Prometheus
|
||||
- **可视化**: Grafana
|
||||
- **日志收集**: ELK Stack
|
||||
- **告警机制**: 邮件、短信、微信通知
|
||||
|
||||
## 9. 性能优化策略
|
||||
|
||||
### 9.1 前端优化
|
||||
- **资源压缩**: JS/CSS压缩合并
|
||||
- **图片优化**: WebP格式、懒加载
|
||||
- **缓存策略**: HTTP缓存、浏览器缓存
|
||||
- **代码分割**: 路由懒加载、组件懒加载
|
||||
|
||||
### 9.2 后端优化
|
||||
- **数据库优化**: 索引优化、查询优化
|
||||
- **缓存优化**: 多级缓存、缓存预热
|
||||
- **接口优化**: 接口合并、数据批量处理
|
||||
- **异步处理**: 消息队列异步处理耗时操作
|
||||
|
||||
### 9.3 网络优化
|
||||
- **CDN加速**: 静态资源CDN分发
|
||||
- **压缩传输**: Gzip压缩
|
||||
- **连接复用**: HTTP/2协议
|
||||
- **边缘计算**: 靠近用户的边缘节点处理
|
||||
|
||||
## 10. 扩展性设计
|
||||
|
||||
### 10.1 水平扩展
|
||||
- **服务拆分**: 微服务架构支持独立扩展
|
||||
- **数据库扩展**: 读写分离、分库分表
|
||||
- **缓存扩展**: Redis集群
|
||||
- **消息队列扩展**: RabbitMQ集群
|
||||
|
||||
### 10.2 弹性伸缩
|
||||
- **自动扩缩容**: Kubernetes HPA
|
||||
- **资源监控**: 实时监控资源使用情况
|
||||
- **负载均衡**: 动态调整流量分配
|
||||
- **故障自愈**: 自动重启失败服务
|
||||
|
||||
## 11. 高可用设计
|
||||
|
||||
### 11.1 服务高可用
|
||||
- **多实例部署**: 关键服务多实例运行
|
||||
- **故障转移**: 服务故障自动切换
|
||||
- **健康检查**: 定期检查服务状态
|
||||
- **超时重试**: 网络异常自动重试
|
||||
|
||||
### 11.2 数据高可用
|
||||
- **数据备份**: 定期备份重要数据
|
||||
- **主从复制**: 数据库主从同步
|
||||
- **灾难恢复**: 制定数据恢复预案
|
||||
- **一致性保证**: 分布式事务处理
|
||||
|
||||
## 12. 总结
|
||||
|
||||
本系统采用现代化的微服务架构设计,通过合理的技术选型和架构规划,能够满足畜牧管理系统的业务需求,具备良好的可扩展性、可维护性和高可用性。Java技术栈作为主要后端技术,Node.js作为辅助技术,能够充分发挥各自优势,构建一个稳定、高效的畜牧管理系统。
|
||||
@@ -13,7 +13,8 @@
|
||||
- **微信小程序矩阵**: 微信小程序原生开发 + uni-app
|
||||
|
||||
### 2.2 后端技术栈
|
||||
- **API服务**: Node.js + Express.js + RESTful API
|
||||
- **主要后端技术栈**: Java 8+ + Spring Boot + Spring Cloud
|
||||
- **辅助后端技术栈**: Node.js + Express.js + RESTful API
|
||||
- **数据库**: MySQL
|
||||
- **缓存**: Redis(用于会话管理和高频数据缓存)
|
||||
- **消息队列**: RabbitMQ(用于异步任务处理)
|
||||
@@ -21,52 +22,88 @@
|
||||
- **安全**: JWT认证 + 数据加密
|
||||
- **文件存储**: 腾讯云存储
|
||||
|
||||
### 2.3 开发优先级
|
||||
### 2.3 微服务架构规划
|
||||
|
||||
#### 核心业务服务(Java)
|
||||
| 服务名称 | 端口 | 功能描述 |
|
||||
|---------|------|----------|
|
||||
| farming-service | 8081 | 养殖管理服务 |
|
||||
| user-center-service | 8082 | 用户中心服务 |
|
||||
| finance-service | 8083 | 金融服务服务 |
|
||||
| government-service | 8084 | 政府监管服务 |
|
||||
| trade-service | 8085 | 交易服务 |
|
||||
| mall-service | 8086 | 商城服务 |
|
||||
| data-platform-service | 8087 | 数据平台服务 |
|
||||
| ai-service | 8088 | AI能力服务 |
|
||||
|
||||
#### 基础设施服务(Java)
|
||||
| 服务名称 | 端口 | 功能描述 |
|
||||
|---------|------|----------|
|
||||
| gateway | 8000 | 网关服务 |
|
||||
| registry | 8761 | 服务注册中心 |
|
||||
| config-server | 8888 | 配置服务器 |
|
||||
|
||||
#### 辅助服务(Node.js)
|
||||
| 服务名称 | 端口 | 功能描述 |
|
||||
|---------|------|----------|
|
||||
| dashboard-service | 3001 | 大屏可视化服务 |
|
||||
| website-service | 3002 | 官网服务 |
|
||||
|
||||
### 2.4 开发优先级
|
||||
1. **第一阶段(2025-09-01至2025-10-31)**: 核心功能(养殖管理、银行监管)
|
||||
2. **第二阶段(2025-11-01至2025-12-31)**: 扩展功能(保险监管、政府监管)
|
||||
3. **第三阶段(2026-01-01至2026-02-28)**: 交易和商城功能
|
||||
|
||||
### 2.4 技术风险与应对
|
||||
- **风险1**: 高并发场景下的数据库性能瓶颈
|
||||
### 2.5 技术风险与应对
|
||||
- **风险1**: 微服务间通信复杂性
|
||||
- **应对**: 使用Spring Cloud Gateway统一管理服务间通信,实施服务熔断和降级机制
|
||||
- **风险2**: 数据一致性问题
|
||||
- **应对**: 引入分布式事务解决方案(如Seata)
|
||||
- **风险3**: 高并发场景下的数据库性能瓶颈
|
||||
- **应对**: 引入读写分离和分库分表策略
|
||||
- **风险2**: 第三方服务(如微信支付)的集成稳定性
|
||||
- **风险4**: 第三方服务(如微信支付)的集成稳定性
|
||||
- **应对**: 设计降级方案和本地Mock服务
|
||||
|
||||
### 2.5 开发工具
|
||||
### 2.6 开发工具
|
||||
- VS Code (推荐IDE)
|
||||
- IntelliJ IDEA (Java开发推荐IDE)
|
||||
- Git (版本控制)
|
||||
- ESLint + Prettier (代码规范)
|
||||
- Jest/Vitest (单元测试)
|
||||
- ESLint + Prettier (前端代码规范)
|
||||
- Checkstyle (Java代码规范)
|
||||
- JUnit/TestNG (Java单元测试)
|
||||
- Jest/Vitest (前端单元测试)
|
||||
|
||||
## 3. 开发阶段规划
|
||||
|
||||
### 阶段一:项目初始化与基础架构搭建 (2周)
|
||||
### 阶段一:项目初始化与基础架构搭建 (3周)
|
||||
|
||||
#### 3.1 环境配置 (2天)
|
||||
- 搭建开发环境
|
||||
#### 3.1 环境配置 (3天)
|
||||
- 搭建Java开发环境(JDK、Maven)
|
||||
- 搭建Node.js开发环境
|
||||
- 配置代码编辑器
|
||||
- 初始化Git仓库
|
||||
- 配置ESLint和Prettier
|
||||
- 配置代码规范工具
|
||||
|
||||
#### 3.2 项目脚手架搭建 (3天)
|
||||
- 官网首页静态页面搭建
|
||||
- 6个专业管理系统Vue项目初始化(养殖管理、银行监管、保险监管、政府监管、活牛交易、商城管理)
|
||||
- 大屏可视化系统初始化
|
||||
- 微信小程序项目初始化(5个小程序)
|
||||
- 后端API服务搭建
|
||||
#### 3.2 微服务架构搭建 (5天)
|
||||
- 创建微服务基础项目结构
|
||||
- 配置服务注册中心
|
||||
- 配置配置服务器
|
||||
- 配置网关服务
|
||||
- 实现服务间通信机制
|
||||
|
||||
#### 3.3 基础设施集成 (3天)
|
||||
#### 3.3 基础设施集成 (4天)
|
||||
- 数据库设计和初始化
|
||||
- Redis缓存配置
|
||||
- 腾讯云存储服务集成
|
||||
- JWT身份认证实现
|
||||
- 基础权限管理框架
|
||||
|
||||
#### 3.4 开发规范制定 (2天)
|
||||
- 制定代码规范
|
||||
- 制定前后端代码规范
|
||||
- 确定目录结构
|
||||
- 编写开发文档
|
||||
|
||||
### 阶段二:核心功能开发 (8周)
|
||||
### 阶段二:核心功能开发 (10周)
|
||||
|
||||
#### 3.5 用户认证和权限系统 (1周)
|
||||
- 用户注册/登录功能
|
||||
@@ -110,77 +147,82 @@
|
||||
- 合同管理
|
||||
- 支付流程管理
|
||||
|
||||
### 阶段三:商城和小程序开发 (4周)
|
||||
|
||||
#### 3.12 商城管理系统 (1周)
|
||||
- 商品信息管理
|
||||
- 库存管理
|
||||
- 订单处理
|
||||
- 物流跟踪
|
||||
|
||||
#### 3.13 牛肉商城小程序(含认养功能) (1周)
|
||||
#### 3.13 数据平台服务 (1周)
|
||||
- 数据采集接口
|
||||
- 数据处理和分析
|
||||
- 报表生成
|
||||
|
||||
### 阶段三:小程序开发 (4周)
|
||||
|
||||
#### 3.14 牛肉商城小程序(含认养功能) (1周)
|
||||
- 商品浏览和搜索
|
||||
- 在线下单和支付
|
||||
- 订单查询和跟踪
|
||||
- 认养功能实现
|
||||
- 售后服务申请
|
||||
|
||||
#### 3.14 养殖管理小程序 (1周)
|
||||
#### 3.15 养殖管理小程序 (1周)
|
||||
- 移动端牛只档案查看
|
||||
- 饲养记录录入
|
||||
- 健康状况上报
|
||||
- 通知消息接收
|
||||
|
||||
#### 3.15 银行和保险监管小程序 (1周)
|
||||
#### 3.16 银行和保险监管小程序 (1周)
|
||||
- 银行监管小程序功能开发
|
||||
- 保险监管小程序功能开发
|
||||
|
||||
#### 3.16 活牛交易小程序 (1周)
|
||||
#### 3.17 活牛交易小程序 (1周)
|
||||
- 活牛信息发布
|
||||
- 在线交易撮合
|
||||
- 合同查看和管理
|
||||
|
||||
### 阶段四:数据系统和特色功能 (3周)
|
||||
|
||||
#### 3.17 数据分析系统 (1周)
|
||||
- 实时数据采集(IoT设备数据接入、用户行为数据采集)
|
||||
- 大数据分析引擎(数据清洗和预处理、统计分析模型)
|
||||
- 智能预警系统(异常数据检测、风险预警机制)
|
||||
### 阶段四:特色功能和大屏可视化 (3周)
|
||||
|
||||
#### 3.18 大屏可视化系统 (1周)
|
||||
- 数据图表展示
|
||||
- 仪表盘设计
|
||||
- 报表生成和导出
|
||||
|
||||
#### 3.19 特色功能实现 (1周)
|
||||
#### 3.19 AI能力服务 (1周)
|
||||
- 图像识别(牛只识别、健康状况识别)
|
||||
- 预测分析(市场价格预测、产犊预测)
|
||||
- 智能推荐
|
||||
|
||||
#### 3.20 特色功能实现 (1周)
|
||||
- 锡林郭勒盟地域元素融入
|
||||
- 蒙古族文化特色设计
|
||||
- 安格斯牛品牌突出展示
|
||||
|
||||
### 阶段五:系统集成与测试 (2周)
|
||||
### 阶段五:系统集成与测试 (3周)
|
||||
|
||||
#### 3.20 系统集成 (3天)
|
||||
#### 3.21 系统集成 (4天)
|
||||
- 内蒙古畜牧云对接(数据同步、接口规范)
|
||||
- 金融机构API对接(银行接口、保险接口)
|
||||
- 第三方服务集成
|
||||
|
||||
#### 3.21 测试用例编写 (3天)
|
||||
#### 3.22 测试用例编写 (4天)
|
||||
- 单元测试编写(核心功能模块单元测试覆盖率不低于80%)
|
||||
- 集成测试实现
|
||||
- E2E测试配置
|
||||
|
||||
#### 3.22 Bug修复与优化 (3天)
|
||||
#### 3.23 Bug修复与优化 (4天)
|
||||
- 功能测试与Bug修复
|
||||
- 性能调优(关键操作响应时间<2秒)
|
||||
- 用户体验优化
|
||||
|
||||
#### 3.23 部署准备 (3天)
|
||||
#### 3.24 部署准备 (3天)
|
||||
- 生产环境配置
|
||||
- 构建脚本优化
|
||||
- 部署文档编写
|
||||
- Docker配置
|
||||
|
||||
#### 3.24 项目验收与交付 (1天)
|
||||
#### 3.25 项目验收与交付 (1天)
|
||||
- 用户验收测试
|
||||
- 项目文档完善
|
||||
- 代码交接
|
||||
@@ -198,13 +240,14 @@
|
||||
|
||||
### 4.2 后端开发团队
|
||||
- 后端架构师(1名):负责后端架构设计和技术选型
|
||||
- API开发工程师(3名):负责后端API服务开发
|
||||
- Java微服务开发工程师(5名):负责Java微服务开发
|
||||
- Node.js开发工程师(2名):负责Node.js服务开发
|
||||
- 数据库工程师(1名):负责数据库设计和优化
|
||||
- 运维工程师(1名):负责部署和运维工作
|
||||
|
||||
### 4.3 数据分析团队
|
||||
- 数据分析师(1名):负责数据分析和可视化
|
||||
- 算法工程师(1名):负责智能预警系统开发
|
||||
- 算法工程师(1名):负责AI能力服务开发
|
||||
|
||||
### 4.4 测试团队
|
||||
- 测试工程师(2名):负责测试用例编写和执行
|
||||
@@ -212,9 +255,10 @@
|
||||
## 5. 质量保障
|
||||
|
||||
### 5.1 代码质量控制
|
||||
- 使用ESLint和Prettier统一代码风格
|
||||
- 使用ESLint和Prettier统一前端代码风格
|
||||
- 使用Checkstyle统一Java代码风格
|
||||
- 通过Code Review确保代码质量
|
||||
- 使用TypeScript增强代码可维护性
|
||||
- 使用TypeScript增强前端代码可维护性
|
||||
|
||||
### 5.2 测试策略
|
||||
- 单元测试:核心功能模块单元测试覆盖率不低于80%
|
||||
@@ -235,6 +279,7 @@
|
||||
- 支持Docker容器化部署
|
||||
- 支持云平台部署(腾讯云)
|
||||
- 支持负载均衡部署
|
||||
- 微服务独立部署和扩缩容
|
||||
|
||||
### 6.2 监控体系
|
||||
- 系统运行状态监控
|
||||
|
||||
@@ -12,12 +12,18 @@
|
||||
### 1.2 基础路径
|
||||
`/api/v1/farming`
|
||||
|
||||
### 1.3 权限控制
|
||||
### 1.3 技术栈
|
||||
- **后端**: Java Spring Boot + Spring Cloud (farming-service, 端口: 8081)
|
||||
- **数据库**: MySQL
|
||||
- **缓存**: Redis
|
||||
- **API文档**: Swagger
|
||||
|
||||
### 1.4 权限控制
|
||||
- 公开接口(无需认证):数据查询
|
||||
- 管理接口(需要认证):数据录入和管理
|
||||
- 系统接口(高级权限):批量操作和配置
|
||||
|
||||
### 1.4 全局错误码
|
||||
### 1.5 全局错误码
|
||||
| 状态码 | 说明 |
|
||||
|--------|--------------------|
|
||||
| 400 | 请求参数无效 |
|
||||
@@ -50,7 +56,8 @@ POST /cattles
|
||||
"id": "CATTLE001",
|
||||
"ear_tag": "NM000001",
|
||||
"created_at": "2024-01-20T10:00:00Z"
|
||||
}
|
||||
},
|
||||
"timestamp": "2024-01-20T10:00:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -77,7 +84,8 @@ POST /cattles/batch
|
||||
"error": "耳标号格式错误"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"timestamp": "2024-01-20T10:00:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -104,7 +112,8 @@ POST /vaccinations
|
||||
"cattle_id": "CATTLE001",
|
||||
"vaccine_type": "口蹄疫",
|
||||
"created_at": "2024-01-20T10:30:00Z"
|
||||
}
|
||||
},
|
||||
"timestamp": "2024-01-20T10:30:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -121,7 +130,8 @@ POST /vaccinations
|
||||
- 新增: 按照API文档规范标准统一格式
|
||||
- 优化: 统一响应格式和错误处理
|
||||
- 功能: 完善养殖管理接口定义
|
||||
## 3. 版本历史
|
||||
- 新增: Java后端技术栈说明
|
||||
- 新增: timestamp字段
|
||||
|
||||
### v1.0.0 (2024-01-20)
|
||||
- 新增: 按照API文档规范标准统一格式
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 养殖助手小程序 API 文档
|
||||
# 养殖助手小程序 API 文档 (v1.1.0)
|
||||
|
||||
## 1. 接口概述
|
||||
|
||||
@@ -10,6 +10,12 @@
|
||||
### 1.2 基础路径
|
||||
`/api/mini/farming`
|
||||
|
||||
### 1.3 后端技术栈
|
||||
- **主要后端**: Java Spring Boot + Spring Cloud (farming-service, 端口: 8081)
|
||||
- **辅助后端**: Node.js + Express.js
|
||||
- **数据库**: MySQL
|
||||
- **缓存**: Redis
|
||||
|
||||
## 2. 接口明细
|
||||
|
||||
### 2.1 添加饲喂记录
|
||||
@@ -30,4 +36,13 @@ POST /vaccinations
|
||||
|
||||
## 3. 数据规范
|
||||
- 时间字段格式: YYYY-MM-DD HH:mm:ss
|
||||
- 数量单位统一使用kg
|
||||
- 数量单位统一使用kg
|
||||
|
||||
## 4. 版本历史
|
||||
|
||||
### v1.1.0 (2024-01-20)
|
||||
- 新增: Java后端技术栈说明
|
||||
- 优化: 接口规范说明
|
||||
|
||||
### v1.0.0 (2024-01-20)
|
||||
- 新增: 基础接口定义
|
||||
@@ -1,4 +1,4 @@
|
||||
# 用户中心系统 API 文档 (v1.0.0)
|
||||
# 用户中心系统 API 文档 (v1.1.0)
|
||||
|
||||
## 1. 接口概述
|
||||
|
||||
@@ -8,14 +8,20 @@
|
||||
- 权限控制
|
||||
|
||||
### 1.2 基础路径
|
||||
`/api/v1/[系统名称]`
|
||||
`/api/v1/users`
|
||||
|
||||
### 1.3 权限控制
|
||||
### 1.3 技术栈
|
||||
- **后端**: Java Spring Boot + Spring Cloud (user-center-service, 端口: 8082)
|
||||
- **数据库**: MySQL
|
||||
- **缓存**: Redis
|
||||
- **API文档**: Swagger
|
||||
|
||||
### 1.4 权限控制
|
||||
- 公开接口(无需认证):数据查询
|
||||
- 管理接口(需要认证):数据管理
|
||||
- 系统接口(高级权限):配置管理
|
||||
|
||||
### 1.4 全局错误码
|
||||
### 1.5 全局错误码
|
||||
| 状态码 | 说明 |
|
||||
|--------|--------------------|
|
||||
| 400 | 请求参数无效 |
|
||||
@@ -23,7 +29,6 @@
|
||||
| 403 | 权限不足 |
|
||||
| 404 | 资源不存在 |
|
||||
| 500 | 服务器内部错误 |
|
||||
`/api/v1/users`
|
||||
|
||||
## 2. 接口明细
|
||||
|
||||
@@ -48,7 +53,8 @@ POST /register
|
||||
"username": "testuser",
|
||||
"phone": "13800138000",
|
||||
"created_at": "2024-01-20T10:00:00Z"
|
||||
}
|
||||
},
|
||||
"timestamp": "2024-01-20T10:00:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -75,7 +81,8 @@ POST /login
|
||||
"roles": ["user"]
|
||||
},
|
||||
"expires_in": 86400
|
||||
}
|
||||
},
|
||||
"timestamp": "2024-01-20T10:00:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -85,7 +92,15 @@ POST /login
|
||||
| 200 | 成功 |
|
||||
| 400 | 参数校验失败 |
|
||||
| 401 | 认证失败 |
|
||||
## 3. 版本历史
|
||||
|
||||
## 4. 版本历史
|
||||
|
||||
### v1.1.0 (2024-01-20)
|
||||
- 新增: 按照API文档规范标准统一格式
|
||||
- 优化: 统一响应格式和错误处理
|
||||
- 功能: 完善用户中心接口定义
|
||||
- 新增: Java后端技术栈说明
|
||||
- 新增: timestamp字段
|
||||
|
||||
### v1.0.0 (2024-01-20)
|
||||
- 新增: 按照API文档规范标准统一格式
|
||||
|
||||
@@ -1,157 +1,214 @@
|
||||
# 后端API服务开发计划
|
||||
# 后端API开发计划
|
||||
|
||||
## 1. 系统概述
|
||||
## 1. 概述
|
||||
|
||||
后端API服务是整个平台的数据中枢,基于Node.js和Express.js构建,提供RESTful API接口,负责处理所有业务逻辑、数据存储和第三方服务集成。
|
||||
本项目采用双技术栈架构,后端服务基于Java Spring Boot和Node.js两种技术栈构建。Java技术栈作为主要后端技术,采用微服务架构设计;Node.js技术栈作为辅助技术,用于特定业务场景。
|
||||
|
||||
## 2. 技术架构
|
||||
## 2. 技术栈架构
|
||||
|
||||
- **运行环境**: Node.js
|
||||
### 2.1 Java技术栈(主要)
|
||||
- **核心框架**: Spring Boot 2.7.x, Spring Cloud 2021.x
|
||||
- **服务注册与发现**: Eureka
|
||||
- **配置中心**: Spring Cloud Config
|
||||
- **API网关**: Spring Cloud Gateway
|
||||
- **数据库**: MySQL 8.0, Spring Data JPA
|
||||
- **缓存**: Redis
|
||||
- **消息队列**: RabbitMQ
|
||||
- **安全框架**: Spring Security + JWT
|
||||
- **构建工具**: Maven 3.8.x
|
||||
|
||||
### 2.2 Node.js技术栈(辅助)
|
||||
- **运行环境**: Node.js 16.x
|
||||
- **Web框架**: Express.js
|
||||
- **API风格**: RESTful API
|
||||
- **数据库**: MySQL
|
||||
- **ORM**: Sequelize / TypeORM
|
||||
- **认证机制**: JWT
|
||||
- **安全防护**: Helmet, CORS, Rate Limiting
|
||||
- **日志管理**: Winston
|
||||
- **测试框架**: Jest
|
||||
- **API文档**: Swagger
|
||||
- **数据库**: MySQL 8.0
|
||||
- **ORM**: Sequelize
|
||||
- **构建工具**: NPM/Yarn
|
||||
|
||||
## 3. 功能模块详细计划
|
||||
## 3. Java后端开发计划
|
||||
|
||||
### 3.1 用户认证和权限模块 (3天)
|
||||
- 第1天:
|
||||
- 用户注册/登录接口实现
|
||||
- JWT Token生成和验证机制
|
||||
- 第2天:
|
||||
- 角色权限管理接口
|
||||
- RBAC权限控制实现
|
||||
- 第3天:
|
||||
- 用户信息管理接口
|
||||
- 密码重置和安全机制
|
||||
### 3.1 已完成模块
|
||||
1. **养殖管理服务 (farming-service:8081)**
|
||||
- 功能:养殖场管理、牲畜档案、饲养记录等
|
||||
- 状态:已完成开发和部署
|
||||
- 负责人:Java开发团队
|
||||
|
||||
### 3.2 牛只档案管理模块 (2天)
|
||||
- 第1天:
|
||||
- 牛只档案增删改查接口
|
||||
- 耳标二维码管理接口
|
||||
- 第2天:
|
||||
- 牛只生命周期记录接口
|
||||
- 牛只档案查询和筛选接口
|
||||
2. **用户中心服务 (user-center-service:8082)**
|
||||
- 功能:用户管理、权限控制、认证授权等
|
||||
- 状态:已完成开发和部署
|
||||
- 负责人:Java开发团队
|
||||
|
||||
### 3.3 饲养记录管理模块 (1天)
|
||||
- 第1天:
|
||||
- 饲料库存管理接口
|
||||
- 每日投喂量记录接口
|
||||
- 饲料库存预警接口
|
||||
### 3.2 开发中模块
|
||||
1. **交易服务 (trade-service:8083)**
|
||||
- 功能:活牛交易、订单管理、支付处理等
|
||||
- 状态:开发中
|
||||
- 进度:60%
|
||||
- 预计完成时间:2024年2月15日
|
||||
- 负责人:Java开发团队
|
||||
|
||||
### 3.4 繁殖管理模块 (1天)
|
||||
- 第1天:
|
||||
- 繁殖记录管理接口
|
||||
- 基因谱系分析接口
|
||||
- 产犊预测接口
|
||||
2. **金融服务 (finance-service:8084)**
|
||||
- 功能:贷款申请、保险购买、金融产品等
|
||||
- 状态:开发中
|
||||
- 进度:40%
|
||||
- 预计完成时间:2024年2月28日
|
||||
- 负责人:Java开发团队
|
||||
|
||||
### 3.5 环境监测模块 (1天)
|
||||
- 第1天:
|
||||
- 物联网设备数据接入接口
|
||||
- 环境数据存储和查询接口
|
||||
- 异常环境告警接口
|
||||
### 3.3 待开发模块
|
||||
1. **数据平台服务 (data-platform-service:8085)**
|
||||
- 功能:数据统计、报表生成、数据分析等
|
||||
- 状态:待开发
|
||||
- 预计开始时间:2024年2月10日
|
||||
- 预计完成时间:2024年3月15日
|
||||
- 负责人:Java开发团队
|
||||
|
||||
### 3.6 贷款管理模块 (2天)
|
||||
- 第1天:
|
||||
- 贷款申请和审批接口
|
||||
- 质押物状态监控接口
|
||||
- 第2天:
|
||||
- 还款计划跟踪接口
|
||||
- 风险评估数据接口
|
||||
2. **政务服务 (government-service:8086)**
|
||||
- 功能:政策发布、监管上报、审批流程等
|
||||
- 状态:待开发
|
||||
- 预计开始时间:2024年2月20日
|
||||
- 预计完成时间:2024年3月30日
|
||||
- 负责人:Java开发团队
|
||||
|
||||
### 3.7 保险管理模块 (2天)
|
||||
- 第1天:
|
||||
- 保险投保管理接口
|
||||
- 保单状态跟踪接口
|
||||
- 第2天:
|
||||
- 理赔申请和处理接口
|
||||
- 风险评估和预警接口
|
||||
3. **大屏服务 (dashboard-service:8087)**
|
||||
- 功能:数据可视化、实时监控、大屏展示等
|
||||
- 状态:待开发
|
||||
- 预计开始时间:2024年3月1日
|
||||
- 预计完成时间:2024年4月10日
|
||||
- 负责人:Java开发团队
|
||||
|
||||
### 3.8 政府监管模块 (1天)
|
||||
- 第1天:
|
||||
- 产业数据总览接口
|
||||
- 监管数据汇总接口
|
||||
- 政策发布接口
|
||||
4. **商城服务 (mall-service:8088)**
|
||||
- 功能:商品管理、购物车、订单处理等
|
||||
- 状态:待开发
|
||||
- 预计开始时间:2024年3月5日
|
||||
- 预计完成时间:2024年4月20日
|
||||
- 负责人:Java开发团队
|
||||
|
||||
### 3.9 交易管理模块 (2天)
|
||||
- 第1天:
|
||||
- 牛只信息发布接口
|
||||
- 在线交易撮合接口
|
||||
- 第2天:
|
||||
- 合同管理接口
|
||||
- 支付流程管理接口
|
||||
## 4. Node.js后端开发计划
|
||||
|
||||
### 3.10 商城管理模块 (2天)
|
||||
- 第1天:
|
||||
- 商品信息管理接口
|
||||
- 库存管理接口
|
||||
- 第2天:
|
||||
- 订单处理接口
|
||||
- 物流跟踪接口
|
||||
### 4.1 已完成模块
|
||||
1. **AI能力服务 (ai-service:3001)**
|
||||
- 功能:图像识别、智能分析等AI相关功能
|
||||
- 状态:已完成基础框架搭建
|
||||
- 负责人:Node.js开发团队
|
||||
|
||||
### 3.11 数据分析模块 (2天)
|
||||
- 第1天:
|
||||
- 实时数据采集接口
|
||||
- 大数据分析引擎接口
|
||||
- 第2天:
|
||||
- 智能预警系统接口
|
||||
- 数据可视化接口
|
||||
### 4.2 开发中模块
|
||||
1. **部分遗留服务 (legacy-service:3002)**
|
||||
- 功能:部分原有系统功能的兼容
|
||||
- 状态:重构中
|
||||
- 进度:30%
|
||||
- 预计完成时间:2024年2月20日
|
||||
- 负责人:Node.js开发团队
|
||||
|
||||
## 4. 技术实现要点
|
||||
### 4.3 待开发模块
|
||||
1. **其他辅助服务**
|
||||
- 功能:根据业务需求开发的辅助功能
|
||||
- 状态:待规划
|
||||
- 预计开始时间:2024年3月1日
|
||||
- 预计完成时间:根据需求确定
|
||||
- 负责人:Node.js开发团队
|
||||
|
||||
- 实现基于JWT的无状态认证
|
||||
- 使用RBAC角色权限管理系统
|
||||
- HTTPS加密传输
|
||||
- API接口安全防护(限流、防注入等)
|
||||
- 数据库连接池管理
|
||||
- 缓存机制优化性能(Redis)
|
||||
- 异步任务处理(RabbitMQ)
|
||||
- 文件存储服务集成(腾讯云)
|
||||
## 5. 微服务架构规划
|
||||
|
||||
## 5. 开发阶段规划
|
||||
### 5.1 核心服务端口分配
|
||||
| 服务名称 | 端口号 | 技术栈 | 状态 |
|
||||
|---------|--------|--------|------|
|
||||
| farming-service | 8081 | Java | 已完成 |
|
||||
| user-center-service | 8082 | Java | 已完成 |
|
||||
| trade-service | 8083 | Java | 开发中 |
|
||||
| finance-service | 8084 | Java | 开发中 |
|
||||
| data-platform-service | 8085 | Java | 待开发 |
|
||||
| government-service | 8086 | Java | 待开发 |
|
||||
| dashboard-service | 8087 | Java | 待开发 |
|
||||
| mall-service | 8088 | Java | 待开发 |
|
||||
|
||||
### 5.1 阶段一:基础框架搭建 (3天)
|
||||
- 项目初始化和环境配置
|
||||
- Express.js框架搭建
|
||||
- 数据库连接配置
|
||||
- JWT认证机制实现
|
||||
- 基础中间件集成(日志、安全、错误处理等)
|
||||
### 5.2 基础设施服务端口分配
|
||||
| 服务名称 | 端口号 | 技术栈 | 状态 |
|
||||
|---------|--------|--------|------|
|
||||
| gateway | 8080 | Java | 待开发 |
|
||||
| registry | 8761 | Java | 待开发 |
|
||||
| config-server | 8888 | Java | 待开发 |
|
||||
|
||||
### 5.2 阶段二:核心功能开发 (15天)
|
||||
- 用户认证和权限模块开发
|
||||
- 养殖管理相关模块开发
|
||||
- 金融服务相关模块开发
|
||||
- 政府监管模块开发
|
||||
- 交易管理模块开发
|
||||
- 商城管理模块开发
|
||||
- 数据分析模块开发
|
||||
### 5.3 Node.js服务端口分配
|
||||
| 服务名称 | 端口号 | 技术栈 | 状态 |
|
||||
|---------|--------|--------|------|
|
||||
| ai-service | 3001 | Node.js | 已完成基础框架 |
|
||||
| legacy-service | 3002 | Node.js | 重构中 |
|
||||
|
||||
### 5.3 阶段三:系统集成与测试 (4天)
|
||||
- 第三方服务集成(银行、保险、腾讯云等)
|
||||
- API接口测试和优化
|
||||
- 性能测试和调优
|
||||
- 安全测试和漏洞修复
|
||||
- API文档完善
|
||||
## 6. 技术迁移策略
|
||||
|
||||
## 6. 质量保障措施
|
||||
### 6.1 迁移原则
|
||||
1. **渐进式迁移**: 逐步将Node.js服务迁移到Java微服务架构
|
||||
2. **业务优先**: 优先迁移核心业务服务
|
||||
3. **兼容性保证**: 确保迁移过程中不影响现有业务
|
||||
4. **数据一致性**: 保证数据迁移的完整性和一致性
|
||||
|
||||
- 单元测试覆盖率达到80%以上
|
||||
- 接口测试确保API稳定性
|
||||
- 性能测试确保支持500+并发用户
|
||||
- 安全测试防止SQL注入、XSS等攻击
|
||||
- 代码审查机制确保代码质量
|
||||
### 6.2 迁移步骤
|
||||
1. **评估阶段**: 评估现有Node.js服务的复杂度和迁移难度
|
||||
2. **设计阶段**: 设计Java微服务架构和接口规范
|
||||
3. **开发阶段**: 开发新的Java微服务
|
||||
4. **测试阶段**: 进行全面的功能测试和性能测试
|
||||
5. **部署阶段**: 逐步替换现有Node.js服务
|
||||
6. **监控阶段**: 监控新服务的运行状态和性能表现
|
||||
|
||||
## 7. 部署与运维
|
||||
## 7. 开发规范
|
||||
|
||||
- 支持Docker容器化部署
|
||||
- 支持云平台部署(腾讯云)
|
||||
- 支持负载均衡部署
|
||||
- 系统运行状态监控
|
||||
- 性能监控指标
|
||||
- 异常告警功能
|
||||
- 日志收集和分析
|
||||
### 7.1 代码规范
|
||||
1. **Java代码规范**: 遵循阿里巴巴Java开发手册
|
||||
2. **Node.js代码规范**: 遵循JavaScript Standard Style
|
||||
3. **API设计规范**: 遵循RESTful API设计原则
|
||||
4. **数据库设计规范**: 遵循数据库设计范式
|
||||
|
||||
### 7.2 文档规范
|
||||
1. **API文档**: 每个接口必须提供详细的API文档
|
||||
2. **设计文档**: 每个服务必须提供架构设计文档
|
||||
3. **部署文档**: 每个服务必须提供部署说明文档
|
||||
|
||||
### 7.3 测试规范
|
||||
1. **单元测试**: 每个模块必须提供单元测试
|
||||
2. **集成测试**: 服务间接口必须提供集成测试
|
||||
3. **性能测试**: 关键服务必须提供性能测试报告
|
||||
|
||||
## 8. 测试策略
|
||||
|
||||
### 8.1 测试类型
|
||||
1. **单元测试**: 验证每个模块的功能正确性
|
||||
2. **集成测试**: 验证服务间的接口调用
|
||||
3. **性能测试**: 验证系统的性能表现
|
||||
4. **安全测试**: 验证系统的安全性
|
||||
|
||||
### 8.2 测试工具
|
||||
1. **Java测试**: JUnit, Mockito
|
||||
2. **Node.js测试**: Jest, Mocha
|
||||
3. **API测试**: Postman, JMeter
|
||||
4. **性能测试**: JMeter, Gatling
|
||||
|
||||
## 9. 部署策略
|
||||
|
||||
### 9.1 部署环境
|
||||
1. **开发环境**: 本地开发环境
|
||||
2. **测试环境**: 内部测试环境
|
||||
3. **预生产环境**: 预生产验证环境
|
||||
4. **生产环境**: 正式生产环境
|
||||
|
||||
### 9.2 部署方式
|
||||
1. **容器化部署**: 使用Docker容器化部署
|
||||
2. **自动化部署**: 使用Jenkins实现CI/CD
|
||||
3. **蓝绿部署**: 关键服务采用蓝绿部署策略
|
||||
4. **滚动更新**: 普通服务采用滚动更新策略
|
||||
|
||||
## 10. 风险控制
|
||||
|
||||
### 10.1 技术风险
|
||||
1. **技术栈切换风险**: 开发团队需要适应新的技术栈
|
||||
2. **性能风险**: 微服务架构可能带来性能损耗
|
||||
3. **数据一致性风险**: 分布式系统中的数据一致性问题
|
||||
|
||||
### 10.2 管理风险
|
||||
1. **进度风险**: 多个服务并行开发可能影响整体进度
|
||||
2. **沟通风险**: 不同技术团队间的沟通协调问题
|
||||
3. **质量风险**: 快速开发可能影响代码质量
|
||||
|
||||
### 10.3 应对措施
|
||||
1. **技术培训**: 组织技术培训帮助团队适应新技术
|
||||
2. **性能优化**: 通过缓存、异步等手段优化性能
|
||||
3. **监控告警**: 建立完善的监控告警机制
|
||||
4. **代码审查**: 严格执行代码审查制度
|
||||
5. **定期评审**: 定期进行项目进度评审
|
||||
Reference in New Issue
Block a user