2024-10-03 20:36:26 +08:00
|
|
|
|
import { http } from '@/api/service/request';
|
|
|
|
|
import type { BaseResult, ResultTable } from '@/api/service/types';
|
|
|
|
|
|
2024-10-09 15:02:47 +08:00
|
|
|
|
export interface UserResult {
|
2025-04-24 13:43:37 +08:00
|
|
|
|
/** 头像 */
|
|
|
|
|
avatar: string;
|
|
|
|
|
/** 用户名 */
|
|
|
|
|
username: string;
|
|
|
|
|
/** 昵称 */
|
|
|
|
|
nickname: string;
|
|
|
|
|
/** 当前登录用户的角色 */
|
|
|
|
|
roles: Array<string>;
|
|
|
|
|
/** 按钮级别权限 */
|
|
|
|
|
permissions: Array<string>;
|
|
|
|
|
/** `token` */
|
|
|
|
|
accessToken: string;
|
|
|
|
|
/** 用于调用刷新`accessToken`的接口时所需的`token` */
|
|
|
|
|
refreshToken: string;
|
|
|
|
|
/** `accessToken`的过期时间(格式'xxxx/xx/xx xx:xx:xx') */
|
|
|
|
|
expires: Date;
|
2024-10-09 15:02:47 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface RefreshTokenResult {
|
2025-04-24 13:43:37 +08:00
|
|
|
|
/** `token` */
|
|
|
|
|
accessToken: string;
|
|
|
|
|
/** 用于调用刷新`accessToken`的接口时所需的`token` */
|
|
|
|
|
refreshToken: string;
|
|
|
|
|
/** `accessToken`的过期时间(格式'xxxx/xx/xx xx:xx:xx') */
|
|
|
|
|
expires: Date;
|
2024-10-09 15:02:47 +08:00
|
|
|
|
}
|
|
|
|
|
|
2025-04-27 22:16:06 +08:00
|
|
|
|
// -----------------------------------------
|
|
|
|
|
// 管理用户CURD
|
|
|
|
|
// -----------------------------------------
|
|
|
|
|
|
|
|
|
|
/** 用户信息---分页查询用户信息 */
|
|
|
|
|
export const getUserPageByAdmin = (data: any) => {
|
|
|
|
|
return http.request<BaseResult<ResultTable>>('get', `user/${data.currentPage}/${data.pageSize}`, {
|
|
|
|
|
params: data,
|
|
|
|
|
});
|
2024-10-09 15:02:47 +08:00
|
|
|
|
};
|
|
|
|
|
|
2025-04-27 22:16:06 +08:00
|
|
|
|
/** 用户信息---添加用户信息 */
|
|
|
|
|
export const createUserByAdmin = (data: any) => {
|
|
|
|
|
return http.request<BaseResult<object>>('post', 'user', { data });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 用户信息---更新用户信息 */
|
|
|
|
|
export const updateUserByAdmin = (data: any) => {
|
2025-04-28 09:39:28 +08:00
|
|
|
|
return http.request<BaseResult<object>>('put', 'user', { data }, { headers: { 'Content-Type': 'multipart/form-data' } });
|
2024-10-09 15:02:47 +08:00
|
|
|
|
};
|
|
|
|
|
|
2025-04-27 22:16:06 +08:00
|
|
|
|
/** 用户信息---删除用户信息 */
|
|
|
|
|
export const deleteUserByAdmin = (data: any) => {
|
|
|
|
|
return http.request<BaseResult<object>>('delete', 'user', { data });
|
2024-10-09 15:02:47 +08:00
|
|
|
|
};
|
|
|
|
|
|
2025-04-27 22:16:06 +08:00
|
|
|
|
/** 用户管理---根据用户id查询 */
|
|
|
|
|
export const loadUserinfoById = (data?: object) => {
|
|
|
|
|
return http.request<BaseResult<UserResult>>('get', 'user/private/getUserinfoById', { params: data });
|
2024-10-09 15:02:47 +08:00
|
|
|
|
};
|
|
|
|
|
|
2025-04-27 22:16:06 +08:00
|
|
|
|
/** 用户信息---根据用户名查询用户列表 */
|
|
|
|
|
export const getUserListByKeyword = (data: any) => {
|
|
|
|
|
return http.request<BaseResult<object>>('get', 'user/private/getUserListByKeyword', { params: data });
|
2024-10-22 13:34:01 +08:00
|
|
|
|
};
|
|
|
|
|
|
2025-04-27 22:16:06 +08:00
|
|
|
|
/** 用户管理---强制用户下线 */
|
|
|
|
|
export const forcedOfflineByAdmin = (data: any) => {
|
|
|
|
|
return http.request<BaseResult<UserResult>>('put', 'user/forcedOffline', { data });
|
2024-10-03 20:36:26 +08:00
|
|
|
|
};
|
|
|
|
|
|
2025-04-27 22:16:06 +08:00
|
|
|
|
// -----------------------------------------
|
|
|
|
|
// 普通用户
|
|
|
|
|
// -----------------------------------------
|
2024-10-06 18:59:44 +08:00
|
|
|
|
|
2025-04-27 22:16:06 +08:00
|
|
|
|
/** 登录 */
|
|
|
|
|
export const userLogin = (data?: object) => {
|
|
|
|
|
return http.request<BaseResult<UserResult>>('post', '/user/login', { data });
|
2024-10-03 20:36:26 +08:00
|
|
|
|
};
|
|
|
|
|
|
2025-04-27 22:16:06 +08:00
|
|
|
|
/** 刷新`token` */
|
|
|
|
|
export const refreshTokenApi = (data?: object) => {
|
|
|
|
|
return http.request<BaseResult<RefreshTokenResult>>('post', 'user/public/refreshToken', { data });
|
2024-10-22 15:55:48 +08:00
|
|
|
|
};
|
|
|
|
|
|
2025-04-27 22:16:06 +08:00
|
|
|
|
/** 发送邮件 */
|
|
|
|
|
export const sendLoginEmail = (data: any) => {
|
2025-04-28 09:39:28 +08:00
|
|
|
|
return http.request<BaseResult<any>>('post', '/user/public/sendLoginEmail', { data }, { headers: { 'Content-Type': 'multipart/form-data' } });
|
2024-10-22 16:41:04 +08:00
|
|
|
|
};
|
|
|
|
|
|
2025-04-27 22:16:06 +08:00
|
|
|
|
/** 获取用户信息,根据当前token获取 */
|
|
|
|
|
export const getUserinfo = () => {
|
|
|
|
|
return http.request<BaseResult<any>>('get', 'user/private/userinfo');
|
2024-10-09 15:02:47 +08:00
|
|
|
|
};
|
|
|
|
|
|
2025-04-27 22:16:06 +08:00
|
|
|
|
/** 退出账户 */
|
|
|
|
|
export const logout = (data?: object) => {
|
|
|
|
|
return http.request<BaseResult<any>>('post', 'user/private/logout', { data });
|
2024-10-09 15:02:47 +08:00
|
|
|
|
};
|
|
|
|
|
|
2025-04-27 22:16:06 +08:00
|
|
|
|
/** 用户信息---更新用户信息 */
|
|
|
|
|
export const updateUserinfo = (data: any) => {
|
|
|
|
|
return http.request<BaseResult<object>>('put', 'user/private/update/userinfo', { data });
|
2024-10-09 15:02:47 +08:00
|
|
|
|
};
|
|
|
|
|
|
2025-04-27 22:16:06 +08:00
|
|
|
|
/** 用户信息---更新用户密码 */
|
|
|
|
|
export const updateUserPassword = (data: any) => {
|
2025-04-28 09:39:28 +08:00
|
|
|
|
return http.request<BaseResult<object>>('put', 'user/private/update/password', { data }, { headers: { 'Content-Type': 'multipart/form-data' } });
|
2024-10-09 15:02:47 +08:00
|
|
|
|
};
|