feat(v3.4.13): partner column, version release cascade, client UX fixes
- HQ stores: partner column uses companyName/name/phone via partnerOptionLabel - Dev plan: version RELEASED auto-marks tasks RELEASED and tickets PUBLISHED with releasedVersionNo - mini-user/h5-shop/h5-partner v3.4.13 UX fixes (store UI, iOS scan OAuth, partner login guard) - Docs: v3.4.13 dev doc + status audit updates Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -138,6 +138,20 @@ export async function handleShopWechatCallback(): Promise<WechatLoginResult | nu
|
||||
return weixinSdk.handleOAuthCallback();
|
||||
}
|
||||
|
||||
let oauthCallbackInflight: Promise<WechatLoginResult | null> | null = null;
|
||||
|
||||
/** 全局单例:避免 Context 与页面 effect 重复消费 OAuth code */
|
||||
export async function handleShopWechatCallbackOnce(): Promise<WechatLoginResult | null> {
|
||||
if (!isWechatEnv()) return null;
|
||||
const params = new URLSearchParams(window.location.search);
|
||||
if (!params.get('code')) return null;
|
||||
if (oauthCallbackInflight) return oauthCallbackInflight;
|
||||
oauthCallbackInflight = handleShopWechatCallback().finally(() => {
|
||||
oauthCallbackInflight = null;
|
||||
});
|
||||
return oauthCallbackInflight;
|
||||
}
|
||||
|
||||
/**
|
||||
* 微信一键登录(已绑定微信的门店账号免验证码)。
|
||||
* 返回 session = 已登录;void = 已跳转授权页等待回调。
|
||||
|
||||
Reference in New Issue
Block a user