role.ts 1.47 KB
import { request } from '@/utils/request'
import type { Role, PageRequest, PageResponse } from '@/types'

// 获取角色列表
export function getRoleListApi(): Promise<Role[]> {
  return request.get('/api/sys/role/list')
}

// 获取角色分页列表
export function getRolePageApi(params: PageRequest & {
  roleName?: string
  roleKey?: string
  status?: number
}): Promise<PageResponse<Role>> {
  return request.get('/api/sys/role/page', params)
}

// 获取角色详情
export function getRoleDetailApi(roleId: number): Promise<Role> {
  return request.get(`/api/sys/role/${roleId}`)
}

// 新增角色
export function addRoleApi(data: Partial<Role>): Promise<void> {
  return request.post('/api/sys/role', data)
}

// 更新角色
export function updateRoleApi(data: Partial<Role>): Promise<void> {
  return request.put('/api/sys/role', data)
}

// 删除角色
export function deleteRoleApi(roleId: number): Promise<void> {
  return request.delete(`/api/sys/role/${roleId}`)
}

// 批量删除角色
export function deleteBatchRoleApi(roleIds: number[]): Promise<void> {
  return request.delete('/api/sys/role/batch', { roleIds })
}

// 修改角色状态
export function changeRoleStatusApi(data: {
  roleId: number
  status: number
}): Promise<void> {
  return request.post('/api/sys/role/changeStatus', data)
}

// 分配权限
export function assignPermissionsApi(data: {
  roleId: number
  menuIds: number[]
}): Promise<void> {
  return request.post('/api/sys/role/assignPermissions', data)
}