认证模块

GET /auth/send_sms_code - 发送短信验证码
功能描述

向指定手机号发送短信验证码,用于登录验证。

请求参数
参数名 位置 类型 必填 说明
phone query string 接收验证码的手机号
响应示例
{
  "code": 0,
  "message": "短信验证码发送成功"
}
相关文件和代码
  • 路由文件: routes/auth.py
  • 主要函数: send_sms_code()
  • 工具类: utils/sms_utils.py
GET /auth/sms_login - 短信登录
功能描述

使用手机号和短信验证码进行登录,成功后返回访问令牌。

请求参数
参数名 位置 类型 必填 说明
phone query string 登录手机号
code query string 短信验证码
响应示例
{
  "code": 0,
  "data": {
    "id": 55,
    "login_status": 1,
    "phone": "19516043350",
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "username": "user_19516043350"
  },
  "message": "登录成功"
}
相关文件和代码
  • 路由文件: routes/auth.py
  • 主要函数: sms_login()
  • 工具类: utils/jwt_utils.py, utils/token_utils.py
GET /auth/refresh - 刷新Token
功能描述

使用现有有效的Token换取新的访问令牌。

请求头
头部 说明
Authorization Bearer <token> 有效的访问令牌
响应示例
{
  "code": 0,
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
  },
  "message": "Token刷新成功"
}
相关文件和代码
  • 路由文件: routes/auth.py
  • 主要函数: refresh_token()
  • 工具类: utils/jwt_utils.py, utils/token_utils.py

用户模块

GET /user/info - 获取用户信息
功能描述

获取当前登录用户的详细信息。

请求头
头部 说明
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.py
  • 主要函数: get_user_info()
POST /user/update - 更新用户信息
功能描述

更新当前登录用户的个人信息。

请求头
头部 说明
Authorization Bearer <token> 有效的访问令牌
Content-Type application/json JSON数据格式
请求体示例
{
  "username": "新用户名",
  "email": "user@example.com"
}
响应示例
{
  "code": 0,
  "message": "用户信息更新成功"
}
相关文件和代码
  • 路由文件: routes/user.py
  • 主要函数: update_user_info()

设备模块

POST /device/bind - 绑定设备
功能描述

将设备与当前用户账户绑定。

请求头
头部 说明
Authorization Bearer <token> 有效的访问令牌
Content-Type application/json JSON数据格式
请求体示例
{
  "device_id": "设备唯一标识",
  "device_name": "设备名称"
}
响应示例
{
  "code": 0,
  "message": "设备绑定成功"
}
相关文件和代码
  • 路由文件: routes/device.py
  • 主要函数: bind_device()
GET /device/info - 获取设备信息
功能描述

获取已绑定设备的详细信息。

请求头
头部 说明
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.py
  • 主要函数: get_device_info()

计划模块

POST /plan/create - 创建锻炼计划
功能描述

为用户创建一个新的锻炼计划。

请求头
头部 说明
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.py
  • 主要函数: create_plan()
GET /plan/today - 获取今日计划
功能描述

获取用户今天的锻炼计划。

请求头
头部 说明
Authorization Bearer <token> 有效的访问令牌
响应示例
{
  "code": 0,
  "data": {
    "plan_id": 123,
    "plan_name": "新手训练计划",
    "exercises": [
      {
        "name": "俯卧撑",
        "sets": 3,
        "reps": 10,
        "completed": false
      }
    ]
  },
  "message": "获取今日计划成功"
}
相关文件和代码
  • 路由文件: routes/plan.py
  • 主要函数: get_todays_plan()

AI模块

POST /ollama/chat - Ollama AI交互
功能描述

与Ollama部署的大语言模型进行对话交互。

请求头
头部 说明
Authorization Bearer <token> 有效的访问令牌
Content-Type application/json JSON数据格式
请求体示例
{
  "message": "如何提高俯卧撑的数量?",
  "model": "llama2"
}
响应示例
{
  "code": 0,
  "data": {
    "response": "提高俯卧撑数量需要循序渐进地训练...",
    "model": "llama2"
  },
  "message": "AI回复成功"
}
相关文件和代码
  • 路由文件: routes/ollama_api.py
  • 主要函数: chat_with_ollama()
  • 工具类: utils/ollama_client.py
POST /boxing/analyze - 拳击动作识别
功能描述

使用自研拳击动作识别模型分析用户上传的动作视频或数据。

请求头
头部 说明
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.py
  • 主要函数: analyze_boxing_action()
  • 模型管理: utils/model_loader.py
  • 模型文件: models/boxing_model.h5