Skip to content

接口文档

1.用户界面模块(UI)

1.1.获取仪表盘数据

允许已登录的用户获取投资组合与收益曲线等数据。

  • URL/ui/dashboard
  • Method:GET
  • 需要登录:是
  • 需要鉴权:是

依赖模块:

用户管理模块 (UM): 获取用户基础信息(如用户 ID、风险等级)。

数据处理模块 (DT): 获取投资数据(收益曲线、持仓分布等)。

请求参数:

无(通过JWT解析用户身份)

成功响应

条件:用户已登录且身份校验通过。

状态码:200 OK

响应示例:如下

{
  "code": 0,
  "data": {
    "portfolio": [
      { "asset": "股票", "percentage": 60 },
      { "asset": "债券", "percentage": 30 },
      { "asset": "现金", "percentage": 10 }
    ],
    "profit_curve": [
      { "date": "2024-01", "value": 1000 },
      { "date": "2024-02", "value": 1200 }
    ]
  },
  "message": "Success"
}

错误响应

条件:用户未登录或JWT无效或过期

状态码:401 Unauthorized

响应示例:

{
    "code": 1,
    "message": "未授权",
    "data": {}
}

1.2.获取策略推荐报告

允许用户通过此接口接收投资策略报告。

  • URL/ui/recommendations
  • MethodGET
  • 需要登录:是
  • 需要鉴权:是

依赖模块:

数据处理模块(DT)

请求参数:

无(通过JWT解析用户身份)

成功响应

条件:用户已登录,并且用户身份校验通过。

状态码:200 OK

响应示例:如下

{
  "code": 0,
  "data": {
    "report_id": "REPORT_001",
    "content": "基于您的风险等级(high),建议配置:股票 50%、债券 40%、现金 10%"
  },
  "message": "Success"
}

错误响应

条件:用户未登录或身份校验失败

状态码401 Unauthorized

响应示例:

{
  "code": 1,
  "message": "未授权",
  "data": {}
}

条件:用户未生成策略报告

状态码404 Not Found

响应示例:

{
  "code": 1,
  "message": "尚未生成策略报告",
  "data": {}
}

2.用户管理模块(UM)

2.1 用户注册

新用户通过此接口完成注册

  • URL/user/register
  • MethodPOST
  • 需要登录:否
  • 需要鉴权:否

请求参数

参数 类型 是否必须 约束
username String 1 到 255 个字符
password String 1 到 255 个字符
nickname String 1 到 255 个字符
email String 满足邮箱格式
phone String 满足中国大陆手机号格式

请求示例

可以仅传递部分请求参数。

{
  "username": "admin",
  "password": "123456",
  "email": "jerry@example.com",
  "phone": "16666666666",
  "nickname": "jerry"
}

成功响应

条件:请求参数合法,并且用户身份校验通过。

状态码:200 OK

响应示例:如下

{
  "code": 0,
  "message": "",
  "data": {}
}

错误响应

条件:请求数据非法,例如 username 的长度过长。

状态码400 BAD REQUEST

响应示例:

{
  "code": 1,
  "message": "参数不合法",
  "data": {}
}

2.2 用户登录

  • URL/user/login
  • MethodPOST
  • 需要登录:否
  • 需要鉴权:否

请求参数

参数 类型 是否必须 约束
username String 1 到 255 个字符
password String 1 到 255 个字符

请求示例

{
  "username": "admin",
  "password": "123456"
}

成功响应

条件:请求参数合法,并且用户身份校验通过。

状态码:200 OK

响应示例:响应结果的data字段会存储一个token字符串,它的载荷部分包含用户的id

{
  "code": 0,
  "data": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTczODc2MjU0NCwianRpIjoiZDdmYTliZDAtZWI4MS00MDMxLWJlZTUtMzQ5ZjVjYTM0NmJmIiwidHlwZSI6ImFjY2VzcyIsInN1YiI6IjEiLCJuYmYiOjE3Mzg3NjI1NDQsImNzcmYiOiI0OTE2NzlhZS1jOWQwLTRjMWItODczNi0wN2I4MDBhNWQ2YWUiLCJleHAiOjE3Mzg3NjM0NDR9.EcjvKzvxaDT6RPOQ8ebPSf7IIJDjzpUp3rB9pEVYOaY",
  "message": ""
}

错误响应

条件:请求数据非法

状态码400 BAD REQUEST

响应示例:

{
    "code": 1,
    "message": "参数不合法",
    "data": {}
}

