index.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. // import RDSBackup from '@DB/views/rds-backup'
  2. import Layout from '@/layouts/RouterView'
  3. import { hasSetupKey } from '@/utils/auth'
  4. import i18n from '@/locales'
  5. import { isScopedPolicyMenuHidden } from '@/utils/scopedPolicy'
  6. const Redis = () => import(/* webpackChunkName: "db" */ /* webpackPrefetch: true */ '@DB/views/redis')
  7. const RedisCreate = () => import(/* webpackChunkName: "db" */ /* webpackPrefetch: true */ '@DB/views/redis/create')
  8. const RDS = () => import(/* webpackChunkName: "db" */ /* webpackPrefetch: true */ '@DB/views/rds')
  9. const RDSCreate = () => import(/* webpackChunkName: "db" */ /* webpackPrefetch: true */ '@DB/views/rds/create')
  10. const MongoDB = () => import(/* webpackChunkName: "db" */ /* webpackPrefetch: true */ '@DB/views/mongodb')
  11. export default {
  12. index: 58,
  13. meta: {
  14. label: i18n.t('db.text_28'),
  15. icon: 'menu-db',
  16. },
  17. menus: [
  18. /**
  19. * RDS
  20. */
  21. {
  22. meta: {
  23. label: 'RDS',
  24. },
  25. submenus: [
  26. {
  27. path: '/rds',
  28. component: Layout,
  29. meta: {
  30. label: i18n.t('dictionary.dbinstance'),
  31. permission: 'rds_dbinstances_list',
  32. t: 'dictionary.dbinstance',
  33. hidden: () => {
  34. if (isScopedPolicyMenuHidden('sub_hidden_menus.rds')) {
  35. return true
  36. }
  37. return !hasSetupKey(['aliyun', 'huawei', 'google', 'aws', 'qcloud', 'apsara', 'azure', 'hcso', 'hcs', 'ksyun'])
  38. },
  39. },
  40. children: [
  41. {
  42. name: 'RDSIndex',
  43. path: '',
  44. component: RDS,
  45. },
  46. {
  47. name: 'RDSCreate',
  48. path: 'create',
  49. meta: {
  50. label: '新建实例',
  51. },
  52. component: RDSCreate,
  53. },
  54. ],
  55. },
  56. /* {
  57. path: '/rdsbackup',
  58. component: Layout,
  59. meta: {
  60. label: i18n.t('dictionary.dbinstancebackups'),
  61. permission: 'rds_dbinstancebackups_list',
  62. hidden: () => false,
  63. },
  64. children: [
  65. {
  66. name: 'RDSBackupIndex',
  67. path: '',
  68. meta: {},
  69. component: RDSBackup,
  70. },
  71. ],
  72. }, */
  73. ],
  74. },
  75. /**
  76. * redis
  77. */
  78. {
  79. meta: {
  80. label: 'Redis',
  81. },
  82. submenus: [
  83. {
  84. path: '/redis',
  85. meta: {
  86. label: i18n.t('dictionary.elasticcache'),
  87. permission: 'redis_elasticcaches_list',
  88. hidden: () => {
  89. if (isScopedPolicyMenuHidden('sub_hidden_menus.redis')) {
  90. return true
  91. }
  92. return !hasSetupKey(['aliyun', 'huawei', 'qcloud', 'aws', 'azure', 'apsara', 'hcs'])
  93. },
  94. },
  95. component: Layout,
  96. children: [
  97. {
  98. name: 'Redis',
  99. path: '',
  100. component: Redis,
  101. },
  102. {
  103. name: 'RedisCreate',
  104. path: 'create',
  105. component: RedisCreate,
  106. },
  107. ],
  108. },
  109. ],
  110. },
  111. /**
  112. * MongoDB
  113. */
  114. {
  115. meta: {
  116. label: 'MongoDB',
  117. },
  118. submenus: [
  119. {
  120. path: '/mongodb',
  121. meta: {
  122. label: i18n.t('dictionary.mongodb'),
  123. permission: 'mongodbs_list',
  124. hidden: () => {
  125. if (isScopedPolicyMenuHidden('sub_hidden_menus.mongodb')) {
  126. return true
  127. }
  128. return !hasSetupKey(['aliyun', 'qcloud'])
  129. },
  130. },
  131. component: Layout,
  132. children: [
  133. {
  134. name: 'MongoDB',
  135. path: '',
  136. component: MongoDB,
  137. },
  138. ],
  139. },
  140. ],
  141. },
  142. ],
  143. }