's'
This commit is contained in:
@@ -274,11 +274,52 @@ export default function HomeClient() {
|
||||
: typeof relations?.anonymous_user_id === "string"
|
||||
? relations.anonymous_user_id.trim()
|
||||
: "";
|
||||
const linkedPbUserId =
|
||||
typeof relations?.linked_pb_user_id === "string"
|
||||
? relations.linked_pb_user_id.trim()
|
||||
: typeof relations?.pb_user_id === "string"
|
||||
? relations.pb_user_id.trim()
|
||||
: "";
|
||||
const relationUserId =
|
||||
typeof relations?.user_id === "string" ? relations.user_id.trim() : "";
|
||||
const linkedEmail =
|
||||
typeof relations?.linked_email === "string"
|
||||
? relations.linked_email.trim().toLowerCase()
|
||||
: typeof relations?.email === "string"
|
||||
? relations.email.trim().toLowerCase()
|
||||
: "";
|
||||
const hasVipFromRelation =
|
||||
relations?.has_vip_by_user_id === true ||
|
||||
relations?.has_vip_by_pb_user === true;
|
||||
if (/^user\d+$/.test(linkedAnonymousUserId)) {
|
||||
setStorage("userId", linkedAnonymousUserId);
|
||||
setStorage("memosAccount", linkedAnonymousUserId);
|
||||
setAnonymousUserCookie(linkedAnonymousUserId);
|
||||
}
|
||||
// 关键修复:若 wechat_profile 已确认关联到 VIP 用户,立即回填关联 user_id 并进入 VIP 态
|
||||
if (hasVipFromRelation) {
|
||||
const resolvedVipUserId =
|
||||
linkedPbUserId || relationUserId || linkedAnonymousUserId;
|
||||
if (resolvedVipUserId) {
|
||||
setStorage("userId", resolvedVipUserId);
|
||||
if (/^user\d+$/.test(resolvedVipUserId)) {
|
||||
setStorage("memosAccount", resolvedVipUserId);
|
||||
setAnonymousUserCookie(resolvedVipUserId);
|
||||
}
|
||||
savePaidType("vip");
|
||||
if (linkedEmail) {
|
||||
setStorage("userEmail", linkedEmail);
|
||||
setStorage("userName", linkedEmail);
|
||||
setStorage("emailLinked", "1");
|
||||
setUserEmail(linkedEmail);
|
||||
saveUserName(linkedEmail);
|
||||
} else if (nickname) {
|
||||
saveUserName(nickname);
|
||||
} else {
|
||||
saveUserName(resolvedVipUserId);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (nickname) {
|
||||
setWechatNick(nickname);
|
||||
setStorage("wechatNick", nickname);
|
||||
@@ -296,7 +337,7 @@ export default function HomeClient() {
|
||||
} catch {
|
||||
// 忽略失败,不影响主流程
|
||||
}
|
||||
}, []);
|
||||
}, [savePaidType, saveUserName]);
|
||||
|
||||
const getStoredAnonymousUserId = useCallback((): string | null => {
|
||||
const memosAccount = getStorage("memosAccount");
|
||||
|
||||
Reference in New Issue
Block a user