条件:用户名或密码输入错误

状态码401 Unauthorized

响应示例:

{
    "code": 1,
    "message": "用户名或密码不正确",
    "data": {}
}

2.3 用户信息修改

允许已登录的用户修改个人信息。

  • URL/user/modify
  • MethodPUT
  • 需要登录:是
  • 需要鉴权:是

请求参数

参数 类型 是否必须 约束
username String 1 到 255 个字符
password String 1 到 255 个字符
nickname String 1 到 255 个字符
email String 满足邮箱格式
phone String 满足中国大陆手机号格式

请求示例

可以仅传递部分请求参数。

{
  "password": "new_encrypted_abc123"
}

成功响应

条件:请求参数合法,并且用户身份校验通过。

状态码:200 OK

响应示例:如下

{
  "code": 0,
  "data": {},
  "message": "信息更新成功"
}

错误响应

条件:请求数据非法,例如 username 的长度过长。

状态码400 BAD REQUEST

响应示例:

{
  "code": 1,
  "message": "参数不合法",
  "data": {}
}

条件:用户未登录或身份校验失败

状态码401 Unauthorized

响应示例:

{
  "code": 1,
  "message": "用户未登录",
  "data": {}
}

2.4 查询用户信息

允许已登录的用户查询个人信息。

  • URL/user/query
  • MethodGET
  • 需要登录:是
  • 需要鉴权:是

请求参数

参数 类型 是否必须 约束
id String 合法的用户id

请求示例

{
  "id": "12345"
}

成功响应

条件:请求参数合法,并且用户身份校验通过。

状态码:200 OK

响应示例:如下

{
  "code": 0,
  "data": {
    "id": "12345",
    "username": "test_user",
    "nickname": "test_nickname",
    "email": "test@example.com",
    "phone": "13800138000"
  },
  "message": "查询成功"
}

错误响应

条件:请求数据非法,例如 id 格式不正确。

状态码400 BAD REQUEST

响应示例:

{
  "code": 1,
  "message": "参数不合法",
  "data": {}
}

条件:用户未登录或身份校验失败

状态码401 Unauthorized

响应示例:

{
  "code": 1,
  "message": "用户未登录",
  "data": {}
}

2.5用户注销

允许已登录的用户注销账号。

  • URL/user/delete
  • MethodDELETE
  • 需要登录:是
  • 需要鉴权:是

请求参数

参数 类型 是否必须 约束
id String 合法的用户id

请求示例

{
  "id": "12345"
}

成功响应

条件:请求参数合法,并且用户身份校验通过。

状态码:200 OK

响应示例:如下

{
  "code": 0,
  "message": "注销成功",
  "data":{}    
}

错误响应

条件:请求数据非法,例如 id 格式不正确。

状态码400 BAD REQUEST

响应示例:

{
  "code": 1,
  "message": "参数不合法",
  "data": {}
}

条件:用户未登录或身份校验失败

状态码401 Unauthorized

响应示例:

{
  "code": 1,
  "message": "用户未登录",
  "data": {}
}

3.数据隐私处理模块(PR)

3.1 提交风险评估问卷

允许已登录的用户通过该接口提交风险评估问卷。

  • URL/privacy/risk-profile
  • MethodPOST
  • 需要登录:是
  • 需要鉴权:是

请求参数

参数 类型 是否必须 约束
id String 合法的用户id
questionnaire_data JSON 包含问卷问题以及对应的答案,如{"Q1":"A1"}

请求示例

{
  "id": "12345",
  "questionnaire_data":{
    "Q1":"A",
    "Q2":"B"
  }
}

成功响应

条件:请求参数合法,并且用户身份校验通过。

状态码:200 OK

响应示例:如下

{
  "code": 0,
  "data":{
    "risk_level":high
  }   
  "message": "风险评估完成",
}

错误响应

条件:请求数据非法,例如 questionnaire格式不正确。

状态码400 BAD REQUEST

响应示例:

{
  "code": 1,
  "message": "参数不合法",
  "data": {}
}

条件:用户未登录或身份校验失败

状态码401 Unauthorized

响应示例:

{
  "code": 1,
  "message": "用户未登录",
  "data": {}
}

4.数据处理模块(DT)

4.1 启动大语言模型训练

已登录的用户通过此接口调用AI引擎进行模型训练

  • URL/data/LLM
  • MethodPOST
  • 需要登录:是
  • 需要鉴权:是

请求参数

参数 类型 是否必须 约束
String 合法的用户id

请求示例

{

}