AssetManager.UniApp/API_DOCUMENTATION_MINIMAL.md
fanfpy bc48e8f7a3 feat: 初始化项目并添加基础功能
- 添加uni-ui组件库依赖
- 实现微信静默登录功能
- 创建资产、策略、我的等核心页面
- 添加策略组合配置功能
- 实现持仓详情展示
- 完善用户信息展示
- 添加全局样式和工具类
- 配置小程序项目设置
2026-02-18 20:51:42 +08:00

351 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 个人资产策略管理系统 - 后端API文档
## 1. 基础信息
### 1.1 基础URL
```
https://api.demo.com
```
### 1.2 认证方式
- **Bearer Token**:在请求头中添加 `Authorization: Bearer <token>`
- **Token获取**通过登录接口获取有效期为24小时
### 1.3 响应格式
所有API接口返回统一的JSON格式
```typescript
interface ApiResponse<T> {
code: number; // 状态码200表示成功其他表示错误
data: T; // 响应数据,根据接口不同返回不同结构
message: string; // 响应消息,错误时返回错误信息
}
```
### 1.4 状态码说明
| 状态码 | 描述 |
|-------|------|
| 200 | 成功 |
| 400 | 请求参数错误 |
| 401 | 未授权 |
| 403 | 禁止访问 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
## 2. API接口列表
### 2.1 资产相关API
#### 2.1.1 获取总资产数据
**接口**`GET /api/assets`
**请求参数**:无
**响应参数**
| 字段名 | 类型 | 描述 |
|-------|------|------|
| totalValue | number | 总资产估值CNY |
| todayProfit | number | 今日盈亏CNY |
| totalReturnRate | number | 累计收益率(% |
#### 2.1.2 获取持仓组合数据
**接口**`GET /api/holdings`
**请求参数**:无
**响应参数**
| 字段名 | 类型 | 描述 |
|-------|------|------|
| id | string | 持仓组合ID |
| name | string | 持仓组合名称 |
| tags | string | 持仓组合标签 |
| status | string | 状态(监控中/等待信号) |
| statusType | string | 状态类型green/gray |
| iconChar | string | 图标字符 |
| iconBgClass | string | 图标背景样式类 |
| iconTextClass | string | 图标文本样式类 |
| value | number | 当前市值CNY |
| returnRate | number | 累计收益率(% |
| returnType | string | 收益类型positive/negative |
### 2.2 策略相关API
#### 2.2.1 获取策略列表
**接口**`GET /api/strategies`
**请求参数**:无
**响应参数**
| 字段名 | 类型 | 描述 |
|-------|------|------|
| id | string | 策略ID |
| iconChar | string | 图标字符 |
| title | string | 策略标题 |
| tag | string | 策略标签 |
| desc | string | 策略描述 |
| bgClass | string | 背景样式类 |
| tagClass | string | 标签样式类 |
| tags | array<string> | 策略标签数组 |
| btnText | string | 按钮文本 |
| btnClass | string | 按钮样式类 |
#### 2.2.2 获取单个策略详情
**接口**`GET /api/strategies/{id}`
**请求参数**
| 参数名 | 类型 | 位置 | 描述 |
|-------|------|------|------|
| id | string | 路径参数 | 策略ID |
**响应参数**
| 字段名 | 类型 | 描述 |
|-------|------|------|
| id | string | 策略ID |
| iconChar | string | 图标字符 |
| title | string | 策略标题 |
| tag | string | 策略标签 |
| desc | string | 策略描述 |
| bgClass | string | 背景样式类 |
| tagClass | string | 标签样式类 |
| tags | array<string> | 策略标签数组 |
| parameters | object | 策略参数配置 |
| backtest | object | 回测数据 |
#### 2.2.3 创建新策略
**接口**`POST /api/strategies`
**请求参数**
| 字段名 | 类型 | 描述 | 必填 |
|-------|------|------|------|
| title | string | 策略标题 | 是 |
| tag | string | 策略标签 | 是 |
| desc | string | 策略描述 | 是 |
| tags | array<string> | 策略标签数组 | 是 |
| parameters | object | 策略参数配置 | 是 |
| iconChar | string | 图标字符 | 否 |
| bgClass | string | 背景样式类 | 否 |
| tagClass | string | 标签样式类 | 否 |
**响应参数**
| 字段名 | 类型 | 描述 |
|-------|------|------|
| id | string | 新创建的策略ID |
| title | string | 策略标题 |
| status | string | 创建状态 |
#### 2.2.4 更新策略
**接口**`PUT /api/strategies/{id}`
**请求参数**
| 参数名 | 类型 | 位置 | 描述 |
|-------|------|------|------|
| id | string | 路径参数 | 策略ID |
**请求体**
| 字段名 | 类型 | 描述 | 必填 |
|-------|------|------|------|
| title | string | 策略标题 | 否 |
| tag | string | 策略标签 | 否 |
| desc | string | 策略描述 | 否 |
| tags | array<string> | 策略标签数组 | 否 |
| parameters | object | 策略参数配置 | 否 |
**响应参数**
| 字段名 | 类型 | 描述 |
|-------|------|------|
| id | string | 策略ID |
| status | string | 更新状态 |
#### 2.2.5 删除策略
**接口**`DELETE /api/strategies/{id}`
**请求参数**
| 参数名 | 类型 | 位置 | 描述 |
|-------|------|------|------|
| id | string | 路径参数 | 策略ID |
**响应参数**
| 字段名 | 类型 | 描述 |
|-------|------|------|
| id | string | 策略ID |
| status | string | 删除状态 |
### 2.3 用户相关API
#### 2.3.1 获取用户信息
**接口**`GET /api/user/info`
**请求参数**:无
**响应参数**
| 字段名 | 类型 | 描述 |
|-------|------|------|
| userName | string | 用户名 |
| memberLevel | string | 会员等级 |
| runningDays | number | 连续运行天数 |
| avatar | string | 头像URL |
| email | string | 邮箱 |
#### 2.3.2 获取用户统计数据
**接口**`GET /api/user/stats`
**请求参数**:无
**响应参数**
| 字段名 | 类型 | 描述 |
|-------|------|------|
| signalsCaptured | number | 已捕获信号数量 |
| winRate | number | 模拟胜率(% |
| totalTrades | number | 总交易次数 |
| averageProfit | number | 平均收益(% |
#### 2.3.3 更新用户信息
**接口**`PUT /api/user/info`
**请求参数**
| 字段名 | 类型 | 描述 | 必填 |
|-------|------|------|------|
| userName | string | 用户名 | 否 |
| avatar | string | 头像URL | 否 |
| email | string | 邮箱 | 否 |
**响应参数**
| 字段名 | 类型 | 描述 |
|-------|------|------|
| status | string | 更新状态 |
| userName | string | 更新后的用户名 |
### 2.4 应用相关API
#### 2.4.1 获取应用信息
**接口**`GET /api/app/info`
**请求参数**:无
**响应参数**
| 字段名 | 类型 | 描述 |
|-------|------|------|
| version | string | 应用版本 |
| currentDate | string | 当前日期YYYY-MM-DD |
| latestVersion | string | 最新版本 |
| updateAvailable | boolean | 是否有更新 |
### 2.5 认证相关API
#### 2.5.1 用户登录
**接口**`POST /api/auth/login`
**请求参数**
| 字段名 | 类型 | 描述 | 必填 |
|-------|------|------|------|
| email | string | 邮箱 | 是 |
| password | string | 密码 | 是 |
**响应参数**
| 字段名 | 类型 | 描述 |
|-------|------|------|
| token | string | 认证令牌 |
| expireAt | string | 令牌过期时间 |
| user | object | 用户基本信息 |
#### 2.5.2 用户注册
**接口**`POST /api/auth/register`
**请求参数**
| 字段名 | 类型 | 描述 | 必填 |
|-------|------|------|------|
| email | string | 邮箱 | 是 |
| password | string | 密码 | 是 |
| userName | string | 用户名 | 是 |
**响应参数**
| 字段名 | 类型 | 描述 |
|-------|------|------|
| id | string | 用户ID |
| status | string | 注册状态 |
#### 2.5.3 微信静默登录
**接口**`POST /api/auth/wechat/login`
**请求参数**
| 字段名 | 类型 | 描述 | 必填 |
|-------|------|------|------|
| code | string | 微信登录凭证code | 是 |
| encryptedData | string | 加密数据(可选,需要用户信息时提供) | 否 |
| iv | string | 加密算法的初始向量(可选,需要用户信息时提供) | 否 |
**响应参数**
| 字段名 | 类型 | 描述 |
|-------|------|------|
| token | string | 认证令牌 |
| expireAt | string | 令牌过期时间 |
| user | object | 用户基本信息 |
| isNewUser | boolean | 是否为新用户 |
#### 2.5.4 微信绑定邮箱
**接口**`POST /api/auth/wechat/bind`
**请求参数**
| 字段名 | 类型 | 描述 | 必填 |
|-------|------|------|------|
| email | string | 邮箱 | 是 |
| code | string | 微信登录凭证code | 是 |
**响应参数**
| 字段名 | 类型 | 描述 |
|-------|------|------|
| status | string | 绑定状态 |
| userId | string | 用户ID |
## 4. 环境变量配置
| 环境变量 | 描述 | 默认值 |
|---------|------|--------|
| PORT | 服务端口 | 3000 |
| DATABASE_URL | 数据库连接URL | - |
| JWT_SECRET | JWT密钥 | - |
| JWT_EXPIRES_IN | JWT过期时间 | 24h |
| CORS_ORIGIN | CORS允许的源 | * |