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>(`${BASE_URL}/page`, { params }); // 创建角色 export const createRole = (data: RoleRequest) => request.post(BASE_URL, data, { successMessage: '创建角色成功' }); // 更新角色 export const updateRole = (id: number, data: RoleRequest) => request.put(`${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('/api/v1/role-tag/list');