- create_validate.ui: 去掉callback_url/project_name,只保留vendor下拉,提交到rl_verify.dspy - rl_verify.dspy: 自动用orgid作为project_name,返回Message widget含h5_link - upload_asset.ui: 增加vendor下拉,vendor_group_id改为可选下拉(从已认证组合中选) - 新增get_org_groups.dspy: 返回当前org已认证的vendor_group_id列表 - rl_upload.dspy: 返回Message widget格式
39 lines
1.3 KiB
Plaintext
39 lines
1.3 KiB
Plaintext
import json
|
||
|
||
vendor_group_id = params_kw.get('vendor_group_id', '')
|
||
source_url = params_kw.get('source_url', '')
|
||
asset_type = params_kw.get('asset_type', 'Image')
|
||
name = params_kw.get('name', '')
|
||
|
||
if not vendor_group_id or not source_url:
|
||
return json.dumps({
|
||
"widgettype": "Message",
|
||
"options": {"message": "请选择认证组合并提供素材URL", "type": "error"}
|
||
})
|
||
|
||
# If source_url is base64 data or local path, convert to public URL
|
||
if source_url.startswith('data:') or (not source_url.startswith('http') and len(source_url) < 8000):
|
||
source_url = await b64media2url(request, source_url)
|
||
if not source_url:
|
||
return json.dumps({
|
||
"widgettype": "Message",
|
||
"options": {"message": "素材文件转换失败", "type": "error"}
|
||
})
|
||
|
||
org_id = (await get_userorgid()) or '0'
|
||
user_id = (await get_user()) or ''
|
||
|
||
result = await rl_upload_user(org_id, vendor_group_id, source_url, asset_type, name, user_id)
|
||
|
||
if result.get('success'):
|
||
asset_id = result.get('vendor_asset_id', '')
|
||
return json.dumps({
|
||
"widgettype": "Message",
|
||
"options": {"message": f"素材上传成功!资产ID: {asset_id}", "type": "success"}
|
||
})
|
||
else:
|
||
return json.dumps({
|
||
"widgettype": "Message",
|
||
"options": {"message": result.get('message', '上传失败'), "type": "error"}
|
||
})
|