2025-09-02 21:59:27 +08:00
|
|
|
|
# Backend - 活牛采购智能数字化系统后端服务
|
2025-09-02 01:23:16 +08:00
|
|
|
|
|
2025-09-02 21:59:27 +08:00
|
|
|
|
## 📋 项目概述
|
|
|
|
|
|
|
|
|
|
|
|
活牛采购智能数字化系统后端服务采用Node.js + Express框架构建,为前端应用、管理后台和小程序提供统一的API接口服务。系统采用微服务架构设计,支持高并发、高可用的业务处理。
|
|
|
|
|
|
|
|
|
|
|
|
**核心特性:**
|
|
|
|
|
|
- 🛠️ **微服务架构**:模块化服务设计,易于维护和扩展
|
|
|
|
|
|
- 🔐 **统一认证**:JWT + RBAC权限控制系统
|
|
|
|
|
|
- 📊 **实时数据**:WebSocket实时数据推送
|
|
|
|
|
|
- 📹 **文件管理**:支持大文件上传和视频处理
|
|
|
|
|
|
- 💰 **支付集成**:支持多种支付方式
|
|
|
|
|
|
- 📈 **监控日志**:完善的日志和监控体系
|
|
|
|
|
|
|
|
|
|
|
|
## 🛠 技术栈
|
|
|
|
|
|
|
|
|
|
|
|
| 类别 | 技术选型 | 版本 | 说明 |
|
|
|
|
|
|
|------|----------|------|------|
|
|
|
|
|
|
| **运行时** | Node.js | ^18.17.0 | 服务器运行环境 |
|
|
|
|
|
|
| **Web框架** | Express.js | ^4.18.0 | 轻量级Web框架 |
|
|
|
|
|
|
| **数据库ORM** | Sequelize | ^6.32.0 | 关系型数据库ORM |
|
|
|
|
|
|
| **数据库** | MySQL | ^8.0 | 主数据库 |
|
|
|
|
|
|
| **缓存** | Redis | ^7.0 | 内存缓存和会话存储 |
|
|
|
|
|
|
| **认证** | jsonwebtoken | ^9.0.0 | JWT认证 |
|
|
|
|
|
|
| **参数验证** | joi | ^17.9.0 | 请求参数验证 |
|
|
|
|
|
|
| **文件上传** | multer | ^1.4.5 | 文件上传中间件 |
|
|
|
|
|
|
| **日志** | winston | ^3.10.0 | 日志管理 |
|
|
|
|
|
|
| **实时通信** | Socket.io | ^4.7.0 | WebSocket实时通信 |
|
|
|
|
|
|
|
|
|
|
|
|
## 📂 项目结构
|
2025-09-02 01:23:16 +08:00
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
backend/
|
2025-09-02 21:59:27 +08:00
|
|
|
|
├── src/ # 源代码目录
|
|
|
|
|
|
│ ├── app.js # 应用入口文件
|
|
|
|
|
|
│ ├── config/ # 配置文件
|
|
|
|
|
|
│ ├── controllers/ # 控制器层
|
|
|
|
|
|
│ ├── services/ # 服务层
|
|
|
|
|
|
│ ├── models/ # 数据模型
|
|
|
|
|
|
│ ├── middleware/ # 中间件
|
|
|
|
|
|
│ ├── routes/ # 路由定义
|
|
|
|
|
|
│ ├── utils/ # 工具函数
|
|
|
|
|
|
│ ├── validators/ # 参数验证器
|
|
|
|
|
|
│ ├── jobs/ # 后台任务
|
|
|
|
|
|
│ └── database/ # 数据库相关
|
|
|
|
|
|
├── tests/ # 测试文件
|
|
|
|
|
|
├── docs/ # 文档目录
|
|
|
|
|
|
├── uploads/ # 上传文件目录
|
|
|
|
|
|
├── logs/ # 日志目录
|
|
|
|
|
|
└── package.json # 项目依赖
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🚀 快速开始
|
|
|
|
|
|
|
|
|
|
|
|
### 环境要求
|
|
|
|
|
|
- Node.js >= 18.0.0
|
|
|
|
|
|
- MySQL >= 8.0
|
|
|
|
|
|
- Redis >= 7.0
|
|
|
|
|
|
- npm >= 8.0.0
|
|
|
|
|
|
|
|
|
|
|
|
### 数据库配置
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 数据库连接信息
|
|
|
|
|
|
主机: 129.211.213.226
|
|
|
|
|
|
端口: 9527
|
|
|
|
|
|
用户名: root
|
|
|
|
|
|
密码: aiotAiot123!
|
|
|
|
|
|
数据库: jiebandata
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 安装依赖
|
|
|
|
|
|
```bash
|
|
|
|
|
|
cd backend
|
|
|
|
|
|
npm install
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 环境配置
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 复制环境配置文件
|
|
|
|
|
|
cp .env.example .env.development
|
|
|
|
|
|
|
|
|
|
|
|
# 编辑配置文件
|
|
|
|
|
|
vim .env.development
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 数据库初始化
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 执行数据库迁移
|
|
|
|
|
|
npm run db:migrate
|
|
|
|
|
|
|
|
|
|
|
|
# 执行数据填充
|
|
|
|
|
|
npm run db:seed
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 启动服务
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 开发环境
|
|
|
|
|
|
npm run dev
|
|
|
|
|
|
|
|
|
|
|
|
# 生产环境
|
|
|
|
|
|
npm start
|
2025-09-02 01:23:16 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-09-02 21:59:27 +08:00
|
|
|
|
服务将运行在 http://localhost:3001
|