@pubinfo/module-rbac 2.0.0-beta.9 → 2.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (515) hide show
  1. package/dist/ComponentSelect-Din5Vses.js +2 -0
  2. package/dist/ComponentSelect-Dyqb3Uh3.js +3734 -0
  3. package/dist/ComponentSelect.css +1 -0
  4. package/dist/DynamicRoutesForm-CkmCaHum.js +4 -0
  5. package/dist/DynamicRoutesForm-D3nGj7oA.js +376 -0
  6. package/dist/HCheckList-3zLNVNr0.js +37 -0
  7. package/dist/HCheckList-Dd2Tx0jW.js +2 -0
  8. package/dist/ImportExport-BbZkZEW_.js +4 -0
  9. package/dist/ImportExport-Yt6dABIv.js +354 -0
  10. package/dist/MetaForm-CI-T2qEE.js +284 -0
  11. package/dist/MetaForm-CrsQmdOg.js +4 -0
  12. package/dist/OrgAndPosition-BK5MTlOO.js +188 -0
  13. package/dist/OrgAndPosition-CDCim7yM.js +2 -0
  14. package/dist/ResourceEdit-BFXA953U.js +309 -0
  15. package/dist/ResourceEdit-V6gt22gW.js +8 -0
  16. package/dist/ResourceRelation-BihfkBCe.js +93 -0
  17. package/dist/ResourceRelation-BnLQZey7.js +3 -0
  18. package/dist/ResourceRelation-CBPrqf2V.js +78 -0
  19. package/dist/ResourceRelation.css +1 -0
  20. package/dist/ResourceRelation2.css +1 -0
  21. package/dist/ResourceSelector-CxZ1ae30.js +247 -0
  22. package/dist/ResourceSelector.css +1 -0
  23. package/dist/RoleRelation-BlWDNAM1.js +79 -0
  24. package/dist/RoleRelation-CAMzPMFz.js +2 -0
  25. package/dist/RoleSelector-DTnDRRTQ.js +279 -0
  26. package/dist/TenantEdit-Bt31IV9W.js +253 -0
  27. package/dist/TenantEdit-DYHJehf0.js +6 -0
  28. package/dist/UserAuthorization-BdHxAQlK.js +4 -0
  29. package/dist/UserAuthorization-Dhp0ZamX.js +238 -0
  30. package/dist/UserAuthorization.css +1 -0
  31. package/dist/UserEdit-CqH6hxTZ.js +336 -0
  32. package/dist/UserEdit-CqrRx717.js +4 -0
  33. package/dist/_plugin-vue_export-helper-Bvl99pNT.js +6 -0
  34. package/dist/add-child-sIXCU5sL.js +2 -0
  35. package/dist/animation_item-COb6VI4T.js +2 -0
  36. package/dist/animation_item-D78koyTo.js +4536 -0
  37. package/dist/api/modules/assist/qunzujiekou.d.ts +7 -0
  38. package/dist/api/modules/configData/index.d.ts +1 -1
  39. package/dist/api/modules/configData/{zidianfuwu.d.ts → zidifuwu.d.ts} +14 -0
  40. package/dist/api/modules/rbac/gangweijiekou.d.ts +7 -0
  41. package/dist/api/modules/rbac/index.d.ts +1 -0
  42. package/dist/api/modules/rbac/pubJiaosezukongzhiqi.d.ts +7 -0
  43. package/dist/api/modules/rbac/yonghujiekou.d.ts +21 -0
  44. package/dist/api/modules/rbac/ziyuandaorudaochuxiangguanjiekou.d.ts +43 -0
  45. package/dist/api/modules/rbac/ziyuanjiekou.d.ts +7 -0
  46. package/dist/api/request.d.ts +1 -1
  47. package/dist/authority-DQ4-SayE.js +2 -0
  48. package/dist/authorize-CR54jxEa.js +2 -0
  49. package/dist/blackWhiteList-B7tUj2Rx.js +213 -0
  50. package/dist/blackWhiteList.css +1 -0
  51. package/dist/blacklist-disable-ypFSVSX1.js +2 -0
  52. package/dist/blacklist-enable-DlkD_15-.js +2 -0
  53. package/dist/breadcrumb_setting-CIm-6QHw.js +111 -0
  54. package/dist/breadcrumb_setting.css +1 -0
  55. package/dist/browser-chrome-DNH4U6iO.js +2 -0
  56. package/dist/browser-edge-4sSjlzO1.js +2 -0
  57. package/dist/browser-ie-yTwVV0GC.js +2 -0
  58. package/dist/browser-other-Jax-vzDs.js +2 -0
  59. package/dist/browser-safari-B7PIezpj.js +2 -0
  60. package/dist/browserType-D2cPQa0k.js +2 -0
  61. package/dist/browserType-DZrDbVVY.js +26 -0
  62. package/dist/chunk-B3eAFu3c.js +11 -0
  63. package/dist/cloneDeep-BnvyNhik.js +7 -0
  64. package/dist/components/DirectoryIcones/ComponentsIcones.vue.d.ts +7 -0
  65. package/dist/components/DirectoryIcones/FolderIcones.vue.d.ts +7 -0
  66. package/dist/components/DirectoryIcones/ModuleIcones.vue.d.ts +7 -0
  67. package/dist/components/DirectoryIcones/PackagesIcones.vue.d.ts +7 -0
  68. package/dist/components/DirectoryIcones/SrcIcones.vue.d.ts +7 -0
  69. package/dist/components/DirectoryIcones/ViewIcones.vue.d.ts +7 -0
  70. package/dist/components/DirectoryIcones/VueIcones.vue.d.ts +2 -0
  71. package/dist/components/GroupSelector/index.vue.d.ts +4 -4
  72. package/dist/components/OrgTree/index.vue.d.ts +1 -1
  73. package/dist/components/OrgUserSelector/OrgSelector.vue.d.ts +7 -7
  74. package/dist/components/OrgUserSelector/UserSelector.vue.d.ts +7 -7
  75. package/dist/components/OrgUserSelector/index.d.ts +3 -2
  76. package/dist/components/ResourceIcones/Select.vue.d.ts +9 -0
  77. package/dist/components/ResourceSelector/index.vue.d.ts +5 -5
  78. package/dist/components/RoleSelector/RoleSearch.vue.d.ts +19 -0
  79. package/dist/components/RoleSelector/RoleSelector.vue.d.ts +20 -0
  80. package/dist/components/RoleSelector/TooltipLabel.vue.d.ts +8 -0
  81. package/dist/components/RoleSelector/index.d.ts +2 -0
  82. package/dist/components/RoleSelector/interface.d.ts +4 -0
  83. package/dist/components/RoleSelector/useRole.d.ts +13 -0
  84. package/dist/composables/useLottie.d.ts +1 -1
  85. package/dist/configData-CONUFxaH.js +86 -0
  86. package/dist/context.d.ts +3 -0
  87. package/dist/createAndEditDataPermission-6pvYsJo9.js +8 -0
  88. package/dist/createAndEditDataPermission-Bd3tlIEE.js +443 -0
  89. package/dist/createAndEditDataPermission.css +1 -0
  90. package/dist/data-permission-Db1Lu9KO.js +156 -0
  91. package/dist/data-permission.css +1 -0
  92. package/dist/dayjs.min-KffHrkDe.js +297 -0
  93. package/dist/dictionary-XMJprxvM.js +180 -0
  94. package/dist/drawerBlackWhiteList-D-Sq4mul.js +125 -0
  95. package/dist/drawerBlackWhiteList-DK4g_CpC.js +3 -0
  96. package/dist/drawerDictionary-Bw3w5PTm.js +130 -0
  97. package/dist/drawerDictionary-DHIcxPrY.js +4 -0
  98. package/dist/drawerDictionaryItem-4WIgL3No.js +142 -0
  99. package/dist/drawerDictionaryItem-dg1sIDYE.js +4 -0
  100. package/dist/drawerGroup-932n7Ywc.js +188 -0
  101. package/dist/drawerGroup-CrF2c8UJ.js +3 -0
  102. package/dist/drawerOrganization-IwZZkHWM.js +251 -0
  103. package/dist/drawerOrganization-b39q3V33.js +3 -0
  104. package/dist/drawerPosition-BiO92_At.js +170 -0
  105. package/dist/drawerPosition-BjoDy0cQ.js +3 -0
  106. package/dist/drawerRegion-CNOK55im.js +187 -0
  107. package/dist/drawerRegion-omVT_dpq.js +3 -0
  108. package/dist/drawerRole-BaQBb2-J.js +215 -0
  109. package/dist/drawerRole-BqMh5l11.js +5 -0
  110. package/dist/drawerRole-D7VJRLmp.js +6 -0
  111. package/dist/drawerRole-IIsKhycU.js +159 -0
  112. package/dist/drawerRole-PnDochPg.js +172 -0
  113. package/dist/drawerRole-dJ3m0_K2.js +3 -0
  114. package/dist/edit-CCL7qbDV.js +2 -0
  115. package/dist/enum-B-lkiBy0.js +61 -0
  116. package/dist/enum-BMY6bmPA.js +54 -0
  117. package/dist/enum-Bg70i-vM.js +4 -0
  118. package/dist/enum-CUMv4gQ2.js +23 -0
  119. package/dist/enum-DUjQrWbG.js +4 -0
  120. package/dist/group-BzuuCGyR.js +174 -0
  121. package/dist/group.css +1 -0
  122. package/dist/icard-BUuV9yW4.js +2 -0
  123. package/dist/icon_animation-rPC0qi0K.js +2 -0
  124. package/dist/icon_breadcrumb-BOiEdwRY.js +2 -0
  125. package/dist/icon_copyright-zk1pF8Jj.js +2 -0
  126. package/dist/icon_jt-BMoQoZvf.js +2 -0
  127. package/dist/icon_layout-KBHA8xU_.js +2 -0
  128. package/dist/icon_mainpage-BTdCCyi2.js +2 -0
  129. package/dist/icon_menu-5k8XiWt5.js +2 -0
  130. package/dist/icon_page_size-DUMZ6xhJ.js +2 -0
  131. package/dist/icon_position_type-Cnkn2IzO.js +2 -0
  132. package/dist/icon_safe_manage-B0PtL90p.js +2 -0
  133. package/dist/icon_screen_scale-CwVhfflc.js +2 -0
  134. package/dist/icon_system_manage-vM71UmjM.js +2 -0
  135. package/dist/icon_tabbar-CuMnIey0.js +2 -0
  136. package/dist/icon_toolbar-BoCbAU3P.js +2 -0
  137. package/dist/icon_topbar-DGIDBcE6.js +2 -0
  138. package/dist/icon_watermark-BBU-lOdN.js +2 -0
  139. package/dist/index.css +1 -0
  140. package/dist/index.d.ts +2 -2
  141. package/dist/index.js +6906 -5
  142. package/dist/interface.d.ts +27 -3
  143. package/dist/itemlist-KOYuEUk4.js +157 -0
  144. package/dist/layout_setting-DQgWzV7M.js +74 -0
  145. package/dist/layout_setting.css +1 -0
  146. package/dist/log-BgIwPjNu.js +14 -0
  147. package/dist/log-center-Z3WDfhg1.js +2 -0
  148. package/dist/loginHistoryDetail-BNGtarOv.js +4 -0
  149. package/dist/loginHistoryDetail-DgHx6n66.js +78 -0
  150. package/dist/loginHistoryDetail.css +1 -0
  151. package/dist/login_history-Co6JLGsd.js +196 -0
  152. package/dist/login_history.css +1 -0
  153. package/dist/menu_setting-B0QIQ1um.js +158 -0
  154. package/dist/menu_setting.css +1 -0
  155. package/dist/not-data-DejN9beo.js +2 -0
  156. package/dist/not-data-uXybSS43.js +2 -0
  157. package/dist/operateHistoryDetail-BrdNmYD0.js +90 -0
  158. package/dist/operateHistoryDetail-DsM4L8Nz.js +4 -0
  159. package/dist/operateHistoryDetail.css +1 -0
  160. package/dist/operate_history-CVeIorOr.js +191 -0
  161. package/dist/operate_history.css +1 -0
  162. package/dist/org-main-C2g7AMMY.js +2 -0
  163. package/dist/org-unmain-CjGtvuIa.js +2 -0
  164. package/dist/organization-CXMk4mRo.js +15605 -0
  165. package/dist/organization.css +1 -0
  166. package/dist/other_setting-DK9MHysY.js +220 -0
  167. package/dist/other_setting.css +1 -0
  168. package/dist/{index-UZeQsp70.js → page_animation_setting-tSYfjx-m.js} +117 -177
  169. package/dist/page_animation_setting.css +1 -0
  170. package/dist/page_w_setting-BDI5KsA-.js +69 -0
  171. package/dist/page_w_setting.css +1 -0
  172. package/dist/position-BjUZQQUz.js +168 -0
  173. package/dist/region-BsX0gK_y.js +185 -0
  174. package/dist/remove-BroXCqy9.js +2 -0
  175. package/dist/resource-DKhlH74I.js +270 -0
  176. package/dist/resource-app-DV2RZiRk.js +2 -0
  177. package/dist/resource-btn-Dw9-L0P5.js +2 -0
  178. package/dist/resource-dynamic-Cmk2ihZb.js +2 -0
  179. package/dist/resource-index-D9J-wVCc.js +2 -0
  180. package/dist/resource-menu-XnlgciPe.js +2 -0
  181. package/dist/resource-micro-DzYCcl5c.js +2 -0
  182. package/dist/resource-nonmenu-8bXZBBWf.js +2 -0
  183. package/dist/role-ffXddsAo.js +196 -0
  184. package/dist/role_group-BBH28A40.js +172 -0
  185. package/dist/routes/index.d.ts +3 -1
  186. package/dist/routes/modules/authority.manage.menu.d.ts +1 -1
  187. package/dist/routes/modules/log.manage.menu.d.ts +1 -1
  188. package/dist/routes/modules/safe.manage.menu.d.ts +1 -1
  189. package/dist/routes/modules/stylesetting.manage.menu.d.ts +1 -1
  190. package/dist/routes/modules/system.manage.menu.d.ts +1 -1
  191. package/dist/safe_setting-Dis73Gsw.js +232 -0
  192. package/dist/safe_setting.css +1 -0
  193. package/dist/setItem-CjNn98dC.js +77 -0
  194. package/dist/setItem-H6NRNSt7.js +5 -0
  195. package/dist/setItem.css +1 -0
  196. package/dist/setting-manage-BPwzU94V.js +2 -0
  197. package/dist/stores-Di6SQ3pp.js +2 -0
  198. package/dist/tabbar_setting-DGwk_Oec.js +142 -0
  199. package/dist/tabbar_setting.css +1 -0
  200. package/dist/tenant-BhA6R8aJ.js +183 -0
  201. package/dist/theme-check-mark-Dz4lGIXE.js +2 -0
  202. package/dist/theme-title-CPXdAbpI.js +2 -0
  203. package/dist/theme_setting-Ca1YGTdZ.js +117 -0
  204. package/dist/theme_setting.css +1 -0
  205. package/dist/{index-BleenJqT.js → toolbar_setting-Cmrpyxgs.js} +155 -167
  206. package/dist/toolbar_setting.css +1 -0
  207. package/dist/useAppAndResource-BgnrL15l.js +57 -0
  208. package/dist/user-Bnb1cvVD.js +345 -0
  209. package/dist/user.css +1 -0
  210. package/dist/view-D4SR4EYn.js +2 -0
  211. package/dist/views/blackWhiteList/components/drawerBlackWhiteList.vue.d.ts +4 -4
  212. package/dist/views/blackWhiteList/index.vue.d.ts +319 -319
  213. package/dist/views/breadcrumb_setting/index.vue.d.ts +1 -1
  214. package/dist/views/components/HCheckList.vue.d.ts +5 -5
  215. package/dist/views/components/animation_item.vue.d.ts +5 -5
  216. package/dist/views/components/setItem.vue.d.ts +18 -18
  217. package/dist/views/data-permission/components/createAndEditDataPermission.vue.d.ts +35 -35
  218. package/dist/views/data-permission/index.vue.d.ts +350 -350
  219. package/dist/views/dictionary/components/drawerDictionary.vue.d.ts +4 -4
  220. package/dist/views/dictionary/components/drawerDictionaryItem.vue.d.ts +4 -4
  221. package/dist/views/dictionary/index.vue.d.ts +319 -319
  222. package/dist/views/dictionary/itemlist.vue.d.ts +319 -319
  223. package/dist/views/group/components/drawerGroup.vue.d.ts +4 -4
  224. package/dist/views/group/index.vue.d.ts +319 -319
  225. package/dist/views/layout_setting/index.vue.d.ts +1 -1
  226. package/dist/views/log_center/components/browserType.vue.d.ts +3 -3
  227. package/dist/views/log_center/components/loginHistoryDetail.vue.d.ts +4 -4
  228. package/dist/views/log_center/components/operateHistoryDetail.vue.d.ts +4 -4
  229. package/dist/views/log_center/login_history.vue.d.ts +315 -315
  230. package/dist/views/log_center/operate_history.vue.d.ts +315 -315
  231. package/dist/views/menu_setting/index.vue.d.ts +1 -1
  232. package/dist/views/organization/components/drawerOrganization.vue.d.ts +4 -4
  233. package/dist/views/organization/components/drawerRole.vue.d.ts +18 -10
  234. package/dist/views/organization/index.vue.d.ts +23 -15
  235. package/dist/views/other_setting/index.vue.d.ts +1 -1
  236. package/dist/views/page_animation_setting/index.vue.d.ts +1 -1
  237. package/dist/views/page_w_setting/index.vue.d.ts +1 -1
  238. package/dist/views/position/components/drawerPosition.vue.d.ts +4 -4
  239. package/dist/views/position/index.vue.d.ts +319 -319
  240. package/dist/views/region/components/drawerRegion.vue.d.ts +4 -4
  241. package/dist/views/region/index.vue.d.ts +319 -319
  242. package/dist/views/resource/components/ComponentSelect.vue.d.ts +14 -0
  243. package/dist/views/resource/components/DynamicRoutesForm.vue.d.ts +13 -0
  244. package/dist/views/resource/components/ImportExport.vue.d.ts +13 -0
  245. package/dist/views/resource/components/MetaForm.vue.d.ts +10 -0
  246. package/dist/views/resource/components/ResourceEdit.vue.d.ts +4 -4
  247. package/dist/views/resource/components/RoleRelation.vue.d.ts +2 -2
  248. package/dist/views/resource/enum.d.ts +6 -13
  249. package/dist/views/resource/hooks/useMetaForm.d.ts +6 -0
  250. package/dist/views/resource/index.vue.d.ts +343 -321
  251. package/dist/views/resource/interface.d.ts +4 -1
  252. package/dist/views/resource/model.d.ts +37 -0
  253. package/dist/views/role/components/ResourceRelation.vue.d.ts +316 -316
  254. package/dist/views/role/components/drawerRole.vue.d.ts +10 -10
  255. package/dist/views/role/index.vue.d.ts +642 -642
  256. package/dist/views/role_group/components/drawerRole.vue.d.ts +18 -10
  257. package/dist/views/role_group/index.vue.d.ts +333 -325
  258. package/dist/views/safe_setting/index.vue.d.ts +1 -1
  259. package/dist/views/tabbar_setting/index.vue.d.ts +1 -1
  260. package/dist/views/tenant/components/TenantEdit.vue.d.ts +10 -10
  261. package/dist/views/tenant/index.vue.d.ts +325 -325
  262. package/dist/views/theme_setting/index.vue.d.ts +1 -1
  263. package/dist/views/toolbar_setting/index.vue.d.ts +1 -1
  264. package/dist/views/user/components/OrgAndPosition.vue.d.ts +3 -3
  265. package/dist/views/user/components/UserAuthorization.vue.d.ts +18 -10
  266. package/dist/views/user/components/UserEdit.vue.d.ts +4 -4
  267. package/dist/views/user/index.vue.d.ts +337 -329
  268. package/dist/views/watermark_setting/index.vue.d.ts +9 -9
  269. package/dist/watermark_setting-BnBt5gdM.js +199 -0
  270. package/dist/watermark_setting.css +1 -0
  271. package/dist/zddata-Cdy8vScr.js +2 -0
  272. package/dist/zy_checked-xjGWlIXf.js +2 -0
  273. package/dist/zy_default-kwFuicHB.js +2 -0
  274. package/package.json +17 -15
  275. package/src/api/modules/assist/gonggaofuwu.ts +24 -9
  276. package/src/api/modules/assist/index.ts +0 -2
  277. package/src/api/modules/assist/qunzujiekou.ts +37 -7
  278. package/src/api/modules/assist/quyujiekou.ts +12 -3
  279. package/src/api/modules/assist/typings.d.ts +62 -58
  280. package/src/api/modules/configData/heibaimingdanfuwu.ts +12 -3
  281. package/src/api/modules/configData/index.ts +1 -3
  282. package/src/api/modules/configData/typings.d.ts +84 -74
  283. package/src/api/modules/configData/xitongpeizhifuwu.ts +39 -15
  284. package/src/api/modules/configData/{zidianfuwu.ts → zidifuwu.ts} +80 -8
  285. package/src/api/modules/log/caozuorizhifuwu.ts +8 -2
  286. package/src/api/modules/log/denglurizhifuwu.ts +8 -2
  287. package/src/api/modules/log/index.ts +0 -2
  288. package/src/api/modules/log/typings.d.ts +29 -25
  289. package/src/api/modules/rbac/gangweijiekou.ts +44 -8
  290. package/src/api/modules/rbac/index.ts +1 -2
  291. package/src/api/modules/rbac/jiaosejiekou.ts +24 -9
  292. package/src/api/modules/rbac/pubJiaosezukongzhiqi.ts +45 -6
  293. package/src/api/modules/rbac/shujuquanxianzhubiaokongzhiqi.ts +26 -12
  294. package/src/api/modules/rbac/typings.d.ts +419 -296
  295. package/src/api/modules/rbac/yonghujiekou.ts +115 -13
  296. package/src/api/modules/rbac/yonghushoucangbiaojiekou.ts +20 -5
  297. package/src/api/modules/rbac/yonghuzuijinchangyongbiaojiekou.ts +12 -3
  298. package/src/api/modules/rbac/ziyuandaorudaochuxiangguanjiekou.ts +158 -0
  299. package/src/api/modules/rbac/ziyuanjiekou.ts +43 -4
  300. package/src/api/modules/rbac/zuhuguanlijiekou.ts +20 -11
  301. package/src/api/modules/rbac/zuzhijiaosebiaokongzhiqi.ts +12 -3
  302. package/src/api/modules/rbac/zuzhijiekou.ts +28 -10
  303. package/src/api/request.ts +3 -2
  304. package/src/assets/icons/add-child.svg +1 -1
  305. package/src/assets/icons/authority.svg +1 -1
  306. package/src/assets/icons/authorize.svg +1 -1
  307. package/src/assets/icons/blacklist-disable.svg +1 -1
  308. package/src/assets/icons/blacklist-enable.svg +1 -1
  309. package/src/assets/icons/browser-chrome.svg +1 -1
  310. package/src/assets/icons/browser-edge.svg +1 -1
  311. package/src/assets/icons/browser-ie.svg +1 -1
  312. package/src/assets/icons/browser-other.svg +1 -1
  313. package/src/assets/icons/browser-safari.svg +1 -1
  314. package/src/assets/icons/edit.svg +1 -1
  315. package/src/assets/icons/icard.svg +1 -1
  316. package/src/assets/icons/icon_animation.svg +1 -1
  317. package/src/assets/icons/icon_breadcrumb.svg +1 -1
  318. package/src/assets/icons/icon_copyright.svg +1 -1
  319. package/src/assets/icons/icon_jt.svg +1 -1
  320. package/src/assets/icons/icon_layout.svg +1 -1
  321. package/src/assets/icons/icon_mainpage.svg +1 -1
  322. package/src/assets/icons/icon_menu.svg +1 -1
  323. package/src/assets/icons/icon_page_size.svg +1 -1
  324. package/src/assets/icons/icon_position_type.svg +1 -1
  325. package/src/assets/icons/icon_safe_manage.svg +1 -1
  326. package/src/assets/icons/icon_screen_scale.svg +2 -2
  327. package/src/assets/icons/icon_system_manage.svg +1 -1
  328. package/src/assets/icons/icon_tabbar.svg +1 -1
  329. package/src/assets/icons/icon_toolbar.svg +1 -1
  330. package/src/assets/icons/icon_topbar.svg +1 -1
  331. package/src/assets/icons/icon_watermark.svg +1 -1
  332. package/src/assets/icons/log-center.svg +1 -1
  333. package/src/assets/icons/not-data.svg +1 -1
  334. package/src/assets/icons/org-main.svg +1 -1
  335. package/src/assets/icons/org-unmain.svg +1 -1
  336. package/src/assets/icons/remove.svg +1 -1
  337. package/src/assets/icons/resource-app.svg +1 -1
  338. package/src/assets/icons/resource-btn.svg +1 -1
  339. package/src/assets/icons/resource-dynamic.svg +39 -0
  340. package/src/assets/icons/resource-index.svg +1 -1
  341. package/src/assets/icons/resource-menu.svg +1 -1
  342. package/src/assets/icons/resource-micro.svg +40 -0
  343. package/src/assets/icons/resource-nonmenu.svg +1 -1
  344. package/src/assets/icons/setting-manage.svg +1 -1
  345. package/src/assets/icons/theme-check-mark.svg +1 -1
  346. package/src/assets/icons/theme-title.svg +1 -1
  347. package/src/assets/icons/view.svg +1 -1
  348. package/src/assets/icons/zddata.svg +1 -1
  349. package/src/assets/icons/zy_checked.svg +1 -1
  350. package/src/assets/icons/zy_default.svg +1 -1
  351. package/src/components/DirectoryIcones/ComponentsIcones.vue +18 -0
  352. package/src/components/DirectoryIcones/FolderIcones.vue +18 -0
  353. package/src/components/DirectoryIcones/ModuleIcones.vue +18 -0
  354. package/src/components/DirectoryIcones/PackagesIcones.vue +18 -0
  355. package/src/components/DirectoryIcones/SrcIcones.vue +18 -0
  356. package/src/components/DirectoryIcones/ViewIcones.vue +18 -0
  357. package/src/components/DirectoryIcones/VueIcones.vue +9 -0
  358. package/src/components/GroupSelector/index.vue +64 -89
  359. package/src/components/OrgTree/index.vue +2 -2
  360. package/src/components/OrgUserSelector/index.ts +5 -0
  361. package/src/components/OrgUserSelector/provider.ts +1 -1
  362. package/src/components/ResourceIcones/Select.vue +240 -0
  363. package/src/components/ResourceSelector/index.vue +33 -50
  364. package/src/components/RoleSelector/RoleSearch.vue +60 -0
  365. package/src/components/RoleSelector/RoleSelector.vue +174 -0
  366. package/src/components/RoleSelector/TooltipLabel.vue +24 -0
  367. package/src/components/RoleSelector/index.ts +2 -0
  368. package/src/components/RoleSelector/interface.ts +4 -0
  369. package/src/components/RoleSelector/useRole.ts +56 -0
  370. package/src/context.ts +20 -0
  371. package/src/index.ts +21 -18
  372. package/src/interface.ts +31 -2
  373. package/src/routes/index.ts +9 -5
  374. package/src/routes/modules/authority.manage.menu.ts +0 -13
  375. package/src/routes/modules/log.manage.menu.ts +0 -8
  376. package/src/routes/modules/safe.manage.menu.ts +0 -12
  377. package/src/routes/modules/stylesetting.manage.menu.ts +0 -16
  378. package/src/routes/modules/system.manage.menu.ts +0 -10
  379. package/src/views/blackWhiteList/components/drawerBlackWhiteList.vue +1 -1
  380. package/src/views/blackWhiteList/index.vue +14 -26
  381. package/src/views/breadcrumb_setting/index.vue +3 -3
  382. package/src/views/components/animation_item.vue +2 -2
  383. package/src/views/components/setItem.vue +13 -20
  384. package/src/views/data-permission/components/createAndEditDataPermission.vue +4 -4
  385. package/src/views/data-permission/enum.ts +7 -7
  386. package/src/views/data-permission/index.vue +9 -12
  387. package/src/views/dictionary/components/drawerDictionary.vue +1 -1
  388. package/src/views/dictionary/components/drawerDictionaryItem.vue +1 -1
  389. package/src/views/dictionary/index.vue +3 -3
  390. package/src/views/dictionary/itemlist.vue +3 -3
  391. package/src/views/group/components/drawerGroup.vue +2 -2
  392. package/src/views/group/index.vue +13 -18
  393. package/src/views/layout_setting/index.vue +154 -164
  394. package/src/views/log_center/components/loginHistoryDetail.vue +6 -8
  395. package/src/views/log_center/components/operateHistoryDetail.vue +6 -8
  396. package/src/views/log_center/login_history.vue +6 -11
  397. package/src/views/log_center/operate_history.vue +6 -11
  398. package/src/views/menu_setting/index.vue +3 -3
  399. package/src/views/organization/components/drawerOrganization.vue +3 -3
  400. package/src/views/organization/components/drawerRole.vue +9 -7
  401. package/src/views/organization/index.vue +23 -49
  402. package/src/views/other_setting/index.vue +2 -2
  403. package/src/views/page_animation_setting/index.vue +10 -18
  404. package/src/views/page_w_setting/index.vue +133 -116
  405. package/src/views/position/components/drawerPosition.vue +2 -2
  406. package/src/views/position/index.vue +1 -1
  407. package/src/views/region/components/drawerRegion.vue +2 -2
  408. package/src/views/region/index.vue +1 -1
  409. package/src/views/resource/components/ComponentSelect.vue +400 -0
  410. package/src/views/resource/components/DynamicRoutesForm.vue +92 -0
  411. package/src/views/resource/components/ImportExport.vue +313 -0
  412. package/src/views/resource/components/MetaForm.vue +119 -0
  413. package/src/views/resource/components/ResourceEdit.vue +144 -73
  414. package/src/views/resource/components/RoleRelation.vue +1 -1
  415. package/src/views/resource/enum.ts +12 -13
  416. package/src/views/resource/hooks/useMetaForm.ts +103 -0
  417. package/src/views/resource/index.vue +59 -32
  418. package/src/views/resource/interface.ts +5 -1
  419. package/src/views/resource/model.ts +53 -0
  420. package/src/views/role/components/ResourceRelation.vue +3 -4
  421. package/src/views/role/components/drawerRole.vue +3 -3
  422. package/src/views/role/index.vue +1 -1
  423. package/src/views/role_group/components/ResourceRelation.vue +3 -4
  424. package/src/views/role_group/components/drawerRole.vue +8 -7
  425. package/src/views/role_group/index.vue +1 -1
  426. package/src/views/safe_setting/index.vue +5 -7
  427. package/src/views/tabbar_setting/index.vue +2 -2
  428. package/src/views/tenant/components/TenantEdit.vue +1 -1
  429. package/src/views/tenant/index.vue +1 -1
  430. package/src/views/theme_setting/index.vue +202 -231
  431. package/src/views/toolbar_setting/index.vue +3 -3
  432. package/src/views/user/components/OrgAndPosition.vue +2 -2
  433. package/src/views/user/components/UserAuthorization.vue +13 -12
  434. package/src/views/user/components/UserEdit.vue +1 -1
  435. package/src/views/user/index.vue +1 -1
  436. package/src/views/watermark_setting/index.vue +8 -15
  437. package/dist/OrgSelector.vue_vue_type_script_setup_true_lang-BcL0IFuA.js +0 -567
  438. package/dist/_baseClone-CQ44TFeq.js +0 -191
  439. package/dist/_commonjsHelpers-C6fGbg64.js +0 -6
  440. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
  441. package/dist/animation_item.vue_vue_type_script_setup_true_lang-BQvmwheq.js +0 -4864
  442. package/dist/browserType.vue_vue_type_script_setup_true_lang-Cv8wph6G.js +0 -38
  443. package/dist/cloneDeep-BI4WNBQ9.js +0 -8
  444. package/dist/enum-BEHz_Q18.js +0 -74
  445. package/dist/enum-C9ihxJe7.js +0 -4
  446. package/dist/enum-CTUzwCYG.js +0 -4
  447. package/dist/enum-DDKThkSw.js +0 -24
  448. package/dist/gangweijiekou-BxJq_m0o.js +0 -46
  449. package/dist/index-BS45K9vK.js +0 -685
  450. package/dist/index-Bbsiwecf.js +0 -1631
  451. package/dist/index-BhcAk-IH.js +0 -399
  452. package/dist/index-Bl4v-7On.js +0 -125
  453. package/dist/index-CFPhIFyG.js +0 -140
  454. package/dist/index-CLSeuhTv.js +0 -872
  455. package/dist/index-CLxqmFPw.js +0 -317
  456. package/dist/index-CTiFd9M0.js +0 -303
  457. package/dist/index-Cej8u1qo.js +0 -274
  458. package/dist/index-Cr17VOfm.js +0 -389
  459. package/dist/index-CsHj-xDw.js +0 -283
  460. package/dist/index-D0yB_8b0.js +0 -181
  461. package/dist/index-DFR8dd2B.js +0 -785
  462. package/dist/index-DNf0NPrD.js +0 -131
  463. package/dist/index-Dm4sOX43.js +0 -27
  464. package/dist/index-KboUdpTh.js +0 -18588
  465. package/dist/index-MtXfNGqS.js +0 -1246
  466. package/dist/index-U8kjKY6p.js +0 -462
  467. package/dist/index-a0E9oj3q.js +0 -703
  468. package/dist/index-gmUZUdNl.js +0 -634
  469. package/dist/index-j_ln_NSt.js +0 -455
  470. package/dist/index-s32GbmsJ.js +0 -164
  471. package/dist/index-yEpViVkx.js +0 -409
  472. package/dist/index-zh8PZXw2.js +0 -862
  473. package/dist/itemlist-xAbIKRVj.js +0 -369
  474. package/dist/jiaosejiekou-BfY4h7uI.js +0 -58
  475. package/dist/login_history-CuQv9Iw3.js +0 -430
  476. package/dist/operate_history-CGP-1Xy2.js +0 -468
  477. package/dist/pubJiaosezukongzhiqi-CvYfc8Uz.js +0 -57
  478. package/dist/request-DQLgc7lT.js +0 -5
  479. package/dist/setItem-DkOvmWXP.js +0 -152
  480. package/dist/shujuquanxianzhubiaokongzhiqi-DyNgf1y6.js +0 -65
  481. package/dist/style.css +0 -1
  482. package/dist/useAppAndResource-D_b19V4t.js +0 -55
  483. package/dist/views/organization/components/roleSelect.vue.d.ts +0 -14
  484. package/dist/views/role_group/components/roleSelect.vue.d.ts +0 -14
  485. package/dist/views/user/components/roleSelect.vue.d.ts +0 -14
  486. package/dist/xitongpeizhifuwu-C1Vm-W1B.js +0 -23
  487. package/dist/zidianfuwu-yCWHhOfO.js +0 -65
  488. package/dist/ziyuanjiekou-DhrAbneq.js +0 -69
  489. package/dist/zuzhijiaosebiaokongzhiqi-B1g74RqL.js +0 -28
  490. package/dist/zuzhijiekou-PeZuFtCO.js +0 -85
  491. package/src/assets/icons/403.svg +0 -1
  492. package/src/assets/icons/403_dark.svg +0 -1
  493. package/src/assets/icons/404.svg +0 -1
  494. package/src/assets/icons/404_dark.svg +0 -1
  495. package/src/assets/icons/browser-360.svg +0 -1
  496. package/src/assets/icons/browser-qq.svg +0 -1
  497. package/src/assets/icons/browser-uc.svg +0 -1
  498. package/src/assets/icons/change-org.svg +0 -1
  499. package/src/assets/icons/empty-data.svg +0 -1
  500. package/src/assets/icons/favorites.svg +0 -1
  501. package/src/assets/icons/image-load-fail.svg +0 -1
  502. package/src/assets/icons/logo-sig.svg +0 -1
  503. package/src/assets/icons/logo.svg +0 -1
  504. package/src/assets/icons/mima.svg +0 -1
  505. package/src/assets/icons/process-management.svg +0 -1
  506. package/src/assets/icons/project-management.svg +0 -1
  507. package/src/assets/icons/rbac.svg +0 -1
  508. package/src/assets/icons/test.svg +0 -1
  509. package/src/assets/icons/toolbar-collapse.svg +0 -1
  510. package/src/assets/icons/tree_icon.svg +0 -1
  511. package/src/assets/icons/tree_icon_checked.svg +0 -1
  512. package/src/assets/icons/workbench.svg +0 -1
  513. package/src/views/organization/components/roleSelect.vue +0 -258
  514. package/src/views/role_group/components/roleSelect.vue +0 -224
  515. package/src/views/user/components/roleSelect.vue +0 -258
