import type { MenuResp } from '../menu/model'; import type { User } from '../user/model'; import type { DeptResp, Role } from './model'; import type { ID, IDS, PageQuery, PageResult } from '#/api/common'; import { commonExport } from '#/api/helper'; import { requestClient } from '#/api/request'; enum Api { roleAuthUser = '/role/auth-user', roleDataScope = '/role/data-scope', roleDeptTree = '/role/dept-tree', roleExport = '/role/export', roleList = '/role/list', roleMenuTree = '/role/menu-tree', roleOptionSelect = '/role/select-data-list', root = '/role', } /** * 查询角色分页列表 * @param params 搜索条件 * @returns 分页列表 */ export function roleList(params?: PageQuery) { return requestClient.get>(Api.root, { params }); } /** * 导出角色信息 * @param data 查询参数 * @returns blob */ export function roleExport(data: Partial) { return commonExport(Api.roleExport, data); } /** * 查询角色信息 * @param roleId 角色id * @returns 角色信息 */ export function roleInfo(roleId: ID) { return requestClient.get(`${Api.root}/${roleId}`); } /** * 角色新增 * @param data 参数 * @returns void */ export function roleAdd(data: Partial) { return requestClient.postWithMsg(Api.root, data); } /** * 角色更新 * @param data 参数 * @returns void */ export function roleUpdate(data: Partial) { return requestClient.putWithMsg(`${Api.root}/${data.id}`, data); } /** * 角色删除 * @param roleIds ids * @returns void */ export function roleRemove(roleIds: IDS) { return requestClient.deleteWithMsg(Api.root, { params: { ids: roleIds.join(',') }, }); } /** * 更新数据权限 * @param data * @returns void */ export function roleDataScope(data: any) { return requestClient.putWithMsg(Api.roleDataScope, data); } /** * @deprecated 全局并没有用到这个方法 */ export function roleOptionSelect(params?: any) { return requestClient.get(Api.roleOptionSelect, { params }); } /** * 已分配角色的用户分页 * @param params 请求参数 * @returns 分页 */ export function roleAllocatedList(roleId: ID, params?: PageQuery) { return requestClient.get>(`${Api.roleAuthUser}/${roleId}/true`, { params }); } /** * 未授权的用户 * @param params * @returns void */ export function roleUnallocatedList(roleId: ID, params?: PageQuery) { return requestClient.get>(`${Api.roleAuthUser}/${roleId}/false`, { params }); } /** * 批量取消授权 * @param roleId 角色ID * @param userIds 用户ID集合 * @returns void */ export function roleAuthCancelAll(roleId: ID, userIds: IDS) { return requestClient.deleteWithMsg( `${Api.roleAuthUser}`, { data: { roleId, userIds, } }, ); } /** * 批量授权用户 * @param roleId 角色ID * @param userIds 用户ID集合 * @returns void */ export function roleSelectAll(roleId: ID, userIds: IDS) { return requestClient.postWithMsg( `${Api.roleAuthUser}`, { roleId, userIds, }, ); } /** * 根据角色id获取部门树 * @param roleId 角色id * @returns DeptResp */ export function roleDeptTree(roleId: ID) { return requestClient.get(`${Api.roleDeptTree}/${roleId}`); } /** * 返回对应角色的菜单 * @param roleId id * @returns resp */ export function roleMenuTreeSelect(roleId: ID) { return requestClient.get(`${Api.roleMenuTree}/${roleId}`); }