index.ts 2.7 KB
Newer Older
郝先瑞 已提交
1 2
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
H
haoxr 已提交
3
import { UserForm, UserInfo, UserPageResult, UserQuery } from './types';
4 5

/**
6
 * 登录成功后获取用户信息(昵称、头像、权限集合和角色集合)
7 8
 */
export function getUserInfo(): AxiosPromise<UserInfo> {
郝先瑞 已提交
9
  return request({
10
    url: '/api/v1/users/me',
11
    method: 'get'
郝先瑞 已提交
12
  });
13 14
}

15 16 17 18 19
/**
 * 获取用户分页列表
 *
 * @param queryParams
 */
郝先瑞 已提交
20
export function listUserPages(
H
haoxr 已提交
21
  queryParams: UserQuery
郝先瑞 已提交
22
): AxiosPromise<UserPageResult> {
郝先瑞 已提交
23
  return request({
24
    url: '/api/v1/users/pages',
郝先瑞 已提交
25
    method: 'get',
26
    params: queryParams
郝先瑞 已提交
27
  });
28 29
}

30 31 32 33 34
/**
 * 获取用户表单详情
 *
 * @param userId
 */
H
haoxr 已提交
35
export function getUserForm(userId: number): AxiosPromise<UserForm> {
郝先瑞 已提交
36
  return request({
37
    url: '/api/v1/users/' + userId + '/form',
38
    method: 'get'
郝先瑞 已提交
39
  });
40 41
}

42 43 44 45 46 47
/**
 * 添加用户
 *
 * @param data
 */
export function addUser(data: any) {
郝先瑞 已提交
48
  return request({
49
    url: '/api/v1/users',
郝先瑞 已提交
50
    method: 'post',
51
    data: data
郝先瑞 已提交
52
  });
53 54
}

55 56 57 58 59 60
/**
 * 修改用户
 *
 * @param id
 * @param data
 */
H
haoxr 已提交
61
export function updateUser(id: number, data: UserForm) {
郝先瑞 已提交
62
  return request({
63
    url: '/api/v1/users/' + id,
郝先瑞 已提交
64
    method: 'put',
65
    data: data
郝先瑞 已提交
66
  });
67 68
}

69
/**
70
 * 修改用户状态
71 72
 *
 * @param id
73
 * @param status
74
 */
75
export function updateUserStatus(id: number, status: number) {
郝先瑞 已提交
76
  return request({
77
    url: '/api/v1/users/' + id + '/status',
78 79 80 81 82 83 84 85 86 87 88 89 90
    method: 'patch',
    params: { status: status }
  });
}

/**
 * 修改用户密码
 *
 * @param id
 * @param password
 */
export function updateUserPassword(id: number, password: string) {
  return request({
91
    url: '/api/v1/users/' + id + '/password',
郝先瑞 已提交
92
    method: 'patch',
93
    params: { password: password }
郝先瑞 已提交
94
  });
95 96
}

97 98
/**
 * 删除用户
郝先瑞 已提交
99
 *
100 101
 * @param ids
 */
102
export function deleteUsers(ids: string) {
郝先瑞 已提交
103
  return request({
104
    url: '/api/v1/users/' + ids,
105
    method: 'delete'
郝先瑞 已提交
106
  });
107
}
108 109 110

/**
 * 下载用户导入模板
郝先瑞 已提交
111 112
 *
 * @returns
113
 */
114
export function downloadTemplateApi() {
郝先瑞 已提交
115
  return request({
116
    url: '/api/v1/users/template',
郝先瑞 已提交
117
    method: 'get',
118
    responseType: 'arraybuffer'
郝先瑞 已提交
119
  });
120 121 122 123
}

/**
 * 导出用户
郝先瑞 已提交
124 125 126
 *
 * @param queryParams
 * @returns
127
 */
H
haoxr 已提交
128
export function exportUser(queryParams: UserQuery) {
郝先瑞 已提交
129
  return request({
130
    url: '/api/v1/users/_export',
郝先瑞 已提交
131 132
    method: 'get',
    params: queryParams,
133
    responseType: 'arraybuffer'
郝先瑞 已提交
134
  });
135 136 137 138 139 140 141 142
}

/**
 * 导入用户
 *
 * @param file
 */
export function importUser(deptId: number, roleIds: string, file: File) {
郝先瑞 已提交
143 144 145 146 147
  const formData = new FormData();
  formData.append('file', file);
  formData.append('deptId', deptId.toString());
  formData.append('roleIds', roleIds);
  return request({
148
    url: '/api/v1/users/_import',
郝先瑞 已提交
149 150 151
    method: 'post',
    data: formData,
    headers: {
152 153
      'Content-Type': 'multipart/form-data'
    }
郝先瑞 已提交
154
  });
郝先瑞 已提交
155
}