This commit is contained in:
ryan
2026-07-13 15:17:45 +08:00
parent 08e61ce833
commit e0eb4e5975
334 changed files with 17212 additions and 12321 deletions
+49 -12
View File
@@ -1,5 +1,5 @@
import type {InternalAxiosRequestConfig} from 'axios';
import {BaseService} from '@/lib/services/core';
import type { InternalAxiosRequestConfig } from 'axios';
import { BaseService } from '@/lib/services/core';
import type {
AuthSource,
ChangePasswordRequest,
@@ -40,8 +40,13 @@ export class AuthService extends BaseService {
return this.get<AuthSource[]>('/oauth/sources');
}
static async getAuthorizeUrl(source: string, purpose: 'login' | 'bind' = 'login'): Promise<OAuthAuthorizeResponse> {
return this.get<OAuthAuthorizeResponse>(`/oauth/${encodeURIComponent(source)}/authorize?purpose=${purpose}`);
static async getAuthorizeUrl(
source: string,
purpose: 'login' | 'bind' = 'login',
): Promise<OAuthAuthorizeResponse> {
return this.get<OAuthAuthorizeResponse>(
`/oauth/${encodeURIComponent(source)}/authorize?purpose=${purpose}`,
);
}
/**
@@ -64,7 +69,9 @@ export class AuthService extends BaseService {
* }
* ```
*/
static async handleCallback(request: OAuthCallbackRequest): Promise<OAuthCallbackResult> {
static async handleCallback(
request: OAuthCallbackRequest,
): Promise<OAuthCallbackResult> {
return this.post<OAuthCallbackResult>('/oauth/callback', request);
}
@@ -105,16 +112,44 @@ export class AuthService extends BaseService {
await this.get<void>('/oauth/logout');
}
static async login(request: LoginRequest, headers?: Record<string, string>): Promise<User> {
return this.post<User>('/user/login', request, headers ? ({ headers } as unknown as InternalAxiosRequestConfig) : undefined);
static async login(
request: LoginRequest,
headers?: Record<string, string>,
): Promise<User> {
return this.post<User>(
'/user/login',
request,
headers
? ({ headers } as unknown as InternalAxiosRequestConfig)
: undefined,
);
}
static async register(request: RegisterRequest, headers?: Record<string, string>): Promise<User> {
return this.post<User>('/user/register', request, headers ? ({ headers } as unknown as InternalAxiosRequestConfig) : undefined);
static async register(
request: RegisterRequest,
headers?: Record<string, string>,
): Promise<User> {
return this.post<User>(
'/user/register',
request,
headers
? ({ headers } as unknown as InternalAxiosRequestConfig)
: undefined,
);
}
static async sendEmailCode(email: string, scene: 'register' | 'login', headers?: Record<string, string>): Promise<void> {
return this.post<void>('/user/send-email-code', { email, scene }, headers ? ({ headers } as unknown as InternalAxiosRequestConfig) : undefined);
static async sendEmailCode(
email: string,
scene: 'register' | 'login',
headers?: Record<string, string>,
): Promise<void> {
return this.post<void>(
'/user/send-email-code',
{ email, scene },
headers
? ({ headers } as unknown as InternalAxiosRequestConfig)
: undefined,
);
}
static async changePassword(request: ChangePasswordRequest): Promise<void> {
@@ -130,6 +165,8 @@ export class AuthService extends BaseService {
}
static async deleteExternalAccountBinding(id: string): Promise<void> {
return this.post<void>(`/oauth/external-accounts/${encodeURIComponent(id)}/delete`);
return this.post<void>(
`/oauth/external-accounts/${encodeURIComponent(id)}/delete`,
);
}
}
+5 -5
View File
@@ -1,6 +1,6 @@
/**
* 认证服务模块
*
*
* @description
* 提供 OAuth 认证相关的功能,包括:
* - 获取登录 URL
@@ -8,18 +8,18 @@
* - 获取用户信息
* - 用户登出
* - 发起登录流程
*
*
* @example
* ```typescript
* import { AuthService } from '@/lib/services';
*
*
* // 发起登录
* await AuthService.initiateLogin();
*
*
* // 获取用户信息
* const user = await AuthService.getUserInfo();
* console.log('当前用户:', user.username);
*
*
* // 登出
* await AuthService.logout();
* ```