126 lines
2.9 KiB
TypeScript
126 lines
2.9 KiB
TypeScript
import { requestClient } from '#/api/request';
|
||
|
||
const prefix = 'role/';
|
||
/**
|
||
* 分页查询用户列表
|
||
* @param data
|
||
*/
|
||
export async function getRoleList(data: any) {
|
||
return requestClient.get<any>(`${prefix}list`, { params: data });
|
||
}
|
||
/**
|
||
* 分页查询用户列表
|
||
* @param data
|
||
*/
|
||
export async function getRoleOption(data: any) {
|
||
return requestClient.get<any>(`${prefix}option`, { params: data });
|
||
}
|
||
|
||
/**
|
||
* 获取详情
|
||
* @param id
|
||
*/
|
||
export async function getRoleInfo(id: number) {
|
||
return requestClient.get<any>(`${prefix}detail`, { params: { id } });
|
||
}
|
||
|
||
/**
|
||
* 查询菜单下拉框
|
||
* @param data
|
||
*/
|
||
export async function getMenuIdsByRoleIds(data: any) {
|
||
return requestClient.get<any>(`${prefix}get-menu-ids-by-role-ids`, {
|
||
params: {
|
||
role_id: data.id,
|
||
},
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 编辑角色
|
||
* @param data
|
||
*/
|
||
export async function saveRoleMenu(data: Record<string, any>) {
|
||
return requestClient.post<any>(`${prefix}save-role-menu`, data);
|
||
}
|
||
|
||
/**
|
||
* 新增角色
|
||
* @param data
|
||
*/
|
||
export async function createRole(data: Record<string, any>) {
|
||
return requestClient.post<any>(`${prefix}create`, data);
|
||
}
|
||
|
||
/**
|
||
* 编辑角色
|
||
* @param data
|
||
*/
|
||
export async function updateRole(data: Record<string, any>) {
|
||
return requestClient.post<any>(`${prefix}update`, data);
|
||
}
|
||
|
||
/**
|
||
* 删除角色
|
||
* @param data
|
||
*/
|
||
export async function deleteRole(data: Record<string, any>) {
|
||
return requestClient.post<any>(`${prefix}delete`, data);
|
||
}
|
||
|
||
const workbenchPrefix = 'role-workbench-widget/';
|
||
|
||
/**
|
||
* 工作台模块可选字典(code + 中文名)
|
||
*/
|
||
export async function getWorkbenchWidgetOptions() {
|
||
return requestClient.get<any>(`${workbenchPrefix}options`);
|
||
}
|
||
|
||
/**
|
||
* 按角色获取已配置的工作台模块(配置回显)
|
||
*/
|
||
export async function getWorkbenchWidgetByRoleId(roleId: number) {
|
||
return requestClient.get<any>(`${workbenchPrefix}get-by-role-id`, {
|
||
params: { role_id: roleId },
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 批量保存角色工作台模块(按数组顺序写排序)
|
||
*/
|
||
export async function batchSaveWorkbenchWidget(data: {
|
||
role_id: number;
|
||
widget_codes: string[];
|
||
}) {
|
||
return requestClient.post<any>(`${workbenchPrefix}batch-save`, data);
|
||
}
|
||
|
||
const wxEntryPrefix = 'wx-workbench-entry/';
|
||
|
||
/**
|
||
* 小程序功能入口全量字典(角色分配抽屉可选项,含分组)
|
||
*/
|
||
export async function getWxWorkbenchEntryOptions() {
|
||
return requestClient.get<any>(`${wxEntryPrefix}options`);
|
||
}
|
||
|
||
/**
|
||
* 按角色获取已分配的小程序功能入口(配置回显,按排序返回)
|
||
*/
|
||
export async function getWxWorkbenchEntryByRoleId(roleId: number) {
|
||
return requestClient.get<any>(`${wxEntryPrefix}get-by-role-id`, {
|
||
params: { role_id: roleId },
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 批量保存角色的小程序功能入口分配(按数组顺序写排序)
|
||
*/
|
||
export async function batchSaveWxWorkbenchEntry(data: {
|
||
entry_ids: number[];
|
||
role_id: number;
|
||
}) {
|
||
return requestClient.post<any>(`${wxEntryPrefix}batch-save`, data);
|
||
}
|