本文档描述了如何使用生成阶段总结API调用AI生成会员的阶段训练总结。
生成阶段总结API提供了调用AI生成会员阶段训练总结的功能,可以用于教练或会员在阶段结束后自动生成训练效果的总结报告。
调用AI生成指定阶段的总结内容。
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| stage_id | Integer | 是 | 阶段ID |
API返回JSON格式的数据,包含以下字段:
{
"error": 0, // 错误码,0表示成功,非0表示失败
"message": "阶段总结生成请求已提交,请在2分钟后查看报告", // 响应消息
"stage_id": 123 // 阶段ID
}
| 错误码 | 描述 |
|---|---|
| 0 | 成功 |
| 400 | 请求参数错误,如缺少必要参数或评估记录不足 |
| 404 | 未找到指定阶段 |
| 500 | 服务器内部错误 |
POST /gym/member/generate_stage_summary
Content-Type: application/x-www-form-urlencoded
stage_id=123
调用此API后,系统会异步生成阶段总结,这个过程通常需要1-2分钟。生成完成后,可以通过阶段报告API获取生成的总结内容。
注意:要使用此API,阶段必须至少有2条体适能评估记录,否则将返回错误。
// 使用fetch API生成阶段总结
const generateStageSummary = async (stageId) => {
try {
const formData = new FormData();
formData.append('stage_id', stageId);
const response = await fetch('/gym/member/generate_stage_summary', {
method: 'POST',
body: formData,
headers: {
'Authorization': 'Bearer ' + accessToken
}
});
const data = await response.json();
if (data.error === 0) {
console.log('阶段总结生成请求已提交:', data.message);
return data;
} else {
console.error('生成失败:', data.message);
throw new Error(data.message);
}
} catch (error) {
console.error('请求出错:', error);
throw error;
}
};
// 调用示例
generateStageSummary(123)
.then(data => {
// 处理成功响应
console.log('请在2分钟后查看报告');
// 2分钟后获取阶段报告
setTimeout(() => {
// 这里可以调用获取阶段报告的API
console.log('现在可以获取阶段报告了');
}, 120000); // 2分钟
})
.catch(error => {
// 处理错误
console.error('生成阶段总结失败:', error);
});
// 使用fetch API发送JSON格式请求
const generateStageSummaryJson = async (stageId) => {
try {
const response = await fetch('/gym/member/generate_stage_summary', {
method: 'POST',
body: JSON.stringify({
stage_id: stageId
}),
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + accessToken
}
});
const data = await response.json();
if (data.error === 0) {
console.log('阶段总结生成请求已提交:', data.message);
return data;
} else {
console.error('生成失败:', data.message);
throw new Error(data.message);
}
} catch (error) {
console.error('请求出错:', error);
throw error;
}
};
import requests
import time
def generate_stage_summary(stage_id, access_token):
"""
生成阶段总结
Args:
stage_id: 阶段ID
access_token: 访问令牌
Returns:
生成结果
"""
url = 'http://your-domain.com/gym/member/generate_stage_summary'
headers = {
'Authorization': f'Bearer {access_token}'
}
data = {
'stage_id': stage_id
}
response = requests.post(url, data=data, headers=headers)
if response.status_code == 200:
result = response.json()
if result['error'] == 0:
print(f"阶段总结生成请求已提交: {result['message']}")
return result
else:
print(f"生成失败: {result['message']}")
raise Exception(result['message'])
else:
print(f"请求失败,状态码: {response.status_code}")
raise Exception(f"请求失败,状态码: {response.status_code}")
# 调用示例
try:
result = generate_stage_summary(
stage_id=123,
access_token='your-access-token'
)
print("请在2分钟后查看报告")
# 等待2分钟
time.sleep(120)
# 这里可以调用获取阶段报告的API
print("现在可以获取阶段报告了")
except Exception as e:
print(f"生成阶段总结失败: {str(e)}")