@@ -0,0 +1,174 @@
1
+ <script setup lang="ts">
2
+ import type { CheckboxChangeEvent } from 'ant-design-vue/es/checkbox/interface';
3
+ import type { SelectValue } from './interface';
4
+ import type { Role } from './useRole';
5
+ import { CloseOutlined } from '@ant-design/icons-vue';
6
+ import { useToggle } from '@vueuse/core';
7
+ import { Card, Checkbox, CheckboxGroup, Modal, Spin, theme } from 'ant-design-vue';
8
+ import RoleSearch from './RoleSearch.vue';
9
+ import TooltipLabel from './TooltipLabel.vue';
10
+ import { useRole, useRoleGroup } from './useRole';
11
+
12
+ defineOptions({
13
+ name: 'RoleSelector',
14
+ });
15
+
16
+ withDefaults(defineProps<{
17
+ group?: boolean
18
+ }>(), {
19
+ group: false,
20
+ });
21
+
22
+ const emit = defineEmits(['select']);
23
+
24
+ const { token } = theme.useToken();
25
+
26
+ const open = defineModel<boolean>('open');
27
+ const setOpen = useToggle(open);
28
+
29
+ const selectValue = ref<SelectValue[]>([]);
30
+
31
+ const role = reactive(useRole());
32
+ const roleGroup = reactive(useRoleGroup());
33
+
34
+ const search = ref('');
35
+ const groupId = ref('');
36
+ async function onSearchSelect(id: string) {
37
+ await roleGroup.getData(id);
38
+ }
39
+
40
+ async function onOpen(value: SelectValue[] = []) {
41
+ selectValue.value = value;
42
+ search.value = '';
43
+ groupId.value = '';
44
+ await role.getData();
45
+ setOpen(true);
46
+ }
47
+
48
+ const roleData = computed(() => {
49
+ return groupId.value === '' ? role.roles : roleGroup.roles;
50
+ });
51
+
52
+ function filterName(v: Role) {
53
+ return roleData.value.findIndex(item => item.id === v.id) > -1 && v.name?.includes(search.value);
54
+ }
55
+
56
+ function onCheck(e: CheckboxChangeEvent, item: Role) {
57
+ if (e.target.checked) {
58
+ selectValue.value.push({ value: item.id, label: item.name } as SelectValue);
59
+ }
60
+ else {
61
+ selectValue.value = selectValue.value.filter(e => e.value !== item.id);
62
+ }
63
+ }
64
+
65
+ function onClose(value: SelectValue['value']) {
66
+ selectValue.value = selectValue.value.filter(e => e.value !== value);
67
+ }
68
+
69
+ function onSubmit() {
70
+ emit('select', selectValue.value);
71
+ setOpen(false);
72
+ }
73
+
74
+ function onClear() {
75
+ const disabledData = selectValue.value.filter(e => !role.roles.some(role => role.id === e.value));
76
+ selectValue.value = disabledData;
77
+ }
78
+
79
+ defineExpose({
80
+ open: onOpen,
81
+ });
82
+ </script>
83
+
84
+ <template>
85
+ <Modal
86
+ v-model:open="open"
87
+ title="角色选择"
88
+ :mask-closable="false"
89
+ :width="750"
90
+ :z-index="1001"
91
+ ok-text="确认"
92
+ cancel-text="取消"
93
+ destroy-on-close
94
+ @ok="onSubmit()"
95
+ >
96
+ <div class="border border-solid h-[400px]" :style="{ borderColor: token.colorBorder }">
97
+ <div class="h-full flex">
98
+ <Card
99
+ :bordered="false"
100
+ size="small"
101
+ :head-style="{ backgroundColor: token.colorBgLayout, borderRadius: 0, borderWidth: 0, borderBottomWidth: '1px', padding: 0 }"
102
+ :body-style="{ flex: 1, padding: 0, height: 'calc(100% - 38px)' }"
103
+ :style="{ boxShadow: 'none', borderRadius: 0, borderColor: token.colorBorder }"
104
+ class="flex h-full flex-col w-1/2"
105
+ >
106
+ <div class="p-2 flex flex-col h-full gap-2">
107
+ <RoleSearch v-model="search" v-model:group-id="groupId" :group="group" @select="onSearchSelect" />
108
+
109
+ <div class="flex-1 overflow-y-auto overflow-x-hidden">
110
+ <div v-if="role.loading || roleGroup.loading" class="flex items-center justify-center size-full">
111
+ <Spin />
112
+ </div>
113
+ <CheckboxGroup v-else :value="selectValue.map(e => e.value)" class="w-full overflow-x-hidden">
114
+ <div
115
+ v-for="item in roleData"
116
+ v-show="filterName(item)"
117
+ :key="item.id"
118
+ class="w-full py-2 border-0 border-b border-solid truncate"
119
+ :style="{ borderColor: token.colorBorder }"
120
+ >
121
+ <Checkbox :value="item.id" @change="($event) => onCheck($event, item)">
122
+ <TooltipLabel :name="item.name" />
123
+ </Checkbox>
124
+ </div>
125
+ </CheckboxGroup>
126
+ </div>
127
+ </div>
128
+ </Card>
129
+
130
+ <div
131
+ :style="{ borderColor: token.colorBorder }"
132
+ class="h-full border-0 border-r border-solid"
133
+ />
134
+
135
+ <Card
136
+ :bordered="false"
137
+ size="small"
138
+ :head-style="{ backgroundColor: token.colorBgLayout, borderRadius: 0, borderWidth: 0, borderBottomWidth: '1px' }"
139
+ :body-style="{ flex: 1, padding: 0, overflow: 'hidden' }"
140
+ :style="{ boxShadow: 'none', borderRadius: 0 }"
141
+ class="flex h-full flex-col flex-1"
142
+ >
143
+ <template #title>
144
+ <span class="font-normal">
145
+ 已选角色
146
+ </span>
147
+ </template>
148
+ <template #extra>
149
+ <a :style="{ color: token.colorPrimary }" @click="onClear()">
150
+ 清空
151
+ </a>
152
+ </template>
153
+
154
+ <div class="gap-1 p-2 h-full overflow-y-auto">
155
+ <div
156
+ v-for="item in selectValue"
157
+ :key="item.value"
158
+ class="inline-block mb-1 py-1 px-2 mx-0.5 max-w-full rounded"
159
+ :style="{ backgroundColor: token.colorPrimaryBg }"
160
+ >
161
+ <TooltipLabel :name="item.label" :size="20" />
162
+ <CloseOutlined
163
+ v-if="role.roles.some(role => role.id === item.value)"
164
+ class="ml-1 cursor-pointer text-xs"
165
+ :style="{ color: token.colorPrimary }"
166
+ @click="onClose(item.value)"
167
+ />
168
+ </div>
169
+ </div>
170
+ </Card>
171
+ </div>
172
+ </div>
173
+ </Modal>
174
+ </template>
@@ -0,0 +1,24 @@
1
+ <script setup lang="ts">
2
+ import { Tooltip } from 'ant-design-vue';
3
+
4
+ defineOptions({
5
+ name: 'TooltipLabel',
6
+ inheritAttrs: false,
7
+ });
8
+
9
+ withDefaults(defineProps<{
10
+ name?: string
11
+ size?: number
12
+ }>(), {
13
+ size: 21,
14
+ });
15
+ </script>
16
+
17
+ <template>
18
+ <Tooltip v-if="(name || '').length > size" :title="name">
19
+ <span v-bind="$attrs">{{ `${name?.slice(0, size)}...` }}</span>
20
+ </Tooltip>
21
+ <span v-else v-bind="$attrs">
22
+ {{ name }}
23
+ </span>
24
+ </template>
@@ -0,0 +1,2 @@
1
+ export * from './interface';
2
+ export { default as RoleSelector } from './RoleSelector.vue';
@@ -0,0 +1,4 @@
1
+ export interface SelectValue {
2
+ value: string | number
3
+ label: string
4
+ }
@@ -0,0 +1,56 @@
1
+ import { useToggle } from '@vueuse/core';
2
+ import { getRbacPubRoleGroupGetById, getRbacRoleRoleList } from '@/api/modules/rbac';
3
+
4
+ export type Role = API.PubRole;
5
+
6
+ export function useRole() {
7
+ const [loading, setLoading] = useToggle(false);
8
+
9
+ const roles = ref<Role[]>([]);
10
+
11
+ async function getData() {
12
+ try {
13
+ setLoading(true);
14
+ const res = await getRbacRoleRoleList();
15
+ if (res.success) {
16
+ roles.value = res.data ?? [];
17
+ }
18
+ }
19
+ finally {
20
+ setLoading(false);
21
+ }
22
+ }
23
+
24
+ return {
25
+ loading,
26
+ setLoading,
27
+ roles,
28
+ getData,
29
+ };
30
+ }
31
+
32
+ export function useRoleGroup() {
33
+ const [loading, setLoading] = useToggle(false);
34
+
35
+ const roles = ref<Role[]>([]);
36
+
37
+ async function getData(id: string) {
38
+ try {
39
+ setLoading(true);
40
+ const res = await getRbacPubRoleGroupGetById({ id });
41
+ if (res.success) {
42
+ roles.value = res.data?.roles ?? [];
43
+ }
44
+ }
45
+ finally {
46
+ setLoading(false);
47
+ }
48
+ }
49
+
50
+ return {
51
+ loading,
52
+ setLoading,
53
+ roles,
54
+ getData,
55
+ };
56
+ }
package/src/context.ts ADDED
@@ -0,0 +1,20 @@
1
+ import type { InternalContext } from './interface';
2
+ import { createContext } from 'pubinfo';
3
+
4
+ // 持久化 rbac 模块上下文,避免 HMR 后丢失 request
5
+ const g = globalThis as any;
6
+ g.__PUBINFO__ = g.__PUBINFO__ || {};
7
+ if (!g.__PUBINFO__.rbacCtx) {
8
+ g.__PUBINFO__.rbacCtx = createContext<InternalContext>();
9
+ }
10
+ export const ctx = g.__PUBINFO__.rbacCtx as ReturnType<typeof createContext<InternalContext>>;
11
+
12
+ // HMR 恢复
13
+ if (g.__PUBINFO__.rbacState) {
14
+ try {
15
+ ctx.set(g.__PUBINFO__.rbacState);
16
+ }
17
+ catch {
18
+ // ignore
19
+ }
20
+ }
package/src/index.ts CHANGED
@@ -1,31 +1,34 @@
1
1
  import type { ModuleOptions } from 'pubinfo';
