role.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import type { Recordable } from '@vben/types';
  2. import { requestClient } from '#/api/request';
  3. export namespace SystemRoleApi {
  4. export interface SystemRole {
  5. [key: string]: any;
  6. id: string;
  7. name: string;
  8. permissions: string[];
  9. remark?: string;
  10. status: 0 | 1;
  11. }
  12. }
  13. /**
  14. * 获取角色列表数据
  15. */
  16. async function getRoleList(params: Recordable<any>) {
  17. return requestClient.get<Array<SystemRoleApi.SystemRole>>(
  18. '/system/role/list',
  19. { params },
  20. );
  21. }
  22. /**
  23. * 创建角色
  24. * @param data 角色数据
  25. */
  26. async function createRole(data: Omit<SystemRoleApi.SystemRole, 'id'>) {
  27. return requestClient.post('/system/role', data);
  28. }
  29. /**
  30. * 更新角色
  31. *
  32. * @param id 角色 ID
  33. * @param data 角色数据
  34. */
  35. async function updateRole(
  36. id: string,
  37. data: Omit<SystemRoleApi.SystemRole, 'id'>,
  38. ) {
  39. return requestClient.put(`/system/role/${id}`, data);
  40. }
  41. /**
  42. * 删除角色
  43. * @param id 角色 ID
  44. */
  45. async function deleteRole(id: string) {
  46. return requestClient.delete(`/system/role/${id}`);
  47. }
  48. export { createRole, deleteRole, getRoleList, updateRole };