182 lines
4.0 KiB
Markdown
182 lines
4.0 KiB
Markdown
|
|
# Server - 后端服务
|
|||
|
|
|
|||
|
|
## 📋 项目简介
|
|||
|
|
|
|||
|
|
Server 是 Crawlful Hub 的后端服务,提供了完整的API接口,用于处理商品管理、订单处理、物流策略、广告营销、B2B贸易等核心业务功能。
|
|||
|
|
|
|||
|
|
## 🚀 核心功能
|
|||
|
|
|
|||
|
|
### 1. 商品管理
|
|||
|
|
- 商品CRUD操作
|
|||
|
|
- 库存同步
|
|||
|
|
- 商品健康度监控
|
|||
|
|
|
|||
|
|
### 2. 订单管理
|
|||
|
|
- 订单CRUD操作
|
|||
|
|
- 订单状态更新
|
|||
|
|
- 批量订单处理
|
|||
|
|
|
|||
|
|
### 3. 物流管理
|
|||
|
|
- 物流渠道选择
|
|||
|
|
- 运费计算
|
|||
|
|
- 物流轨迹跟踪
|
|||
|
|
|
|||
|
|
### 4. 广告管理
|
|||
|
|
- 广告计划管理
|
|||
|
|
- 投放效果分析
|
|||
|
|
- ROI计算
|
|||
|
|
|
|||
|
|
### 5. B2B贸易管理
|
|||
|
|
- 企业报价管理
|
|||
|
|
- 批量订单处理
|
|||
|
|
- 合同管理
|
|||
|
|
|
|||
|
|
### 6. 售后管理
|
|||
|
|
- 退货申请处理
|
|||
|
|
- 退款流程管理
|
|||
|
|
- 客户服务
|
|||
|
|
|
|||
|
|
### 7. 合规管理
|
|||
|
|
- 证书管理
|
|||
|
|
- 合规检查
|
|||
|
|
- 证书过期提醒
|
|||
|
|
|
|||
|
|
### 8. 用户资产管理
|
|||
|
|
- 资产管理
|
|||
|
|
- 积分管理
|
|||
|
|
- 会员等级管理
|
|||
|
|
|
|||
|
|
### 9. A/B测试管理
|
|||
|
|
- 测试策略管理
|
|||
|
|
- 测试结果分析
|
|||
|
|
- 自动优化
|
|||
|
|
|
|||
|
|
## 🏗 技术栈
|
|||
|
|
|
|||
|
|
- **框架**: Node.js + Express
|
|||
|
|
- **语言**: TypeScript
|
|||
|
|
- **数据库**: MySQL
|
|||
|
|
- **缓存**: Redis
|
|||
|
|
- **消息队列**: BullMQ
|
|||
|
|
- **认证**: JWT
|
|||
|
|
|
|||
|
|
## 📦 快速开始
|
|||
|
|
|
|||
|
|
### 环境要求
|
|||
|
|
- Node.js 16+
|
|||
|
|
- MySQL 8.0+
|
|||
|
|
- Redis 6.0+
|
|||
|
|
|
|||
|
|
### 安装依赖
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd server
|
|||
|
|
npm install
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 数据库初始化
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 执行数据库初始化脚本
|
|||
|
|
mysql -u root -p < ../scripts/db-init.sql
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 配置环境变量
|
|||
|
|
|
|||
|
|
创建 `.env` 文件,配置以下环境变量:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
# 服务器配置
|
|||
|
|
PORT=3003
|
|||
|
|
|
|||
|
|
# 数据库配置
|
|||
|
|
DB_HOST=localhost
|
|||
|
|
DB_PORT=3306
|
|||
|
|
DB_USER=root
|
|||
|
|
DB_PASSWORD=your_password
|
|||
|
|
DB_NAME=crawlful_hub
|
|||
|
|
|
|||
|
|
# Redis配置
|
|||
|
|
REDIS_HOST=localhost
|
|||
|
|
REDIS_PORT=6379
|
|||
|
|
|
|||
|
|
# JWT配置
|
|||
|
|
JWT_SECRET=your_jwt_secret
|
|||
|
|
JWT_EXPIRES_IN=24h
|
|||
|
|
|
|||
|
|
# 日志配置
|
|||
|
|
LOG_LEVEL=info
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 启动服务
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 开发模式
|
|||
|
|
npm run dev
|
|||
|
|
|
|||
|
|
# 生产模式
|
|||
|
|
npm run build
|
|||
|
|
npm start
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 📁 项目结构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
server/
|
|||
|
|
├── src/
|
|||
|
|
│ ├── api/ # API接口
|
|||
|
|
│ │ ├── controllers/ # 控制器
|
|||
|
|
│ │ ├── middleware/ # 中间件
|
|||
|
|
│ │ └── routes/ # 路由
|
|||
|
|
│ ├── config/ # 配置文件
|
|||
|
|
│ ├── core/ # 核心服务
|
|||
|
|
│ │ ├── ai/ # AI服务
|
|||
|
|
│ │ ├── auth/ # 认证服务
|
|||
|
|
│ │ ├── biz/ # 业务服务
|
|||
|
|
│ │ ├── cache/ # 缓存服务
|
|||
|
|
│ │ ├── connectors/ # 平台连接器
|
|||
|
|
│ │ ├── engine/ # 业务引擎
|
|||
|
|
│ │ ├── gateway/ # 网关
|
|||
|
|
│ │ ├── governance/ # 治理服务
|
|||
|
|
│ │ ├── graph/ # 图服务
|
|||
|
|
│ │ ├── guards/ # 守卫
|
|||
|
|
│ │ ├── integrations/ # 集成服务
|
|||
|
|
│ │ ├── isolation/ # 隔离服务
|
|||
|
|
│ │ ├── network/ # 网络服务
|
|||
|
|
│ │ ├── orchestrator/ # 编排服务
|
|||
|
|
│ │ ├── pipeline/ # 管道服务
|
|||
|
|
│ │ ├── protocols/ # 协议服务
|
|||
|
|
│ │ ├── runtime/ # 运行时服务
|
|||
|
|
│ │ ├── sandbox/ # 沙箱服务
|
|||
|
|
│ │ ├── scheduler/ # 调度服务
|
|||
|
|
│ │ ├── security/ # 安全服务
|
|||
|
|
│ │ ├── telemetry/ # 遥测服务
|
|||
|
|
│ │ └── workers/ # 工作器
|
|||
|
|
│ ├── database/ # 数据库相关
|
|||
|
|
│ ├── domains/ # 业务域
|
|||
|
|
│ ├── services/ # 业务服务
|
|||
|
|
│ ├── utils/ # 工具函数
|
|||
|
|
│ ├── app.ts # 应用入口
|
|||
|
|
│ └── index.ts # 主入口
|
|||
|
|
├── package.json # 项目配置
|
|||
|
|
├── tsconfig.json # TypeScript 配置
|
|||
|
|
└── README.md # 项目说明
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🔧 开发规范
|
|||
|
|
|
|||
|
|
### 代码规范
|
|||
|
|
- 遵循 TypeScript 最佳实践
|
|||
|
|
- 使用 ESLint 进行代码检查
|
|||
|
|
- 服务类命名使用 PascalCase,后缀为 Service
|
|||
|
|
- 文件命名使用 PascalCase
|
|||
|
|
|
|||
|
|
### 提交规范
|
|||
|
|
- 提交信息使用中文描述
|
|||
|
|
- 提交前确保代码通过测试
|
|||
|
|
- 大型功能提交前创建分支
|
|||
|
|
|
|||
|
|
## 🤝 贡献
|
|||
|
|
|
|||
|
|
欢迎贡献代码和提出建议!请先阅读项目文档,然后提交 Pull Request。
|