menu.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { useEnumStore } from '@/stores'
  2. const { getEnumTypeName } = useEnumStore()
  3. /**
  4. * 权限类型
  5. */
  6. export enum AuthType {
  7. Menu = 1, // 菜单
  8. Component = 2, // 组件
  9. Button = 3, // 按钮
  10. }
  11. /**
  12. * 链接类型
  13. */
  14. export enum UrlType {
  15. Path = 1, // 路由
  16. Link = 2, // 外链
  17. Iframe = 3, // 内联框架
  18. }
  19. /**
  20. * 获取权限类型列表
  21. * @returns
  22. */
  23. export function getAuthTypeList() {
  24. return [
  25. { label: '菜单', value: AuthType.Menu },
  26. { label: '组件', value: AuthType.Component },
  27. { label: '按钮', value: AuthType.Button },
  28. ]
  29. }
  30. /**
  31. * 获取链接类型列表
  32. * @returns
  33. */
  34. export function getUrlTypeList() {
  35. return [
  36. { label: '路由', value: UrlType.Path },
  37. { label: '外链', value: UrlType.Link },
  38. { label: '内联框架', value: UrlType.Iframe },
  39. ]
  40. }
  41. /**
  42. * 获取权限类型名称
  43. * @param value
  44. * @returns
  45. */
  46. export function getAuthTypeName(value: number) {
  47. return getEnumTypeName(getAuthTypeList(), value);
  48. }
  49. /**
  50. * 获取链接类型名称
  51. * @param value
  52. * @returns
  53. */
  54. export function getUrlTypeName(value: number) {
  55. return getEnumTypeName(getUrlTypeList(), value);
  56. }