157 lines
2.7 KiB
TypeScript
157 lines
2.7 KiB
TypeScript
import { request } from '@/plugins/http-fetch';
|
|
import { sessionGet } from '@/utils/cache-session-utils';
|
|
|
|
/**
|
|
* 登录方法
|
|
* @param data 数据
|
|
* @returns 结果
|
|
*/
|
|
export function login(data: Record<string, string>) {
|
|
return request({
|
|
url: '/auth/login',
|
|
method: 'POST',
|
|
data: data,
|
|
whithToken: false,
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 退出方法
|
|
* @returns object
|
|
*/
|
|
export function logout() {
|
|
return request({
|
|
url: '/auth/logout',
|
|
method: 'POST',
|
|
repeatSubmit: false,
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 注册方法
|
|
* @param data 注册对象
|
|
* @returns object
|
|
*/
|
|
export function register(data: Record<string, any>) {
|
|
return request({
|
|
url: '/auth/register',
|
|
method: 'POST',
|
|
data: data,
|
|
whithToken: false,
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 刷新登录令牌
|
|
* @param data 数据
|
|
* @returns 结果
|
|
*/
|
|
export function refreshToken(refreshToken: string) {
|
|
return request({
|
|
url: '/auth/refresh-token',
|
|
method: 'POST',
|
|
data: { refreshToken },
|
|
whithToken: false,
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 获取用户详细信息
|
|
* @returns object
|
|
*/
|
|
export function getInfo() {
|
|
return request({
|
|
url: '/me',
|
|
method: 'GET',
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 获取路由
|
|
* @returns object
|
|
*/
|
|
export const getRouter = () => {
|
|
return request({
|
|
url: '/router',
|
|
method: 'GET',
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 获取验证码
|
|
* @returns object
|
|
*/
|
|
export function getCaptchaImage() {
|
|
return request({
|
|
url: '/captcha-image',
|
|
method: 'GET',
|
|
whithToken: false,
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 登录认证源
|
|
* @returns object
|
|
*/
|
|
export function getLoginSource() {
|
|
return request({
|
|
url: '/auth/login/source',
|
|
method: 'GET',
|
|
whithToken: false,
|
|
});
|
|
}
|
|
|
|
/**
|
|
* LDAP登录
|
|
* @returns object
|
|
*/
|
|
export function loginLDAP(data: Record<string, string>) {
|
|
return request({
|
|
url: '/auth/login/ldap',
|
|
method: 'POST',
|
|
data: data,
|
|
whithToken: false,
|
|
});
|
|
}
|
|
|
|
/**
|
|
* SMTP登录
|
|
* @returns object
|
|
*/
|
|
export function loginSMTP(data: Record<string, string>) {
|
|
return request({
|
|
url: '/auth/login/smtp',
|
|
method: 'POST',
|
|
data: data,
|
|
whithToken: false,
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 登录认证源OAuth2跳转登录URL
|
|
* @returns object
|
|
*/
|
|
export function loginOAuth2URL(state: string): string {
|
|
// 兼容旧前端可改配置文件
|
|
const baseUrl = import.meta.env.PROD
|
|
? sessionGet('baseUrl') || import.meta.env.VITE_API_BASE_URL
|
|
: import.meta.env.VITE_API_BASE_URL;
|
|
return `${baseUrl}/auth/login/oauth2/authorize?state=${state}`;
|
|
}
|
|
|
|
/**
|
|
* 登录认证源OAuth2认证登录
|
|
* @returns object
|
|
*/
|
|
export function loginOAuth2Token(code: string, state: string) {
|
|
return request({
|
|
url: '/auth/login/oauth2/token',
|
|
method: 'POST',
|
|
data: {
|
|
code,
|
|
state,
|
|
},
|
|
whithToken: false,
|
|
});
|
|
}
|