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

41 lines
1.2 KiB
Plaintext

org_id = params_kw.get('org_id', (await get_userorgid()) or '0')
id = params_kw.get('id', getID())
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
vendor = params_kw.get('vendor', '')
upappid = params_kw.get('upappid', '')
api_mapping = params_kw.get('api_mapping', '{}')
if not vendor:
return {"success": False, "message": "供应商标识不能为空"}
if not upappid:
return {"success": False, "message": "上位系统ID不能为空"}
# Validate api_mapping is valid JSON
import json
try:
api_mapping_dict = json.loads(api_mapping) if api_mapping else {}
api_mapping = json.dumps(api_mapping_dict, ensure_ascii=False)
except json.JSONDecodeError:
return {"success": False, "message": "API映射必须是有效的JSON"}
data = {
"id": id,
"org_id": org_id,
"vendor": vendor,
"vendor_title": params_kw.get('vendor_title', ''),
"upappid": upappid,
"api_mapping": api_mapping,
"status": params_kw.get('status', 'active'),
"callback_url": params_kw.get('callback_url', ''),
"create_time": now,
"update_time": now
}
db = DBPools()
dbname = get_module_dbname('reallife_asset')
async with db.sqlorContext(dbname) as sor:
await sor.I("rl_vendor_config", data)
return {"success": True, "id": id}