fix: read qdreader user id from qdheader payload

This commit is contained in:
2026-05-17 17:17:44 +08:00
parent e746135eca
commit 336beb79d6
3 changed files with 19 additions and 2 deletions
+7 -1
View File
@@ -39,7 +39,13 @@ function uidFromQDHeader(qdheader) {
const decoded = b64decode(qdheader)
if (!decoded) return ''
const parts = decoded.split('|').map(x => String(x || '').trim())
return isRealUid(parts[0])
// QDReader 抓包里 QDHeader 第一段可能是 (null),真实 UserId 常在第 12 段(索引 11)。
// 只接受足够长的数字,避免把 1179/2556/版本号等设备字段误当账号。
for (const idx of [0, 11]) {
const uid = isRealUid(parts[idx])
if (uid) return uid
}
return ''
}
function parseJson(s, def) { try { return JSON.parse(s) } catch (e) { return def } }
function findUid(obj) {