Files
schoolNews/schoolNewsWeb/src/apis/auth.ts

72 lines
1.7 KiB
TypeScript
Raw Normal View History

2025-10-06 16:49:12 +08:00
/**
* @description API
* @author yslg
* @since 2025-10-06
*/
import { api } from './index';
import type { LoginParam, LoginDomain } from '@/types';
/**
* API服务
*/
export const authApi = {
/**
*
* @param loginParam
* @returns Promise<LoginDomain>
*/
async login(loginParam: LoginParam): Promise<LoginDomain> {
const response = await api.post<LoginDomain>('/auth/login', loginParam);
return response.data.data!;
},
/**
*
* @returns Promise<string>
*/
async logout(): Promise<string> {
const response = await api.post<string>('/auth/logout');
return response.data.data!;
},
/**
*
* @returns Promise<{captchaId: string, captchaImage: string}>
*/
async getCaptcha(): Promise<{ captchaId: string; captchaImage: string }> {
const response = await api.get<{ captchaId: string; captchaImage: string }>('/auth/captcha');
return response.data.data!;
},
/**
* Token
* @returns Promise<string>
*/
async refreshToken(): Promise<string> {
const response = await api.post<string>('/auth/refresh-token');
return response.data.data!;
},
/**
*
* @param phone
* @returns Promise<boolean>
*/
async sendSmsCode(phone: string): Promise<boolean> {
const response = await api.post<boolean>('/auth/send-sms-code', { phone });
return response.data.data!;
},
/**
*
* @param email
* @returns Promise<boolean>
*/
async sendEmailCode(email: string): Promise<boolean> {
const response = await api.post<boolean>('/auth/send-email-code', { email });
return response.data.data!;
}
};