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