refactor: 项目简化
Former-commit-id: 73a4a6c9c41e013928e6205dd7c078d0e955f487
This commit is contained in:
@@ -1,55 +0,0 @@
|
||||
import {
|
||||
ClientFormData,
|
||||
ClientPageResult,
|
||||
ClientQueryParam,
|
||||
} from '@/types/api/system/client';
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
export function listClientPages(
|
||||
queryParams: ClientQueryParam
|
||||
): AxiosPromise<ClientPageResult> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/oauth-clients',
|
||||
method: 'get',
|
||||
params: queryParams,
|
||||
});
|
||||
}
|
||||
|
||||
export function getClientFormDetial(id: number): AxiosPromise<ClientFormData> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/oauth-clients/' + id,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
export function addClient(data: ClientFormData) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/oauth-clients',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function updateClient(id: string, data: ClientFormData) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/oauth-clients/' + id,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function deleteClients(ids: string) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/oauth-clients/' + ids,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
|
||||
export function updateClientPart(id: number, data: object) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/oauth-clients/' + id,
|
||||
method: 'patch',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
@@ -1,84 +0,0 @@
|
||||
import {
|
||||
DeptFormData,
|
||||
DeptItem,
|
||||
DeptQueryParam
|
||||
} from '@/types/api/system/dept';
|
||||
import { Option } from '@/types/common';
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
/**
|
||||
* 部门树形表格
|
||||
*
|
||||
* @param queryParams
|
||||
*/
|
||||
export function listDepartments(
|
||||
queryParams?: DeptQueryParam
|
||||
): AxiosPromise<DeptItem[]> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/depts',
|
||||
method: 'get',
|
||||
params: queryParams
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 部门下拉列表
|
||||
*/
|
||||
export function listDeptOptions(): AxiosPromise<Option[]> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/depts/options',
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取部门详情
|
||||
*
|
||||
* @param id
|
||||
*/
|
||||
export function getDeptDetail(id: string): AxiosPromise<DeptFormData> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/depts/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增部门
|
||||
*
|
||||
* @param data
|
||||
*/
|
||||
export function addDept(data: DeptFormData) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/depts',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改部门
|
||||
*
|
||||
* @param id
|
||||
* @param data
|
||||
*/
|
||||
export function updateDept(id: string, data: DeptFormData) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/depts/' + id,
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除部门
|
||||
*
|
||||
* @param ids
|
||||
*/
|
||||
export function deleteDept(ids: string) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/depts/' + ids,
|
||||
method: 'delete'
|
||||
});
|
||||
}
|
||||
@@ -1,158 +0,0 @@
|
||||
import { Option } from '@/types/common';
|
||||
import {
|
||||
DictFormTypeData,
|
||||
DictItemFormData,
|
||||
DictItemPageResult,
|
||||
DictItemQueryParam,
|
||||
DictPageResult,
|
||||
DictQueryParam,
|
||||
} from '@/types/api/system/dict';
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
/**
|
||||
* 获取字典分页列表
|
||||
*
|
||||
* @param queryParams
|
||||
*/
|
||||
export function listPageDictTypes(
|
||||
queryParams: DictQueryParam
|
||||
): AxiosPromise<DictPageResult> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/dict-types',
|
||||
method: 'get',
|
||||
params: queryParams,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取字典详情
|
||||
*
|
||||
* @param id
|
||||
*/
|
||||
export function getDictFormData(id: number): AxiosPromise<DictFormTypeData> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/dict-types/' + id + '/form_data',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增字典类型
|
||||
*
|
||||
* @param data
|
||||
*/
|
||||
export function addDictType(data: DictFormTypeData) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/dict-types',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改字典类型
|
||||
*
|
||||
* @param id
|
||||
* @param data
|
||||
*/
|
||||
export function updateDictType(id: number, data: DictFormTypeData) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/dict-types/' + id,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除字典类型
|
||||
*
|
||||
* @param ids 字典类型ID,多个以英文逗号(,)分割
|
||||
*/
|
||||
export function deleteDictTypes(ids: string) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/dict-types/' + ids,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取字典项分页列表
|
||||
*
|
||||
* @param queryParams
|
||||
*/
|
||||
export function listPageDictItems(
|
||||
queryParams: DictItemQueryParam
|
||||
): AxiosPromise<DictItemPageResult> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/dict-items',
|
||||
method: 'get',
|
||||
params: queryParams,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据字典类型编码获取字典数据项
|
||||
*
|
||||
* @param typeCode 字典类型编码
|
||||
*/
|
||||
export function getDictItemsByTypeCode(
|
||||
typeCode: string
|
||||
): AxiosPromise<Option[]> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/dict-items/select_list',
|
||||
method: 'get',
|
||||
params: { typeCode: typeCode },
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取字典数据项表单
|
||||
*
|
||||
* @param id
|
||||
*/
|
||||
export function getDictItemData(id: number): AxiosPromise<DictItemFormData> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/dict-items/' + id + '/form_data',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增字典项
|
||||
*
|
||||
* @param data
|
||||
*/
|
||||
export function addDictItem(data: DictItemFormData) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/dict-items',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改字典项
|
||||
*
|
||||
* @param id
|
||||
* @param data
|
||||
*/
|
||||
export function updateDictItem(id: number, data: DictItemFormData) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/dict-items/' + id,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除字典数据项
|
||||
*
|
||||
* @param ids 字典项ID,多个以英文逗号(,)分割
|
||||
*/
|
||||
export function deleteDictItems(ids: string) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/dict-items/' + ids,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
/**
|
||||
* 上传文件
|
||||
*
|
||||
* @param file
|
||||
*/
|
||||
export function uploadFile(file: File) {
|
||||
const formData = new FormData();
|
||||
formData.append('file', file);
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/files',
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data',
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除文件
|
||||
*
|
||||
* @param path
|
||||
*/
|
||||
export function deleteFile(path?: string) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/files',
|
||||
method: 'delete',
|
||||
params: { path: path },
|
||||
});
|
||||
}
|
||||
@@ -1,104 +0,0 @@
|
||||
import {
|
||||
MenuFormData,
|
||||
MenuItem,
|
||||
MenuQueryParam,
|
||||
Resource,
|
||||
} from '@/types/api/system/menu';
|
||||
import { Option } from '@/types/common';
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
/**
|
||||
* 获取路由列表
|
||||
*/
|
||||
export function listRoutes() {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/menus/routes',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取菜单表格列表
|
||||
*
|
||||
* @param queryParams
|
||||
*/
|
||||
export function listMenus(
|
||||
queryParams: MenuQueryParam
|
||||
): AxiosPromise<MenuItem[]> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/menus',
|
||||
method: 'get',
|
||||
params: queryParams,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取菜单下拉树形列表
|
||||
*/
|
||||
export function listMenuOptions(): AxiosPromise<Option[]> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/menus/options',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取资源(菜单+权限)树形列表
|
||||
*/
|
||||
export function listResources(): AxiosPromise<Resource[]> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/menus/resources',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取菜单详情
|
||||
* @param id
|
||||
*/
|
||||
export function getMenuDetail(id: string): AxiosPromise<MenuFormData> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/menus/' + id,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加菜单
|
||||
*
|
||||
* @param data
|
||||
*/
|
||||
export function addMenu(data: MenuFormData) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/menus',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改菜单
|
||||
*
|
||||
* @param id
|
||||
* @param data
|
||||
*/
|
||||
export function updateMenu(id: string, data: MenuFormData) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/menus/' + id,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除菜单
|
||||
*
|
||||
* @param ids 菜单ID,多个以英文逗号(,)分割
|
||||
*/
|
||||
export function deleteMenus(ids: string) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/menus/' + ids,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
@@ -1,89 +0,0 @@
|
||||
import {
|
||||
PermFormData,
|
||||
PermItem,
|
||||
PermPageResult,
|
||||
PermQueryParam,
|
||||
} from '@/types/api/system/perm';
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
/**
|
||||
* 获取权限分页列表
|
||||
*
|
||||
* @param queryParams
|
||||
*/
|
||||
export function listPermPages(
|
||||
queryParams: PermQueryParam
|
||||
): AxiosPromise<PermPageResult> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/permissions/page',
|
||||
method: 'get',
|
||||
params: queryParams,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取权限列表
|
||||
*
|
||||
* @param queryParams
|
||||
*/
|
||||
export function listPerms(
|
||||
queryParams: PermQueryParam
|
||||
): AxiosPromise<PermItem[]> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/permissions',
|
||||
method: 'get',
|
||||
params: queryParams,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取权限详情
|
||||
*
|
||||
* @param id
|
||||
*/
|
||||
export function getPermFormDetail(id: number): AxiosPromise<PermFormData> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/permissions/' + id,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加权限
|
||||
*
|
||||
* @param data
|
||||
*/
|
||||
export function addPerm(data: PermFormData) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/permissions',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新权限
|
||||
*
|
||||
* @param id
|
||||
* @param data
|
||||
*/
|
||||
export function updatePerm(id: number, data: PermFormData) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/permissions/' + id,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除权限,多个以英文逗号(,)分割
|
||||
*
|
||||
* @param ids
|
||||
*/
|
||||
export function deletePerms(ids: string) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/permissions/' + ids,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
@@ -1,119 +0,0 @@
|
||||
import {
|
||||
RoleFormData,
|
||||
RolePageResult,
|
||||
RoleQueryParam,
|
||||
RoleResource,
|
||||
} from '@/types/api/system/role';
|
||||
|
||||
import { Option } from '@/types/common';
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
/**
|
||||
* 获取角色分页数据
|
||||
*
|
||||
* @param queryParams
|
||||
*/
|
||||
export function listRolePages(
|
||||
queryParams?: RoleQueryParam
|
||||
): AxiosPromise<RolePageResult> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/roles/pages',
|
||||
method: 'get',
|
||||
params: queryParams,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取角色下拉数据
|
||||
*
|
||||
* @param queryParams
|
||||
*/
|
||||
export function listRoleOptions(
|
||||
queryParams?: RoleQueryParam
|
||||
): AxiosPromise<Option[]> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/roles/options',
|
||||
method: 'get',
|
||||
params: queryParams,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取角色拥有的资源ID集合
|
||||
*
|
||||
* @param queryParams
|
||||
*/
|
||||
export function getRoleResources(roleId: string): AxiosPromise<RoleResource> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/roles/' + roleId + '/resources',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改角色资源权限
|
||||
*
|
||||
* @param queryParams
|
||||
*/
|
||||
export function updateRoleResource(
|
||||
roleId: string,
|
||||
data: RoleResource
|
||||
): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/roles/' + roleId + '/resources',
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取角色详情
|
||||
*
|
||||
* @param id
|
||||
*/
|
||||
export function getRoleFormDetail(id: number): AxiosPromise<RoleFormData> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/roles/' + id,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加角色
|
||||
*
|
||||
* @param data
|
||||
*/
|
||||
export function addRole(data: RoleFormData) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/roles',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新角色
|
||||
*
|
||||
* @param id
|
||||
* @param data
|
||||
*/
|
||||
export function updateRole(id: number, data: RoleFormData) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/roles/' + id,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除角色,多个以英文逗号(,)分割
|
||||
*
|
||||
* @param ids
|
||||
*/
|
||||
export function deleteRoles(ids: string) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/roles/' + ids,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
@@ -1,160 +0,0 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import {
|
||||
UserFormData,
|
||||
UserInfo,
|
||||
UserPageResult,
|
||||
UserQueryParam
|
||||
} from '@/types/api/system/user';
|
||||
|
||||
/**
|
||||
* 登录成功后获取用户信息(昵称、头像、权限集合和角色集合)
|
||||
*/
|
||||
export function getUserInfo(): AxiosPromise<UserInfo> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/users/me',
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户分页列表
|
||||
*
|
||||
* @param queryParams
|
||||
*/
|
||||
export function listUserPages(
|
||||
queryParams: UserQueryParam
|
||||
): AxiosPromise<UserPageResult> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/users/pages',
|
||||
method: 'get',
|
||||
params: queryParams
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户表单详情
|
||||
*
|
||||
* @param userId
|
||||
*/
|
||||
export function getUserDetail(userId: number): AxiosPromise<UserFormData> {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/users/' + userId,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加用户
|
||||
*
|
||||
* @param data
|
||||
*/
|
||||
export function addUser(data: any) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/users',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改用户
|
||||
*
|
||||
* @param id
|
||||
* @param data
|
||||
*/
|
||||
export function updateUser(id: number, data: UserFormData) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/users/' + id,
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改用户状态
|
||||
*
|
||||
* @param id
|
||||
* @param status
|
||||
*/
|
||||
export function updateUserStatus(id: number, status: number) {
|
||||
return request({
|
||||
url: '/youlai-admin/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-admin/api/v1/users/' + id + '/password',
|
||||
method: 'patch',
|
||||
params: { password: password }
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除用户
|
||||
*
|
||||
* @param ids
|
||||
*/
|
||||
export function deleteUsers(ids: string) {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/users/' + ids,
|
||||
method: 'delete'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载用户导入模板
|
||||
*
|
||||
* @returns
|
||||
*/
|
||||
export function downloadTemplate() {
|
||||
return request({
|
||||
url: '/youlai-admin/api/v1/users/template',
|
||||
method: 'get',
|
||||
responseType: 'arraybuffer'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出用户
|
||||
*
|
||||
* @param queryParams
|
||||
* @returns
|
||||
*/
|
||||
export function exportUser(queryParams: UserQueryParam) {
|
||||
return request({
|
||||
url: '/youlai-admin/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-admin/api/v1/users/_import',
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user