R82 修复企微 userid 兼容登录

这个提交包含在:
2026-05-04 20:58:57 +08:00
父节点 849fd35638
当前提交 d276524087
共修改 3 个文件,包含 54 行新增和 6 行删除
+13 -3
查看文件
@@ -216,10 +216,18 @@ async function exchangeWecomCode(config, code) {
}
const payloadKeys = payload && typeof payload === "object" ? Object.keys(payload).sort() : [];
const hasStringValue = (value) => typeof value === "string" && value.trim().length > 0;
const pickCandidate = (...values) => {
for (const value of values) {
if (hasStringValue(value)) {
return value.trim();
}
}
return null;
};
return {
externalUserId: typeof payload.UserId === "string" && payload.UserId.trim() ? payload.UserId.trim() : null,
externalOpenUserId: typeof payload.OpenId === "string" && payload.OpenId.trim() ? payload.OpenId.trim() : null,
deviceId: typeof payload.DeviceId === "string" ? payload.DeviceId : null,
externalUserId: pickCandidate(payload.UserId, payload.userid),
externalOpenUserId: pickCandidate(payload.OpenId, payload.openid),
deviceId: pickCandidate(payload.DeviceId, payload.deviceid),
diagnostics: {
errcode: Number(payload.errcode ?? 0),
errmsg: typeof payload.errmsg === "string" ? payload.errmsg : null,
@@ -229,6 +237,8 @@ async function exchangeWecomCode(config, code) {
userid: hasStringValue(payload.userid),
OpenId: hasStringValue(payload.OpenId),
openid: hasStringValue(payload.openid),
DeviceId: hasStringValue(payload.DeviceId),
deviceid: hasStringValue(payload.deviceid),
external_userid: hasStringValue(payload.external_userid),
user_ticket: hasStringValue(payload.user_ticket),
corpid: hasStringValue(payload.corpid),