27 lines
735 B
TypeScript
27 lines
735 B
TypeScript
import type { QueryRoleRequest } from "@/types/web/request"
|
|
import webClient from "@/service/web-client"
|
|
import type { PageResponse, RoleResponse } from "@/types/web/response"
|
|
|
|
export async function fetchRoles(
|
|
request: QueryRoleRequest | null
|
|
): Promise<RoleResponse> {
|
|
const params = new URLSearchParams()
|
|
params.append("pageNum", `${request?.pageNum ?? 1}`)
|
|
params.append("pageSize", `${request?.pageSize ?? 1}`)
|
|
|
|
if (request?.name) {
|
|
params.append("name", request.name)
|
|
}
|
|
|
|
if (request?.code) {
|
|
params.append("code", request.code)
|
|
}
|
|
|
|
if (request?.status) {
|
|
params.append("status", request.status)
|
|
}
|
|
|
|
const { data } = await webClient.get<RoleResponse>(`/roles?${params.toString()}`)
|
|
return data
|
|
}
|