scense_game/wwwroot/game/game_save.dspy

25 lines
967 B
Python

#!/usr/bin/env python3
"""W-08j 退出保存进度:保存进度快照(不改变状态)。"""
result = {'success': False, 'data': {}}
try:
user_id = await get_user()
session_id = params_kw.get('session_id', '')
if not session_id:
result['code'] = 400
result['error'] = '缺少 session_id'
else:
progress_json = params_kw.get('progress_json', '')
score = params_kw.get('score', None)
level = params_kw.get('level', None)
elapsed_ms = params_kw.get('elapsed_ms', None)
data = await game_save_progress(user_id, session_id, progress_json=progress_json,
score=score, level=level, elapsed_ms=elapsed_ms)
result['success'] = True
result['data'] = data
except ValueError as e:
result['code'] = 400
result['error'] = str(e)
except Exception as e:
result['error'] = str(e)
return json.dumps(result, ensure_ascii=False, default=str)