Files
vue3-element-admin/src/api/system/role.ts

46 lines
1.5 KiB
TypeScript

import request from "@/utils/request";
import type { RoleQueryParams, RoleItem, RoleForm, OptionItem } from "@/types/api";
const ROLE_BASE_URL = "/api/v1/roles";
const RoleAPI = {
/** 获取角色分页数据 */
getPage(queryParams?: RoleQueryParams) {
return request<any, PageResult<RoleItem>>({
url: `${ROLE_BASE_URL}`,
method: "get",
params: queryParams,
});
},
/** 获取角色下拉数据源 */
getOptions() {
return request<any, OptionItem[]>({ url: `${ROLE_BASE_URL}/options`, method: "get" });
},
/** 获取角色的菜单ID集合 */
getRoleMenuIds(roleId: string) {
return request<any, string[]>({ url: `${ROLE_BASE_URL}/${roleId}/menuIds`, method: "get" });
},
/** 分配菜单权限 */
updateRoleMenus(roleId: string, data: number[]) {
return request({ url: `${ROLE_BASE_URL}/${roleId}/menus`, method: "put", data });
},
/** 获取角色表单数据 */
getFormData(id: string) {
return request<any, RoleForm>({ url: `${ROLE_BASE_URL}/${id}/form`, method: "get" });
},
/** 新增角色 */
create(data: RoleForm) {
return request({ url: `${ROLE_BASE_URL}`, method: "post", data });
},
/** 更新角色 */
update(id: string, data: RoleForm) {
return request({ url: `${ROLE_BASE_URL}/${id}`, method: "put", data });
},
/** 批量删除角色,多个以英文逗号(,)分割 */
deleteByIds(ids: string) {
return request({ url: `${ROLE_BASE_URL}/${ids}`, method: "delete" });
},
};
export default RoleAPI;