- 添加uni-ui组件库依赖 - 实现微信静默登录功能 - 创建资产、策略、我的等核心页面 - 添加策略组合配置功能 - 实现持仓详情展示 - 完善用户信息展示 - 添加全局样式和工具类 - 配置小程序项目设置
8.3 KiB
8.3 KiB
个人资产策略管理系统 - 后端API文档
1. 基础信息
1.1 基础URL
https://api.demo.com
1.2 认证方式
- Bearer Token:在请求头中添加
Authorization: Bearer <token> - Token获取:通过登录接口获取,有效期为24小时
1.3 响应格式
所有API接口返回统一的JSON格式:
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 | 策略标签数组 |
| 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 | 策略标签数组 |
| parameters | object | 策略参数配置 |
| backtest | object | 回测数据 |
2.2.3 创建新策略
接口:POST /api/strategies
请求参数:
| 字段名 | 类型 | 描述 | 必填 |
|---|---|---|---|
| title | string | 策略标题 | 是 |
| tag | string | 策略标签 | 是 |
| desc | string | 策略描述 | 是 |
| tags | array | 策略标签数组 | 是 |
| 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 | 策略标签数组 | 否 |
| 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 |
| 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 | 否 |
| 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
请求参数:
| 字段名 | 类型 | 描述 | 必填 |
|---|---|---|---|
| string | 邮箱 | 是 | |
| password | string | 密码 | 是 |
响应参数:
| 字段名 | 类型 | 描述 |
|---|---|---|
| token | string | 认证令牌 |
| expireAt | string | 令牌过期时间 |
| user | object | 用户基本信息 |
2.5.2 用户注册
接口:POST /api/auth/register
请求参数:
| 字段名 | 类型 | 描述 | 必填 |
|---|---|---|---|
| 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
请求参数:
| 字段名 | 类型 | 描述 | 必填 |
|---|---|---|---|
| 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允许的源 | * |