deploy-ease-platform/frontend/src/pages/System/Role/service.ts
2024-12-01 11:08:47 +08:00

52 lines
1.5 KiB
TypeScript

import request from '@/utils/request';
import type { Page } from '@/types/base/page';
import type { RoleResponse, RoleRequest, RoleQuery, RoleTagResponse } from './types';
const BASE_URL = '/api/v1/role';
// 获取角色列表(分页)
export const getRoles = (params?: RoleQuery) =>
request.get<Page<RoleResponse>>(`${BASE_URL}/page`, {
params
});
// 创建角色
export const createRole = (data: RoleRequest) =>
request.post<RoleResponse>(BASE_URL, data, {
successMessage: '创建角色成功'
});
// 更新角色
export const updateRole = (id: number, data: RoleRequest) =>
request.put<RoleResponse>(`${BASE_URL}/${id}`, data, {
successMessage: '更新角色成功'
});
// 删除角色
export const deleteRole = (id: number) =>
request.delete(`${BASE_URL}/${id}`, {
successMessage: '删除角色成功'
});
export const assignMenus = async (roleId: number, menuIds: number[]) => {
return request.post(`/api/v1/role/${roleId}/menus`, menuIds, {
errorMessage: '分配菜单失败,请稍后重试'
});
};
export const getRoleMenus = async (roleId: number) => {
return request.get(`/api/v1/role/${roleId}/menus`, {
errorMessage: '获取角色菜单失败,请刷新重试'
});
};
// 分配标签
export const assignTags = (roleId: number, tagIds: number[]) =>
request.post(`${BASE_URL}/${roleId}/tags`, tagIds, {
successMessage: '分配标签成功'
});
// 获取所有标签
export const getAllTags = () =>
request.get<RoleTagResponse[]>('/api/v1/role-tag/list');