健身会员训练周记录API文档

训练周记录摘要API

接口信息

GET/gym/member/training_summary

请求参数

参数名 类型 必填 描述
member_id Integer 会员ID,如果不提供则使用当前登录用户关联的会员
stage_id Integer 训练阶段ID,如果不提供则使用会员的最新阶段
access_token String 访问令牌

响应数据

成功响应(200):

{
  "member": {
    "name": "Summer",
    "image_1920": "base64编码的图片数据",
    "trainer": "刘尚武",
    "location": "玻曼健身四川北路店"
  },
  "stage": {
    "start_date": "2024-02-10",
    "end_date": "2024-05-09",
    "total_weeks": 12
  },
  "weekly_data": [
    {
      "阶段": "第1周",
      "训练频次": 4,
      "课后训练": 4,
      "饮食打卡": 5,
      "每周体重": "70.3kg",
      "本周训练情况": "下肢肌力有所提升"
    },
    {
      "阶段": "第2周",
      "训练频次": 3,
      "课后训练": 3,
      "饮食打卡": 4,
      "每周体重": "69.9kg",
      "本周训练情况": "力量有所增长"
    },
    // ... 其他周的数据
  ],
  "chart_data": {
    "weeks": ["第1周", "第2周", "第3周", ...],
    "workout_counts": [4, 3, 2, ...],
    "post_workout_counts": [4, 3, 1, ...],
    "diet_counts": [5, 4, 5, ...]
  }
}

错误响应:

400: 会员不存在
{
  "error": "Member not found",
  "error_descrip": "未找到会员信息"
}
400: 训练阶段不存在
{
  "error": "Stage not found",
  "error_descrip": "未找到训练阶段信息"
}
400: 训练阶段日期无效
{
  "error": "Invalid stage dates",
  "error_descrip": "训练阶段日期无效"
}

数据字段说明

member (会员信息)

stage (训练阶段信息)

weekly_data (按周组织的训练数据)

chart_data (图表数据)

训练情况评价逻辑

训练情况评价基于以下逻辑生成:

1. 优先根据会员训练记录中的after_exercise_status字段值确定:

2. 如果没有有效的after_exercise_status数据,则根据训练频次、课后训练和饮食打卡次数生成评价:

使用示例

请求示例

基本请求:

GET /gym/member/training_summary?access_token=abc123

获取指定会员的训练周记录:

GET /gym/member/training_summary?member_id=42&access_token=abc123

获取指定会员指定训练阶段的训练周记录:

GET /gym/member/training_summary?member_id=42&stage_id=5&access_token=abc123

前端展示示例

该API返回的数据可用于生成类似以下的展示效果:

  1. 会员信息卡片:
    • 显示会员姓名、头像
    • 显示教练姓名、健身房地址
  2. 训练周期信息:
    • 显示开始日期、结束日期、总周数
  3. 训练周记录表格:
    • 按周显示训练频次、课后训练、饮食打卡、每周体重、训练情况评价
  4. 训练频次图表:
    • 使用折线图显示训练频次、课后训练、饮食打卡的趋势