合伙人端验证是否已经绑定手机号,否则不支持微信一键登录
This commit is contained in:
@@ -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>
|
||||
)}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user