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` |
|
| `project_name` | 否 | 项目名称,默认 `default` |
|
||||||
|
| `name` | 否 | 认证名称,方便识别的名称,查询组合列表时显示 |
|
||||||
|
|
||||||
> `user_id` 和 `org_id` 由 Bearer Token 自动获取,无需传递。
|
> `user_id` 和 `org_id` 由 Bearer Token 自动获取,无需传递。
|
||||||
|
|
||||||
@ -92,6 +94,7 @@ Authorization: Bearer <your_api_key>
|
|||||||
{
|
{
|
||||||
"vendor_group_id": "volc-asset-group-xxx",
|
"vendor_group_id": "volc-asset-group-xxx",
|
||||||
"vendor": "volcengine",
|
"vendor": "volcengine",
|
||||||
|
"name": "模特张三",
|
||||||
"status": "active",
|
"status": "active",
|
||||||
"create_time": "2026-05-28 15:30:00"
|
"create_time": "2026-05-28 15:30:00"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,6 +40,12 @@
|
|||||||
"type": "str",
|
"type": "str",
|
||||||
"length": 32
|
"length": 32
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"title": "组合名称",
|
||||||
|
"type": "str",
|
||||||
|
"length": 200
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "status",
|
"name": "status",
|
||||||
"title": "状态",
|
"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)
|
# 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."""
|
"""User proxy: Create H5 verification session via uapi gateway."""
|
||||||
callback_cfg = await _get_vendor_config(vendor)
|
callback_cfg = await _get_vendor_config(vendor)
|
||||||
if not callback_cfg.get("success"):
|
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", ""))
|
byted_token = result.get("BytedToken", result.get("Result", {}).get("BytedToken", ""))
|
||||||
h5_link = result.get("H5Link", result.get("Result", {}).get("H5Link", ""))
|
h5_link = result.get("H5Link", result.get("Result", {}).get("H5Link", ""))
|
||||||
|
|
||||||
|
display_name = name or f"待认证-{user_id}"
|
||||||
gid = getID()
|
gid = getID()
|
||||||
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||||
db = DBPools()
|
db = DBPools()
|
||||||
@ -459,8 +460,8 @@ async def rl_verify_user(org_id, user_id, vendor, project_name="default"):
|
|||||||
"id": gid,
|
"id": gid,
|
||||||
"org_id": org_id,
|
"org_id": org_id,
|
||||||
"vendor": vendor,
|
"vendor": vendor,
|
||||||
"name": f"待认证-{user_id}",
|
"name": display_name,
|
||||||
"title": f"待认证",
|
"title": display_name,
|
||||||
"group_type": "LivenessFace",
|
"group_type": "LivenessFace",
|
||||||
"project_name": project_name,
|
"project_name": project_name,
|
||||||
"status": "pending",
|
"status": "pending",
|
||||||
@ -597,6 +598,7 @@ async def rl_handle_callback(byted_token, project_name="default"):
|
|||||||
local_group_id = rec.id
|
local_group_id = rec.id
|
||||||
org_id = rec.org_id
|
org_id = rec.org_id
|
||||||
vendor = rec.vendor
|
vendor = rec.vendor
|
||||||
|
group_name = getattr(rec, "name", "") or getattr(rec, "title", "")
|
||||||
|
|
||||||
if rec.status == "active" and rec.vendor_group_id:
|
if rec.status == "active" and rec.vendor_group_id:
|
||||||
debug(f"callback already processed for group {local_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", {
|
await sor.U("rl_org_group", {
|
||||||
"vendor_group_id": vendor_group_id,
|
"vendor_group_id": vendor_group_id,
|
||||||
"local_group_id": local_group_id,
|
"local_group_id": local_group_id,
|
||||||
|
"name": group_name,
|
||||||
"update_time": now,
|
"update_time": now,
|
||||||
}, {"id": existing[0].id})
|
}, {"id": existing[0].id})
|
||||||
else:
|
else:
|
||||||
@ -644,6 +647,7 @@ async def rl_handle_callback(byted_token, project_name="default"):
|
|||||||
"vendor": vendor,
|
"vendor": vendor,
|
||||||
"vendor_group_id": vendor_group_id,
|
"vendor_group_id": vendor_group_id,
|
||||||
"local_group_id": local_group_id,
|
"local_group_id": local_group_id,
|
||||||
|
"name": group_name,
|
||||||
"status": "active",
|
"status": "active",
|
||||||
"create_time": now,
|
"create_time": now,
|
||||||
})
|
})
|
||||||
@ -681,6 +685,7 @@ async def rl_query_groups(org_id):
|
|||||||
groups.append({
|
groups.append({
|
||||||
"vendor_group_id": r.vendor_group_id,
|
"vendor_group_id": r.vendor_group_id,
|
||||||
"vendor": r.vendor,
|
"vendor": r.vendor,
|
||||||
|
"name": getattr(r, "name", ""),
|
||||||
"status": r.status,
|
"status": r.status,
|
||||||
"create_time": getattr(r, "create_time", ""),
|
"create_time": getattr(r, "create_time", ""),
|
||||||
})
|
})
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import json
|
|||||||
|
|
||||||
vendor = params_kw.get('vendor', '')
|
vendor = params_kw.get('vendor', '')
|
||||||
project_name = params_kw.get('project_name', 'default')
|
project_name = params_kw.get('project_name', 'default')
|
||||||
|
name = params_kw.get('name', '')
|
||||||
|
|
||||||
if not vendor:
|
if not vendor:
|
||||||
return json.dumps({"status": "error", "data": {"message": "请选择供应商"}}, ensure_ascii=False)
|
return json.dumps({"status": "error", "data": {"message": "请选择供应商"}}, ensure_ascii=False)
|
||||||
@ -9,7 +10,7 @@ if not vendor:
|
|||||||
org_id = (await get_userorgid()) or '0'
|
org_id = (await get_userorgid()) or '0'
|
||||||
user_id = (await get_user()) or ''
|
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'):
|
if result.get('success'):
|
||||||
return json.dumps({
|
return json.dumps({
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
vendor = params_kw.get('vendor', '')
|
vendor = params_kw.get('vendor', '')
|
||||||
|
name = params_kw.get('name', '')
|
||||||
|
|
||||||
if not vendor:
|
if not vendor:
|
||||||
return json.dumps({
|
return json.dumps({
|
||||||
@ -12,7 +13,7 @@ org_id = (await get_userorgid()) or '0'
|
|||||||
user_id = (await get_user()) or ''
|
user_id = (await get_user()) or ''
|
||||||
project_name = "default"
|
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'):
|
if result.get('success'):
|
||||||
h5_link = result.get('h5_link', '')
|
h5_link = result.get('h5_link', '')
|
||||||
|
|||||||
@ -34,6 +34,13 @@
|
|||||||
"data_field": "value",
|
"data_field": "value",
|
||||||
"text_field": "text",
|
"text_field": "text",
|
||||||
"required": true
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"uitype": "str",
|
||||||
|
"name": "name",
|
||||||
|
"label": "认证名称",
|
||||||
|
"placeholder": "可选,方便识别的名称",
|
||||||
|
"required": false
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user