ruoyi-plus-vben5/apps/web-antd/src/api/system/user/index.ts

168 lines
3.5 KiB
TypeScript
Raw Normal View History

2024-09-13 15:27:29 +08:00
import type {
DeptTree,
ResetPwdParam,
User,
UserImportParam,
UserInfoResponse,
} from './model';
import type { ID, IDS, PageQuery, PageResult } from '#/api/common';
import { commonExport, ContentTypeEnum } from '#/api/helper';
import { requestClient } from '#/api/request';
enum Api {
deptTree = '/system/user/deptTree',
listDeptUsers = '/system/user/list/dept',
root = '/system/user',
userAuthRole = '/system/user/authRole',
userExport = '/system/user/export',
userImport = '/system/user/importData',
userImportTemplate = '/system/user/importTemplate',
userList = '/system/user/list',
userResetPassword = '/system/user/resetPwd',
userStatusChange = '/system/user/changeStatus',
}
/**
*
* @param params
* @returns User
*/
export function userList(params?: PageQuery) {
return requestClient.get<PageResult<User>>(Api.userList, { params });
}
/**
* excel
* @param data data
* @returns blob
*/
export function userExport(data: any) {
return commonExport(Api.userExport, data);
}
/**
* excel导入用户
* @param data
* @returns void
*/
export function userImportData(data: UserImportParam) {
2024-09-13 16:22:04 +08:00
return requestClient.post<{ code: number; msg: string }>(
Api.userImport,
data,
{
headers: {
'Content-Type': ContentTypeEnum.FORM_DATA,
},
isTransformResponse: false,
2024-09-13 15:27:29 +08:00
},
2024-09-13 16:22:04 +08:00
);
2024-09-13 15:27:29 +08:00
}
/**
*
* @returns blob
*/
export function downloadImportTemplate() {
return requestClient.post<Blob>(
Api.userImportTemplate,
{},
{
isTransformResponse: false,
responseType: 'blob',
},
);
}
/**
* ID options
2024-09-22 18:14:04 +08:00
* ID时一定要带最后的/
2024-09-13 15:27:29 +08:00
* @param userId ID
* @returns
*/
export function findUserInfo(userId?: ID) {
2024-09-22 18:14:04 +08:00
const url = userId ? `${Api.root}/${userId}` : `${Api.root}/`;
2024-09-13 15:27:29 +08:00
return requestClient.get<UserInfoResponse>(url);
}
/**
*
* @param data data
* @returns void
*/
export function userAdd(data: any) {
return requestClient.postWithMsg<void>(Api.root, data);
}
/**
*
* @param data data
* @returns void
*/
export function userUpdate(data: any) {
return requestClient.putWithMsg<void>(Api.root, data);
}
/**
*
* @param data data
* @returns void
*/
export function userStatusChange(data: any) {
return requestClient.putWithMsg<void>(Api.userStatusChange, data);
}
/**
*
* @param userIds ID数组
* @returns void
*/
export function userRemove(userIds: IDS) {
return requestClient.deleteWithMsg<void>(`${Api.root}/${userIds}`);
}
/**
*
* @param data
* @returns void
*/
export function userResetPassword(data: ResetPwdParam) {
return requestClient.putWithMsg<void>(Api.userResetPassword, data, {
encrypt: true,
});
}
/**
*
* @param userId
* @returns void
*/
export function getUserAuthRole(userId: ID) {
return requestClient.get(`${Api.userAuthRole}/${userId}`);
}
/**
*
* @param userId
* @returns void
*/
export function userAuthRoleUpdate(userId: ID, roleIds: number[]) {
return requestClient.putWithMsg(Api.userAuthRole, { roleIds, userId });
}
/**
*
* @returns
*/
export function getDeptTree() {
return requestClient.get<DeptTree[]>(Api.deptTree);
}
/**
*
*/
export function listUserByDeptId(deptId: ID) {
return requestClient.get<User[]>(`${Api.listDeptUsers}/${deptId}`);
}