架构变更: - 废弃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透传
156 lines
6.9 KiB
XML
156 lines
6.9 KiB
XML
{
|
|
"widgettype": "VBox",
|
|
"options": {
|
|
"width": "100%",
|
|
"padding": "16px"
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "HBox",
|
|
"options": {
|
|
"width": "100%",
|
|
"alignItems": "center",
|
|
"marginBottom": "16px"
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "Title4",
|
|
"options": {
|
|
"text": "供应商配置",
|
|
"fontWeight": "600"
|
|
}
|
|
},
|
|
{
|
|
"widgettype": "Filler"
|
|
},
|
|
{
|
|
"widgettype": "Button",
|
|
"options": {
|
|
"label": "返回列表"
|
|
},
|
|
"binds": [
|
|
{
|
|
"wid": "self",
|
|
"event": "click",
|
|
"actiontype": "urlwidget",
|
|
"target": "app.rl_content",
|
|
"options": {
|
|
"url": "{{entire_url('vendor_config_manage.ui')}}"
|
|
},
|
|
"mode": "replace"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"widgettype": "VScrollPanel",
|
|
"options": {
|
|
"height": "600px"
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "VBox",
|
|
"options": {
|
|
"padding": "16px",
|
|
"spacing": 12
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "Form",
|
|
"id": "vendor_config_form",
|
|
"options": {
|
|
"submit_url": "{{entire_url('api/rl_vendor_config_create.dspy')}}",
|
|
"fields": [
|
|
{
|
|
"uitype": "str",
|
|
"name": "vendor",
|
|
"label": "供应商标识",
|
|
"placeholder": "如 volcengine",
|
|
"required": true
|
|
},
|
|
{
|
|
"uitype": "str",
|
|
"name": "vendor_title",
|
|
"label": "供应商名称",
|
|
"placeholder": "如火山引擎"
|
|
},
|
|
{
|
|
"uitype": "code",
|
|
"name": "upappid",
|
|
"label": "上位系统(uapi)",
|
|
"dataurl": "{{entire_url('api/get_upapp_list.dspy')}}",
|
|
"data_field": "value",
|
|
"text_field": "text",
|
|
"required": true
|
|
},
|
|
{
|
|
"uitype": "text",
|
|
"name": "api_mapping",
|
|
"label": "API映射(JSON)",
|
|
"rows": 8,
|
|
"placeholder": '{\"create_session\":\"CreateVisualValidateSession\",\"get_result\":\"GetVisualValidateResult\",\"upload_asset\":\"CreateAsset\",\"get_asset\":\"GetAsset\",\"list_assets\":\"ListAssets\",\"list_groups\":\"ListAssetGroups\",\"delete_asset\":\"DeleteAsset\",\"delete_group\":\"DeleteAssetGroup\"}'
|
|
},
|
|
{
|
|
"uitype": "code",
|
|
"name": "status",
|
|
"label": "状态",
|
|
"dataurl": "{{entire_url('api/get_status_list.dspy')}}",
|
|
"data_field": "value",
|
|
"text_field": "text"
|
|
},
|
|
{
|
|
"uitype": "str",
|
|
"name": "callback_url",
|
|
"label": "回调URL",
|
|
"placeholder": "https://your-domain.com/reallife_asset/api/rl_callback.dspy"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"widgettype": "HBox",
|
|
"options": {
|
|
"gap": "12px",
|
|
"marginTop": "16px"
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "Button",
|
|
"options": {
|
|
"label": "提交"
|
|
},
|
|
"binds": [
|
|
{
|
|
"wid": "self",
|
|
"event": "click",
|
|
"actiontype": "script",
|
|
"target": "self",
|
|
"script": "var f=bricks.getWidgetById('vendor_config_form',bricks.app);if(f)f.submit()"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"widgettype": "Button",
|
|
"options": {
|
|
"label": "重置"
|
|
},
|
|
"binds": [
|
|
{
|
|
"wid": "self",
|
|
"event": "click",
|
|
"actiontype": "script",
|
|
"target": "self",
|
|
"script": "var f=bricks.getWidgetById('vendor_config_form',bricks.app);if(f)f.reset()"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|