1
This commit is contained in:
@@ -23,9 +23,8 @@ import type {
|
||||
} from '../../packages/shared/src/contracts/auth';
|
||||
import {
|
||||
ApiClientError,
|
||||
clearStoredAccessToken,
|
||||
emitAuthStateChange,
|
||||
requestJson,
|
||||
setStoredAccessToken,
|
||||
} from './apiClient';
|
||||
|
||||
export type { AuthUser } from '../../packages/shared/src/contracts/auth';
|
||||
@@ -117,7 +116,7 @@ export function createAutoAuthCredentials(): AutoAuthCredentials {
|
||||
}
|
||||
|
||||
export function clearAuthSession() {
|
||||
clearStoredAccessToken();
|
||||
emitAuthStateChange();
|
||||
}
|
||||
|
||||
export async function sendPhoneLoginCode(
|
||||
@@ -160,7 +159,7 @@ export async function loginWithPhoneCode(phone: string, code: string) {
|
||||
'登录失败',
|
||||
);
|
||||
|
||||
setStoredAccessToken(response.token);
|
||||
emitAuthStateChange();
|
||||
return response.user;
|
||||
}
|
||||
|
||||
@@ -178,7 +177,7 @@ export async function bindWechatPhone(phone: string, code: string) {
|
||||
'绑定手机号失败',
|
||||
);
|
||||
|
||||
setStoredAccessToken(response.token);
|
||||
emitAuthStateChange();
|
||||
return response.user;
|
||||
}
|
||||
|
||||
@@ -233,7 +232,7 @@ export async function authEntry(username: string, password: string) {
|
||||
'登录失败',
|
||||
);
|
||||
|
||||
setStoredAccessToken(response.token);
|
||||
emitAuthStateChange();
|
||||
return response.user;
|
||||
}
|
||||
|
||||
@@ -279,19 +278,14 @@ export function consumeAuthCallbackResult(): ConsumedAuthCallback | null {
|
||||
}
|
||||
|
||||
const params = new URLSearchParams(hash);
|
||||
const authToken = params.get('auth_token');
|
||||
const authError = params.get('auth_error');
|
||||
const providerValue = params.get('auth_provider');
|
||||
const bindingStatus = params.get('auth_binding_status');
|
||||
|
||||
if (!authToken && !authError) {
|
||||
if (!bindingStatus && !authError && !providerValue) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (authToken) {
|
||||
setStoredAccessToken(authToken);
|
||||
}
|
||||
|
||||
if (typeof window.history?.replaceState === 'function') {
|
||||
window.history.replaceState(
|
||||
null,
|
||||
@@ -314,6 +308,10 @@ export async function getCurrentAuthUser(): Promise<AuthSessionSnapshot> {
|
||||
method: 'GET',
|
||||
},
|
||||
'读取当前用户失败',
|
||||
{
|
||||
// 会话恢复阶段允许 401 作为“未登录”信号,不应再广播一次全局鉴权事件。
|
||||
notifyAuthStateChange: false,
|
||||
},
|
||||
);
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user