reallife_asset/wwwroot/api/rl_upload.dspy
yumoqing ac50a223b5 fix: 客户UI改用client API,简化表单字段
- 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格式
2026-05-29 10:44:19 +08:00

39 lines
1.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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"}
})