架构变更: - 废弃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透传
142 lines
5.8 KiB
XML
142 lines
5.8 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('index.ui')}}"
|
||
},
|
||
"mode": "replace"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"widgettype": "VScrollPanel",
|
||
"options": {
|
||
"height": "600px"
|
||
},
|
||
"subwidgets": [
|
||
{
|
||
"widgettype": "VBox",
|
||
"options": {
|
||
"padding": "16px",
|
||
"spacing": 12
|
||
},
|
||
"subwidgets": [
|
||
{
|
||
"widgettype": "Form",
|
||
"id": "upload_form",
|
||
"options": {
|
||
"submit_url": "{{entire_url('api/rl_asset_create.dspy')}}",
|
||
"fields": [
|
||
{
|
||
"uitype": "str",
|
||
"name": "vendor_group_id",
|
||
"label": "供应商组合ID",
|
||
"placeholder": "输入已通过认证的 vendor_group_id",
|
||
"required": true
|
||
},
|
||
{
|
||
"uitype": "text",
|
||
"name": "source_url",
|
||
"label": "素材URL或base64",
|
||
"rows": 4,
|
||
"placeholder": "https://... 可公开访问的图片URL\n或\ndata:image/png;base64,...",
|
||
"required": true
|
||
},
|
||
{
|
||
"uitype": "code",
|
||
"name": "asset_type",
|
||
"label": "素材类型",
|
||
"dataurl": "{{entire_url('api/get_asset_type_list.dspy')}}",
|
||
"data_field": "value",
|
||
"text_field": "text"
|
||
},
|
||
{
|
||
"uitype": "str",
|
||
"name": "name",
|
||
"label": "素材名称",
|
||
"placeholder": "可选,默认使用URL最后一部分"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"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('upload_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('upload_form',bricks.app);if(f)f.reset()"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|