/** * 虎牙 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 }