# 后端服务 (Backend)

币安自动交易系统后端API服务

## 功能

- 配置管理API（从数据库读取/更新配置）
- 交易记录API
- 统计分析API
- 仪表板数据API

## 安装

```bash
cd backend
pip install -r requirements.txt
```

## 数据库配置

### 方式1：使用.env文件（推荐）

在 `backend/` 目录或项目根目录创建 `.env` 文件：

```bash
# 复制示例文件
cp .env.example .env

# 编辑.env文件
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=auto_trade_sys
CORS_ORIGINS=http://localhost:3000,http://localhost:5173
```

### 方式2：使用环境变量

```bash
export DB_HOST=localhost
export DB_PORT=3306
export DB_USER=root
export DB_PASSWORD=your_password
export DB_NAME=auto_trade_sys
export CORS_ORIGINS=http://localhost:3000,http://localhost:5173
```

**注意**：系统会优先从 `.env` 文件读取配置，然后才是环境变量。

## 初始化数据库

```bash
mysql -u root -p < database/init.sql
```

## 运行

### 开发模式（自动重载）

代码修改后会自动重启，无需手动重启：

```bash
# 方式1：使用开发启动脚本
./start_dev.sh

# 方式2：直接运行
uvicorn api.main:app --reload --host 0.0.0.0 --port 8001
```

### 生产模式

代码修改后需要手动重启：

```bash
# 方式1：使用生产启动脚本
./start.sh

# 方式2：使用重启脚本
./restart.sh

# 方式3：手动重启
# 1. 查找进程: ps aux | grep uvicorn
# 2. 停止服务: kill <PID>
# 3. 启动服务: ./start.sh
```

**注意**：
- 开发模式使用 `--reload` 参数，代码修改后自动重启
- 生产模式不使用 `--reload`，需要手动重启才能生效
- 重启脚本 `restart.sh` 会自动查找并重启服务

## API文档

启动后访问：
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc

## 目录结构

```
backend/
├── api/              # FastAPI应用
│   ├── main.py      # 应用入口
│   ├── routes/      # 路由
│   └── models/      # API模型
├── database/        # 数据库
│   ├── connection.py
│   ├── models.py
│   └── init.sql
├── config_manager.py # 配置管理器
└── requirements.txt
```
