reallife_asset/wwwroot/api/submit_query_status.dspy
yumoqing 2440be759d fix: center all popups (anchor:cc), remove download URL from status query
- submit_query_status.dspy: add anchor:cc to all Message/Error widgets,
  remove download URL display from status result
- submit_upload.dspy: add anchor:cc to all Error widgets
- Error popups now centered for consistency
2026-05-30 10:46:22 +08:00

66 lines
2.0 KiB
Plaintext

asset_id = params_kw.get('asset_id', '')
if not asset_id:
return json.dumps({
"widgettype": "Error",
"options": {"title": "错误", "message": "缺少素材ID", "anchor": "cc"}
})
org_id = (await get_userorgid()) or '0'
user_id = (await get_user()) or ''
result = await rl_sync_asset_status_user(org_id, asset_id, user_id)
if result.get('success'):
status = result.get('status', '')
msg = f"素材状态:{status}"
subwidgets = [
{
"widgettype": "Text",
"options": {"text": msg}
}
]
# If still processing, show a retry button
if status and status.lower() in ('processing', 'pending', 'submitted'):
base_path = request.path.rsplit('/', 1)[0]
check_url = base_path + '/submit_query_status.dspy'
subwidgets.append({
"widgettype": "Button",
"options": {"label": "再次查询"},
"binds": [
{
"wid": "self",
"event": "click",
"actiontype": "script",
"target": "self",
"script": "(async function(){"
"var url='" + check_url + "?_webbricks_=1&asset_id=" + asset_id + "';"
"var r=await fetch(url);"
"var j=await r.json();"
"await bricks.show_resp_message_or_error({json:async function(){return j}});"
"})()"
}
]
})
return json.dumps({
"widgettype": "Message",
"id": "status_result_popup",
"options": {"title": "素材状态", "message": "", "anchor": "cc"},
"subwidgets": [
{
"widgettype": "VBox",
"options": {"padding": "8px", "gap": "12px"},
"subwidgets": subwidgets
}
]
})
else:
return json.dumps({
"widgettype": "Error",
"options": {"title": "查询失败", "message": result.get('message', '未知错误'), "anchor": "cc"}
})