Files
site-10584/api/passport/login/index.ts
2026-01-29 10:43:43 +08:00

115 lines
2.6 KiB
TypeScript

import request from '~/utils/request';
// import { setToken } from '@/utils/token-util';
import type { ApiResult } from '@/api';
import type {
LoginParam,
LoginResult,
CaptchaResult,
SmsCaptchaResult
} from './model';
import {SERVER_API_URL} from '~/config';
import type {UserParam} from "~/api/system/user/model";
/**
* 登录
*/
export async function login(data: LoginParam) {
const res = await request.post<ApiResult<LoginResult>>(
SERVER_API_URL + '/login',
data
);
if (res.code === 0) {
// setToken(res.data.data?.access_token, data.remember);
if (res.data?.user) {
const user = res.data?.user;
localStorage.setItem('TenantId', String(user.tenantId));
localStorage.setItem('UserId', String(user.userId));
}
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 获取验证码
*/
export async function getCaptcha() {
const res = await request.get<ApiResult<CaptchaResult>>(
SERVER_API_URL + '/captcha'
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
export async function loginBySms(data: LoginParam) {
const res = await request.post<ApiResult<LoginResult>>(
SERVER_API_URL + '/loginBySms',
data
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 用户注册
* @param data
*/
export async function register(data: UserParam) {
const res = await request.post<ApiResult<LoginResult>>(
SERVER_API_URL + '/register',
data
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 发送短信验证码
*/
export async function sendSmsCaptcha(data: LoginParam) {
const res = await request.post<ApiResult<SmsCaptchaResult>>(
SERVER_API_URL + '/sendSmsCaptcha',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 登录
*/
export async function remoteLogin(data: LoginParam) {
const res = await request.post<ApiResult<LoginResult>>(
'https://open.gxwebsoft.com/api/login',
data
);
if (res.code === 0) {
// setToken(res.data.data?.access_token, data.remember);
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 获取企业微信登录链接
*/
export async function getWxWorkQrConnect(data: any) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/wx-work',
data
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}