diff --git a/.workbuddy/expert-history.json b/.workbuddy/expert-history.json index 5f73fa1..ada1496 100644 --- a/.workbuddy/expert-history.json +++ b/.workbuddy/expert-history.json @@ -13,5 +13,5 @@ } ] }, - "lastUpdated": 1775584636978 + "lastUpdated": 1775585206027 } \ No newline at end of file diff --git a/src/passport/qr-confirm/index.tsx b/src/passport/qr-confirm/index.tsx index f872826..bc159ba 100644 --- a/src/passport/qr-confirm/index.tsx +++ b/src/passport/qr-confirm/index.tsx @@ -137,13 +137,25 @@ const QRConfirmPage: React.FC = () => { console.log('[QRConfirm] loginByOpenId 结果:', wxLoginResult); // 3. 判断用户是否存在 - if (wxLoginResult.success && wxLoginResult.data) { - // 用户已注册,保存用户信息并继续确认登录 - console.log('[QRConfirm] 用户已注册,开始确认登录...'); - setUserInfo(wxLoginResult.data.user); + if (wxLoginResult.success && wxLoginResult.data && wxLoginResult.data.user) { + // 用户已注册,检查是否绑定手机号 + const user = wxLoginResult.data.user; + console.log('[QRConfirm] 用户已注册:', user); + + // 如果用户没有手机号,需要授权绑定 + if (!user.phone || user.phone === '') { + console.log('[QRConfirm] 用户未绑定手机号,显示授权界面'); + setNeedAuth(true); + setLoading(false); + return; + } + + // 用户已绑定手机号,保存用户信息并继续确认登录 + console.log('[QRConfirm] 用户已绑定手机号,开始确认登录...'); + setUserInfo(user); // 调用确认登录 - await handleConfirmLogin(loginToken, wxLoginResult.data.user); + await handleConfirmLogin(loginToken, user); } else { // 用户未注册,显示手机号授权界面 console.log('[QRConfirm] 用户未注册,显示手机号授权界面');