2
2
  import type { RbacOptions } from './interface';
3
- import { defineAsyncRoutes, pubinfoInjectionKey } from 'pubinfo';
3
+ import { defineAsyncRoutes, defineIconModule, defineRouteModule } from 'pubinfo';
4
+ import modules from 'virtual:pubinfo-resolver';
5
+ import { ctx } from './context';
4
6
  import { filterPages } from './routes';
5
-
6
7
  import './assets/styles/vxe-table.css';
7
8
  import 'uno.css';
8
9
 
9
- export function rbac(options: RbacOptions = {}): ModuleOptions {
10
- const { pages } = options;
10
+ export function rbac(options: RbacOptions): ModuleOptions {
11
+ const { pages, sort, id = 'RBAC', request } = options;
12
+
13
+ ctx.set({ request });
14
+ // 缓存以便 HMR 恢复
15
+ (globalThis as any).__PUBINFO__.rbacState = { request };
16
+
17
+ defineIconModule(id, modules.icons);
11
18
 
12
- // TODO 考虑路由注册顺序
13
- const asyncRoutes = filterPages({ pages });
14
- defineAsyncRoutes(asyncRoutes);
19
+ if (pages === 'dynamic') {
20
+ defineRouteModule(id, modules.pages);
21
+ }
22
+ else {
23
+ // 兼容 1.x 版本的本地路由
24
+ const asyncRoutes = filterPages({ pages, id });
25
+ defineAsyncRoutes(asyncRoutes, { sort });
26
+ }
15
27
 
16
28
  return {
17
- name: 'rbac',
18
- async setup({ app }) {
19
- app.provide(pubinfoInjectionKey, {
20
- loadIcon(name?: string) {
21
- const modules = (import.meta as any).glob('./assets/icons/*', { eager: true });
22
- const path = `./assets/icons/${name}.svg`;
23
- return modules[path]?.default;
24
- },
25
- });
26
- },
29
+ name: 'pubinfo:rbac',
27
30
  };
28
31
  }
29
32
 
33
+ export * from './components/OrgUserSelector';
30
34
  export * from './interface';
31
- export default rbac;
package/src/interface.ts CHANGED
@@ -1,8 +1,31 @@
1
+ import type { RequestInstance } from 'pubinfo';
1
2
  import type { RouteRecordRaw } from 'vue-router';
2
3
 
3
4
  export interface RbacOptions {
4
- /** 替换或隐藏页面,为空时默认展示所有页面 */
5
- pages?: RbacPages
5
+ /**
6
+ * 接口请求实例
7
+ */
8
+ request: InternalContext['request']
9
+
10
+ /**
11
+ * 页面配置。
12
+ * - 为 `RbacPages类型` 时, 通过该值指定页面配置
13
+ * - 为 `dynamic` 时, 通过资源管理的数据配置
14
+ * - 为空时, 默认展示所有页面
15
+ */
16
+ pages?: RbacPages | 'dynamic'
17
+
18
+ /**
19
+ * 配置动态路由时,在资源管理中 `动态应用` 的 `资源编码` 值。
20
+ *
21
+ * 默认值为 `RBAC`
22
+ */
23
+ id?: string
24
+
25
+ /**
26
+ * 路由排序,仅在使用本地注册路由时生效。
27
+ */
28
+ sort?: number
6
29
  }
7
30
 
8
31
  export interface RbacPages {
@@ -52,3 +75,9 @@ export interface RbacPages {
52
75
  }
53
76
 
54
77
  export type PageOptions = RouteRecordRaw | boolean;
78
+
79
+ export interface InternalContext {
80
+ request: RequestInstance
81
+ }
82
+
83
+ export { RequestInstance };
@@ -1,5 +1,5 @@
1
- import type { RbacPages } from '@/interface';
2
1
  import type { RouteRecordRaw } from 'vue-router';
2
+ import type { RbacPages } from '@/interface';
3
3
  import { merge } from 'lodash-es';
4
4
  import AuthorityManageMenu from './modules/authority.manage.menu';
5
5
  import LogManageMenu from './modules/log.manage.menu';
@@ -11,8 +11,8 @@ const asyncRoutes = [
11
11
  {
12
12
  meta: {
13
13
  title: '权限管理系统',
14
- // i18n: $t('route.rbac.title'),
15
14
  icon: 'authority',
15
+ auth: 'RBAC',
16
16
  },
17
17
  children: [
18
18
  AuthorityManageMenu,
@@ -73,10 +73,14 @@ const RBAC_ROUTE_MAP: RbacPages = {
73
73
  /**
74
74
  * 根据传入的 `pages` 过滤路由
75
75
  */
76
- export function filterPages(options: { pages?: RbacPages }) {
77
- const { pages } = options;
76
+ export function filterPages(options: { pages?: RbacPages, id?: string }) {
77
+ const { pages, id } = options;
78
78
  const pageMap = merge(RBAC_ROUTE_MAP, pages);
79
79
 
80
+ if (id) {
81
+ asyncRoutes[0].meta.auth = id;
82
+ }
83
+
80
84
  const children = filterRoutesByMap(asyncRoutes[0].children, pageMap);
81
85
 
82
86
  return [
@@ -93,7 +97,7 @@ export function filterPages(options: { pages?: RbacPages }) {
93
97
  function filterRoutesByMap(routes: RouteRecordRaw[], pageMap: RbacPages) {
94
98
  function filterRecursive(routeList: RouteRecordRaw[], map: Record<string, any>): RouteRecordRaw[] {
95
99
  return routeList
96
- .map(route => {
100
+ .map((route) => {
97
101
  if (!route.name || !(route.name in map)) {
98
102
  return null;
99
103
  }
@@ -1,13 +1,7 @@
1
1
  import type { RouteRecordRaw } from 'vue-router';
2
- // import { $t } from '@/locales';
3
-
4
- // function Layout() {
5
- // return import('@/layouts/index.vue');
6
- // }
7
2
 
8
3
  const routes: RouteRecordRaw = {
9
4
  path: '/authority_manage',
10
- // component: Layout,
11
5
  redirect: '/authority_manage/resource',
12
6
  name: 'AuthorityManage',
13
7
  meta: {
@@ -22,7 +16,6 @@ const routes: RouteRecordRaw = {
22
16
  meta: {
23
17
  title: '资源管理',
24
18
  singleMenu: true,
25
- // i18n: $t('route.rbac.resource'),
26
19
  auth: 'resource',
27
20
  activeIcon: 'system-point',
28
21
  },
@@ -34,7 +27,6 @@ const routes: RouteRecordRaw = {
34
27
  meta: {
35
28
  title: '角色管理',
36
29
  singleMenu: true,
37
- // i18n: $t('route.rbac.role'),
38
30
  auth: 'role',
39
31
  activeIcon: 'system-point',
40
32
  },
@@ -46,7 +38,6 @@ const routes: RouteRecordRaw = {
46
38
  meta: {
47
39
  title: '角色组管理',
48
40
  singleMenu: true,
49
- // i18n: $t('route.rbac.roleGroup'),
50
41
  auth: 'role_group',
51
42
  activeIcon: 'system-point',
52
43
  },
@@ -58,7 +49,6 @@ const routes: RouteRecordRaw = {
58
49
  meta: {
59
50
  title: '数据权限管理',
60
51
  singleMenu: true,
61
- // i18n: $t('route.rbac.dataPermission'),
62
52
  auth: 'data_permission',
63
53
  activeIcon: 'system-point',
64
54
  },
@@ -70,7 +60,6 @@ const routes: RouteRecordRaw = {
70
60
  meta: {
71
61
  title: '组织管理',
72
62
  singleMenu: true,
73
- // i18n: $t('route.rbac.organization'),
74
63
  auth: 'organization',
75
64
  activeIcon: 'system-point',
76
65
  },
@@ -82,7 +71,6 @@ const routes: RouteRecordRaw = {
82
71
  meta: {
83
72
  title: '用户管理',
84
73
  singleMenu: true,
85
- // i18n: $t('route.rbac.user'),
86
74
  auth: 'user',
87
75
  activeIcon: 'system-point',
88
76
  },
@@ -94,7 +82,6 @@ const routes: RouteRecordRaw = {
94
82
  meta: {
95
83
  title: '租户管理',
96
84
  singleMenu: true,
97
- // i18n: $t('route.rbac.tenant'),
98
85
  auth: 'tenant',
99
86
  activeIcon: 'system-point',
100
87
  },
@@ -1,13 +1,7 @@
1
1
  import type { RouteRecordRaw } from 'vue-router';
2
- // import { $t } from '@/locales';
3
-
4
- // function Layout() {
5
- // return import('@/layouts/index.vue');
6
- // }
7
2
 
8
3
  const routes: RouteRecordRaw = {
9
4
  path: '/log_manage',
10
- // component: Layout,
11
5
  redirect: '/log_manage/login_history',
12
6
  name: 'LogManage',
13
7
  meta: {
@@ -22,7 +16,6 @@ const routes: RouteRecordRaw = {
22
16
  meta: {
23
17
  title: '登录日志',
24
18
  singleMenu: true,
25
- // i18n: $t('route.rbac.loginHistory'),
26
19
  activeIcon: 'system-point',
27
20
  auth: 'login_history',
28
21
  },
@@ -34,7 +27,6 @@ const routes: RouteRecordRaw = {
34
27
  meta: {
35
28
  title: '操作日志',
36
29
  singleMenu: true,
37
- // i18n: $t('route.rbac.operateHistory'),
38
30
  activeIcon: 'system-point',
39
31
  auth: 'operate_history',
40
32
  },
@@ -1,13 +1,7 @@
1
1
  import type { RouteRecordRaw } from 'vue-router';
2
- // import { $t } from '@/locales';
3
-
4
- // function Layout() {
5
- // return import('@/layouts/index.vue');
6
- // }
7
2
 
8
3
  const routes: RouteRecordRaw = {
9
4
  path: '/safe_manage',
10
- // component: Layout,
11
5
  redirect: '/safe_manage/blacklist',
12
6
  name: 'SafeManage',
13
7
  meta: {
@@ -22,9 +16,7 @@ const routes: RouteRecordRaw = {
22
16
  meta: {
23
17
  title: '黑名单管理',
24
18
  singleMenu: true,
25
- // i18n: $t('route.rbac.blacklist'),
26
19
  auth: 'blacklist',
27
- type: 'black',
28
20
  activeIcon: 'system-point',
29
21
  },
30
22
  },
@@ -35,9 +27,7 @@ const routes: RouteRecordRaw = {
35
27
  meta: {
36
28
  title: '白名单管理',
37
29
  singleMenu: true,
38
- // i18n: $t('route.rbac.whitelist'),
39
30
  auth: 'whitelist',
40
- type: 'white',
41
31
  activeIcon: 'system-point',
42
32
  },
43
33
  },
@@ -48,7 +38,6 @@ const routes: RouteRecordRaw = {
48
38
  meta: {
49
39
  title: '安全配置',
50
40
  singleMenu: true,
51
- // i18n: $t('route.rbac.safeSetting'),
52
41
  activeIcon: 'system-point',
53
42
  auth: 'safe_setting',
54
43
  },
@@ -60,7 +49,6 @@ const routes: RouteRecordRaw = {
60
49
  meta: {
61
50
  title: '页面水印配置',
62
51
  singleMenu: true,
63
- // i18n: $t('route.rbac.watermarkSetting'),
64
52
  activeIcon: 'system-point',
65
53
  auth: 'watermarkSetting',
66
54
  },
@@ -1,19 +1,12 @@
1
1
  import type { RouteRecordRaw } from 'vue-router';
2
- // import { $t } from '@/locales';
3
-
4
- // function Layout() {
5
- // return import('@/layouts/index.vue');
6
- // }
7
2
 
8
3
  const routes: RouteRecordRaw = {
9
4
  path: '/setting_manage',
10
- // component: Layout,
11
5
  redirect: '/setting_manage/theme-setting',
12
6
  name: 'SettingManage',
13
7
  meta: {
14
8
  title: '样式配置',
15
9
  icon: 'setting-manage',
16
- auth: 'globalsettings',
17
10
  },
18
11
  children: [
19
12
  {
@@ -23,7 +16,6 @@ const routes: RouteRecordRaw = {
23
16
  meta: {
24
17
  title: '主题配置',
25
18
  singleMenu: true,
26
- // i18n: $t('route.rbac.themeSetting'),
27
19
  auth: 'themeSetting',
28
20
  activeIcon: 'system-point',
29
21
  },
@@ -35,7 +27,6 @@ const routes: RouteRecordRaw = {
35
27
  meta: {
36
28
  title: '布局配置',
37
29
  singleMenu: true,
38
- // i18n: $t('route.rbac.layoutSetting'),
39
30
  auth: 'layoutSetting',
40
31
  activeIcon: 'system-point',
41
32
  },
@@ -47,7 +38,6 @@ const routes: RouteRecordRaw = {
47
38
  meta: {
48
39
  title: '页面动画配置',
49
40
  singleMenu: true,
50
- // i18n: $t('route.rbac.pageAnimationSetting'),
51
41
  auth: 'pageSetting',
52
42
  activeIcon: 'system-point',
53
43
  },
@@ -59,7 +49,6 @@ const routes: RouteRecordRaw = {
59
49
  meta: {
60
50
  title: '页宽配置',
61
51
  singleMenu: true,
62
- // i18n: $t('route.rbac.pageSizeSetting'),
63
52
  auth: 'pagesizeSetting',
64
53
  activeIcon: 'system-point',
65
54
  },
@@ -71,7 +60,6 @@ const routes: RouteRecordRaw = {
71
60
  meta: {
72
61
  title: '导航栏配置',
73
62
  singleMenu: true,
74
- // i18n: $t('route.rbac.menuSetting'),
75
63
  auth: 'menuSetting',
76
64
  activeIcon: 'system-point',
77
65
  },
@@ -83,7 +71,6 @@ const routes: RouteRecordRaw = {
83
71
  meta: {
84
72
  title: '标签栏配置',
85
73
  singleMenu: true,
86
- // i18n: $t('route.rbac.tabbarSetting'),
87
74
  auth: 'tabbarSetting',
88
75
  activeIcon: 'system-point',
89
76
  },
@@ -95,7 +82,6 @@ const routes: RouteRecordRaw = {
95
82
  meta: {
96
83
  title: '工具栏配置',
97
84
  singleMenu: true,
98
- // i18n: $t('route.rbac.toolbarSetting'),
99
85
  auth: 'toolbarSetting',
100
86
  activeIcon: 'system-point',
101
87
  },
@@ -107,7 +93,6 @@ const routes: RouteRecordRaw = {
107
93
  meta: {
108
94
  title: '面包屑配置',
109
95
  singleMenu: true,
110
- // i18n: $t('route.rbac.breadcrumbSetting'),
111
96
  auth: 'breadcrumbSetting',
112
97
  activeIcon: 'system-point',
113
98
  },
@@ -119,7 +104,6 @@ const routes: RouteRecordRaw = {
119
104
  meta: {
120
105
  title: '其他配置',
121
106
  singleMenu: true,
122
- // i18n: $t('route.rbac.otherSetting'),
123
107
  auth: 'otherSetting',
124
108
  activeIcon: 'system-point',
125
109
  },