合伙人端验证是否已经绑定手机号,否则不支持微信一键登录

This commit is contained in:
2026-07-12 21:18:10 +08:00
parent b5235dedef
commit 236a2a87a5
7 changed files with 80 additions and 9 deletions
+17 -2
View File
@@ -14,8 +14,10 @@ import { usePartnerSession } from '../contexts/PartnerSessionContext';
import { partnerHomePath } from '../lib/partnerAccess';
import {
bindPartnerWechatAfterSmsLogin,
canPartnerUseWechatLogin,
fetchClientConfig,
loginPartnerWithWechat,
PARTNER_WECHAT_LOGIN_HINT,
} from '../lib/wechat-auth';
import { isWechatEnv } from '../lib/weixin';
@@ -168,6 +170,14 @@ export default function LoginPage() {
setMsg(WECHAT_INAPP_REQUIRED_MSG);
return;
}
const canUseWechat = await canPartnerUseWechatLogin({
profile: savedProfile,
phone,
});
if (!canUseWechat) {
setMsg(PARTNER_WECHAT_LOGIN_HINT);
return;
}
setWxLoading(true);
try {
const session = await loginPartnerWithWechat();
@@ -183,7 +193,12 @@ export default function LoginPage() {
}
if (quick) {
const canWechatQuick = wxAuthorize && isWechatEnv() && hasPartnerWxSession() && !!savedProfile;
const canWechatQuick =
wxAuthorize &&
isWechatEnv() &&
hasPartnerWxSession() &&
!!savedProfile &&
savedProfile.hasWechat === true;
return (
<div className="partner-auth-page partner-auth-page--quick">
@@ -334,7 +349,7 @@ export default function LoginPage() {
</div>
</main>
{hasPartnerWxSession() && savedProfile && (
{hasPartnerWxSession() && savedProfile?.hasWechat && (
<Link to="/login?quick=1" className="partner-link"></Link>
)}
+12 -5
View File
@@ -1,4 +1,4 @@
import { useCallback, useEffect, useMemo, useState } from 'react';
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
import { useNavigate, useSearchParams } from 'react-router-dom';
@@ -24,7 +24,7 @@ import { isSubAccount } from '../lib/partnerAccess';
import {
clearStoreDraft,
clearAllStoreDrafts,
defaultStoreForm,
@@ -114,6 +114,8 @@ export default function StoreCreatePage() {
const [smsHint, setSmsHint] = useState('');
const draftSaveDisabledRef = useRef(false);
function reportFormError(message: string) {
setSubmitError(message);
}
@@ -137,9 +139,8 @@ export default function StoreCreatePage() {
useEffect(() => {
if (draftSaveDisabledRef.current) return;
saveStoreDraft({ step, form }, accountId);
}, [step, form, accountId]);
@@ -569,7 +570,13 @@ export default function StoreCreatePage() {
});
clearStoreDraft(accountId);
draftSaveDisabledRef.current = true;
clearAllStoreDrafts(accountId);
setForm(defaultStoreForm());
setFieldErrors({});
setSubmitError('');
setSmsHint('');
setParams({ step: '1' }, { replace: true });
toastSuccess('门店录入成功');
navigate(`/stores/${result.store.id}`);
} catch (e) {