# 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。
