@pubinfo/core 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 (640) hide show
  1. package/dist/{AppSetting-BQT7OI6K.js → AppSetting-D2RJrc9O.js} +37 -39
  2. package/dist/{HCheckList.vue_vue_type_script_setup_true_lang-D4u_haxr.js → HCheckList.vue_vue_type_script_setup_true_lang-DusVz35O.js} +12 -14
  3. package/dist/HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js +20 -0
  4. package/dist/HToggle-DMcVgMVY.js +34 -0
  5. package/dist/PreferencesContent-Dtd9rtew.js +923 -0
  6. package/dist/{SettingBreadcrumb-CgugOTgx.js → SettingBreadcrumb-QSCSviKM.js} +9 -9
  7. package/dist/{SettingCopyright-BPeCJBLi.js → SettingCopyright-Dr5P6yfq.js} +8 -8
  8. package/dist/{SettingEnableTransition-BK0_EH_N.js → SettingEnableTransition-DGiHEbCI.js} +20 -21
  9. package/dist/{SettingHome-DGnxlXLd.js → SettingHome-CEPcBlds.js} +20 -20
  10. package/dist/{SettingMenu-BqAd9zbL.js → SettingMenu-BJdjnRA6.js} +26 -26
  11. package/dist/{SettingMode-CgA3XDwW.js → SettingMode-BnuCHoEY.js} +11 -12
  12. package/dist/{SettingNavSearch-WFnkcRQ3.js → SettingNavSearch-CiU4BmlU.js} +9 -9
  13. package/dist/{SettingOther-CG4RI6mO.js → SettingOther-DTHjVlFe.js} +13 -13
  14. package/dist/SettingPage-D75_Nf05.js +29 -0
  15. package/dist/{SettingTabbar-CQA6ZT9l.js → SettingTabbar-D48dzvgA.js} +18 -18
  16. package/dist/SettingThemes-D-8vTs5n.js +142 -0
  17. package/dist/{SettingToolbar-DdR2940j.js → SettingToolbar-DjIjm9V-.js} +10 -10
  18. package/dist/{SettingTopbar-C_jYO_Ax.js → SettingTopbar-Cg30OTH3.js} +16 -16
  19. package/dist/{SettingWidthMode-ir_28SE3.js → SettingWidthMode-BKV_7kb8.js} +19 -20
  20. package/dist/{TopThinMode-jHDpKsma.js → TopThinMode-JFYsp_lJ.js} +1 -1
  21. package/dist/built-in/authentication/helper.d.ts +1 -0
  22. package/dist/built-in/authentication/index.d.ts +10 -0
  23. package/dist/built-in/authentication/interface.d.ts +7 -0
  24. package/dist/built-in/authentication/router.d.ts +2 -0
  25. package/dist/built-in/authorization/directives.d.ts +2 -0
  26. package/dist/built-in/authorization/helper.d.ts +6 -0
  27. package/dist/built-in/authorization/index.d.ts +7 -0
  28. package/dist/built-in/authorization/router.d.ts +3 -0
  29. package/dist/built-in/index.d.ts +8 -0
  30. package/dist/{layout → built-in/layout-component}/Layout.vue.d.ts +2 -2
  31. package/dist/{layout → built-in/layout-component}/components/Header/TopMode/More.vue.d.ts +1 -1
  32. package/dist/{layout → built-in/layout-component}/components/Header/TopMode/NotCursor.vue.d.ts +2 -0
  33. package/dist/{layout → built-in/layout-component}/components/Menu/sub.vue.d.ts +43 -43
  34. package/dist/{layout → built-in/layout-component}/components/Menu/types.d.ts +1 -1
  35. package/dist/{layout → built-in/layout-component}/components/Tools/Search.vue.d.ts +43 -43
  36. package/dist/built-in/layout-component/components/Tools/index.vue.d.ts +27 -0
  37. package/dist/built-in/layout-component/components/Topbar/Tabbar/MoreAction.vue.d.ts +11 -0
  38. package/dist/{layout/ui-kit → built-in/layout-component/components/ui}/HDialog.vue.d.ts +1 -1
  39. package/dist/{layout/ui-kit → built-in/layout-component/components/ui}/HSlideover.vue.d.ts +1 -1
  40. package/dist/{layout/ui-kit → built-in/layout-component/components/ui}/HTabList.vue.d.ts +2 -2
  41. package/dist/{layout/ui-kit → built-in/layout-component/components/ui}/HTooltip.vue.d.ts +1 -1
  42. package/dist/{layout → built-in/layout-component}/composables/useContext.d.ts +1 -1
  43. package/dist/built-in/layout-component/composables/useGlobalSearch.d.ts +19 -0
  44. package/dist/{layout → built-in/layout-component}/composables/useHotkey.d.ts +1 -1
  45. package/dist/{layout → built-in/layout-component}/composables/useMenu.d.ts +1 -1
  46. package/dist/{layout → built-in/layout-component}/index.d.ts +5 -4
  47. package/dist/built-in/layout-component/utils/eventBus.d.ts +5 -0
  48. package/dist/built-in/layout-component/utils/index.d.ts +3 -0
  49. package/dist/{utils → built-in/layout-component/utils}/watermark.d.ts +1 -1
  50. package/dist/built-in/locales/helpler.d.ts +594 -0
  51. package/dist/built-in/locales/index.d.ts +5 -0
  52. package/dist/built-in/n-progress/index.d.ts +6 -0
  53. package/dist/built-in/pinia-plugin/enum.d.ts +1 -0
  54. package/dist/built-in/pinia-plugin/index.d.ts +5 -0
  55. package/dist/built-in/pinia-plugin/plugins/persist.d.ts +3 -0
  56. package/dist/built-in/pre-access/index.d.ts +7 -0
  57. package/dist/built-in/settings/index.d.ts +5 -0
  58. package/dist/built-in/settings/router.d.ts +3 -0
  59. package/dist/{colors-gu4NABiz.js → colors-CODcBxrF.js} +1 -1
  60. package/dist/core/create.d.ts +2 -0
  61. package/dist/core/ctx.d.ts +1 -0
  62. package/dist/core/index.d.ts +4 -0
  63. package/dist/core/interface.d.ts +74 -0
  64. package/dist/{modules.d.ts → core/modules.d.ts} +9 -0
  65. package/dist/{api/index.d.ts → core/request.d.ts} +2 -4
  66. package/dist/core/resolver/icon.d.ts +5 -0
  67. package/dist/core/resolver/index.d.ts +4 -0
  68. package/dist/core/resolver/layout.d.ts +2 -0
  69. package/dist/core/resolver/page.d.ts +17 -0
  70. package/dist/core/resolver/resolver.d.ts +10 -0
  71. package/dist/{api → features/api}/modules/auth/renzhengfuwu.d.ts +7 -0
  72. package/dist/{api → features/api}/modules/configData/index.d.ts +1 -1
  73. package/dist/{api → features/api}/modules/rbac/pubJiaosezukongzhiqi.d.ts +7 -0
  74. package/dist/{api → features/api}/modules/rbac/ziyuanjiekou.d.ts +7 -0
  75. package/dist/features/api/request.d.ts +2 -0
  76. package/dist/{assets → features/assets}/styles/index.d.ts +2 -3
  77. package/dist/{composables → features/composables}/auth.d.ts +1 -1
  78. package/dist/features/context/index.d.ts +12 -0
  79. package/dist/features/enum.d.ts +21 -0
  80. package/dist/features/index.d.ts +7 -0
  81. package/dist/features/router/asyncRoutes.d.ts +14 -0
  82. package/dist/features/router/index.d.ts +2 -0
  83. package/dist/features/router/systemRoutes.d.ts +9 -0
  84. package/dist/features/stores/index.d.ts +1 -0
  85. package/dist/{stores → features/stores}/modules/favorites.d.ts +2 -2
  86. package/dist/{stores → features/stores}/modules/route.d.ts +6 -6
  87. package/dist/{stores → features/stores}/modules/tabbar.d.ts +1 -1
  88. package/dist/features/stores/modules/user.d.ts +36 -0
  89. package/dist/features/stores/utils/crypto.d.ts +1 -0
  90. package/dist/features/stores/utils/index.d.ts +2 -0
  91. package/dist/features/stores/utils/routerHelper.d.ts +17 -0
  92. package/dist/index-BAoB7aoj.js +49 -0
  93. package/dist/{reload-CUcPYtl7.js → index-BD2fkZis.js} +5 -5
  94. package/dist/index-BROqFYXS.js +44 -0
  95. package/dist/{index-CjsnFBwd.js → index-BVLkBCRY.js} +7733 -8240
  96. package/dist/index-D4_xmL_A.js +258 -0
  97. package/dist/index-DQn1WFMa.js +139 -0
  98. package/dist/{index-CWIfG62O.js → index-DmcblkoZ.js} +1804 -1897
  99. package/dist/{index-NpS61xSA.js → index-DvJr0paY.js} +54 -54
  100. package/dist/index-Jd3PYkpj.js +52561 -0
  101. package/dist/index-RT-QBzm0.js +234 -0
  102. package/dist/index.d.ts +23 -11
  103. package/dist/index.js +59 -72
  104. package/dist/pick-BLJM77QN.js +12 -0
  105. package/dist/style.css +3 -3
  106. package/dist/utils/index.d.ts +4 -13
  107. package/dist/utils/path.d.ts +1 -0
  108. package/dist/utils/proxy.d.ts +1 -0
  109. package/dist/utils/storage.d.ts +1 -2
  110. package/package.json +41 -43
  111. package/src/built-in/authentication/helper.ts +55 -0
  112. package/src/built-in/authentication/index.ts +42 -0
  113. package/src/built-in/authentication/interface.ts +7 -0
  114. package/src/built-in/authentication/pages/change-organization/assets/change-org.svg +1 -0
  115. package/src/{pages/system → built-in/authentication/pages}/change-organization/index.vue +29 -43
  116. package/src/built-in/authentication/pages/change-password/assets/login-small.png +0 -0
  117. package/src/built-in/authentication/pages/change-password/assets/login-small_dark.webp +0 -0
  118. package/src/built-in/authentication/pages/change-password/assets/mima.svg +1 -0
  119. package/src/{pages/system → built-in/authentication/pages}/change-password/components/ChangePasswordForm/index.vue +1 -1
  120. package/src/{pages/system → built-in/authentication/pages}/change-password/index.vue +19 -36
  121. package/src/built-in/authentication/router.ts +57 -0
  122. package/src/{directives/plugins/permission.ts → built-in/authorization/directives.ts} +6 -7
  123. package/src/built-in/authorization/helper.ts +11 -0
  124. package/src/built-in/authorization/index.ts +25 -0
  125. package/src/built-in/authorization/pages/not-permission/403.svg +1 -0
  126. package/src/built-in/authorization/pages/not-permission/403_dark.svg +1 -0
  127. package/src/{pages/system → built-in/authorization/pages}/not-permission/index.vue +9 -13
  128. package/src/{route/guard/auth.ts → built-in/authorization/router.ts} +39 -9
  129. package/src/built-in/index.ts +8 -0
  130. package/src/built-in/layout-component/Layout.vue +273 -0
  131. package/src/built-in/layout-component/assets/icons/favorites.svg +1 -0
  132. package/src/built-in/layout-component/assets/icons/toolbar-collapse.svg +1 -0
  133. package/src/{layout → built-in/layout-component}/components/Content/IframeView.vue +1 -2
  134. package/src/{layout → built-in/layout-component}/components/Content/LinkView.vue +2 -2
  135. package/src/built-in/layout-component/components/Content/index.vue +146 -0
  136. package/src/{layout → built-in/layout-component}/components/Copyright/index.vue +7 -8
  137. package/src/{layout → built-in/layout-component}/components/Header/TopMode/More.vue +26 -34
  138. package/src/built-in/layout-component/components/Header/TopMode/NotCursor.vue +70 -0
  139. package/src/{layout → built-in/layout-component}/components/Header/TopMode/index.vue +14 -18
  140. package/src/built-in/layout-component/components/Header/index.vue +171 -0
  141. package/src/{layout → built-in/layout-component}/components/Logo/index.vue +5 -20
  142. package/src/{layout → built-in/layout-component}/components/Menu/index.vue +3 -3
  143. package/src/{layout → built-in/layout-component}/components/Menu/item.vue +22 -27
  144. package/src/{layout → built-in/layout-component}/components/Menu/types.ts +1 -1
  145. package/src/{layout → built-in/layout-component}/components/SettingBar/AppSetting.vue +11 -11
  146. package/src/{layout → built-in/layout-component}/components/SettingBar/components/DayNightToggle.vue +26 -120
  147. package/src/built-in/layout-component/components/SettingBar/components/SettingEnableTransition.vue +190 -0
  148. package/src/built-in/layout-component/components/SettingBar/components/SettingMode.vue +154 -0
  149. package/src/{layout → built-in/layout-component}/components/SettingBar/components/SettingThemes.vue +55 -90
  150. package/src/{layout → built-in/layout-component}/components/SettingBar/components/SettingWidthMode.vue +63 -71
  151. package/src/built-in/layout-component/components/SettingBar/index.vue +81 -0
  152. package/src/{layout → built-in/layout-component}/components/Sidebar/MainSidebar.vue +87 -135
  153. package/src/{layout → built-in/layout-component}/components/Sidebar/SubSidebar.vue +50 -59
  154. package/src/built-in/layout-component/components/Tools/Breadcrumb/index.vue +15 -0
  155. package/src/built-in/layout-component/components/Tools/DayNightSwitch.vue +70 -0
  156. package/src/{layout → built-in/layout-component}/components/Tools/Preferences/PreferencesContent.vue +214 -278
  157. package/src/{layout → built-in/layout-component}/components/Tools/Search.vue +15 -9
  158. package/src/{layout → built-in/layout-component}/components/Tools/index.vue +16 -20
  159. package/src/{layout → built-in/layout-component}/components/Topbar/Tabbar/MoreAction.vue +102 -148
  160. package/src/{layout → built-in/layout-component}/components/Topbar/Tabbar/index.vue +293 -405
  161. package/src/{layout → built-in/layout-component}/components/Topbar/Toolbar/Favorites.vue +5 -5
  162. package/src/{layout → built-in/layout-component}/components/Topbar/Toolbar/index.vue +72 -67
  163. package/src/{layout → built-in/layout-component}/components/Topbar/index.vue +16 -19
  164. package/src/{layout/ui-kit → built-in/layout-component/components/ui}/HCheckList.vue +1 -1
  165. package/src/{layout/ui-kit → built-in/layout-component/components/ui}/HDialog.vue +1 -1
  166. package/src/built-in/layout-component/components/ui/HDivider.vue +24 -0
  167. package/src/{layout/ui-kit → built-in/layout-component/components/ui}/HDropdownMenu.vue +1 -1
  168. package/src/{layout/ui-kit → built-in/layout-component/components/ui}/HDropdownTree.vue +1 -1
  169. package/src/{layout/ui-kit → built-in/layout-component/components/ui}/HSlideover.vue +1 -1
  170. package/src/built-in/layout-component/components/ui/HToggle.vue +133 -0
  171. package/src/{layout/ui-kit → built-in/layout-component/components/ui}/HTooltip.vue +1 -1
  172. package/src/{layout → built-in/layout-component}/composables/useContext.ts +2 -2
  173. package/src/{layout → built-in/layout-component}/composables/useGetComputedStyle.ts +1 -1
  174. package/src/built-in/layout-component/composables/useGlobalSearch.ts +48 -0
  175. package/src/{layout → built-in/layout-component}/composables/useHotkey.ts +1 -1
  176. package/src/{layout → built-in/layout-component}/composables/useMainPage.ts +2 -2
  177. package/src/{layout → built-in/layout-component}/composables/useMenu.ts +1 -1
  178. package/src/{layout → built-in/layout-component}/composables/useTabbar.ts +1 -1
  179. package/src/{layout → built-in/layout-component}/composables/useTitle.ts +1 -1
  180. package/src/{layout → built-in/layout-component}/composables/useWatermark.ts +4 -4
  181. package/src/{layout → built-in/layout-component}/index.ts +38 -16
  182. package/src/{layout → built-in/layout-component}/provider.ts +8 -2
  183. package/src/built-in/layout-component/utils/eventBus.ts +8 -0
  184. package/src/built-in/layout-component/utils/index.ts +3 -0
  185. package/src/{utils → built-in/layout-component/utils}/watermark.ts +2 -2
  186. package/src/{locales/index.ts → built-in/locales/helpler.ts} +13 -17
  187. package/src/built-in/locales/index.ts +20 -0
  188. package/src/built-in/n-progress/index.ts +31 -0
  189. package/src/built-in/n-progress/nprogress.css +68 -0
  190. package/src/built-in/pinia-plugin/enum.ts +1 -0
  191. package/src/{stores → built-in/pinia-plugin}/helper.ts +3 -3
  192. package/src/built-in/pinia-plugin/index.ts +27 -0
  193. package/src/{stores/plugin/sideEffect → built-in/pinia-plugin/plugins}/cleanup.ts +1 -1
  194. package/src/{stores/plugin/sideEffect → built-in/pinia-plugin/plugins}/favoritesStorage.ts +6 -7
  195. package/src/{stores/plugin/sideEffect → built-in/pinia-plugin/plugins}/iframeCache.ts +3 -3
  196. package/src/built-in/pinia-plugin/plugins/persist.ts +21 -0
  197. package/src/{stores/plugin/sideEffect → built-in/pinia-plugin/plugins}/tabbarStorage.ts +7 -8
  198. package/src/built-in/pre-access/index.ts +20 -0
  199. package/src/built-in/settings/index.ts +15 -0
  200. package/src/{route/guard/setting.ts → built-in/settings/router.ts} +3 -2
  201. package/src/core/create.ts +70 -0
  202. package/src/core/ctx.ts +3 -0
  203. package/src/core/index.ts +4 -0
  204. package/src/core/interface.ts +89 -0
  205. package/src/{modules.ts → core/modules.ts} +19 -5
  206. package/src/core/request.ts +52 -0
  207. package/src/core/resolver/icon.ts +75 -0
  208. package/src/core/resolver/index.ts +4 -0
  209. package/src/core/resolver/layout.ts +23 -0
  210. package/src/core/resolver/page.ts +89 -0
  211. package/src/core/resolver/resolver.ts +25 -0
  212. package/src/{api → features/api}/modules/auth/renzhengfuwu.ts +47 -15
  213. package/src/{api → features/api}/modules/auth/typings.d.ts +34 -28
  214. package/src/{api → features/api}/modules/configData/heibaimingdanfuwu.ts +13 -4
  215. package/src/{api → features/api}/modules/configData/index.ts +1 -1
  216. package/src/{api → features/api}/modules/configData/typings.d.ts +79 -79
  217. package/src/{api → features/api}/modules/configData/xitongpeizhifuwu.ts +43 -19
  218. package/src/{api/modules/configData/zidianfuwu.ts → features/api/modules/configData/zidifuwu.ts} +41 -11
  219. package/src/{api → features/api}/modules/rbac/gangweijiekou.ts +25 -10
  220. package/src/{api → features/api}/modules/rbac/jiaosejiekou.ts +25 -10
  221. package/src/{api → features/api}/modules/rbac/pubJiaosezukongzhiqi.ts +46 -7
  222. package/src/{api → features/api}/modules/rbac/shujuquanxianzhubiaokongzhiqi.ts +27 -13
  223. package/src/{api → features/api}/modules/rbac/typings.d.ts +323 -304
  224. package/src/{api → features/api}/modules/rbac/yonghujiekou.ts +49 -16
  225. package/src/{api → features/api}/modules/rbac/yonghushoucangbiaojiekou.ts +21 -6
  226. package/src/{api → features/api}/modules/rbac/yonghuzuijinchangyongbiaojiekou.ts +13 -4
  227. package/src/{api → features/api}/modules/rbac/ziyuanjiekou.ts +44 -5
  228. package/src/{api → features/api}/modules/rbac/zuhuguanlijiekou.ts +21 -12
  229. package/src/{api → features/api}/modules/rbac/zuzhijiaosebiaokongzhiqi.ts +13 -4
  230. package/src/{api → features/api}/modules/rbac/zuzhijiekou.ts +29 -11
  231. package/src/features/api/request.ts +5 -0
  232. package/src/{api → features/api}/system/user.ts +1 -1
  233. package/src/{assets → features/assets}/fonts/digital-7/digital-7-webfont.svg +131 -133
  234. package/src/{assets → features/assets}/fonts/digital-7_mono/digital-7_mono-webfont.svg +130 -132
  235. package/src/{assets → features/assets}/images/org.svg +2 -2
  236. package/src/features/assets/styles/globals.css +188 -0
  237. package/src/{assets → features/assets}/styles/index.ts +2 -3
  238. package/src/features/assets/styles/rbac.css +51 -0
  239. package/src/features/assets/styles/resources/utils.css +53 -0
  240. package/src/features/assets/styles/resources/variables.css +5 -0
  241. package/src/features/components/MicroAppContainer/index.vue +9 -0
  242. package/src/features/components/NotAllowed/assets/403.svg +1 -0
  243. package/src/features/components/NotAllowed/assets/403_dark.svg +1 -0
  244. package/src/{components → features/components}/NotAllowed/index.vue +6 -8
  245. package/src/{components → features/components}/PassStrengthValidator/index.vue +33 -48
  246. package/src/{components → features/components}/PassStrengthValidator/rule.vue +13 -25
  247. package/src/{components → features/components}/PubinfoApp/index.vue +2 -1
  248. package/src/features/components/PubinfoIcon/index.vue +140 -0
  249. package/src/{components → features/components}/PubinfoProvider/index.ts +1 -2
  250. package/src/{composables → features/composables}/auth.ts +2 -2
  251. package/src/{composables → features/composables}/theme.ts +1 -1
  252. package/src/{composables → features/composables}/watchDiff.ts +1 -1
  253. package/src/features/context/index.ts +40 -0
  254. package/src/features/enum.ts +21 -0
  255. package/src/features/index.ts +8 -0
  256. package/src/features/pages/not-found/assets/404.svg +1 -0
  257. package/src/features/pages/not-found/assets/404_dark.svg +1 -0
  258. package/src/{pages/system/[...all].vue → features/pages/not-found/index.vue} +6 -8
  259. package/src/{pages/personal → features/pages}/profile/index.vue +1 -1
  260. package/src/features/router/asyncRoutes.ts +35 -0
  261. package/src/features/router/index.ts +2 -0
  262. package/src/features/router/systemRoutes.ts +45 -0
  263. package/src/{config/settings.ts → features/settings/index.ts} +0 -1
  264. package/src/{stores/enum/index.ts → features/stores/enum.ts} +0 -1
  265. package/src/features/stores/index.ts +1 -0
  266. package/src/{stores → features/stores}/modules/keepAlive.ts +1 -0
  267. package/src/{stores → features/stores}/modules/menu.ts +44 -6
  268. package/src/{stores → features/stores}/modules/route.ts +89 -65
  269. package/src/{stores → features/stores}/modules/settings.ts +27 -10
  270. package/src/{stores → features/stores}/modules/tabbar.ts +8 -5
  271. package/src/{stores → features/stores}/modules/user.ts +60 -25
  272. package/src/{utils → features/stores/utils}/crypto.ts +7 -10
  273. package/src/features/stores/utils/index.ts +2 -0
  274. package/src/features/stores/utils/routerHelper.ts +221 -0
  275. package/src/index.ts +117 -12
  276. package/src/utils/cleanup.ts +1 -1
  277. package/src/utils/index.ts +4 -43
  278. package/src/utils/path.ts +5 -0
  279. package/src/utils/proxy.ts +36 -0
  280. package/src/utils/storage.ts +2 -4
  281. package/types/auto-imports.d.ts +3 -10
  282. package/types/components.d.ts +16 -15
  283. package/types/menu.d.ts +2 -0
  284. package/types/module.d.ts +2 -15
  285. package/types/settings.d.ts +0 -8
  286. package/types/tabbar.d.ts +1 -0
  287. package/types/vue-router.d.ts +11 -7
  288. package/dist/HButton.vue_vue_type_script_setup_true_lang-CYAzn9Mg.js +0 -25
  289. package/dist/HDivider-DgXBhPr0.js +0 -21
  290. package/dist/HToggle-Cd71WKvG.js +0 -34
  291. package/dist/PreferencesContent-MR1Db7z7.js +0 -972
  292. package/dist/SettingPage-C1CT1Mm8.js +0 -29
  293. package/dist/SettingThemes-BJu9czNK.js +0 -144
  294. package/dist/_...all_-18BnHmEa.js +0 -52
  295. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
  296. package/dist/api/helper.d.ts +0 -32
  297. package/dist/api/interface.d.ts +0 -14
  298. package/dist/api/request.d.ts +0 -2
  299. package/dist/api/system/app.d.ts +0 -17
  300. package/dist/config/index.d.ts +0 -1
  301. package/dist/context.d.ts +0 -14
  302. package/dist/create.d.ts +0 -3
  303. package/dist/directives/index.d.ts +0 -4
  304. package/dist/directives/plugins/permission.d.ts +0 -6
  305. package/dist/index-C1p_tY7i.js +0 -49
  306. package/dist/index-CCPTQYuB.js +0 -12910
  307. package/dist/index-CNUEMTao.js +0 -354
  308. package/dist/index-CmXo8ShY.js +0 -276
  309. package/dist/index-DL8Y7jFG.js +0 -137
  310. package/dist/index-DTQQt_XY.js +0 -10
  311. package/dist/index-Dj8zy7hH.js +0 -230
  312. package/dist/index.vue_vue_type_style_index_0_scoped_fa1c6ee4_lang-BCo6Ft-Q.js +0 -2300
  313. package/dist/interface.d.ts +0 -29
  314. package/dist/layout/components/Tools/index.vue.d.ts +0 -233
  315. package/dist/layout/components/Topbar/Tabbar/MoreAction.vue.d.ts +0 -217
  316. package/dist/locales/index.d.ts +0 -301
  317. package/dist/menu-CLiZ1BO_.js +0 -15315
  318. package/dist/pick-C9bU8_xv.js +0 -19
  319. package/dist/request.js +0 -1811
  320. package/dist/route/async.d.ts +0 -9
  321. package/dist/route/guard/auth.d.ts +0 -3
  322. package/dist/route/guard/basic.d.ts +0 -3
  323. package/dist/route/guard/index.d.ts +0 -3
  324. package/dist/route/guard/setting.d.ts +0 -3
  325. package/dist/route/index.d.ts +0 -7
  326. package/dist/route/routes.d.ts +0 -3
  327. package/dist/stores/index.d.ts +0 -5
  328. package/dist/stores/modules/user.d.ts +0 -4
  329. package/dist/stores/plugin/persist.d.ts +0 -5
  330. package/dist/stores/plugin/sideEffect/index.d.ts +0 -5
  331. package/dist/utils/crypto.d.ts +0 -4
  332. package/dist/utils/eventBus.d.ts +0 -5
  333. package/src/api/helper.ts +0 -64
  334. package/src/api/index.ts +0 -75
  335. package/src/api/interface.ts +0 -15
  336. package/src/api/request.ts +0 -4
  337. package/src/api/system/app.ts +0 -28
  338. package/src/assets/icons/403.svg +0 -1
  339. package/src/assets/icons/403_dark.svg +0 -1
  340. package/src/assets/icons/404.svg +0 -1
  341. package/src/assets/icons/404_dark.svg +0 -1
  342. package/src/assets/icons/add-child.svg +0 -1
  343. package/src/assets/icons/authority.svg +0 -1
  344. package/src/assets/icons/authorize.svg +0 -1
  345. package/src/assets/icons/blacklist-disable.svg +0 -1
  346. package/src/assets/icons/blacklist-enable.svg +0 -1
  347. package/src/assets/icons/browser-360.svg +0 -1
  348. package/src/assets/icons/browser-chrome.svg +0 -1
  349. package/src/assets/icons/browser-edge.svg +0 -1
  350. package/src/assets/icons/browser-ie.svg +0 -1
  351. package/src/assets/icons/browser-other.svg +0 -1
  352. package/src/assets/icons/browser-qq.svg +0 -1
  353. package/src/assets/icons/browser-safari.svg +0 -1
  354. package/src/assets/icons/browser-uc.svg +0 -1
  355. package/src/assets/icons/change-org.svg +0 -1
  356. package/src/assets/icons/edit.svg +0 -1
  357. package/src/assets/icons/empty-data.svg +0 -1
  358. package/src/assets/icons/favorites.svg +0 -1
  359. package/src/assets/icons/icard.svg +0 -1
  360. package/src/assets/icons/icon_animation.svg +0 -1
  361. package/src/assets/icons/icon_breadcrumb.svg +0 -1
  362. package/src/assets/icons/icon_copyright.svg +0 -1
  363. package/src/assets/icons/icon_jt.svg +0 -1
  364. package/src/assets/icons/icon_layout.svg +0 -1
  365. package/src/assets/icons/icon_mainpage.svg +0 -1
  366. package/src/assets/icons/icon_menu.svg +0 -1
  367. package/src/assets/icons/icon_page_size.svg +0 -1
  368. package/src/assets/icons/icon_position_type.svg +0 -1
  369. package/src/assets/icons/icon_safe_manage.svg +0 -1
  370. package/src/assets/icons/icon_screen_scale.svg +0 -6
  371. package/src/assets/icons/icon_system_manage.svg +0 -1
  372. package/src/assets/icons/icon_tabbar.svg +0 -1
  373. package/src/assets/icons/icon_toolbar.svg +0 -1
  374. package/src/assets/icons/icon_topbar.svg +0 -1
  375. package/src/assets/icons/icon_watermark.svg +0 -1
  376. package/src/assets/icons/image-load-fail.svg +0 -1
  377. package/src/assets/icons/log-center.svg +0 -1
  378. package/src/assets/icons/logo-sig.svg +0 -1
  379. package/src/assets/icons/mima.svg +0 -1
  380. package/src/assets/icons/not-data.svg +0 -1
  381. package/src/assets/icons/org-main.svg +0 -1
  382. package/src/assets/icons/org-unmain.svg +0 -1
  383. package/src/assets/icons/process-management.svg +0 -1
  384. package/src/assets/icons/project-management.svg +0 -1
  385. package/src/assets/icons/rbac.svg +0 -1
  386. package/src/assets/icons/remove.svg +0 -1
  387. package/src/assets/icons/resource-app.svg +0 -1
  388. package/src/assets/icons/resource-btn.svg +0 -1
  389. package/src/assets/icons/resource-index.svg +0 -1
  390. package/src/assets/icons/resource-menu.svg +0 -1
  391. package/src/assets/icons/resource-nonmenu.svg +0 -1
  392. package/src/assets/icons/setting-manage.svg +0 -1
  393. package/src/assets/icons/test.svg +0 -1
  394. package/src/assets/icons/theme-check-mark.svg +0 -1
  395. package/src/assets/icons/theme-title.svg +0 -1
  396. package/src/assets/icons/toolbar-collapse.svg +0 -1
  397. package/src/assets/icons/tree_icon.svg +0 -1
  398. package/src/assets/icons/tree_icon_checked.svg +0 -1
  399. package/src/assets/icons/view.svg +0 -1
  400. package/src/assets/icons/workbench.svg +0 -1
  401. package/src/assets/icons/zddata.svg +0 -1
  402. package/src/assets/icons/zy_checked.svg +0 -1
  403. package/src/assets/icons/zy_default.svg +0 -1
  404. package/src/assets/images/layout/item1.webp +0 -0
  405. package/src/assets/images/layout/item1_dark.webp +0 -0
  406. package/src/assets/images/layout/item2.webp +0 -0
  407. package/src/assets/images/layout/item2_dark.webp +0 -0
  408. package/src/assets/images/layout/item3.webp +0 -0
  409. package/src/assets/images/layout/item3_dark.webp +0 -0
  410. package/src/assets/images/layout/item4.webp +0 -0
  411. package/src/assets/images/layout/item4_dark.webp +0 -0
  412. package/src/assets/images/layout/item5.webp +0 -0
  413. package/src/assets/images/layout/item5_dark.webp +0 -0
  414. package/src/assets/images/page-width/anto_min_w_dark.webp +0 -0
  415. package/src/assets/images/page-width/auto.webp +0 -0
  416. package/src/assets/images/page-width/auto_dark.webp +0 -0
  417. package/src/assets/images/page-width/auto_min_w.webp +0 -0
  418. package/src/assets/images/page-width/auto_min_w_dark.webp +0 -0
  419. package/src/assets/images/page-width/icon_auto.webp +0 -0
  420. package/src/assets/images/page-width/icon_auto_dark.webp +0 -0
  421. package/src/assets/images/page-width/icon_auto_min_w.webp +0 -0
  422. package/src/assets/images/page-width/icon_auto_min_w_dark.webp +0 -0
  423. package/src/assets/images/page-width/icon_middle.webp +0 -0
  424. package/src/assets/images/page-width/icon_middle_dark.webp +0 -0
  425. package/src/assets/images/page-width/icon_middle_max_w.webp +0 -0
  426. package/src/assets/images/page-width/icon_middle_max_w_dark.webp +0 -0
  427. package/src/assets/images/page-width/middle.webp +0 -0
  428. package/src/assets/images/page-width/middle_dark.webp +0 -0
  429. package/src/assets/images/page-width/middle_max_w.webp +0 -0
  430. package/src/assets/images/page-width/middle_max_w_dark.webp +0 -0
  431. package/src/assets/styles/globals.scss +0 -189
  432. package/src/assets/styles/nprogress.scss +0 -63
  433. package/src/assets/styles/rbac.scss +0 -61
  434. package/src/assets/styles/resources/utils.scss +0 -53
  435. package/src/assets/styles/resources/variables.scss +0 -6
  436. package/src/components/PubinfoIcon/index.vue +0 -85
  437. package/src/config/index.ts +0 -1
  438. package/src/context.ts +0 -30
  439. package/src/create.ts +0 -88
  440. package/src/directives/index.ts +0 -6
  441. package/src/interface.ts +0 -35
  442. package/src/layout/Layout.vue +0 -330
  443. package/src/layout/components/Content/index.vue +0 -100
  444. package/src/layout/components/Header/TopMode/NotCursor.vue +0 -77
  445. package/src/layout/components/Header/index.vue +0 -263
  446. package/src/layout/components/SettingBar/components/SettingEnableTransition.vue +0 -215
  447. package/src/layout/components/SettingBar/components/SettingMode.vue +0 -164
  448. package/src/layout/components/SettingBar/index.vue +0 -112
  449. package/src/layout/components/Tools/Breadcrumb/index.vue +0 -21
  450. package/src/layout/components/Tools/DayNightSwitch.vue +0 -93
  451. package/src/layout/components/Tools/I18nSelector.vue +0 -52
  452. package/src/layout/ui-kit/HDivider.vue +0 -53
  453. package/src/layout/ui-kit/HToggle.vue +0 -177
  454. package/src/pages/system/change-password/page.vue +0 -58
  455. package/src/pages/system/index.vue +0 -5
  456. package/src/route/async.ts +0 -18
  457. package/src/route/guard/basic.ts +0 -23
  458. package/src/route/guard/index.ts +0 -3
  459. package/src/route/index.ts +0 -12
  460. package/src/route/routes.ts +0 -101
  461. package/src/stores/index.ts +0 -10
  462. package/src/stores/plugin/persist.ts +0 -27
  463. package/src/stores/plugin/sideEffect/index.ts +0 -15
  464. package/src/utils/eventBus.ts +0 -15
  465. package/dist/{api/enum/code.d.ts → built-in/authentication/enum.d.ts} +0 -0
  466. package/dist/{components/NotAllowed → built-in/authentication/pages/change-organization}/index.vue.d.ts +0 -0
  467. package/dist/{pages/system → built-in/authentication/pages}/change-password/components/ChangePasswordForm/index.vue.d.ts +0 -0
  468. package/dist/{pages/system → built-in/authentication/pages}/change-password/index.vue.d.ts +0 -0
  469. package/dist/{layout/components/Topbar/Toolbar → built-in/authorization/pages/not-permission}/index.vue.d.ts +0 -0
  470. package/dist/{components/PubinfoApp → built-in/layout-component/components/BackTop}/index.vue.d.ts +0 -0
  471. package/dist/{layout → built-in/layout-component}/components/Content/IframeView.vue.d.ts +0 -0
  472. package/dist/{layout → built-in/layout-component}/components/Content/LinkView.vue.d.ts +0 -0
  473. package/dist/{layout/components/BackTop → built-in/layout-component/components/Content}/index.vue.d.ts +0 -0
  474. package/dist/{layout/components/Content → built-in/layout-component/components/Copyright}/index.vue.d.ts +0 -0
  475. package/dist/{layout → built-in/layout-component}/components/Header/TopMode/index.vue.d.ts +0 -0
  476. package/dist/{layout → built-in/layout-component}/components/Header/TopThinMode.vue.d.ts +0 -0
  477. package/dist/{layout → built-in/layout-component}/components/Header/index.vue.d.ts +0 -0
  478. package/dist/{layout → built-in/layout-component}/components/Logo/index.vue.d.ts +0 -0
  479. package/dist/{layout → built-in/layout-component}/components/Menu/index.vue.d.ts +0 -0
  480. package/dist/{layout → built-in/layout-component}/components/Menu/item.vue.d.ts +0 -0
  481. package/dist/{layout → built-in/layout-component}/components/SettingBar/AppSetting.vue.d.ts +0 -0
  482. package/dist/{layout → built-in/layout-component}/components/SettingBar/components/DayNightToggle.vue.d.ts +0 -0
  483. package/dist/{layout → built-in/layout-component}/components/SettingBar/components/SettingBreadcrumb.vue.d.ts +0 -0
  484. package/dist/{layout → built-in/layout-component}/components/SettingBar/components/SettingCopyright.vue.d.ts +0 -0
  485. package/dist/{layout → built-in/layout-component}/components/SettingBar/components/SettingEnableTransition.vue.d.ts +0 -0
  486. package/dist/{layout → built-in/layout-component}/components/SettingBar/components/SettingHome.vue.d.ts +0 -0
  487. package/dist/{layout → built-in/layout-component}/components/SettingBar/components/SettingMenu.vue.d.ts +0 -0
  488. package/dist/{layout → built-in/layout-component}/components/SettingBar/components/SettingMode.vue.d.ts +0 -0
  489. package/dist/{layout → built-in/layout-component}/components/SettingBar/components/SettingNavSearch.vue.d.ts +0 -0
  490. package/dist/{layout → built-in/layout-component}/components/SettingBar/components/SettingOther.vue.d.ts +0 -0
  491. package/dist/{layout → built-in/layout-component}/components/SettingBar/components/SettingPage.vue.d.ts +0 -0
  492. package/dist/{layout → built-in/layout-component}/components/SettingBar/components/SettingTabbar.vue.d.ts +0 -0
  493. package/dist/{layout → built-in/layout-component}/components/SettingBar/components/SettingThemes.vue.d.ts +0 -0
  494. package/dist/{layout → built-in/layout-component}/components/SettingBar/components/SettingToolbar.vue.d.ts +0 -0
  495. package/dist/{layout → built-in/layout-component}/components/SettingBar/components/SettingTopbar.vue.d.ts +0 -0
  496. package/dist/{layout → built-in/layout-component}/components/SettingBar/components/SettingWidthMode.vue.d.ts +0 -0
  497. package/dist/{layout/components/Copyright → built-in/layout-component/components/SettingBar}/index.vue.d.ts +0 -0
  498. package/dist/{layout → built-in/layout-component}/components/Sidebar/MainSidebar.vue.d.ts +0 -0
  499. package/dist/{layout → built-in/layout-component}/components/Sidebar/SubSidebar.vue.d.ts +0 -0
  500. package/dist/{layout/components/SettingBar → built-in/layout-component/components/Sidebar}/index.vue.d.ts +0 -0
  501. package/dist/{layout → built-in/layout-component}/components/Tools/Breadcrumb/index.vue.d.ts +0 -0
  502. package/dist/{layout → built-in/layout-component}/components/Tools/Breadcrumb/item.vue.d.ts +0 -0
  503. package/dist/{layout → built-in/layout-component}/components/Tools/DayNightSwitch.vue.d.ts +0 -0
  504. package/dist/{layout → built-in/layout-component}/components/Tools/HotkeysIntro.vue.d.ts +0 -0
  505. package/dist/{layout → built-in/layout-component}/components/Tools/Preferences/PreferencesContent.vue.d.ts +0 -0
  506. package/dist/{layout → built-in/layout-component}/components/Tools/Preferences/index.vue.d.ts +0 -0
  507. package/dist/{layout → built-in/layout-component}/components/Topbar/Tabbar/index.vue.d.ts +0 -0
  508. package/dist/{layout → built-in/layout-component}/components/Topbar/Toolbar/Favorites.vue.d.ts +0 -0
  509. package/dist/{layout → built-in/layout-component}/components/Topbar/Toolbar/Star.vue.d.ts +0 -0
  510. package/dist/{layout/components/Topbar → built-in/layout-component/components/Topbar/Toolbar}/index.vue.d.ts +0 -0
  511. package/dist/{pages/personal/profile → built-in/layout-component/components/Topbar}/index.vue.d.ts +0 -0
  512. package/dist/{layout/ui-kit → built-in/layout-component/components/ui}/HBadge.vue.d.ts +0 -0
  513. package/dist/{layout/ui-kit → built-in/layout-component/components/ui}/HButton.vue.d.ts +1 -1
  514. package/dist/{layout/ui-kit → built-in/layout-component/components/ui}/HCheckList.vue.d.ts +2 -2
  515. package/dist/{layout/ui-kit → built-in/layout-component/components/ui}/HDivider.vue.d.ts +0 -0
  516. package/dist/{layout/ui-kit → built-in/layout-component/components/ui}/HDropdown.vue.d.ts +0 -0
  517. package/dist/{layout/ui-kit → built-in/layout-component/components/ui}/HDropdownMenu.vue.d.ts +0 -0
  518. package/dist/{layout/ui-kit → built-in/layout-component/components/ui}/HDropdownTree.vue.d.ts +0 -0
  519. package/dist/{layout/ui-kit → built-in/layout-component/components/ui}/HInput.vue.d.ts +0 -0
  520. package/dist/{layout/ui-kit → built-in/layout-component/components/ui}/HKbd.vue.d.ts +0 -0
  521. package/dist/{layout/ui-kit → built-in/layout-component/components/ui}/HSelect.vue.d.ts +0 -0
  522. package/dist/{layout/ui-kit → built-in/layout-component/components/ui}/HToggle.vue.d.ts +0 -0
  523. package/dist/{layout → built-in/layout-component}/composables/useGetComputedStyle.d.ts +0 -0
  524. package/dist/{layout → built-in/layout-component}/composables/useMainPage.d.ts +0 -0
  525. package/dist/{layout → built-in/layout-component}/composables/useTabbar.d.ts +0 -0
  526. package/dist/{layout → built-in/layout-component}/composables/useTitle.d.ts +0 -0
  527. package/dist/{layout → built-in/layout-component}/composables/useViewTransition.d.ts +0 -0
  528. package/dist/{layout → built-in/layout-component}/composables/useWatermark.d.ts +0 -0
  529. package/dist/{pages/system/change-organization → built-in/layout-component/pages/reload}/index.vue.d.ts +0 -0
  530. package/dist/{layout → built-in/layout-component}/provider.d.ts +0 -0
  531. package/dist/{utils → built-in/layout-component/utils}/injectionKeys.d.ts +0 -0
  532. package/dist/{locales → built-in/locales}/lang/en.json.d.ts +0 -0
  533. package/dist/{locales → built-in/locales}/lang/zh-cn.json.d.ts +0 -0
  534. package/dist/{locales → built-in/locales}/lang/zh-tw.json.d.ts +0 -0
  535. package/dist/{locales → built-in/locales}/ui.d.ts +0 -0
  536. package/dist/{stores → built-in/pinia-plugin}/helper.d.ts +0 -0
  537. package/dist/{stores/plugin/sideEffect → built-in/pinia-plugin/plugins}/cleanup.d.ts +0 -0
  538. package/dist/{stores/plugin/sideEffect → built-in/pinia-plugin/plugins}/favoritesStorage.d.ts +0 -0
  539. package/dist/{stores/plugin/sideEffect → built-in/pinia-plugin/plugins}/iframeCache.d.ts +0 -0
  540. package/dist/{stores/plugin/sideEffect → built-in/pinia-plugin/plugins}/tabbarStorage.d.ts +0 -0
  541. package/dist/{utils → core}/utils.d.ts +0 -0
  542. package/dist/{api → features/api}/modules/auth/index.d.ts +0 -0
  543. package/dist/{api → features/api}/modules/configData/heibaimingdanfuwu.d.ts +0 -0
  544. package/dist/{api → features/api}/modules/configData/xitongpeizhifuwu.d.ts +0 -0
  545. package/dist/{api/modules/configData/zidianfuwu.d.ts → features/api/modules/configData/zidifuwu.d.ts} +0 -0
  546. package/dist/{api → features/api}/modules/rbac/gangweijiekou.d.ts +0 -0
  547. package/dist/{api → features/api}/modules/rbac/index.d.ts +0 -0
  548. package/dist/{api → features/api}/modules/rbac/jiaosejiekou.d.ts +0 -0
  549. package/dist/{api → features/api}/modules/rbac/shujuquanxianzhubiaokongzhiqi.d.ts +0 -0
  550. package/dist/{api → features/api}/modules/rbac/yonghujiekou.d.ts +0 -0
  551. package/dist/{api → features/api}/modules/rbac/yonghushoucangbiaojiekou.d.ts +0 -0
  552. package/dist/{api → features/api}/modules/rbac/yonghuzuijinchangyongbiaojiekou.d.ts +0 -0
  553. package/dist/{api → features/api}/modules/rbac/zuhuguanlijiekou.d.ts +0 -0
  554. package/dist/{api → features/api}/modules/rbac/zuzhijiaosebiaokongzhiqi.d.ts +0 -0
  555. package/dist/{api → features/api}/modules/rbac/zuzhijiekou.d.ts +0 -0
  556. package/dist/{api → features/api}/system/user.d.ts +0 -0
  557. package/dist/{pages/system → features/components/MicroAppContainer}/index.vue.d.ts +0 -0
  558. package/dist/{pages/system/not-permission → features/components/NotAllowed}/index.vue.d.ts +0 -0
  559. package/dist/{components → features/components}/PageHeader/index.vue.d.ts +0 -0
  560. package/dist/{components → features/components}/PageMain/index.vue.d.ts +0 -0
  561. package/dist/{components → features/components}/PassStrengthValidator/index.vue.d.ts +2 -2
  562. package/dist/{components → features/components}/PassStrengthValidator/rule.vue.d.ts +0 -0
  563. package/dist/{layout/components/Sidebar → features/components/PubinfoApp}/index.vue.d.ts +0 -0
  564. package/dist/{components → features/components}/PubinfoIcon/index.vue.d.ts +0 -0
  565. package/dist/{components → features/components}/PubinfoProvider/index.d.ts +0 -0
  566. package/dist/{components → features/components}/index.d.ts +0 -0
  567. package/dist/{composables → features/composables}/index.d.ts +0 -0
  568. package/dist/{composables → features/composables}/log.d.ts +0 -0
  569. package/dist/{composables → features/composables}/theme.d.ts +0 -0
  570. package/dist/{composables → features/composables}/watchDiff.d.ts +0 -0
  571. package/dist/{pages/system/[...all].vue.d.ts → features/pages/not-found/index.vue.d.ts} +0 -0
  572. package/dist/{pages/system/reload.vue.d.ts → features/pages/profile/index.vue.d.ts} +0 -0
  573. package/dist/{config/settings.d.ts → features/settings/index.d.ts} +0 -0
  574. package/dist/{stores/enum/index.d.ts → features/stores/enum.d.ts} +0 -0
  575. package/dist/{stores → features/stores}/modules/iframe.d.ts +0 -0
  576. package/dist/{stores → features/stores}/modules/index.d.ts +0 -0
  577. package/dist/{stores → features/stores}/modules/keepAlive.d.ts +0 -0
  578. package/dist/{stores → features/stores}/modules/menu.d.ts +0 -0
  579. package/dist/{stores → features/stores}/modules/settings.d.ts +0 -0
  580. package/src/{api/enum/code.ts → built-in/authentication/enum.ts} +0 -0
  581. package/src/{assets/images → built-in/authentication/pages/change-organization/assets}/login-small.png +0 -0
  582. package/src/{assets/images → built-in/authentication/pages/change-organization/assets}/login-small_dark.webp +0 -0
  583. package/src/{assets → built-in/layout-component/assets}/images/not-cursor.png +0 -0
  584. package/src/{layout → built-in/layout-component}/components/BackTop/index.vue +0 -0
  585. package/src/{layout → built-in/layout-component}/components/Header/TopThinMode.vue +0 -0
  586. package/src/{layout → built-in/layout-component}/components/Menu/sub.vue +0 -0
  587. package/src/{layout → built-in/layout-component}/components/SettingBar/components/SettingBreadcrumb.vue +0 -0
  588. package/src/{layout → built-in/layout-component}/components/SettingBar/components/SettingCopyright.vue +0 -0
  589. package/src/{layout → built-in/layout-component}/components/SettingBar/components/SettingHome.vue +0 -0
  590. package/src/{layout → built-in/layout-component}/components/SettingBar/components/SettingMenu.vue +0 -0
  591. package/src/{layout → built-in/layout-component}/components/SettingBar/components/SettingNavSearch.vue +0 -0
  592. package/src/{layout → built-in/layout-component}/components/SettingBar/components/SettingOther.vue +0 -0
  593. package/src/{layout → built-in/layout-component}/components/SettingBar/components/SettingPage.vue +0 -0
  594. package/src/{layout → built-in/layout-component}/components/SettingBar/components/SettingTabbar.vue +0 -0
  595. package/src/{layout → built-in/layout-component}/components/SettingBar/components/SettingToolbar.vue +0 -0
  596. package/src/{layout → built-in/layout-component}/components/SettingBar/components/SettingTopbar.vue +0 -0
  597. package/src/{layout → built-in/layout-component}/components/Sidebar/index.vue +0 -0
  598. package/src/{layout → built-in/layout-component}/components/Tools/Breadcrumb/item.vue +0 -0
  599. package/src/{layout → built-in/layout-component}/components/Tools/HotkeysIntro.vue +0 -0
  600. package/src/{layout → built-in/layout-component}/components/Tools/Preferences/index.vue +0 -0
  601. package/src/{layout → built-in/layout-component}/components/Topbar/Toolbar/Star.vue +0 -0
  602. package/src/{layout/ui-kit → built-in/layout-component/components/ui}/HBadge.vue +0 -0
  603. package/src/{layout/ui-kit → built-in/layout-component/components/ui}/HButton.vue +0 -0
  604. package/src/{layout/ui-kit → built-in/layout-component/components/ui}/HDropdown.vue +0 -0
  605. package/src/{layout/ui-kit → built-in/layout-component/components/ui}/HInput.vue +0 -0
  606. package/src/{layout/ui-kit → built-in/layout-component/components/ui}/HKbd.vue +0 -0
  607. package/src/{layout/ui-kit → built-in/layout-component/components/ui}/HSelect.vue +0 -0
  608. package/src/{layout/ui-kit → built-in/layout-component/components/ui}/HTabList.vue +0 -0
  609. package/src/{layout → built-in/layout-component}/composables/useViewTransition.ts +0 -0
  610. package/src/{pages/system/reload.vue → built-in/layout-component/pages/reload/index.vue} +0 -0
  611. package/src/{utils → built-in/layout-component/utils}/injectionKeys.ts +0 -0
  612. package/src/{locales → built-in/locales}/lang/en.json +0 -0
  613. package/src/{locales → built-in/locales}/lang/zh-cn.json +0 -0
  614. package/src/{locales → built-in/locales}/lang/zh-tw.json +0 -0
  615. package/src/{locales → built-in/locales}/ui.ts +0 -0
  616. package/src/{utils → core}/utils.ts +0 -0
  617. package/src/{api → features/api}/modules/auth/index.ts +0 -0
  618. package/src/{api → features/api}/modules/rbac/index.ts +0 -0
  619. package/src/{api → features/api}/system/typings.d.ts +0 -0
  620. package/src/{assets → features/assets}/fonts/digital-7/digital-7-webfont.eot +0 -0
  621. package/src/{assets → features/assets}/fonts/digital-7/digital-7-webfont.woff +0 -0
  622. package/src/{assets → features/assets}/fonts/digital-7/digital-7-webfont.woff2 +0 -0
  623. package/src/{assets → features/assets}/fonts/digital-7/stylesheet.css +0 -0
  624. package/src/{assets → features/assets}/fonts/digital-7_mono/digital-7_mono-webfont.eot +0 -0
  625. package/src/{assets → features/assets}/fonts/digital-7_mono/digital-7_mono-webfont.woff +0 -0
  626. package/src/{assets → features/assets}/fonts/digital-7_mono/digital-7_mono-webfont.woff2 +0 -0
  627. package/src/{assets → features/assets}/fonts/digital-7_mono/stylesheet.css +0 -0
  628. package/src/{assets → features/assets}/fonts/title.otf +0 -0
  629. package/src/{assets → features/assets}/images/change-org-bc.webp +0 -0
  630. package/src/{assets → features/assets}/images/header-bg.png +0 -0
  631. package/src/{assets → features/assets}/images/logo.png +0 -0
  632. package/src/{assets → features/assets}/images/slider-bg.png +0 -0
  633. package/src/{components → features/components}/PageHeader/index.vue +0 -0
  634. package/src/{components → features/components}/PageMain/index.vue +0 -0
  635. package/src/{components → features/components}/index.ts +0 -0
  636. package/src/{composables → features/composables}/index.ts +0 -0
  637. package/src/{composables → features/composables}/log.ts +0 -0
  638. package/src/{stores → features/stores}/modules/favorites.ts +1 -1
  639. /package/src/{stores → features/stores}/modules/iframe.ts +0 -0
  640. /package/src/{stores → features/stores}/modules/index.ts +0 -0
