Skip to content

Latest commit

 

History

History
357 lines (246 loc) · 7.54 KB

接口文档.md

File metadata and controls

357 lines (246 loc) · 7.54 KB

FitTrack 接口文档

1. 用户

1.1 添加用户(注册)

1.1.1 基本信息

  • 请求路径/signup
  • 请求方式POST
  • 接口描述:该接口用于用户注册

1.1.2 请求参数

  • 参数格式application/json
参数名 类型 是否必须 备注
username String 必须 用户名
password String 必须 用户密码(待完成项:用户密码加密处理)

请求参数样例

{
  "username": "F.t",
  "password": "123456"
}

1.1.3 响应数据

  • 参数格式application/json
参数名 类型 是否必须 备注
code number 必须 响应码,1 代表成功,0 代表失败
msg String 非必须 提示信息
data object 非必须 返回的数据

响应数据样例

{
  "code": 1,
  "msg": "success",
  "data": null
}

1.2 查询用户(登录匹配)

1.2.1 基本信息

  • 请求路径/login
  • 请求方式POST
  • 接口描述:该接口用于查询用户数据

1.2.2 请求参数

  • 参数格式application/json
参数名 类型 是否必须 备注
username String 必须 用户名
password String 必须 用户密码(待完成项:用户密码加密处理)

请求参数样例

{
  "username": "F.t",
  "password": "123456"
}

1.2.3 响应数据

  • 参数格式application/json
参数名 类型 是否必须 备注
code number 必须 响应码,1 代表成功,0 代表失败
msg String 非必须 提示信息
data object 必须 返回的数据(token)
token object 必须 经过 Base64 编码后的 JWT

响应数据样例

{
  "code": 1,
  "msg": "success",
  "data": "eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInVzZXJuYW1lIjoiRi50IiwiZXhwIjoxNzE0OTI0MTI0fQ.Bn9cwV1omIVHJHp5SN3qpRuxwvcjBj-rahZFEbcUBbM"
}

1.3 完善个人信息

1.3.1 基本信息

  • 请求路径/user/addinfo
  • 请求方式POST
  • 接口描述:该接口用于用户完善信息

1.3.2 请求参数

  • 参数格式application/json
参数名 类型 是否必须 备注
weight double 必须 体重
bodyFatRate double 必须 体脂率
heartRate int 必须 心率

注意:此处无用户密码加密处理要求)

请求参数样例

{
  "weight": 60,
  "bodyFatRate": 20.1,
  "heartRate": 82
}

1.3.3 响应数据

  • 参数格式application/json
参数名 类型 是否必须 备注
code number 必须 响应码,1 代表成功,0 代表失败
msg String 非必须 提示信息
data object 非必须 返回的数据

响应数据样例

{
  "code": 1,
  "msg": "success",
  "data": null
}

1.4 大模型智能建议

1.4.1 基本信息

  • 请求路径/user/summarize
  • 请求方式POST
  • 接口描述:该接口用于根据用户提供的健康数据,通过大模型智能算法生成个性化的健康建议。

1.4.2 请求参数

  • 参数格式application/json
参数名 类型 是否必须 备注
token String 必须 用户认证token(来自登录接口的返回)
healthData object 必须 用户健康数据对象,包含体重、体脂率、心率等

请求参数样例

{
  "token": "eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInVzZXJuYW1lIjoiRi50IiwiZXhwIjoxNzE0OTI0MTI0fQ.Bn9cwV1omIVHJHp5SN3qpRuxwvcjBj-rahZFEbcUBbM",
  "healthData": {
    "weight": 60,
    "bodyFatRate": 20.1,
    "heartRate": 82
  }
}

1.4.3 响应数据

  • 参数格式application/json
参数名 类型 是否必须 备注
code number 必须 响应码,1 代表成功,0 代表失败
msg String 非必须 提示信息
data object 必须 返回的数据,包含智能建议
suggestions array 必须 智能建议列表,包含多个建议项

响应数据样例

{
  "code": 1,
  "msg": "success",
  "data": {
    "suggestions": [
      "建议增加有氧运动,如慢跑、游泳等。",
      "建议调整饮食,减少高热量食物摄入。",
      "建议保持充足睡眠,每晚至少7-8小时。"
    ]
  }
}

运动

字段说明

字段名称 必填/选填 类型 长度限制 输入限制 是否唯一
用户名 必填 输入框 2-20 数字,字母
运动类别 必填 下拉框 - 选择 运动类型 0 跑步 1 骑行 2 游泳 3 举铁
运动时间 选填 输入框 - 数字
运动距离 选填 输入框 - 数字

获取记录的运动数

基本信息

  • 请求路径/sports/{username}/{getAll}
  • 请求方式:GET
  • 接口描述:该接口用于获取用户当天的运动信息

请求参数

  • 参数格式:application(非 json 格式)
  • 参数说明
    • getAll=True 代表的是需要全部记录
    • getAll=False 代表的是需要预览的三条数据

示例

  • localhost:8080/sports?username=F.t&getAll=True
  • localhost:8080/sports?username=F.t&getAll=False

待完成项

  • 用户密码加密处理

Header(请求头)

参数名 类型 描述
Authorization string 用户认证凭证,需要将 token 放在这里

Body(请求体)

响应数据

  • 参数格式:application/json

参数说明

参数名 类型 是否必须 备注
code number 必须 响应码,1 代表成功,0 代表失败
msg String 非必须 提示信息
data object 必须 返回的数据
username string 必须 用户名
date Date 必须 运动记录时间(运动被记录到数据库的时间)
sportsName int 必须 运动类型
sportsTime double 非必须 运动时间
sportsDistance double 非必须 运动距离
calories double 必须 运动消耗卡路里

响应数据样例

{
  "code": 1,
  "msg": "success",
  "data": [
    {
      "username": "F.t",
      "date": "2024-05-02",
      "sportsName": "0",
      "sportsTime": "180s",
      "sportsDistance": "700",
      "calories": "100"
    },
    {
      "username": "F.r",
      "date": "2024-05-02",
      "sportsName": "0",
      "sportsTime": "1800s",
      "sportsDistance": "700",
      "calories": "100"
    }
  ]
}

增添用户数据

请求体样例

以下是一个增添用户运动数据的请求体样例:

{
  "username": "F.t",
  "sportsName": 0, // 假设0代表跑步
  "sportsTime": 1800, // 运动时间,单位秒
  "sportsDistance": 7000, // 运动距离,单位米
  "calories": 500 // 运动消耗卡路里
}

响应数据

成功添加数据后,服务器将返回一个响应,通常包含以下信息:

{
  "code": 1,
  "msg": "运动数据添加成功",
  "data": null // 根据需要,这里可能返回添加的数据ID或其他相关信息
}

如果添加失败,响应将包含一个错误码和错误信息:

{
  "code": 0,
  "msg": "添加运动数据失败,原因:xxx",
  "data": null
}