Files
vue3-element-admin/src/api/user.ts
horizons b0a0033371 refactor: 项目优化和对接新后端框架
Former-commit-id: 11bd4366f6f0f9f3fb2213606f61cdb7b4c635a1
2022-10-15 13:57:55 +08:00

186 lines
3.4 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import {
UserFormData,
UserInfo,
UserPageResult,
UserQueryParam,
LoginFormData
} from '@/types/api/user';
/**
* 登录
*/
export function login(data: LoginFormData): AxiosPromise {
return request({
url: '/youlai-auth/oauth2/token',
method: 'post',
params: data,
headers: {
Authorization: 'Basic dnVlMy1lbGVtZW50LWFkbWluOnNlY3JldA==' // 客户端信息Base64明文vue3-element-admin:secret
}
});
}
/**
* 注销
*/
export function logout() {
return request({
url: '/youlai-auth/oauth/logout',
method: 'delete'
});
}
/**
* 登录成功后获取用户信息(昵称、头像、权限集合和角色集合)
*/
export function getUserInfo(): AxiosPromise<UserInfo> {
return request({
url: '/youlai-system/api/v1/users/me',
method: 'get'
});
}
/**
* 获取用户分页列表
*
* @param queryParams
*/
export function listUserPages(
queryParams: UserQueryParam
): AxiosPromise<UserPageResult> {
return request({
url: '/youlai-system/api/v1/users/pages',
method: 'get',
params: queryParams
});
}
/**
* 获取用户表单详情
*
* @param userId
*/
export function getUserDetail(userId: number): AxiosPromise<UserFormData> {
return request({
url: '/youlai-system/api/v1/users/' + userId,
method: 'get'
});
}
/**
* 添加用户
*
* @param data
*/
export function addUser(data: any) {
return request({
url: '/youlai-system/api/v1/users',
method: 'post',
data: data
});
}
/**
* 修改用户
*
* @param id
* @param data
*/
export function updateUser(id: number, data: UserFormData) {
return request({
url: '/youlai-system/api/v1/users/' + id,
method: 'put',
data: data
});
}
/**
* 修改用户状态
*
* @param id
* @param status
*/
export function updateUserStatus(id: number, status: number) {
return request({
url: '/youlai-system/api/v1/users/' + id + '/status',
method: 'patch',
params: { status: status }
});
}
/**
* 修改用户密码
*
* @param id
* @param password
*/
export function updateUserPassword(id: number, password: string) {
return request({
url: '/youlai-system/api/v1/users/' + id + '/password',
method: 'patch',
params: { password: password }
});
}
/**
* 删除用户
*
* @param ids
*/
export function deleteUsers(ids: string) {
return request({
url: '/youlai-system/api/v1/users/' + ids,
method: 'delete'
});
}
/**
* 下载用户导入模板
*
* @returns
*/
export function downloadTemplate() {
return request({
url: '/youlai-system/api/v1/users/template',
method: 'get',
responseType: 'arraybuffer'
});
}
/**
* 导出用户
*
* @param queryParams
* @returns
*/
export function exportUser(queryParams: UserQueryParam) {
return request({
url: '/youlai-system/api/v1/users/_export',
method: 'get',
params: queryParams,
responseType: 'arraybuffer'
});
}
/**
* 导入用户
*
* @param file
*/
export function importUser(deptId: number, roleIds: string, file: File) {
const formData = new FormData();
formData.append('file', file);
formData.append('deptId', deptId.toString());
formData.append('roleIds', roleIds);
return request({
url: '/youlai-system/api/v1/users/_import',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
}