@@ -0,0 +1,57 @@
1
+ import type { Router, RouteRecordRaw } from 'vue-router';
2
+ import { isUndefined } from 'lodash-es';
3
+ import { useUserStore } from '@/features';
4
+
5
+ const routes: RouteRecordRaw[] = [
6
+ {
7
+ path: '/change-password/:changePassWordToken',
8
+ name: 'ChangePassword',
9
+ component: () => import('./pages/change-password/index.vue'),
10
+ // 特殊处理changelog-password路由,不允许直接访问
11
+ // 其实应该移入到鉴权组路由,但是会导致需要频繁挂载销毁路由
12
+ beforeEnter: (to) => {
13
+ if (isUndefined(to.params.changePassWordToken)) {
14
+ return { name: 'Login' };
15
+ }
16
+ return true;
17
+ },
18
+ meta: {
19
+ whiteList: true,
20
+ title: '修改密码',
21
+ },
22
+ },
23
+ {
24
+ path: '/change-organization/:orgId',
25
+ name: 'ChangeOrganization',
26
+ component: () => import('./pages/change-organization/index.vue'),
27
+ beforeEnter: (to) => {
28
+ const userStore = useUserStore();
29
+ if (isUndefined(to.params.orgId) || to.params.orgId !== userStore.user.orgId) {
30
+ return { name: 'Login' };
31
+ }
32
+ return true;
33
+ },
34
+ meta: {
35
+ whiteList: true,
36
+ title: '切换组织',
37
+ },
38
+ },
39
+ ];
40
+
41
+ export function createRouterGuard(router: Router) {
42
+ let isRouteAdded = false;
43
+
44
+ router.beforeEach((to) => {
45
+ if (!isRouteAdded) {
46
+ routes.forEach((route) => {
47
+ if (!router.hasRoute(route.name!)) {
48
+ router.addRoute(route);
49
+ }
50
+ });
51
+
52
+ isRouteAdded = true;
53
+
54
+ return { ...to, replace: true };
55
+ }
56
+ });
57
+ }
@@ -1,13 +1,11 @@
1
1
  import type { App } from 'vue';
