Files
order_site/apps/backend/src/services/semi-auto/binding-role-id.ts
T
zhaoxing 8e1cbdba9f feat(semi-auto): 重构客户资料收集与虎牙绑定确认流程
- 客户资料页按设计稿重构,区服固定四项下拉,游戏编号/角色名校验

- 虎牙登录与绑定页统一深色样式,扫码页新增改用手机号登录

- 待确认角色 UID 改用 huyaUid,不再展示虎牙加密 roleId

- 绑定确认新增两侧角色比对,不一致禁止确认,会话过期引导重新登录

- 新增迁移 168/169 与角色绑定单测,脚本换行符固定为 LF
2026-11-15 21:57:31 +08:00

17 lines
676 B
TypeScript

/**
* 虎牙 checkUserBindGameAccount 返回的 gameRole.roleId 是 40 位加密串,
* 无法直接和客户填写的游戏编号比对;平台侧可用于核对的是登录账号的数值 UID(huyaUid)。
*
* 取数优先级:角色 ID 本身是纯数字 > 数值 UID > 原始角色 ID。
* 这样既兼容未来虎牙直接下发数值角色 ID,也避免把加密串展示给客户。
*/
export function resolveBindingRoleId(roleId: unknown, huyaUid: unknown): string {
const rawRoleId = String(roleId ?? '').trim()
if (/^\d+$/.test(rawRoleId)) return rawRoleId
const uid = String(huyaUid ?? '').trim()
return /^\d+$/.test(uid) ? uid : rawRoleId
}