向指定手机号发送短信验证码,用于登录验证。
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| phone | query | string | 是 | 接收验证码的手机号 |
{
"code": 0,
"message": "短信验证码发送成功"
}
routes/auth.pysend_sms_code()utils/sms_utils.py使用手机号和短信验证码进行登录,成功后返回访问令牌。
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| phone | query | string | 是 | 登录手机号 |
| code | query | string | 是 | 短信验证码 |
{
"code": 0,
"data": {
"id": 55,
"login_status": 1,
"phone": "19516043350",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"username": "user_19516043350"
},
"message": "登录成功"
}
routes/auth.pysms_login()utils/jwt_utils.py, utils/token_utils.py使用现有有效的Token换取新的访问令牌。
| 头部 | 值 | 说明 |
|---|---|---|
| Authorization | Bearer <token> | 有效的访问令牌 |
{
"code": 0,
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
},
"message": "Token刷新成功"
}
routes/auth.pyrefresh_token()utils/jwt_utils.py, utils/token_utils.py获取当前登录用户的详细信息。
| 头部 | 值 | 说明 |
|---|---|---|
| Authorization | Bearer <token> | 有效的访问令牌 |
{
"code": 0,
"data": {
"id": 55,
"username": "user_19516043350",
"phone": "19516043350",
"email": null,
"avatar": null,
"created_at": "2025-11-20T15:09:59"
},
"message": "获取用户信息成功"
}
routes/user.pyget_user_info()更新当前登录用户的个人信息。
| 头部 | 值 | 说明 |
|---|---|---|
| Authorization | Bearer <token> | 有效的访问令牌 |
| Content-Type | application/json | JSON数据格式 |
{
"username": "新用户名",
"email": "user@example.com"
}
{
"code": 0,
"message": "用户信息更新成功"
}
routes/user.pyupdate_user_info()将设备与当前用户账户绑定。
| 头部 | 值 | 说明 |
|---|---|---|
| Authorization | Bearer <token> | 有效的访问令牌 |
| Content-Type | application/json | JSON数据格式 |
{
"device_id": "设备唯一标识",
"device_name": "设备名称"
}
{
"code": 0,
"message": "设备绑定成功"
}
routes/device.pybind_device()获取已绑定设备的详细信息。
| 头部 | 值 | 说明 |
|---|---|---|
| Authorization | Bearer <token> | 有效的访问令牌 |
{
"code": 0,
"data": {
"device_id": "设备唯一标识",
"device_name": "设备名称",
"firmware_version": "1.0.0",
"bind_time": "2025-11-20T15:09:59"
},
"message": "获取设备信息成功"
}
routes/device.pyget_device_info()为用户创建一个新的锻炼计划。
| 头部 | 值 | 说明 |
|---|---|---|
| Authorization | Bearer <token> | 有效的访问令牌 |
| Content-Type | application/json | JSON数据格式 |
{
"plan_name": "新手训练计划",
"description": "适合新手的7天训练计划",
"exercises": [
{
"day": 1,
"exercise_list": [
{"name": "俯卧撑", "sets": 3, "reps": 10}
]
}
]
}
{
"code": 0,
"message": "计划创建成功"
}
routes/plan.pycreate_plan()获取用户今天的锻炼计划。
| 头部 | 值 | 说明 |
|---|---|---|
| Authorization | Bearer <token> | 有效的访问令牌 |
{
"code": 0,
"data": {
"plan_id": 123,
"plan_name": "新手训练计划",
"exercises": [
{
"name": "俯卧撑",
"sets": 3,
"reps": 10,
"completed": false
}
]
},
"message": "获取今日计划成功"
}
routes/plan.pyget_todays_plan()与Ollama部署的大语言模型进行对话交互。
| 头部 | 值 | 说明 |
|---|---|---|
| Authorization | Bearer <token> | 有效的访问令牌 |
| Content-Type | application/json | JSON数据格式 |
{
"message": "如何提高俯卧撑的数量?",
"model": "llama2"
}
{
"code": 0,
"data": {
"response": "提高俯卧撑数量需要循序渐进地训练...",
"model": "llama2"
},
"message": "AI回复成功"
}
routes/ollama_api.pychat_with_ollama()utils/ollama_client.py使用自研拳击动作识别模型分析用户上传的动作视频或数据。
| 头部 | 值 | 说明 |
|---|---|---|
| Authorization | Bearer <token> | 有效的访问令牌 |
| Content-Type | application/json | JSON数据格式 |
{
"video_data": "base64编码的视频数据",
"action_type": "punch"
}
{
"code": 0,
"data": {
"action_quality": 0.85,
"feedback": "出拳速度良好,但角度可以调整",
"suggestions": [
"注意手腕的姿势",
"保持身体平衡"
]
},
"message": "动作分析完成"
}
routes/AIboxing.pyanalyze_boxing_action()utils/model_loader.pymodels/boxing_model.h5