reallife_asset/wwwroot/api/rl_vendor_config_update.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

31 lines
1.0 KiB
Plaintext

id = params_kw.get('id', '')
if not id: return {"success": False, "message": "id required"}
db = DBPools()
dbname = get_module_dbname('reallife_asset')
async with db.sqlorContext(dbname) as sor:
recs = await sor.R("rl_vendor_config", {"id": id})
if not recs: return {"success": False, "message": "Not found"}
upd = {}
for k in ['status', 'callback_url', 'vendor', 'vendor_title', 'upappid']:
if params_kw.get(k) is not None:
upd[k] = params_kw.get(k)
# Update api_mapping if provided
api_mapping = params_kw.get('api_mapping', None)
if api_mapping is not None:
import json
try:
api_mapping_dict = json.loads(api_mapping) if api_mapping else {}
upd['api_mapping'] = json.dumps(api_mapping_dict, ensure_ascii=False)
except json.JSONDecodeError:
return {"success": False, "message": "API映射必须是有效的JSON"}
upd['update_time'] = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
async with db.sqlorContext(dbname) as sor:
await sor.U("rl_vendor_config", upd, {"id": id})
return {"success": True}