2
+ import { useAuth } from '@/features/composables';
2
3
 
3
- /**
4
- * 设置权限指令
5
- * @param app 应用程序实例
6
- */
7
- export function setupPermissionDirective(app: App) {
4
+ export function setupDirectives(app: App) {
8
5
  app.directive('auth', {
9
6
  mounted: (el, binding) => {
10
- if (!useAuth().auth(binding.value)) {
7
+ const { auth } = useAuth();
8
+ if (!auth(binding.value)) {
11
9
  el.remove();
12
10
  }
13
11
  },
@@ -15,7 +13,8 @@ export function setupPermissionDirective(app: App) {
15
13
 
16
14
  app.directive('auth-all', {
17
15
  mounted: (el, binding) => {
18
- if (!useAuth().authAll(binding.value)) {
16
+ const { authAll } = useAuth();
17
+ if (!authAll(binding.value)) {
19
18
  el.remove();
20
19
  }
21
20
  },
@@ -0,0 +1,11 @@
1
+ import type { RequestMethod } from '@/core';
2
+ import { useSettingsStore } from '@/features/stores';
3
+
4
+ /**
5
+ * 数据权限标识
6
+ * @param method 请求方法
7
+ */
8
+ export function maybeSetAuthData(method: RequestMethod) {
9
+ const settingsStore = useSettingsStore();
10
+ method.config.headers['X-ResourceMark'] = method.config.headers['X-ResourceMark'] || settingsStore.auth;
11
+ }
@@ -0,0 +1,25 @@
1
+ import type { ModuleOptions } from '@/core';
2
+ import { setupDirectives } from './directives';
3
+ import { maybeSetAuthData } from './helper';
4
+ import { setupRouterGuard } from './router';
5
+
6
+ /**
7
+ * 权限授权 (资源级拦截)
8
+ *
9
+ * 用户是否有访问某个页面/按钮的权限
10
+ */
11
+ export function Authorization(): ModuleOptions {
12
+ return {
13
+ name: 'built-in:authorization',
14
+ setup(ctx) {
15
+ const { app, router } = ctx;
16
+ setupDirectives(app);
17
+ setupRouterGuard(router);
18
+ },
19
+ hooks: {
20
+ 'http:request': (method) => {
21
+ maybeSetAuthData(method);
22
+ },
23
+ },
24
+ };
25
+ }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 383 309" preserveAspectRatio="xMidYMid meet"><rect width="118.274" height="17.809" fill="#81ACFA" rx="4" transform="matrix(1 0 .08716 .9962 161.633 272.588)"/><rect width="118.274" height="17.809" fill="url(#a)" rx="4" transform="matrix(1 0 .08716 .9962 162.633 269.588)"/><path fill="url(#b)" d="m32.505 148.18 36.78 85.112c25.18 58.267 91.725 89.125 148.315 68.777l85.675-30.806c91.652-32.954 86.59-163.719-7.961-205.65L172.859 11.307C80.133-29.813-7.488 55.635 32.505 148.18"/><rect width="68.502" height="88.093" fill="url(#c)" rx="2" transform="matrix(1 0 .08716 .9962 180.84 189.236)"/><rect width="68.502" height="77.252" fill="url(#d)" rx="2" transform="matrix(1 0 .08716 .9962 180.84 189.236)"/><rect width="137.89" height="105.817" fill="url(#e)" rx="10" transform="matrix(1 0 .08716 .9962 .076 169.044)"/><g opacity=".3"><path fill="#B0C6F8" fill-rule="evenodd" d="M32.416 185.888a1 1 0 0 0-1 1v4.978a1 1 0 0 0 1 1H65.98a1 1 0 0 0 1-1v-4.978a1 1 0 0 0-1-1zm39.964 0a.9.9 0 0 0-.913.996l.434 4.959c.048.551.535.997 1.087.997h11.475a.9.9 0 0 0 .913-.997l-.434-4.959a1.11 1.11 0 0 0-1.087-.996zm-38.814 13.156a.9.9 0 0 0-.912.996l.433 4.959c.049.55.535.996 1.088.996h33.564a.9.9 0 0 0 .913-.996l-.434-4.959a1.11 1.11 0 0 0-1.087-.996zm39.965 0a.9.9 0 0 0-.913.996l.434 4.959c.048.55.535.996 1.087.996h11.475a.9.9 0 0 0 .912-.996l-.433-4.959a1.11 1.11 0 0 0-1.088-.996z" clip-rule="evenodd"/><path fill="#CEDCFF" fill-rule="evenodd" d="M34.717 212.2a.9.9 0 0 0-.913.996l.434 4.959c.048.55.535.996 1.087.996H68.89a.9.9 0 0 0 .913-.996l-.434-4.959a1.11 1.11 0 0 0-1.087-.996zm39.964 0a.9.9 0 0 0-.913.996l.434 4.959c.049.55.535.996 1.088.996h11.474a.9.9 0 0 0 .913-.996l-.434-4.959a1.11 1.11 0 0 0-1.087-.996z" clip-rule="evenodd"/><path fill="#1CCDB8" d="M52.416 238.875c.698-1.125 2.373-1.125 3.268 0l15.628 19.634c1.05 1.319.262 3.141-1.36 3.141h-27.82c-1.622 0-2.728-1.822-1.909-3.141z"/><path fill="#1CCDB8" d="M75.608 246.101c.699-1.124 2.373-1.124 3.268 0l9.876 12.408c1.05 1.319.263 3.141-1.359 3.141h-17.58c-1.622 0-2.73-1.822-1.91-3.141z"/><circle cx="3.072" cy="3.072" r="3.072" fill="#1CCDB8" transform="matrix(1 0 .08716 .9962 76.041 232.35)"/></g><path fill="#0D4CAC" fill-opacity=".1" fill-rule="evenodd" d="M145.514 268.054H92.96c-6.628 0-12.655-5.332-13.463-11.91l-10.694-87.1h50.164c5.523 0 10.779 4.443 11.74 9.924l14.93 85.166c.244 1.392.188 2.718-.123 3.92" clip-rule="evenodd"/><rect width="238.238" height="173.566" fill="#81ACFA" rx="12" transform="matrix(1 0 .08716 .9962 84.719 85.475)"/><rect width="237.238" height="172.566" x=".544" y=".498" fill="url(#f)" stroke="url(#g)" rx="11.5" transform="matrix(1 0 .08716 .9962 86.675 83.477)"/><path fill="url(#h)" stroke="url(#i)" d="M101.526 88.354h209.477c5.247 0 9.871 4.237 10.328 9.464l10.845 123.958a1.35 1.35 0 0 1-1.369 1.495H105.33a1.666 1.666 0 0 1-1.631-1.495L92.854 97.818c-.457-5.227 3.425-9.464 8.672-9.464Z"/><path fill="#1346CB" fill-rule="evenodd" d="M101.481 87.856c-5.522 0-9.22 4.443-8.26 9.924l.757 4.315c.822-3.673 3.978-6.27 8.201-6.27h210.54c4.595 0 9.005 3.075 10.91 7.265l-.93-5.31c-.961-5.481-6.217-9.924-11.74-9.924z" clip-rule="evenodd"/><rect width="108" height="108" fill="#0D4CAC" fill-opacity=".18" rx="54" transform="matrix(1 0 .08716 .9962 246.5 74.57)"/><rect width="107" height="107" x=".544" y=".498" fill="url(#j)" stroke="#fff" rx="53.5" transform="matrix(1 0 .08716 .9962 264.88 56.617)"/><path fill="#CDDCEF" fill-rule="evenodd" d="M332.098 96.246c0 7.312-5.994 13.26-13.362 13.26-7.367 0-13.361-5.948-13.361-13.26s5.994-13.26 13.361-13.26 13.362 5.948 13.362 13.26m-29.466 46.337c-5.999-3.171-9.589-7.472-9.982-11.957-.194-2.221.403-4.42 1.757-6.471s3.437-3.916 6.133-5.486c2.696-1.571 5.95-2.816 9.577-3.666s7.556-1.287 11.562-1.287c4.007 0 8.012.437 11.788 1.287s7.248 2.095 10.219 3.666 5.38 3.434 7.093 5.486 2.694 4.25 2.888 6.471c.393 4.485-2.445 8.786-7.889 11.957s-13.048 4.953-21.14 4.953c-8.091 0-16.007-1.782-22.006-4.953" clip-rule="evenodd"/><path fill="#6599FF" fill-rule="evenodd" d="M337.098 90.246c0 7.312-5.994 13.26-13.362 13.26-7.367 0-13.361-5.948-13.361-13.26s5.994-13.26 13.361-13.26 13.362 5.948 13.362 13.26m-29.466 46.337c-5.999-3.171-9.589-7.472-9.982-11.957-.194-2.221.403-4.42 1.757-6.471s3.437-3.916 6.133-5.486c2.696-1.571 5.95-2.816 9.577-3.666s7.556-1.287 11.562-1.287c4.007 0 8.012.437 11.788 1.287s7.248 2.095 10.219 3.666 5.38 3.434 7.093 5.486 2.694 4.25 2.888 6.471c.393 4.485-2.445 8.786-7.889 11.957s-13.048 4.953-21.14 4.953c-8.091 0-16.007-1.782-22.006-4.953" clip-rule="evenodd"/><path fill="#1346CB" fill-opacity=".2" fill-rule="evenodd" d="m161.055 128.365 28.66 8.821c1.076.33 1.878 1.301 1.956 2.4l3.072 35.11v.003c-.04.279-.863 6.036-6.064 11.611-4.631 4.974-16.473 11.605-19.042 12.915l-1.302.678c-.343.183-.986.192-1.361 0l-1.421-.678a10 10 0 0 0-.462-.22 27 27 0 0 1-.957-.458c-4.799-2.399-15.802-7.932-20.564-12.237-6.146-5.556-7.984-11.293-8.085-11.608l-.002-.006-3.072-35.11c-.105-1.099.518-2.07 1.537-2.4zm6.113 66.088.019.009s.009 0 .026-.009zm.377-20.389h4.505c1.471 0 2.562-1.191 2.435-2.657h-.009l-.01-.109c-.128-1.466-1.428-2.657-2.899-2.657h-4.505l-.408-4.662c3.88-1.054 6.341-4.873 6.115-8.922.004-.064-.002-.128-.007-.192q.002-.054-.007-.102l-.007-.054c-.206-1.823-.911-3.682-2.108-5.175a11.26 11.26 0 0 0-5.118-3.636c-3.605-1.273-7.862-.11-9.983 2.757-1.225 1.658-1.835 3.518-1.832 5.651.007 1.869.697 3.866 1.811 5.46 1.072 1.529 2.596 2.876 4.308 3.627.506.219 1.009.393 1.509.54q.002.033.001.067l.002.08 1.427 16.304c.128 1.466 1.427 2.656 2.898 2.656s2.563-1.19 2.434-2.656zm-.834-16.882a1 1 0 0 0-.056.092 4 4 0 0 1-.341.41 2 2 0 0 1-.305.303 2 2 0 0 0-.276.201 8 8 0 0 1-.604.348c-.321.119-.661.22-1.005.284a7 7 0 0 1-1.076 0 9 9 0 0 1-1.054-.284 8 8 0 0 1-.792-.43 1 1 0 0 0-.098-.064 7 7 0 0 1-.446-.376 4 4 0 0 1-.27-.258l-.071-.072a3 3 0 0 0-.228-.293 9 9 0 0 1-.405-.632 7 7 0 0 1-.375-1.026 7 7 0 0 1-.093-1.072c.043-.348.105-.686.195-1.025q.16-.388.367-.751a1 1 0 0 0 .056-.092c.107-.147.224-.284.341-.412.072-.086.155-.167.237-.246l.067-.065c.165-.11.251-.174.276-.201q.294-.189.604-.349a6.4 6.4 0 0 1 1.005-.284 7 7 0 0 1 1.076 0c.356.074.704.166 1.054.284q.406.194.792.431c.011.009.05.037.098.064q.236.182.446.376c.094.079.183.169.27.258l.071.071c.126.175.198.266.228.294q.216.308.405.632c.149.339.281.687.375 1.035.034.173.06.356.075.531l.009.255.009.276a7 7 0 0 1-.194 1.035q-.16.389-.367.752" clip-rule="evenodd"/><path fill="#fff" fill-rule="evenodd" d="m166.536 122.143 28.659 8.82c1.077.33 1.879 1.302 1.957 2.401l3.072 35.109-.001.003c-.04.279-.862 6.036-6.063 11.611-4.631 4.974-16.473 11.606-19.043 12.915l-1.302.678c-.342.183-.985.192-1.361 0l-1.42-.678c-.138-.071-.282-.137-.463-.22a29 29 0 0 1-.957-.457c-4.798-2.4-15.802-7.933-20.564-12.238-6.145-5.556-7.983-11.293-8.084-11.608l-.002-.006-3.072-35.109c-.105-1.099.518-2.071 1.537-2.401zm6.112 66.087.02.009s.009 0 .026-.009zm.377-20.389h4.506c1.471 0 2.562-1.191 2.434-2.657h-.009l-.01-.109c-.128-1.466-1.427-2.657-2.898-2.657h-4.506l-.408-4.662c3.881-1.054 6.341-4.873 6.116-8.922a1 1 0 0 0-.008-.192.4.4 0 0 0-.007-.102q-.004-.025-.006-.054c-.206-1.822-.911-3.682-2.109-5.175a11.26 11.26 0 0 0-5.118-3.636c-3.605-1.273-7.861-.11-9.983 2.757-1.225 1.658-1.835 3.518-1.832 5.652.007 1.868.697 3.865 1.811 5.459 1.072 1.529 2.597 2.876 4.308 3.627.506.219 1.009.394 1.509.54q.002.033.002.067l.002.08 1.426 16.304c.128 1.466 1.428 2.656 2.899 2.656s2.562-1.19 2.434-2.656zm-.833-16.882a.5.5 0 0 0-.056.092 4 4 0 0 1-.342.41 2.2 2.2 0 0 1-.304.303c-.166.11-.251.174-.277.201-.2.129-.393.239-.604.348-.32.119-.661.22-1.005.284a7 7 0 0 1-1.076 0 9 9 0 0 1-1.054-.284 8 8 0 0 1-.791-.43 1 1 0 0 0-.098-.064 6 6 0 0 1-.447-.376 4 4 0 0 1-.27-.258l-.071-.072a3 3 0 0 0-.228-.293 9 9 0 0 1-.404-.632 7 7 0 0 1-.375-1.026 7 7 0 0 1-.094-1.071c.043-.349.106-.687.195-1.026a7 7 0 0 1 .367-.751.5.5 0 0 0 .056-.092q.164-.22.341-.412c.072-.086.156-.167.238-.246l.066-.065c.166-.11.251-.174.277-.201q.293-.188.604-.348c.32-.119.661-.22 1.005-.284a7 7 0 0 1 1.076 0c.355.073.703.165 1.054.284q.407.193.791.43c.011.009.05.037.098.064q.237.182.447.376c.093.079.182.169.27.258l.071.072c.125.174.197.265.228.293q.215.308.404.632c.149.339.281.687.376 1.035.034.173.059.356.074.531l.009.255.01.276a7 7 0 0 1-.195 1.035q-.16.389-.366.752" clip-rule="evenodd"/><path fill="#1346CB" fill-opacity=".2" fill-rule="evenodd" d="M249.143 139.557h-37.678l.357 4.085H249.5zm1.139 13.022h-37.678l.358 4.085h37.677zm-36.539 13.022h37.678l.358 4.085h-37.678zm38.817 13.021h-37.677l.357 4.086h37.678z" clip-rule="evenodd"/><path fill="#B6CFFF" fill-rule="evenodd" d="M252.143 135.557h-37.678l.357 4.085H252.5zm1.139 13.022h-37.678l.358 4.085h37.677zm-36.539 13.022h37.678l.358 4.085h-37.678zm38.817 13.021h-37.677l.357 4.086h37.678z" clip-rule="evenodd"/><defs><linearGradient id="a" x1="59.137" x2="59.137" y1="0" y2="17.809" gradientUnits="userSpaceOnUse"><stop stop-color="#EBF3FF"/><stop offset="1" stop-color="#D4E4FF"/></linearGradient><linearGradient id="b" x1="228.313" x2="228.313" y1="-98.142" y2="338.976" gradientUnits="userSpaceOnUse"><stop stop-color="#E5EFFF"/><stop offset="1" stop-color="#F2F7FF" stop-opacity="0"/></linearGradient><linearGradient id="c" x1="1.411" x2="66.523" y1="88.093" y2="99.442" gradientUnits="userSpaceOnUse"><stop stop-color="#3E71E2"/><stop offset="1" stop-color="#4A82E8"/></linearGradient><linearGradient id="d" x1="1.411" x2="65.952" y1="77.252" y2="90.081" gradientUnits="userSpaceOnUse"><stop stop-color="#1846AE"/><stop offset="1" stop-color="#1350BF"/></linearGradient><linearGradient id="e" x1="68.945" x2="68.945" y1="0" y2="105.817" gradientUnits="userSpaceOnUse"><stop stop-color="#E7F0FF"/><stop offset="1" stop-color="#F4F8FF"/></linearGradient><linearGradient id="f" x1="119.119" x2="119.119" y1="0" y2="173.566" gradientUnits="userSpaceOnUse"><stop stop-color="#EBF3FF"/><stop offset="1" stop-color="#D4E4FF"/></linearGradient><linearGradient id="g" x1="119.119" x2="119.119" y1="0" y2="173.566" gradientUnits="userSpaceOnUse"><stop stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><linearGradient id="h" x1="206.221" x2="206.221" y1="87.856" y2="223.769" gradientUnits="userSpaceOnUse"><stop stop-color="#3D70F7"/><stop offset="1" stop-color="#7CAEFF"/></linearGradient><linearGradient id="i" x1="206.221" x2="206.221" y1="87.856" y2="223.769" gradientUnits="userSpaceOnUse"><stop stop-color="#fff" stop-opacity="0"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="j" x1="54" x2="54" y1="0" y2="108" gradientUnits="userSpaceOnUse"><stop stop-color="#E7F0FF"/><stop offset="1" stop-color="#F4F8FF"/></linearGradient></defs></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" class="design-iconfont" viewBox="0 0 383 309" width="24" height="24" preserveAspectRatio="xMidYMid meet"><path fill="url(#a)" d="m32.505 148.18 36.78 85.112c25.18 58.267 91.725 89.125 148.315 68.777l85.675-30.806c91.652-32.954 86.59-163.719-7.961-205.65L172.859 11.307C80.133-29.813-7.488 55.635 32.505 148.18"/><rect width="118.274" height="17.809" fill="#81ACFA" rx="4" transform="matrix(1 0 .08716 .9962 161.633 272.588)"/><rect width="118.274" height="17.809" fill="#3A4E7A" rx="4" transform="matrix(1 0 .08716 .9962 161.633 272.588)"/><rect width="118.274" height="17.809" fill="url(#b)" rx="4" transform="matrix(1 0 .08716 .9962 162.633 269.588)"/><rect width="118.274" height="17.809" fill="url(#c)" rx="4" transform="matrix(1 0 .08716 .9962 162.633 269.588)"/><rect width="68.502" height="88.093" fill="url(#d)" rx="2" transform="matrix(1 0 .08716 .9962 180.84 189.236)"/><rect width="68.502" height="77.252" fill="#051539" rx="2" transform="matrix(1 0 .08716 .9962 180.84 189.236)"/><rect width="137.89" height="105.817" fill="url(#e)" rx="10" transform="matrix(1 0 .08716 .9962 .076 169.044)"/><rect width="137.89" height="105.817" fill="url(#f)" rx="10" transform="matrix(1 0 .08716 .9962 .076 169.044)"/><g opacity=".3"><path fill="#B0C6F8" fill-rule="evenodd" d="M32.416 185.888a1 1 0 0 0-1 1v4.978a1 1 0 0 0 1 1H65.98a1 1 0 0 0 1-1v-4.978a1 1 0 0 0-1-1zm39.964 0a.9.9 0 0 0-.913.996l.434 4.959c.048.551.535.997 1.087.997h11.475a.9.9 0 0 0 .913-.997l-.434-4.959a1.11 1.11 0 0 0-1.087-.996zm-38.814 13.156a.9.9 0 0 0-.912.996l.433 4.959c.049.55.535.996 1.088.996h33.564a.9.9 0 0 0 .913-.996l-.434-4.959a1.11 1.11 0 0 0-1.087-.996zm39.965 0a.9.9 0 0 0-.913.996l.434 4.959c.048.55.535.996 1.087.996h11.475a.9.9 0 0 0 .912-.996l-.433-4.959a1.11 1.11 0 0 0-1.088-.996z" clip-rule="evenodd"/><path fill="#CEDCFF" fill-rule="evenodd" d="M34.717 212.2a.9.9 0 0 0-.913.996l.434 4.959c.048.55.535.996 1.087.996H68.89a.9.9 0 0 0 .913-.996l-.434-4.959a1.11 1.11 0 0 0-1.087-.996zm39.964 0a.9.9 0 0 0-.913.996l.434 4.959c.049.55.535.996 1.088.996h11.474a.9.9 0 0 0 .913-.996l-.434-4.959a1.11 1.11 0 0 0-1.087-.996z" clip-rule="evenodd"/><path fill="#1CCDB8" d="M52.416 238.875c.698-1.125 2.373-1.125 3.268 0l15.628 19.634c1.05 1.319.262 3.141-1.36 3.141h-27.82c-1.622 0-2.728-1.822-1.909-3.141z"/><path fill="#1CCDB8" d="M75.608 246.101c.699-1.124 2.373-1.124 3.268 0l9.876 12.408c1.05 1.319.263 3.141-1.359 3.141h-17.58c-1.622 0-2.73-1.822-1.91-3.141zm3.505-13.751a3.203 2.935 42.502 1 0 .535 6.12 3.203 2.935 42.502 1 0-.535-6.12"/></g><path fill="#000F25" fill-opacity=".1" fill-rule="evenodd" d="M145.514 268.054H92.96c-6.628 0-12.655-5.332-13.463-11.91l-10.694-87.1h50.164c5.523 0 10.779 4.443 11.74 9.924l14.93 85.166c.244 1.392.188 2.718-.123 3.92" clip-rule="evenodd"/><rect width="238.238" height="173.566" fill="#81ACFA" rx="12" transform="matrix(1 0 .08716 .9962 84.719 85.475)"/><rect width="238.238" height="173.566" fill="#3A4E7A" rx="12" transform="matrix(1 0 .08716 .9962 84.719 85.475)"/><rect width="237.238" height="172.566" x=".544" y=".498" fill="url(#g)" stroke="url(#h)" rx="11.5" transform="matrix(1 0 .08716 .9962 86.675 83.477)"/><path fill="url(#i)" stroke="url(#j)" d="M101.526 88.354h209.477c5.247 0 9.871 4.237 10.328 9.464l10.845 123.958a1.35 1.35 0 0 1-1.369 1.495H105.33a1.666 1.666 0 0 1-1.631-1.495L92.854 97.818c-.457-5.227 3.425-9.464 8.672-9.464Z"/><path fill="#071435" fill-rule="evenodd" d="M101.481 87.856c-5.522 0-9.22 4.443-8.26 9.924l.757 4.315c.822-3.673 3.978-6.27 8.201-6.27h210.54c4.595 0 9.005 3.075 10.91 7.265l-.93-5.31c-.961-5.481-6.217-9.924-11.74-9.924z" clip-rule="evenodd"/><rect width="108" height="108" fill="#02132D" fill-opacity=".5" rx="54" transform="matrix(1 0 .08716 .9962 246.5 74.57)"/><rect width="107" height="107" x=".544" y=".498" fill="url(#k)" stroke="#7384AD" rx="53.5" transform="matrix(1 0 .08716 .9962 264.88 56.617)"/><path fill="#434F6F" fill-rule="evenodd" d="M332.098 96.246c0 7.312-5.994 13.26-13.362 13.26-7.367 0-13.361-5.948-13.361-13.26s5.994-13.26 13.361-13.26 13.362 5.948 13.362 13.26m-29.466 46.337c-5.999-3.171-9.589-7.472-9.982-11.957-.194-2.221.403-4.42 1.757-6.471s3.437-3.916 6.133-5.486c2.696-1.571 5.95-2.816 9.577-3.666s7.556-1.287 11.562-1.287c4.007 0 8.012.437 11.788 1.287s7.248 2.095 10.219 3.666 5.38 3.434 7.093 5.486 2.694 4.25 2.888 6.471c.393 4.485-2.445 8.786-7.889 11.957s-13.048 4.953-21.14 4.953c-8.091 0-16.007-1.782-22.006-4.953" clip-rule="evenodd"/><path fill="#6599FF" fill-rule="evenodd" d="M337.098 90.246c0 7.312-5.994 13.26-13.362 13.26-7.367 0-13.361-5.948-13.361-13.26s5.994-13.26 13.361-13.26 13.362 5.948 13.362 13.26m-29.466 46.337c-5.999-3.171-9.589-7.472-9.982-11.957-.194-2.221.403-4.42 1.757-6.471s3.437-3.916 6.133-5.486c2.696-1.571 5.95-2.816 9.577-3.666s7.556-1.287 11.562-1.287c4.007 0 8.012.437 11.788 1.287s7.248 2.095 10.219 3.666 5.38 3.434 7.093 5.486 2.694 4.25 2.888 6.471c.393 4.485-2.445 8.786-7.889 11.957s-13.048 4.953-21.14 4.953c-8.091 0-16.007-1.782-22.006-4.953" clip-rule="evenodd"/><path fill="#031031" fill-opacity=".5" fill-rule="evenodd" d="m161.055 128.365 28.66 8.821c1.076.33 1.878 1.301 1.956 2.4l3.072 35.11v.003c-.04.279-.863 6.036-6.064 11.611-4.631 4.974-16.473 11.605-19.042 12.915l-1.302.678c-.343.183-.986.192-1.361 0l-1.421-.678a10 10 0 0 0-.462-.22 27 27 0 0 1-.957-.458c-4.799-2.399-15.802-7.932-20.564-12.237-6.146-5.556-7.984-11.293-8.085-11.608l-.002-.006-3.072-35.11c-.105-1.099.518-2.07 1.537-2.4zm6.113 66.088.019.009s.009 0 .026-.009zm.377-20.389h4.505c1.471 0 2.562-1.191 2.435-2.657h-.009l-.01-.109c-.128-1.466-1.428-2.657-2.899-2.657h-4.505l-.408-4.662c3.88-1.054 6.341-4.873 6.115-8.922.004-.064-.002-.128-.007-.192q.002-.054-.007-.102l-.007-.054c-.206-1.823-.911-3.682-2.108-5.175a11.26 11.26 0 0 0-5.118-3.636c-3.605-1.273-7.862-.11-9.983 2.757-1.225 1.658-1.835 3.518-1.832 5.651.007 1.869.697 3.866 1.811 5.46 1.072 1.529 2.596 2.876 4.308 3.627.506.219 1.009.393 1.509.54q.002.033.001.067l.002.08 1.427 16.304c.128 1.466 1.427 2.656 2.898 2.656s2.563-1.19 2.434-2.656zm-.834-16.882a1 1 0 0 0-.056.092 4 4 0 0 1-.341.41 2 2 0 0 1-.305.303 2 2 0 0 0-.276.201 8 8 0 0 1-.604.348c-.321.119-.661.22-1.005.284a7 7 0 0 1-1.076 0 9 9 0 0 1-1.054-.284 8 8 0 0 1-.792-.43 1 1 0 0 0-.098-.064 7 7 0 0 1-.446-.376 4 4 0 0 1-.27-.258l-.071-.072a3 3 0 0 0-.228-.293 9 9 0 0 1-.405-.632 7 7 0 0 1-.375-1.026 7 7 0 0 1-.093-1.072c.043-.348.105-.686.195-1.025q.16-.388.367-.751a1 1 0 0 0 .056-.092c.107-.147.224-.284.341-.412.072-.086.155-.167.237-.246l.067-.065c.165-.11.251-.174.276-.201q.294-.189.604-.349a6.4 6.4 0 0 1 1.005-.284 7 7 0 0 1 1.076 0c.356.074.704.166 1.055.284q.405.194.791.431c.011.009.05.037.098.064q.236.182.446.376c.094.079.183.169.27.258l.071.071c.126.175.198.266.228.294q.216.308.405.632c.149.339.281.687.375 1.035.034.173.06.356.075.531l.009.255.009.276a7 7 0 0 1-.194 1.035q-.16.389-.367.752" clip-rule="evenodd"/><path fill="#8092EE" fill-rule="evenodd" d="m166.536 122.143 28.659 8.82c1.077.33 1.879 1.302 1.957 2.401l3.072 35.109-.001.003c-.04.279-.862 6.036-6.063 11.611-4.631 4.974-16.473 11.606-19.043 12.915l-1.302.678c-.342.183-.985.192-1.361 0l-1.42-.678c-.138-.071-.282-.137-.463-.22a29 29 0 0 1-.957-.457c-4.798-2.4-15.802-7.933-20.564-12.238-6.145-5.556-7.983-11.293-8.084-11.608l-.002-.006-3.072-35.109c-.105-1.099.518-2.071 1.537-2.401zm6.112 66.087.02.009s.009 0 .026-.009zm.377-20.389h4.506c1.471 0 2.562-1.191 2.434-2.657h-.009l-.01-.109c-.128-1.466-1.427-2.657-2.898-2.657h-4.506l-.408-4.662c3.881-1.054 6.341-4.873 6.116-8.922a1 1 0 0 0-.008-.192.4.4 0 0 0-.007-.102q-.004-.025-.006-.054c-.206-1.822-.911-3.682-2.109-5.175a11.26 11.26 0 0 0-5.118-3.636c-3.605-1.273-7.861-.11-9.983 2.757-1.225 1.658-1.835 3.518-1.832 5.652.007 1.868.697 3.865 1.811 5.459 1.072 1.529 2.597 2.876 4.308 3.627.506.219 1.009.394 1.509.54q.002.033.002.067l.002.08 1.426 16.304c.128 1.466 1.428 2.656 2.899 2.656s2.562-1.19 2.434-2.656zm-.833-16.882a.5.5 0 0 0-.056.092 4 4 0 0 1-.342.41 2.2 2.2 0 0 1-.304.303c-.166.11-.251.174-.277.201-.2.129-.393.239-.604.348-.32.119-.661.22-1.005.284a7 7 0 0 1-1.076 0 9 9 0 0 1-1.054-.284 8 8 0 0 1-.791-.43 1 1 0 0 0-.098-.064 6 6 0 0 1-.447-.376 4 4 0 0 1-.27-.258l-.071-.072a3 3 0 0 0-.228-.293 9 9 0 0 1-.404-.632 7 7 0 0 1-.375-1.026 7 7 0 0 1-.094-1.071c.043-.349.106-.687.195-1.026a7 7 0 0 1 .367-.751.5.5 0 0 0 .056-.092q.164-.22.341-.412c.072-.086.156-.167.238-.246l.066-.065c.166-.11.251-.174.277-.201q.293-.188.604-.348c.32-.119.661-.22 1.005-.284a7 7 0 0 1 1.076 0c.355.073.703.165 1.054.284q.407.193.791.43c.011.009.05.037.098.064q.237.182.447.376c.093.079.182.169.27.258l.071.072c.125.174.197.265.228.293q.215.308.404.632c.149.339.281.687.376 1.035.034.173.059.356.074.531l.009.255.01.276a7 7 0 0 1-.195 1.035q-.16.389-.366.752" clip-rule="evenodd"/><path fill="#031031" fill-opacity=".5" fill-rule="evenodd" d="M249.143 139.557h-37.678l.357 4.085H249.5zm1.139 13.022h-37.678l.358 4.085h37.677zm-36.539 13.022h37.678l.358 4.085h-37.678zm38.817 13.021h-37.677l.357 4.086h37.678z" clip-rule="evenodd"/><path fill="#7887D2" fill-rule="evenodd" d="M252.143 135.557h-37.678l.357 4.085H252.5zm1.139 13.022h-37.678l.358 4.085h37.677zm-36.539 13.022h37.678l.358 4.085h-37.678zm38.817 13.021h-37.677l.357 4.086h37.678z" clip-rule="evenodd"/><defs><linearGradient id="a" x1="228.313" x2="228.313" y1="-98.142" y2="338.976" gradientUnits="userSpaceOnUse"><stop stop-color="#363B42"/><stop offset="1" stop-color="#363B42" stop-opacity="0"/></linearGradient><linearGradient id="b" x1="59.137" x2="59.137" y1="0" y2="17.809" gradientUnits="userSpaceOnUse"><stop stop-color="#EBF3FF"/><stop offset="1" stop-color="#D4E4FF"/></linearGradient><linearGradient id="c" x1="59.137" x2="59.137" y1="0" y2="17.809" gradientUnits="userSpaceOnUse"><stop stop-color="#7D87A1"/><stop offset="1" stop-color="#97A1BB"/></linearGradient><linearGradient id="d" x1="1.411" x2="66.523" y1="88.093" y2="99.442" gradientUnits="userSpaceOnUse"><stop stop-color="#1E3B7A"/><stop offset="1" stop-color="#153F8B"/></linearGradient><linearGradient id="e" x1="68.945" x2="68.945" y1="0" y2="105.817" gradientUnits="userSpaceOnUse"><stop stop-color="#E7F0FF"/><stop offset="1" stop-color="#F4F8FF"/></linearGradient><linearGradient id="f" x1="68.945" x2="68.945" y1="0" y2="105.817" gradientUnits="userSpaceOnUse"><stop stop-color="#586075"/><stop offset="1" stop-color="#65749C"/></linearGradient><linearGradient id="g" x1="119.119" x2="119.119" y1="0" y2="173.566" gradientUnits="userSpaceOnUse"><stop stop-color="#7D87A1"/><stop offset="1" stop-color="#97A1BB"/></linearGradient><linearGradient id="h" x1="119.119" x2="119.119" y1="0" y2="173.566" gradientUnits="userSpaceOnUse"><stop stop-color="#959FB9"/><stop offset="1" stop-color="#959FB9" stop-opacity="0"/></linearGradient><linearGradient id="i" x1="206.221" x2="206.221" y1="87.856" y2="223.769" gradientUnits="userSpaceOnUse"><stop stop-color="#0C2054"/><stop offset="1" stop-color="#113C81"/></linearGradient><linearGradient id="j" x1="206.221" x2="206.221" y1="87.856" y2="223.769" gradientUnits="userSpaceOnUse"><stop stop-color="#fff" stop-opacity="0"/><stop offset="1" stop-color="#9DA8E1"/></linearGradient><linearGradient id="k" x1="54" x2="54" y1="0" y2="108" gradientUnits="userSpaceOnUse"><stop stop-color="#586075"/><stop offset="1" stop-color="#65749C"/></linearGradient></defs></svg>
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { useUserStore } from '@/stores';
2
+ import { useUserStore } from '@/features/stores';
3
3
 
4
4
  defineOptions({
5
5
  name: 'NotPermission',
@@ -31,11 +31,9 @@ onMounted(() => {
31
31
  }, 1000);
32
32
  });
33
33
 
34
- async function goBack() {
35
- await userStore.logout();
36
- router.push({
37
- name: 'login',
38
- });
34
+ function goBack() {
35
+ userStore.logout();
36
+ router.push('/login');
39
37
  }
40
38
  </script>
41
39
 
@@ -58,16 +56,14 @@ async function goBack() {
58
56
  </div>
59
57
  </template>
60
58
 
61
- <style lang="scss" scoped>
59
+ <style scoped>
62
60
  .noPermissionIcon {
63
- background: url("@/assets/icons/403.svg") no-repeat;
61
+ background: url("./403.svg") no-repeat;
64
62
  background-size: 100% 100%;
65
63
  }
66
64
 
67
- [data-theme="dark"] {
68
- .noPermissionIcon {
69
- background: url("@/assets/icons/403_dark.svg") no-repeat;
70
- background-size: 100% 100%;
71
- }
65
+ [data-theme="dark"] .noPermissionIcon {
66
+ background: url("./403_dark.svg") no-repeat;
67
+ background-size: 100% 100%;
72
68
  }
73
69
  </style>
@@ -1,23 +1,44 @@
1
- import type { Router } from 'vue-router';
1
+ import type { Router, RouteRecordRaw } from 'vue-router';
2
2
  import {
3
3
  useFavoritesStore,
4
4
  useRouteStore,
5
5
  useSettingsStore,
6
6
  useTabbarStore,
7
7
  useUserStore,
8
- } from '@/stores';
8
+ } from '@/features/stores';
9
+ import { cleanup } from '@/utils';
10
+
11
+ const NotPermissionRoute: RouteRecordRaw = {
12
+ path: '/not-permission',
13
+ name: 'NotPermission',
14
+ component: () => import('./pages/not-permission/index.vue'),
15
+ meta: {
16
+ whiteList: true,
17
+ title: '无权限访问',
18
+ },
19
+ };
9
20
 
10
21
  /** 权限路由守卫 */
11
- export function createAuthGuard(router: Router) {
22
+ export function setupRouterGuard(router: Router) {
12
23
  const userStore = useUserStore();
13
24
  const routeStore = useRouteStore();
14
25
  const settingsStore = useSettingsStore();
15
26
  const tabbarStore = useTabbarStore();
16
27
  const favoritesStore = useFavoritesStore();
17
28
 
29
+ let isRouteAdded = false;
30
+
18
31
  router.beforeEach(async (to, from) => {
19
32
  const isAuthenticated = userStore.isLogin;
20
33
 
34
+ if (!isRouteAdded) {
35
+ if (!router.hasRoute(NotPermissionRoute.name!)) {
36
+ router.addRoute(NotPermissionRoute);
37
+ }
38
+ isRouteAdded = true;
39
+ return { ...to, replace: true };
40
+ }
41
+
21
42
  // 是否已登录
22
43
  if (!isAuthenticated) {
23
44
  // 白名单路由直接进入
@@ -33,23 +54,32 @@ export function createAuthGuard(router: Router) {
33
54
 
34
55
  // 是否已根据权限动态生成并注册路由
35
56
  if (!routeStore.isGenerate) {
36
- await Promise.allSettled([
37
- // 获取用户组织列表
38
- userStore.getUserInfo(),
57
+ const res = await Promise.allSettled([
39
58
  // 获取用户偏好设置
40
59
  settingsStore.settings.app.enableSettingPreferences && settingsStore.getPreferencesAll(),
60
+ // 获取用户组织列表
61
+ userStore.getUserInfo(),
41
62
  ]);
42
63
 
43
- await Promise.allSettled([
64
+ if (res.some(e => e.status === 'rejected')) {
65
+ cleanup();
66
+ return { name: 'Login' };
67
+ }
68
+
69
+ const res2 = await Promise.allSettled([
44
70
  // 复原固定标签页
45
71
  (tabbarStore as any).recoveryStorage(),
46
72
  // 复原收藏夹
47
73
  (favoritesStore as any).recoveryStorage(),
48
74
  // 生成动态路由
49
- settingsStore.settings.app.routeBaseOn === 'frontend' && routeStore.generateRoutesAtFront(),
50
- settingsStore.settings.app.routeBaseOn === 'backend' && routeStore.generateRoutesAtBack(),
75
+ routeStore.generateRoutes(),
51
76
  ]);
52
77
 
78
+ if (res2.some(e => e.status === 'rejected')) {
79
+ cleanup();
80
+ return { name: 'Login' };
81
+ }
82
+
53
83
  // 注册并记录路由数据
54
84
  // 记录的数据会在登出时会使用到,不使用 router.removeRoute 是考虑配置的路由可能不一定有设置 name
55
85
  // 则通过调用 router.addRoute() 返回的回调进行删除
@@ -0,0 +1,8 @@
1
+ export * from './authentication';
2
+ export * from './authorization';
3
+ export * from './layout-component';
4
+ export * from './locales';
5
+ export * from './n-progress';
6
+ export * from './pinia-plugin';
7
+ export * from './pre-access';
8
+ export * from './settings';
@@ -0,0 +1,273 @@
1
+ <script setup lang="ts">
2
+ import RiLogoutBoxLine from '~icons/ri/logout-box-line';
3
+ import BackTop from './components/BackTop/index.vue';
4
+ import LayoutContent from './components/Content/index.vue';
5
+ import Copyright from './components/Copyright/index.vue';
6
+ import LayoutHeader from './components/Header/index.vue';
7
+
8
+ import SettingBar from './components/SettingBar/index.vue';
9
+ // import Sidebar from './components/Sidebar/index.vue';
10
+ import MainSidebar from './components/Sidebar/MainSidebar.vue';
11
+ import SubSidebar from './components/Sidebar/SubSidebar.vue';
12
+ import Topbar from './components/Topbar/index.vue';
13
+ import { useContext } from './composables/useContext';
14
+ import { useGetSidebarActualWidth } from './composables/useGetComputedStyle';
15
+ import { useHotkey } from './composables/useHotkey';
16
+ import useWatermark from './composables/useWatermark';
17
+
18
+ defineOptions({
19
+ name: 'Layout',
20
+ });
21
+
22
+ const routeInfo = useRoute();
23
+ const { settingsStore, menuStore } = useContext();
24
+ const { mainSidebarActualWidth, subSidebarActualWidth } = useGetSidebarActualWidth();
25
+
26
+ useHotkey({
27
+ settingsStore,
28
+ menuStore,
29
+ });
30
+
31
+ useWatermark();
32
+
33
+ watch(() => settingsStore.settings.menu.subMenuCollapse, (val) => {
34
+ if (settingsStore.mode === 'mobile') {
35
+ if (!val) {
36
+ document.body.classList.add('overflow-hidden');
37
+ }
38
+ else {
39
+ document.body.classList.remove('overflow-hidden');
40
+ }
41
+ }
42
+ });
43
+
44
+ watch(() => routeInfo.path, () => {
45
+ if (settingsStore.mode === 'mobile') {
46
+ settingsStore.$patch((state) => {
47
+ state.settings.menu.subMenuCollapse = true;
48
+ });
49
+ }
50
+ });
51
+ </script>
52
+
53
+ <template>
54
+ <div
55
+ class="layout"
56
+ :style="{
57
+ '--g-main-sidebar-actual-width': mainSidebarActualWidth,
58
+ '--g-sub-sidebar-actual-width': subSidebarActualWidth,
59
+ }"
60
+ >
61
+ <div id="app-main" :class="{ 'main-page-maximize': settingsStore.mainPageMaximizeStatus }">
62
+ <slot name="header">
63
+ <LayoutHeader />
64
+ </slot>
65
+
66
+ <div class="wrapper">
67
+ <div
68
+ class="sidebar-container"
69
+ :class="{ show: settingsStore.mode === 'mobile' && !settingsStore.settings.menu.subMenuCollapse }"
70
+ >
71
+ <!-- TODO 这种写法会导致侧边栏模式的布局下,有样式问题 -->
72
+ <!-- <slot name="sidebar">
73
+ <Sidebar />
74
+ </slot> -->
75
+
76
+ <MainSidebar />
77
+ <SubSidebar />
78
+ </div>
79
+
80
+ <div
81
+ class="sidebar-mask"
82
+ :class="{ show: settingsStore.mode === 'mobile' && !settingsStore.settings.menu.subMenuCollapse }"
83
+ @click="settingsStore.toggleSidebarCollapse()"
84
+ />
85
+
86
+ <div class="main-container" :style="{ 'padding-bottom': routeInfo.meta.paddingBottom }">
87
+ <slot name="topbar">
88
+ <Topbar />
89
+ </slot>
90
+
91
+ <div class="main">
92
+ <div
93
+ v-show="settingsStore.mainPageMaximizeStatus"
94
+ class="exit-main-page-maximize"
95
+ @click="settingsStore.setMainPageMaximize()"
96
+ >
97
+ <RiLogoutBoxLine />
98
+ </div>
99
+
100
+ <slot>
101
+ <LayoutContent />
102
+ </slot>
103
+ </div>
104
+
105
+ <slot name="footer">
106
+ <Copyright />
107
+ </slot>
108
+ </div>
109
+ </div>
110
+ </div>
111
+
112
+ <SettingBar />
113
+ <BackTop />
114
+ </div>
115
+ </template>
116
+
117
+ <style scoped>
118
+ [data-app-width-mode="adaption"] #app-main {
119
+ --at-apply: w-full;
120
+ }
121
+
122
+ [data-app-width-mode="adaption-min-width"] #app-main {
123
+ width: max(var(--g-app-width), 100%);
124
+ }
125
+
126
+ [data-app-width-mode="center"] #app-main {
127
+ --at-apply: w-[--g-app-width];
128
+ }
129
+
130
+ [data-app-width-mode="center-max-width"] #app-main {
131
+ width: min(var(--g-app-width), 100%);
132
+ }
133
+
134
+ [data-mode="mobile"] #app-main {
135
+ --at-apply: w-full;
136
+ }
137
+
138
+ [data-mode="mobile"] .sidebar-container {
139
+ transform: translateX(calc((var(--g-main-sidebar-width) + var(--g-sub-sidebar-width)) * -1));
140
+ }
141
+
142
+ [data-mode="mobile"] .sidebar-container.show {
143
+ transform: translateX(0);
144
+ }
145
+
146
+ [data-mode="mobile"] .main-container {
147
+ margin-left: 0 !important;
148
+ }
149
+
150
+ [data-mode="mobile"][data-menu-mode="single"] .sidebar-container {
151
+ transform: translateX(calc(var(--g-sub-sidebar-width) * -1));
152
+ }
153
+
154
+ [data-mode="mobile"][data-menu-mode="single"] .sidebar-container.show {
155
+ transform: translateX(0);
156
+ }
157
+
158
+ .layout {
159
+ --at-apply: h-full;
160
+ }
161
+
162
+ #app-main {
163
+ --at-apply: h-full bg-[--g-bg] mx-auto my-0;
164
+ }
165
+
166
+ #app-main.main-page-maximize header,
167
+ #app-main.main-page-maximize .sidebar-container {
168
+ --at-apply: hidden;
169
+ }
170
+
171
+ #app-main.main-page-maximize .wrapper {
172
+ --at-apply: pt-0;
173
+ }
174
+
175
+ #app-main.main-page-maximize .wrapper .main-container {
176
+ --at-apply: ml-0;
177
+ }
178
+
179
+ #app-main.main-page-maximize .wrapper .main-container .topbar-container {
180
+ --at-apply: hidden;
181
+ }
182
+
183
+ #app-main.main-page-maximize .wrapper .main-container .main {
184
+ --at-apply: m-0;
185
+ }
186
+
187
+ #app-main.main-page-maximize :deep([data-fixed-calc-width]) {
188
+ --at-apply: w-full -translate-x-2/4;
189
+ }
190
+
191
+ .wrapper {
192
+ --at-apply: relative w-full h-full;
193
+ transition: padding-top 0.3s;
194
+ }
195
+
196
+ .wrapper .sidebar-container {
197
+ --at-apply: fixed top-0 bottom-0 z-501 flex;
198
+ width: calc(var(--g-main-sidebar-actual-width) + var(--g-sub-sidebar-actual-width));
199
+ box-shadow: -1px 0 0 0 var(--g-border-color), 1px 0 0 0 var(--g-border-color);
200
+ transition: width 0.3s, transform 0.3s, box-shadow 0.3s, top 0.3s;
201
+ }
202
+
203
+ .wrapper .sidebar-mask {
204
+ --at-apply: fixed z-[500] w-full h-full invisible opacity-0 left-0 top-0;
205
+
206
+ background-size: 4px 4px;
207
+ backdrop-filter: saturate(50%) blur(4px);
208
+ transition: all 0.2s;
209
+ background-image: radial-gradient(transparent 1px, rgb(0 0 0 / 30%) 1px);
210
+ }
211
+
212
+ .wrapper .sidebar-mask.show {
213
+ --at-apply: visible op-100;
214
+ }
215
+
216
+ .wrapper .main-sidebar-container:not(.main-sidebar-leave-active) + .sub-sidebar-container {
217
+ --at-apply: left-[--g-main-sidebar-width];
218
+ }
219
+
220
+ .wrapper .main-container {
221
+ --at-apply: flex flex-col h-0 min-h-full;
222
+ margin-left: calc(var(--g-main-sidebar-actual-width) + var(--g-sub-sidebar-actual-width));
223
+ box-shadow: -1px 0 0 0 var(--g-border-color), 1px 0 0 0 var(--g-border-color);
224
+ transition: margin-left 0.3s, background-color 0.3s, box-shadow 0.3s;
225
+ }
226
+
227
+ .wrapper .main-container .main {
228
+ --at-apply: relative flex-[auto] basis-0 h-0;
229
+ transition: 0.3s;
230
+ }
231
+
232
+ .wrapper .main-container .main .exit-main-page-maximize {
233
+ --at-apply: bg-stone-7 dark:bg-stone-3 text-stone-3 dark:text-stone-7
234
+ op-50 hover:op-100 transition-opacity fixed z-[1000] w-20 h-20 cursor-pointer
235
+ rounded-[50%] -right-10 -top-10;
236
+ }
237
+
238
+ .wrapper .main-container .main .exit-main-page-maximize svg {
239
+ --at-apply: absolute bottom-4 left-4;
240
+ }
241
+
242
+ .wrapper .main-container .topbar-container.has-tabbar + .main {
243
+ margin: var(--g-tabbar-height) 0 0;
244
+ }
245
+
246
+ .wrapper .main-container .topbar-container.has-toolbar + .main {
247
+ margin: var(--g-toolbar-height) 0 0;
248
+ }
249
+
250
+ .wrapper .main-container .topbar-container.has-tabbar.has-toolbar + .main {
251
+ margin: calc(var(--g-tabbar-height) + var(--g-toolbar-height)) 0 0;
252
+ }
253
+
254
+ header:not(.header-leave-active) + .wrapper {
255
+ --at-apply: pt-[--g-header-height];
256
+ }
257
+
258
+ header:not(.header-leave-active) + .wrapper .sidebar-container {
259
+ --at-apply: top-[--g-header-height];
260
+ }
261
+
262
+ header:not(.header-leave-active) + .wrapper .sidebar-container :deep(.sidebar-logo) {
263
+ --at-apply: hidden;
264
+ }
265
+
266
+ header:not(.header-leave-active) + .wrapper .main-container .topbar-container {
267
+ --at-apply: top-[--g-header-height];
268
+ }
269
+
270
+ header:not(.header-leave-active) + .wrapper .main-container .topbar-container :deep(.tools) {
271
+ --at-apply: hidden;
272
+ }
273
+ </style>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 190 170" preserveAspectRatio="xMidYMid meet"><mask id="a" width="190" height="170" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#D9D9D9" d="M0 0h190v170H0z"/></mask><g mask="url(#a)"><g filter="url(#b)"><ellipse cx="95" cy="84.706" fill="url(#c)" fill-opacity=".8" rx="65" ry="64.706" shape-rendering="crispEdges"/></g><g filter="url(#d)"><rect width="146" height="98" x="22" y="35" fill="#fff" rx="3.065"/><rect width="146" height="98" x="22" y="35" fill="url(#e)" rx="3.065"/></g><rect width="101" height="6" x="58" y="78.706" fill="#EEF2F6" opacity=".7" rx="1.022"/><rect width="101" height="6" x="58" y="90.706" fill="#EEF2F6" opacity=".7" rx="1.022"/><rect width="101" height="6" x="58" y="102.706" fill="#EEF2F6" opacity=".7" rx="1.022"/><rect width="101" height="6" x="58" y="114.706" fill="#EEF2F6" opacity=".7" rx="1.022"/><rect width="101" height="6" x="58" y="54.706" fill="#EEF2F6" opacity=".7" rx="1.022"/><rect width="101" height="6" x="58" y="66.706" fill="#EEF2F6" opacity=".7" rx="1.022"/><rect width="9.254" height="4.083" x="66.193" y="39.46" fill="#ADBACC" opacity=".499" rx="2.042"/><path fill="#F2F4F6" d="M22 44.188h28.789V133h-25.19C23.61 133 22 131.629 22 129.938z"/><rect width="26.732" height="8.167" x="23.028" y="54.907" fill="#06F" fill-opacity=".16" rx="1.022"/><rect width="20.563" height="3.063" x="26.112" y="57.458" fill="#176DE6" rx=".511"/><path fill="#176DE6" d="M23.028 57.458h.223c.286 0 .429 0 .538.056a.5.5 0 0 1 .223.223c.056.11.056.252.056.538v1.428c0 .286 0 .43-.056.539a.5.5 0 0 1-.223.223c-.11.055-.252.055-.538.055h-.141c-.029 0-.043 0-.054-.005a.05.05 0 0 1-.022-.022c-.006-.011-.006-.026-.006-.054z"/><rect width="14.394" height="3.063" x="26.112" y="49.291" fill="#D8E0EB" rx=".511"/><rect width="14.394" height="3.063" x="26.112" y="65.625" fill="#D8E0EB" rx=".511"/><rect width="14.394" height="3.063" x="26.112" y="73.792" fill="#D8E0EB" rx=".511"/><rect width="14.394" height="3.063" x="26.112" y="81.958" fill="#D8E0EB" rx=".511"/><rect width="14.394" height="3.063" x="26.112" y="90.125" fill="#D8E0EB" rx=".511"/><rect width="14.394" height="3.063" x="26.112" y="98.292" fill="#D8E0EB" rx=".511"/><rect width="12.338" height="3.063" x="26.112" y="126.875" fill="#D8E0EB" rx=".511"/><ellipse cx="27.655" cy="39.594" fill="#fff" opacity=".747" rx="1.542" ry="1.531"/><ellipse cx="33.824" cy="39.594" fill="#fff" opacity=".747" rx="1.542" ry="1.531"/><ellipse cx="39.993" cy="39.594" fill="#fff" opacity=".747" rx="1.542" ry="1.531"/><g filter="url(#f)"><path fill="#fff" d="M22 38.065A3.064 3.064 0 0 1 25.064 35h139.871A3.065 3.065 0 0 1 168 38.065v8.164H22z"/><path fill="url(#g)" d="M22 38.065A3.064 3.064 0 0 1 25.064 35h139.871A3.065 3.065 0 0 1 168 38.065v8.164H22z"/></g><rect width="21.592" height="3.063" x="30.226" y="39.083" fill="#CFD8E5" opacity=".7" rx="1.022"/><rect width="8.225" height="3.063" x="151.549" y="39.083" fill="#CFD8E5" opacity=".7" rx="1.022"/><circle cx="44.581" cy="25.29" r="1.935" fill="#D9E8FD"/><circle cx="49.097" cy="22.064" r="1.29" fill="#D9E8FD"/><circle cx="178.129" cy="96.903" r="3.871" fill="#D9E8FD"/><circle cx="176.839" cy="86.581" r="1.29" fill="#D9E8FD"/><g filter="url(#h)"><rect width="76" height="88" x="100" y="53" fill="#fff" rx="3.065"/><rect width="76" height="88" x="100" y="53" fill="url(#i)" rx="3.065"/><rect width="76" height="88" x="100" y="53" fill="#F5F7FA" rx="3.065"/><rect width="76" height="88" x="100" y="53" stroke="#E6E9ED" rx="3.065"/></g><rect width="64" height="21" x="106" y="60.706" fill="#fff" rx="2"/><rect width="9" height="9" x="110" y="64.206" fill="#3AC27D" opacity=".15" rx="2"/><path fill="#30B471" fill-rule="evenodd" d="M116.96 66.175h-4.92a.33.33 0 0 0-.255.1.35.35 0 0 0-.097.262v4.338a.35.35 0 0 0 .097.262c.067.07.16.105.255.1h4.92a.33.33 0 0 0 .255-.1.35.35 0 0 0 .097-.262v-4.338a.35.35 0 0 0-.097-.262.33.33 0 0 0-.255-.1m-2.46 3.615h-1.757v-.723h1.757zm-1.757-1.446h3.514v-.723h-3.514z" clip-rule="evenodd"/><rect width="3" height="3" x="109" y="75.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="114" y="75.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="119" y="75.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="124" y="75.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="129" y="75.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="134" y="75.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="164" y="75.706" fill="#DADFE6" rx=".5"/><path fill="#ADBACC" d="M123 65.706a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-16a1 1 0 0 1-1-1z" opacity=".498"/><path fill="#E8EBF1" d="M123 70.706a1 1 0 0 1 1-1h42a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-42a1 1 0 0 1-1-1z"/><rect width="64" height="21" x="106" y="86.706" fill="#fff" rx="2"/><rect width="9" height="9" x="110" y="90.206" fill="#1A78FF" opacity=".15" rx="2"/><path fill="#0070FF" d="m117.424 96.28-.33-.117-2.241.808a1.04 1.04 0 0 1-.703 0l-2.244-.808-.33.118a.26.26 0 0 0-.17.24c0 .108.068.204.17.24l2.836 1.023a.26.26 0 0 0 .176 0l2.836-1.022a.26.26 0 0 0 .17-.24.26.26 0 0 0-.17-.241z"/><path fill="#0070FF" d="m117.424 94.747-.33-.118-2.241.807a1.04 1.04 0 0 1-.703 0l-2.244-.807-.33.118a.26.26 0 0 0-.17.24c0 .108.068.204.17.24l2.836 1.023a.26.26 0 0 0 .176 0l2.836-1.023a.26.26 0 0 0 .17-.24.26.26 0 0 0-.17-.24"/><path fill="#0070FF" d="m117.424 93.213-2.836-1.023a.26.26 0 0 0-.176 0l-2.836 1.023a.26.26 0 0 0-.17.24c0 .108.068.204.17.24l2.836 1.023a.26.26 0 0 0 .176 0l2.836-1.023a.26.26 0 0 0 .17-.24.26.26 0 0 0-.17-.24"/><rect width="3" height="3" x="109" y="101.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="114" y="101.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="119" y="101.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="124" y="101.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="129" y="101.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="134" y="101.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="164" y="101.706" fill="#DADFE6" rx=".5"/><path fill="#ADBACC" d="M123 91.706a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-20a1 1 0 0 1-1-1z" opacity=".498"/><path fill="#E8EBF1" d="M123 96.706a1 1 0 0 1 1-1h38a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-38a1 1 0 0 1-1-1z" opacity=".498"/><rect width="64" height="21" x="106" y="112.706" fill="#fff" rx="2"/><rect width="9" height="9" x="110" y="116.206" fill="#904EE2" opacity=".15" rx="2"/><path fill="#9046EB" d="M116.708 120.306a.45.45 0 0 0-.408-.25h-1.585l.653-1.57a.424.424 0 0 0-.188-.532.46.46 0 0 0-.576.095l-2.25 2.596a.42.42 0 0 0-.062.461.46.46 0 0 0 .408.249h1.585l-.653 1.57a.424.424 0 0 0 .188.532.46.46 0 0 0 .576-.094l2.25-2.597a.42.42 0 0 0 .062-.46"/><rect width="3" height="3" x="109" y="127.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="114" y="127.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="119" y="127.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="124" y="127.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="129" y="127.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="134" y="127.706" fill="#E6E9ED" fill-opacity=".8" rx=".5"/><rect width="3" height="3" x="164" y="127.706" fill="#DADFE6" rx=".5"/><path fill="#ADBACC" d="M123 117.706a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-20a1 1 0 0 1-1-1z" opacity=".498"/><path fill="#E8EBF1" d="M123 122.706a1 1 0 0 1 1-1h38a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-38a1 1 0 0 1-1-1z" opacity=".498"/></g><defs><linearGradient id="c" x1="166.5" x2="61.117" y1="161.206" y2="19.248" gradientUnits="userSpaceOnUse"><stop stop-color="#C4DCFF"/><stop offset="1" stop-color="#F5F7FA"/></linearGradient><linearGradient id="e" x1="-46.531" x2="39.043" y1="81.461" y2="210.632" gradientUnits="userSpaceOnUse"><stop stop-color="#F7F8FA"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="g" x1="-46.531" x2="-44.923" y1="40.324" y2="61.498" gradientUnits="userSpaceOnUse"><stop stop-color="#F7F8FA"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="i" x1="64.326" x2="147.037" y1="94.72" y2="167.095" gradientUnits="userSpaceOnUse"><stop stop-color="#F7F8FA"/><stop offset="1" stop-color="#fff"/></linearGradient><filter id="b" width="150" height="152.412" x="20" y="15" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="8"/><feGaussianBlur stdDeviation="5"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix values="0 0 0 0 0.570833 0 0 0 0 0.749653 0 0 0 0 1 0 0 0 0.12 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_76_32712"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="1"/><feGaussianBlur stdDeviation="3"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.25 0"/><feBlend in2="effect1_dropShadow_76_32712" result="effect2_dropShadow_76_32712"/><feBlend in="SourceGraphic" in2="effect2_dropShadow_76_32712" result="shape"/></filter><filter id="d" width="156" height="108" x="17" y="32" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="2"/><feGaussianBlur stdDeviation="2.5"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix values="0 0 0 0 0.504167 0 0 0 0 0.711918 0 0 0 0 1 0 0 0 0.1 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_76_32712"/><feBlend in="SourceGraphic" in2="effect1_dropShadow_76_32712" result="shape"/></filter><filter id="f" width="154.172" height="19.401" x="17.914" y="32.957" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="2.043"/><feGaussianBlur stdDeviation="2.043"/><feColorMatrix values="0 0 0 0 0.819608 0 0 0 0 0.85098 0 0 0 0 0.901961 0 0 0 0.3 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_76_32712"/><feBlend in="SourceGraphic" in2="effect1_dropShadow_76_32712" result="shape"/></filter><filter id="h" width="87" height="99" x="94.5" y="49.5" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="2"/><feGaussianBlur stdDeviation="2.5"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix values="0 0 0 0 0.504167 0 0 0 0 0.711918 0 0 0 0 1 0 0 0 0.2 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_76_32712"/><feBlend in="SourceGraphic" in2="effect1_dropShadow_76_32712" result="shape"/></filter></defs></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" class="icon" viewBox="0 0 1028 1024" preserveAspectRatio="xMidYMid meet"><path d="M989.867 234.667H499.2c-17.067 0-34.133-21.334-34.133-42.667 0-25.6 12.8-42.667 34.133-42.667h490.667c17.066 0 34.133 17.067 34.133 42.667 0 21.333-12.8 42.667-34.133 42.667m-473.6 128h465.066c25.6 0 46.934 21.333 46.934 42.666 0 25.6-21.334 42.667-46.934 42.667H516.267c-25.6 0-46.934-17.067-46.934-42.667s21.334-42.666 46.934-42.666m0 298.666c-25.6 0-46.934-21.333-46.934-42.666 0-25.6 21.334-42.667 46.934-42.667h465.066c25.6 0 46.934 17.067 46.934 42.667s-21.334 42.666-46.934 42.666zm4.266 128H972.8c29.867 0 51.2 17.067 51.2 42.667s-21.333 42.667-51.2 42.667H520.533c-29.866 0-51.2-17.067-51.2-42.667s21.334-42.667 51.2-42.667m-192 25.6c-17.066 17.067-46.933 17.067-64 0L12.8 541.867c-17.067-17.067-17.067-51.2 0-68.267l251.733-273.067c17.067-17.066 46.934-17.066 64 0s17.067 51.2 0 68.267L106.667 507.733l221.866 238.934c17.067 21.333 17.067 51.2 0 68.266"/></svg>
@@ -52,8 +52,7 @@ watch(() => route.fullPath, (val) => {
52
52
  </div>
53
53
  </template>
54
54
 
55
- <style lang="scss" scoped>
56
- // iframe区动画
55
+ <style scoped>
57
56
  .fade-enter-active,
58
57
  .slide-left-enter-active,
59
58
  .slide-right-enter-active,