181 lines
3.2 KiB
TypeScript
Raw Normal View History

2023-04-02 01:01:56 +08:00
import { DeptVO } from './../dept/types';
import { RoleVO } from '@/api/system/role/types';
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { UserForm, UserQuery, UserVO, UserInfoVO } from './types';
import { parseStrEmpty } from '@/utils/ruoyi';
/**
*
* @param query
*/
export function listUser(query: UserQuery): AxiosPromise<UserVO[]> {
return request({
url: '/system/user/list',
method: 'get',
params: query
});
}
/**
*
* @param userId
*/
export function getUser(userId?: string | number): AxiosPromise<UserInfoVO> {
return request({
url: '/system/user/' + parseStrEmpty(userId),
method: 'get'
});
}
/**
*
*/
export function addUser(data: UserForm) {
return request({
url: '/system/user',
method: 'post',
data: data
});
}
/**
*
*/
export function updateUser(data: UserForm) {
return request({
url: '/system/user',
method: 'put',
data: data
});
}
/**
*
* @param userId ID
*/
export function delUser(userId: Array<string | number> | string | number) {
return request({
url: '/system/user/' + userId,
method: 'delete'
});
}
/**
*
* @param userId ID
* @param password
*/
export function resetUserPwd(userId: string | number, password: string) {
const data = {
userId,
password
};
return request({
url: '/system/user/resetPwd',
method: 'put',
data: data
});
}
/**
*
* @param userId ID
* @param status
*/
export function changeUserStatus(userId: number | string, status: string) {
const data = {
userId,
status
};
return request({
url: '/system/user/changeStatus',
method: 'put',
data: data
});
}
/**
*
*/
export function getUserProfile(): AxiosPromise<UserInfoVO> {
return request({
url: '/system/user/profile',
method: 'get'
});
}
/**
*
* @param data
*/
export function updateUserProfile(data: UserForm) {
return request({
url: '/system/user/profile',
method: 'put',
data: data
});
}
/**
*
* @param oldPassword
* @param newPassword
*/
export function updateUserPwd(oldPassword: string, newPassword: string) {
const data = {
oldPassword,
newPassword
};
return request({
url: '/system/user/profile/updatePwd',
method: 'put',
params: data
});
}
/**
*
* @param data
*/
export function uploadAvatar(data: FormData) {
return request({
url: '/system/user/profile/avatar',
method: 'post',
data: data
});
}
/**
*
* @param userId ID
*/
export function getAuthRole(userId: string | number): AxiosPromise<{ user: UserVO; roles: RoleVO[] }> {
return request({
url: '/system/user/authRole/' + userId,
method: 'get'
});
}
/**
*
* @param data ID
*/
export function updateAuthRole(data: { userId: string; roleIds: string }) {
return request({
url: '/system/user/authRole',
method: 'put',
params: data
});
}
/**
*
*/
export function deptTreeSelect(): AxiosPromise<DeptVO[]> {
return request({
url: '/system/user/deptTree',
method: 'get'
});
}