feat: 真人认证增加可选name参数, 记录到rl_org_group供列表展示
- rl_verify_user(): 新增name参数, 存入rl_asset_group.name/title - rl_handle_callback(): 回调时将name从rl_asset_group复制到rl_org_group - rl_query_groups(): 返回结果增加name字段 - rl_org_group模型: 新增name字段(str/200) - rl_verify.dspy/submit_create_validate.dspy: 接收name参数 - create_validate.ui: 表单增加认证名称输入框(可选) - api_downapp.md: 文档同步更新
This commit is contained in:
parent
5fa1040adc
commit
93780ac01d
@ -29,7 +29,9 @@ https://token.opencomputing.cn
|
||||
### 请求参数
|
||||
| 参数 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| `vendor` | 是 | 供应商标识 |
|
||||
| `project_name` | 否 | 项目名称,默认 `default` |
|
||||
| `name` | 否 | 认证名称,方便识别的名称,查询组合列表时显示 |
|
||||
|
||||
> `user_id` 和 `org_id` 由 Bearer Token 自动获取,无需传递。
|
||||
|
||||
@ -92,6 +94,7 @@ Authorization: Bearer <your_api_key>
|
||||
{
|
||||
"vendor_group_id": "volc-asset-group-xxx",
|
||||
"vendor": "volcengine",
|
||||
"name": "模特张三",
|
||||
"status": "active",
|
||||
"create_time": "2026-05-28 15:30:00"
|
||||
}
|
||||
|
||||
@ -40,6 +40,12 @@
|
||||
"type": "str",
|
||||
"length": 32
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"title": "组合名称",
|
||||
"type": "str",
|
||||
"length": 200
|
||||
},
|
||||
{
|
||||
"name": "status",
|
||||
"title": "状态",
|
||||
|
||||
@ -432,7 +432,7 @@ async def rl_sync_assets_from_vendor(org_id, local_group_id):
|
||||
# Downapp User API Proxies (client-facing via dapi Bearer auth)
|
||||
# ============================================================
|
||||
|
||||
async def rl_verify_user(org_id, user_id, vendor, project_name="default"):
|
||||
async def rl_verify_user(org_id, user_id, vendor, project_name="default", name=""):
|
||||
"""User proxy: Create H5 verification session via uapi gateway."""
|
||||
callback_cfg = await _get_vendor_config(vendor)
|
||||
if not callback_cfg.get("success"):
|
||||
@ -451,6 +451,7 @@ async def rl_verify_user(org_id, user_id, vendor, project_name="default"):
|
||||
byted_token = result.get("BytedToken", result.get("Result", {}).get("BytedToken", ""))
|
||||
h5_link = result.get("H5Link", result.get("Result", {}).get("H5Link", ""))
|
||||
|
||||
display_name = name or f"待认证-{user_id}"
|
||||
gid = getID()
|
||||
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
db = DBPools()
|
||||
@ -459,8 +460,8 @@ async def rl_verify_user(org_id, user_id, vendor, project_name="default"):
|
||||
"id": gid,
|
||||
"org_id": org_id,
|
||||
"vendor": vendor,
|
||||
"name": f"待认证-{user_id}",
|
||||
"title": f"待认证",
|
||||
"name": display_name,
|
||||
"title": display_name,
|
||||
"group_type": "LivenessFace",
|
||||
"project_name": project_name,
|
||||
"status": "pending",
|
||||
@ -597,6 +598,7 @@ async def rl_handle_callback(byted_token, project_name="default"):
|
||||
local_group_id = rec.id
|
||||
org_id = rec.org_id
|
||||
vendor = rec.vendor
|
||||
group_name = getattr(rec, "name", "") or getattr(rec, "title", "")
|
||||
|
||||
if rec.status == "active" and rec.vendor_group_id:
|
||||
debug(f"callback already processed for group {local_group_id}")
|
||||
@ -635,6 +637,7 @@ async def rl_handle_callback(byted_token, project_name="default"):
|
||||
await sor.U("rl_org_group", {
|
||||
"vendor_group_id": vendor_group_id,
|
||||
"local_group_id": local_group_id,
|
||||
"name": group_name,
|
||||
"update_time": now,
|
||||
}, {"id": existing[0].id})
|
||||
else:
|
||||
@ -644,6 +647,7 @@ async def rl_handle_callback(byted_token, project_name="default"):
|
||||
"vendor": vendor,
|
||||
"vendor_group_id": vendor_group_id,
|
||||
"local_group_id": local_group_id,
|
||||
"name": group_name,
|
||||
"status": "active",
|
||||
"create_time": now,
|
||||
})
|
||||
@ -681,6 +685,7 @@ async def rl_query_groups(org_id):
|
||||
groups.append({
|
||||
"vendor_group_id": r.vendor_group_id,
|
||||
"vendor": r.vendor,
|
||||
"name": getattr(r, "name", ""),
|
||||
"status": r.status,
|
||||
"create_time": getattr(r, "create_time", ""),
|
||||
})
|
||||
|
||||
@ -2,6 +2,7 @@ import json
|
||||
|
||||
vendor = params_kw.get('vendor', '')
|
||||
project_name = params_kw.get('project_name', 'default')
|
||||
name = params_kw.get('name', '')
|
||||
|
||||
if not vendor:
|
||||
return json.dumps({"status": "error", "data": {"message": "请选择供应商"}}, ensure_ascii=False)
|
||||
@ -9,7 +10,7 @@ if not vendor:
|
||||
org_id = (await get_userorgid()) or '0'
|
||||
user_id = (await get_user()) or ''
|
||||
|
||||
result = await rl_verify_user(org_id, user_id, vendor, project_name)
|
||||
result = await rl_verify_user(org_id, user_id, vendor, project_name, name=name)
|
||||
|
||||
if result.get('success'):
|
||||
return json.dumps({
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
import json
|
||||
|
||||
vendor = params_kw.get('vendor', '')
|
||||
name = params_kw.get('name', '')
|
||||
|
||||
if not vendor:
|
||||
return json.dumps({
|
||||
@ -12,7 +13,7 @@ org_id = (await get_userorgid()) or '0'
|
||||
user_id = (await get_user()) or ''
|
||||
project_name = "default"
|
||||
|
||||
result = await rl_verify_user(org_id, user_id, vendor, project_name)
|
||||
result = await rl_verify_user(org_id, user_id, vendor, project_name, name=name)
|
||||
|
||||
if result.get('success'):
|
||||
h5_link = result.get('h5_link', '')
|
||||
|
||||
@ -34,6 +34,13 @@
|
||||
"data_field": "value",
|
||||
"text_field": "text",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"uitype": "str",
|
||||
"name": "name",
|
||||
"label": "认证名称",
|
||||
"placeholder": "可选,方便识别的名称",
|
||||
"required": false
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user