reallife_asset/wwwroot/api/rl_callback.dspy
yumoqing a21eabbb11 refactor(reallife_asset): uapi网关架构重构 + UI全面修复
架构变更:
- 废弃volcengine_client.py直连,改为通过Sage uapi网关调用供应商API
- rl_vendor_config表新增upappid和api_mapping(JSON)字段
- 新增_call_vendor()统一路由: vendor→upappid→apiname→UpAppApi.call()
- 支持多供应商灵活映射,各家API数量/逻辑不同通过api_mapping配置

管理端UI:
- vendor_config_manage.ui: Tabular列表展示供应商配置
- vendor_config_edit.ui: 供应商配置编辑页(AK/SK通过upapp/upappkey管理)
- org_group_manage.ui: 机构映射管理页
- 新增api/get_upapp_list.dspy获取上位系统下拉选项
- 新增api/get_status_list.dspy获取状态下拉选项

客户端UI:
- create_validate.ui: 真人认证页面,支持选择供应商创建H5认证
- upload_asset.ui: 上传素材页面,支持URL/base64上传
- index.ui: 新增客户端入口卡片(真人认证、上传素材)
- 所有Form字段使用正确uitype(code/str/text),确保可输入

清理:
- 废弃rl_app_user表,统一使用rl_asset_group+rl_org_group
- 简化API签名,去除冗余apikey/secretkey透传
2026-05-28 18:49:46 +08:00

29 lines
886 B
Plaintext

import json
# Vendor callback POSTs JSON body with BytedToken.
# The callback URL is configured when calling CreateVisualValidateSession.
# Typical payload: {"BytedToken": "...", "ReqUUID": "...", "Status": "..."}
body_str = http_request.get("body", "") or ""
byted_token = ""
try:
body = json.loads(body_str) if body_str else {}
byted_token = body.get("BytedToken", "")
if not byted_token:
byted_token = body.get("byted_token", "")
if not byted_token:
byted_token = body.get("Token", "")
except:
byted_token = ""
if not byted_token:
byted_token = params_kw.get("BytedToken", params_kw.get("byted_token", ""))
if not byted_token:
return {"success": False, "message": "缺少 BytedToken 参数"}
# vendor is determined by looking up the session record
result = await rl_handle_callback(byted_token, project_name="default")
return result