@pubinfo/core 2.0.0-beta.1

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 (742) hide show
  1. package/es/AppSetting-BXQHV5F8.js +125 -0
  2. package/es/HButton.vue_vue_type_script_setup_true_lang-CYAzn9Mg.js +25 -0
  3. package/es/HCheckList.vue_vue_type_script_setup_true_lang-DanhyVxU.js +41 -0
  4. package/es/HDivider-DgXBhPr0.js +21 -0
  5. package/es/HInput.vue_vue_type_script_setup_true_lang-DBqCXRnn.js +33 -0
  6. package/es/HToggle-Cd71WKvG.js +34 -0
  7. package/es/PreferencesContent-CQkwkQ_1.js +972 -0
  8. package/es/SettingBreadcrumb-Bp_66IFN.js +50 -0
  9. package/es/SettingCopyright-BPSnoTQb.js +62 -0
  10. package/es/SettingEnableTransition-Rx2-0Wxj.js +78 -0
  11. package/es/SettingHome-BW27PQqs.js +55 -0
  12. package/es/SettingMenu-D5gdNfal.js +120 -0
  13. package/es/SettingMode-B4_HGVez.js +69 -0
  14. package/es/SettingNavSearch-CRovYxzh.js +46 -0
  15. package/es/SettingOther-D0zo11vM.js +81 -0
  16. package/es/SettingPage-B8GHuoKV.js +29 -0
  17. package/es/SettingTabbar-Cn_QzvA8.js +154 -0
  18. package/es/SettingThemes-D_DpEncn.js +144 -0
  19. package/es/SettingToolbar-Csl2gnfi.js +85 -0
  20. package/es/SettingTopbar-CaHjQULM.js +52 -0
  21. package/es/SettingWidthMode-BGiP7gTw.js +68 -0
  22. package/es/TopThinMode-DWm0oY5Y.js +35 -0
  23. package/es/_...all_-DI_QAUox.js +52 -0
  24. package/es/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  25. package/es/api/enum/code.d.ts +67 -0
  26. package/es/api/helper.d.ts +32 -0
  27. package/es/api/index.d.ts +12 -0
  28. package/es/api/interface.d.ts +14 -0
  29. package/es/api/modules/auth/index.d.ts +1 -0
  30. package/es/api/modules/auth/renzhengfuwu.d.ts +50 -0
  31. package/es/api/modules/configData/heibaimingdanfuwu.d.ts +36 -0
  32. package/es/api/modules/configData/index.d.ts +3 -0
  33. package/es/api/modules/configData/xitongpeizhifuwu.d.ts +99 -0
  34. package/es/api/modules/configData/zidianfuwu.d.ts +71 -0
  35. package/es/api/modules/rbac/gangweijiekou.d.ts +43 -0
  36. package/es/api/modules/rbac/index.d.ts +11 -0
  37. package/es/api/modules/rbac/jiaosejiekou.d.ts +50 -0
  38. package/es/api/modules/rbac/pubJiaosezukongzhiqi.d.ts +43 -0
  39. package/es/api/modules/rbac/shujuquanxianzhubiaokongzhiqi.d.ts +64 -0
  40. package/es/api/modules/rbac/yonghujiekou.d.ts +106 -0
  41. package/es/api/modules/rbac/yonghushoucangbiaojiekou.d.ts +36 -0
  42. package/es/api/modules/rbac/yonghuzuijinchangyongbiaojiekou.d.ts +29 -0
  43. package/es/api/modules/rbac/ziyuanjiekou.d.ts +85 -0
  44. package/es/api/modules/rbac/zuhuguanlijiekou.d.ts +36 -0
  45. package/es/api/modules/rbac/zuzhijiaosebiaokongzhiqi.d.ts +29 -0
  46. package/es/api/modules/rbac/zuzhijiekou.d.ts +64 -0
  47. package/es/api/request.d.ts +2 -0
  48. package/es/api/system/app.d.ts +17 -0
  49. package/es/api/system/user.d.ts +24 -0
  50. package/es/assets/styles/index.d.ts +6 -0
  51. package/es/colors-oRlAXMUC.js +25 -0
  52. package/es/components/NotAllowed/index.vue.d.ts +2 -0
  53. package/es/components/PageHeader/index.vue.d.ts +23 -0
  54. package/es/components/PageMain/index.vue.d.ts +27 -0
  55. package/es/components/PassStrengthValidator/index.vue.d.ts +26 -0
  56. package/es/components/PassStrengthValidator/rule.vue.d.ts +8 -0
  57. package/es/components/PubinfoApp/index.vue.d.ts +2 -0
  58. package/es/components/PubinfoIcon/index.vue.d.ts +10 -0
  59. package/es/components/PubinfoProvider/index.d.ts +8 -0
  60. package/es/components/index.d.ts +8 -0
  61. package/es/composables/auth.d.ts +8 -0
  62. package/es/composables/index.d.ts +4 -0
  63. package/es/composables/log.d.ts +6 -0
  64. package/es/composables/theme.d.ts +3 -0
  65. package/es/composables/watchDiff.d.ts +2 -0
  66. package/es/config/index.d.ts +1 -0
  67. package/es/config/settings.d.ts +3 -0
  68. package/es/context.d.ts +14 -0
  69. package/es/create.d.ts +3 -0
  70. package/es/directives/index.d.ts +4 -0
  71. package/es/directives/plugins/permission.d.ts +6 -0
  72. package/es/index-B9I6Pru6.js +276 -0
  73. package/es/index-BHkrq701.js +137 -0
  74. package/es/index-BkqnOkyO.js +49 -0
  75. package/es/index-BvVAS3S-.js +35841 -0
  76. package/es/index-ChOUZNbk.js +354 -0
  77. package/es/index-D8eeneI_.js +271 -0
  78. package/es/index-DTQQt_XY.js +10 -0
  79. package/es/index-Dav3jQVP.js +8228 -0
  80. package/es/index-DvHnVMX5.js +12913 -0
  81. package/es/index-P2cA5UeU.js +230 -0
  82. package/es/index.d.ts +11 -0
  83. package/es/index.js +76 -0
  84. package/es/index.vue_vue_type_style_index_0_scoped_fa1c6ee4_lang-BBe8CvCV.js +2300 -0
  85. package/es/interface.d.ts +29 -0
  86. package/es/layout/Layout.vue.d.ts +20 -0
  87. package/es/layout/components/BackTop/index.vue.d.ts +2 -0
  88. package/es/layout/components/Content/IframeView.vue.d.ts +4 -0
  89. package/es/layout/components/Content/LinkView.vue.d.ts +2 -0
  90. package/es/layout/components/Content/index.vue.d.ts +2 -0
  91. package/es/layout/components/Copyright/index.vue.d.ts +2 -0
  92. package/es/layout/components/Header/TopMode/More.vue.d.ts +26 -0
  93. package/es/layout/components/Header/TopMode/NotCursor.vue.d.ts +25 -0
  94. package/es/layout/components/Header/TopMode/index.vue.d.ts +4 -0
  95. package/es/layout/components/Header/TopThinMode.vue.d.ts +4 -0
  96. package/es/layout/components/Header/index.vue.d.ts +19 -0
  97. package/es/layout/components/Logo/index.vue.d.ts +26 -0
  98. package/es/layout/components/Menu/index.vue.d.ts +10 -0
  99. package/es/layout/components/Menu/item.vue.d.ts +11 -0
  100. package/es/layout/components/Menu/sub.vue.d.ts +219 -0
  101. package/es/layout/components/Menu/types.d.ts +42 -0
  102. package/es/layout/components/SettingBar/AppSetting.vue.d.ts +12 -0
  103. package/es/layout/components/SettingBar/components/DayNightToggle.vue.d.ts +9 -0
  104. package/es/layout/components/SettingBar/components/SettingBreadcrumb.vue.d.ts +2 -0
  105. package/es/layout/components/SettingBar/components/SettingCopyright.vue.d.ts +2 -0
  106. package/es/layout/components/SettingBar/components/SettingEnableTransition.vue.d.ts +2 -0
  107. package/es/layout/components/SettingBar/components/SettingHome.vue.d.ts +2 -0
  108. package/es/layout/components/SettingBar/components/SettingMenu.vue.d.ts +2 -0
  109. package/es/layout/components/SettingBar/components/SettingMode.vue.d.ts +2 -0
  110. package/es/layout/components/SettingBar/components/SettingNavSearch.vue.d.ts +2 -0
  111. package/es/layout/components/SettingBar/components/SettingOther.vue.d.ts +2 -0
  112. package/es/layout/components/SettingBar/components/SettingPage.vue.d.ts +2 -0
  113. package/es/layout/components/SettingBar/components/SettingTabbar.vue.d.ts +2 -0
  114. package/es/layout/components/SettingBar/components/SettingThemes.vue.d.ts +2 -0
  115. package/es/layout/components/SettingBar/components/SettingToolbar.vue.d.ts +2 -0
  116. package/es/layout/components/SettingBar/components/SettingTopbar.vue.d.ts +2 -0
  117. package/es/layout/components/SettingBar/components/SettingWidthMode.vue.d.ts +2 -0
  118. package/es/layout/components/SettingBar/index.vue.d.ts +2 -0
  119. package/es/layout/components/Sidebar/MainSidebar.vue.d.ts +2 -0
  120. package/es/layout/components/Sidebar/SubSidebar.vue.d.ts +2 -0
  121. package/es/layout/components/Sidebar/index.vue.d.ts +2 -0
  122. package/es/layout/components/Tools/Breadcrumb/index.vue.d.ts +17 -0
  123. package/es/layout/components/Tools/Breadcrumb/item.vue.d.ts +25 -0
  124. package/es/layout/components/Tools/DayNightSwitch.vue.d.ts +2 -0
  125. package/es/layout/components/Tools/HotkeysIntro.vue.d.ts +4 -0
  126. package/es/layout/components/Tools/Preferences/PreferencesContent.vue.d.ts +2 -0
  127. package/es/layout/components/Tools/Preferences/index.vue.d.ts +4 -0
  128. package/es/layout/components/Tools/Search.vue.d.ts +199 -0
  129. package/es/layout/components/Tools/index.vue.d.ts +233 -0
  130. package/es/layout/components/Topbar/Tabbar/MoreAction.vue.d.ts +217 -0
  131. package/es/layout/components/Topbar/Tabbar/index.vue.d.ts +14 -0
  132. package/es/layout/components/Topbar/Toolbar/Favorites.vue.d.ts +4 -0
  133. package/es/layout/components/Topbar/Toolbar/Star.vue.d.ts +2 -0
  134. package/es/layout/components/Topbar/Toolbar/index.vue.d.ts +2 -0
  135. package/es/layout/components/Topbar/index.vue.d.ts +2 -0
  136. package/es/layout/composables/useContext.d.ts +18 -0
  137. package/es/layout/composables/useGetComputedStyle.d.ts +15 -0
  138. package/es/layout/composables/useHotkey.d.ts +5 -0
  139. package/es/layout/composables/useMainPage.d.ts +14 -0
  140. package/es/layout/composables/useMenu.d.ts +8 -0
  141. package/es/layout/composables/useTabbar.d.ts +14 -0
  142. package/es/layout/composables/useTitle.d.ts +3 -0
  143. package/es/layout/composables/useViewTransition.d.ts +3 -0
  144. package/es/layout/composables/useWatermark.d.ts +4 -0
  145. package/es/layout/index.d.ts +19 -0
  146. package/es/layout/provider.d.ts +1 -0
  147. package/es/layout/ui-kit/HBadge.vue.d.ts +20 -0
  148. package/es/layout/ui-kit/HButton.vue.d.ts +26 -0
  149. package/es/layout/ui-kit/HCheckList.vue.d.ts +20 -0
  150. package/es/layout/ui-kit/HDialog.vue.d.ts +28 -0
  151. package/es/layout/ui-kit/HDivider.vue.d.ts +20 -0
  152. package/es/layout/ui-kit/HDropdown.vue.d.ts +18 -0
  153. package/es/layout/ui-kit/HDropdownMenu.vue.d.ts +26 -0
  154. package/es/layout/ui-kit/HDropdownTree.vue.d.ts +32 -0
  155. package/es/layout/ui-kit/HInput.vue.d.ts +17 -0
  156. package/es/layout/ui-kit/HKbd.vue.d.ts +17 -0
  157. package/es/layout/ui-kit/HSelect.vue.d.ts +17 -0
  158. package/es/layout/ui-kit/HSlideover.vue.d.ts +30 -0
  159. package/es/layout/ui-kit/HTabList.vue.d.ts +22 -0
  160. package/es/layout/ui-kit/HToggle.vue.d.ts +14 -0
  161. package/es/layout/ui-kit/HTooltip.vue.d.ts +23 -0
  162. package/es/locales/index.d.ts +301 -0
  163. package/es/locales/lang/en.json.d.ts +99 -0
  164. package/es/locales/lang/zh-cn.json.d.ts +100 -0
  165. package/es/locales/lang/zh-tw.json.d.ts +100 -0
  166. package/es/locales/ui.d.ts +3 -0
  167. package/es/modules.d.ts +11 -0
  168. package/es/notification-6D5hA7Bp.js +15347 -0
  169. package/es/pages/personal/profile/index.vue.d.ts +2 -0
  170. package/es/pages/system/[...all].vue.d.ts +2 -0
  171. package/es/pages/system/change-organization/index.vue.d.ts +2 -0
  172. package/es/pages/system/change-password/components/ChangePasswordForm/index.vue.d.ts +18 -0
  173. package/es/pages/system/change-password/index.vue.d.ts +31 -0
  174. package/es/pages/system/index.vue.d.ts +2 -0
  175. package/es/pages/system/not-permission/index.vue.d.ts +2 -0
  176. package/es/pages/system/reload.vue.d.ts +2 -0
  177. package/es/pick-Br-UKn7B.js +19 -0
  178. package/es/question-line-CfkciTFq.js +18 -0
  179. package/es/reload-CUcPYtl7.js +14 -0
  180. package/es/request.js +1811 -0
  181. package/es/right-Bfe2p1o0.js +36 -0
  182. package/es/route/async.d.ts +9 -0
  183. package/es/route/guard/auth.d.ts +3 -0
  184. package/es/route/guard/basic.d.ts +3 -0
  185. package/es/route/guard/index.d.ts +3 -0
  186. package/es/route/guard/setting.d.ts +3 -0
  187. package/es/route/index.d.ts +7 -0
  188. package/es/route/routes.d.ts +3 -0
  189. package/es/stores/enum/index.d.ts +20 -0
  190. package/es/stores/helper.d.ts +2 -0
  191. package/es/stores/index.d.ts +5 -0
  192. package/es/stores/modules/favorites.d.ts +32 -0
  193. package/es/stores/modules/iframe.d.ts +41 -0
  194. package/es/stores/modules/index.d.ts +9 -0
  195. package/es/stores/modules/keepAlive.d.ts +23 -0
  196. package/es/stores/modules/menu.d.ts +32 -0
  197. package/es/stores/modules/notification.d.ts +18 -0
  198. package/es/stores/modules/route.d.ts +42 -0
  199. package/es/stores/modules/settings.d.ts +85 -0
  200. package/es/stores/modules/tabbar.d.ts +59 -0
  201. package/es/stores/modules/user.d.ts +3 -0
  202. package/es/stores/plugin/persist.d.ts +5 -0
  203. package/es/stores/plugin/sideEffect/cleanup.d.ts +5 -0
  204. package/es/stores/plugin/sideEffect/favoritesStorage.d.ts +5 -0
  205. package/es/stores/plugin/sideEffect/iframeCache.d.ts +5 -0
  206. package/es/stores/plugin/sideEffect/index.d.ts +5 -0
  207. package/es/stores/plugin/sideEffect/tabbarStorage.d.ts +5 -0
  208. package/es/style.css +9 -0
  209. package/es/utils/cleanup.d.ts +8 -0
  210. package/es/utils/crypto.d.ts +4 -0
  211. package/es/utils/eventBus.d.ts +5 -0
  212. package/es/utils/index.d.ts +14 -0
  213. package/es/utils/injectionKeys.d.ts +2 -0
  214. package/es/utils/storage.d.ts +21 -0
  215. package/es/utils/utils.d.ts +3 -0
  216. package/es/utils/watermark.d.ts +51 -0
  217. package/lib/AppSetting-CCiwpjoq.cjs +1 -0
  218. package/lib/HButton.vue_vue_type_script_setup_true_lang-D-XkyoXl.cjs +1 -0
  219. package/lib/HCheckList.vue_vue_type_script_setup_true_lang-DwA8einQ.cjs +1 -0
  220. package/lib/HDivider-DCfDgE8l.cjs +1 -0
  221. package/lib/HInput.vue_vue_type_script_setup_true_lang-CwS0mGyL.cjs +1 -0
  222. package/lib/HToggle-BP6YYf-s.cjs +1 -0
  223. package/lib/PreferencesContent-DgL-Jc_J.cjs +3 -0
  224. package/lib/SettingBreadcrumb-BQ78yEP4.cjs +1 -0
  225. package/lib/SettingCopyright-x7aPlkQy.cjs +1 -0
  226. package/lib/SettingEnableTransition-CD3-44Iy.cjs +1 -0
  227. package/lib/SettingHome-u52oz6i8.cjs +1 -0
  228. package/lib/SettingMenu-DsElOvvv.cjs +1 -0
  229. package/lib/SettingMode-C_kgpTxw.cjs +1 -0
  230. package/lib/SettingNavSearch-3auTi8UW.cjs +1 -0
  231. package/lib/SettingOther-6XGQq7OA.cjs +1 -0
  232. package/lib/SettingPage-C8yIHpLc.cjs +1 -0
  233. package/lib/SettingTabbar-K-nHb89z.cjs +1 -0
  234. package/lib/SettingThemes-BeNwFz7K.cjs +1 -0
  235. package/lib/SettingToolbar-Be1V7lwV.cjs +1 -0
  236. package/lib/SettingTopbar-C-j8O3c8.cjs +1 -0
  237. package/lib/SettingWidthMode-GMjAF-s3.cjs +1 -0
  238. package/lib/TopThinMode-DGUvyHT2.cjs +1 -0
  239. package/lib/_...all_-C4CXjAo9.cjs +1 -0
  240. package/lib/_plugin-vue_export-helper-BHFhmbuH.cjs +1 -0
  241. package/lib/api/enum/code.d.ts +67 -0
  242. package/lib/api/helper.d.ts +32 -0
  243. package/lib/api/index.d.ts +12 -0
  244. package/lib/api/interface.d.ts +14 -0
  245. package/lib/api/modules/auth/index.d.ts +1 -0
  246. package/lib/api/modules/auth/renzhengfuwu.d.ts +50 -0
  247. package/lib/api/modules/configData/heibaimingdanfuwu.d.ts +36 -0
  248. package/lib/api/modules/configData/index.d.ts +3 -0
  249. package/lib/api/modules/configData/xitongpeizhifuwu.d.ts +99 -0
  250. package/lib/api/modules/configData/zidianfuwu.d.ts +71 -0
  251. package/lib/api/modules/rbac/gangweijiekou.d.ts +43 -0
  252. package/lib/api/modules/rbac/index.d.ts +11 -0
  253. package/lib/api/modules/rbac/jiaosejiekou.d.ts +50 -0
  254. package/lib/api/modules/rbac/pubJiaosezukongzhiqi.d.ts +43 -0
  255. package/lib/api/modules/rbac/shujuquanxianzhubiaokongzhiqi.d.ts +64 -0
  256. package/lib/api/modules/rbac/yonghujiekou.d.ts +106 -0
  257. package/lib/api/modules/rbac/yonghushoucangbiaojiekou.d.ts +36 -0
  258. package/lib/api/modules/rbac/yonghuzuijinchangyongbiaojiekou.d.ts +29 -0
  259. package/lib/api/modules/rbac/ziyuanjiekou.d.ts +85 -0
  260. package/lib/api/modules/rbac/zuhuguanlijiekou.d.ts +36 -0
  261. package/lib/api/modules/rbac/zuzhijiaosebiaokongzhiqi.d.ts +29 -0
  262. package/lib/api/modules/rbac/zuzhijiekou.d.ts +64 -0
  263. package/lib/api/request.d.ts +2 -0
  264. package/lib/api/system/app.d.ts +17 -0
  265. package/lib/api/system/user.d.ts +24 -0
  266. package/lib/assets/styles/index.d.ts +6 -0
  267. package/lib/colors-KAaBT84S.cjs +1 -0
  268. package/lib/components/NotAllowed/index.vue.d.ts +2 -0
  269. package/lib/components/PageHeader/index.vue.d.ts +23 -0
  270. package/lib/components/PageMain/index.vue.d.ts +27 -0
  271. package/lib/components/PassStrengthValidator/index.vue.d.ts +26 -0
  272. package/lib/components/PassStrengthValidator/rule.vue.d.ts +8 -0
  273. package/lib/components/PubinfoApp/index.vue.d.ts +2 -0
  274. package/lib/components/PubinfoIcon/index.vue.d.ts +10 -0
  275. package/lib/components/PubinfoProvider/index.d.ts +8 -0
  276. package/lib/components/index.d.ts +8 -0
  277. package/lib/composables/auth.d.ts +8 -0
  278. package/lib/composables/index.d.ts +4 -0
  279. package/lib/composables/log.d.ts +6 -0
  280. package/lib/composables/theme.d.ts +3 -0
  281. package/lib/composables/watchDiff.d.ts +2 -0
  282. package/lib/config/index.d.ts +1 -0
  283. package/lib/config/settings.d.ts +3 -0
  284. package/lib/context.d.ts +14 -0
  285. package/lib/create.d.ts +3 -0
  286. package/lib/directives/index.d.ts +4 -0
  287. package/lib/directives/plugins/permission.d.ts +6 -0
  288. package/lib/index-38bsQrho.cjs +1 -0
  289. package/lib/index-BEqD62a0.cjs +1 -0
  290. package/lib/index-Bbm9CQRP.cjs +1 -0
  291. package/lib/index-BqHsuJkr.cjs +1 -0
  292. package/lib/index-JZl6Zh3L.cjs +44 -0
  293. package/lib/index-VGR0Mt4q.cjs +240 -0
  294. package/lib/index-WMo0GAa6.cjs +1 -0
  295. package/lib/index-_YsHduAE.cjs +1 -0
  296. package/lib/index-gr8kFwPx.cjs +18 -0
  297. package/lib/index-zvGq9tSu.cjs +1 -0
  298. package/lib/index.cjs +1 -0
  299. package/lib/index.d.ts +11 -0
  300. package/lib/index.vue_vue_type_style_index_0_scoped_fa1c6ee4_lang-SCJ5qyPu.cjs +1 -0
  301. package/lib/interface.d.ts +29 -0
  302. package/lib/layout/Layout.vue.d.ts +20 -0
  303. package/lib/layout/components/BackTop/index.vue.d.ts +2 -0
  304. package/lib/layout/components/Content/IframeView.vue.d.ts +4 -0
  305. package/lib/layout/components/Content/LinkView.vue.d.ts +2 -0
  306. package/lib/layout/components/Content/index.vue.d.ts +2 -0
  307. package/lib/layout/components/Copyright/index.vue.d.ts +2 -0
  308. package/lib/layout/components/Header/TopMode/More.vue.d.ts +26 -0
  309. package/lib/layout/components/Header/TopMode/NotCursor.vue.d.ts +25 -0
  310. package/lib/layout/components/Header/TopMode/index.vue.d.ts +4 -0
  311. package/lib/layout/components/Header/TopThinMode.vue.d.ts +4 -0
  312. package/lib/layout/components/Header/index.vue.d.ts +19 -0
  313. package/lib/layout/components/Logo/index.vue.d.ts +26 -0
  314. package/lib/layout/components/Menu/index.vue.d.ts +10 -0
  315. package/lib/layout/components/Menu/item.vue.d.ts +11 -0
  316. package/lib/layout/components/Menu/sub.vue.d.ts +219 -0
  317. package/lib/layout/components/Menu/types.d.ts +42 -0
  318. package/lib/layout/components/SettingBar/AppSetting.vue.d.ts +12 -0
  319. package/lib/layout/components/SettingBar/components/DayNightToggle.vue.d.ts +9 -0
  320. package/lib/layout/components/SettingBar/components/SettingBreadcrumb.vue.d.ts +2 -0
  321. package/lib/layout/components/SettingBar/components/SettingCopyright.vue.d.ts +2 -0
  322. package/lib/layout/components/SettingBar/components/SettingEnableTransition.vue.d.ts +2 -0
  323. package/lib/layout/components/SettingBar/components/SettingHome.vue.d.ts +2 -0
  324. package/lib/layout/components/SettingBar/components/SettingMenu.vue.d.ts +2 -0
  325. package/lib/layout/components/SettingBar/components/SettingMode.vue.d.ts +2 -0
  326. package/lib/layout/components/SettingBar/components/SettingNavSearch.vue.d.ts +2 -0
  327. package/lib/layout/components/SettingBar/components/SettingOther.vue.d.ts +2 -0
  328. package/lib/layout/components/SettingBar/components/SettingPage.vue.d.ts +2 -0
  329. package/lib/layout/components/SettingBar/components/SettingTabbar.vue.d.ts +2 -0
  330. package/lib/layout/components/SettingBar/components/SettingThemes.vue.d.ts +2 -0
  331. package/lib/layout/components/SettingBar/components/SettingToolbar.vue.d.ts +2 -0
  332. package/lib/layout/components/SettingBar/components/SettingTopbar.vue.d.ts +2 -0
  333. package/lib/layout/components/SettingBar/components/SettingWidthMode.vue.d.ts +2 -0
  334. package/lib/layout/components/SettingBar/index.vue.d.ts +2 -0
  335. package/lib/layout/components/Sidebar/MainSidebar.vue.d.ts +2 -0
  336. package/lib/layout/components/Sidebar/SubSidebar.vue.d.ts +2 -0
  337. package/lib/layout/components/Sidebar/index.vue.d.ts +2 -0
  338. package/lib/layout/components/Tools/Breadcrumb/index.vue.d.ts +17 -0
  339. package/lib/layout/components/Tools/Breadcrumb/item.vue.d.ts +25 -0
  340. package/lib/layout/components/Tools/DayNightSwitch.vue.d.ts +2 -0
  341. package/lib/layout/components/Tools/HotkeysIntro.vue.d.ts +4 -0
  342. package/lib/layout/components/Tools/Preferences/PreferencesContent.vue.d.ts +2 -0
  343. package/lib/layout/components/Tools/Preferences/index.vue.d.ts +4 -0
  344. package/lib/layout/components/Tools/Search.vue.d.ts +199 -0
  345. package/lib/layout/components/Tools/index.vue.d.ts +233 -0
  346. package/lib/layout/components/Topbar/Tabbar/MoreAction.vue.d.ts +217 -0
  347. package/lib/layout/components/Topbar/Tabbar/index.vue.d.ts +14 -0
  348. package/lib/layout/components/Topbar/Toolbar/Favorites.vue.d.ts +4 -0
  349. package/lib/layout/components/Topbar/Toolbar/Star.vue.d.ts +2 -0
  350. package/lib/layout/components/Topbar/Toolbar/index.vue.d.ts +2 -0
  351. package/lib/layout/components/Topbar/index.vue.d.ts +2 -0
  352. package/lib/layout/composables/useContext.d.ts +18 -0
  353. package/lib/layout/composables/useGetComputedStyle.d.ts +15 -0
  354. package/lib/layout/composables/useHotkey.d.ts +5 -0
  355. package/lib/layout/composables/useMainPage.d.ts +14 -0
  356. package/lib/layout/composables/useMenu.d.ts +8 -0
  357. package/lib/layout/composables/useTabbar.d.ts +14 -0
  358. package/lib/layout/composables/useTitle.d.ts +3 -0
  359. package/lib/layout/composables/useViewTransition.d.ts +3 -0
  360. package/lib/layout/composables/useWatermark.d.ts +4 -0
  361. package/lib/layout/index.d.ts +19 -0
  362. package/lib/layout/provider.d.ts +1 -0
  363. package/lib/layout/ui-kit/HBadge.vue.d.ts +20 -0
  364. package/lib/layout/ui-kit/HButton.vue.d.ts +26 -0
  365. package/lib/layout/ui-kit/HCheckList.vue.d.ts +20 -0
  366. package/lib/layout/ui-kit/HDialog.vue.d.ts +28 -0
  367. package/lib/layout/ui-kit/HDivider.vue.d.ts +20 -0
  368. package/lib/layout/ui-kit/HDropdown.vue.d.ts +18 -0
  369. package/lib/layout/ui-kit/HDropdownMenu.vue.d.ts +26 -0
  370. package/lib/layout/ui-kit/HDropdownTree.vue.d.ts +32 -0
  371. package/lib/layout/ui-kit/HInput.vue.d.ts +17 -0
  372. package/lib/layout/ui-kit/HKbd.vue.d.ts +17 -0
  373. package/lib/layout/ui-kit/HSelect.vue.d.ts +17 -0
  374. package/lib/layout/ui-kit/HSlideover.vue.d.ts +30 -0
  375. package/lib/layout/ui-kit/HTabList.vue.d.ts +22 -0
  376. package/lib/layout/ui-kit/HToggle.vue.d.ts +14 -0
  377. package/lib/layout/ui-kit/HTooltip.vue.d.ts +23 -0
  378. package/lib/locales/index.d.ts +301 -0
  379. package/lib/locales/lang/en.json.d.ts +99 -0
  380. package/lib/locales/lang/zh-cn.json.d.ts +100 -0
  381. package/lib/locales/lang/zh-tw.json.d.ts +100 -0
  382. package/lib/locales/ui.d.ts +3 -0
  383. package/lib/modules.d.ts +11 -0
  384. package/lib/notification-IZqPm_OK.cjs +199 -0
  385. package/lib/pages/personal/profile/index.vue.d.ts +2 -0
  386. package/lib/pages/system/[...all].vue.d.ts +2 -0
  387. package/lib/pages/system/change-organization/index.vue.d.ts +2 -0
  388. package/lib/pages/system/change-password/components/ChangePasswordForm/index.vue.d.ts +18 -0
  389. package/lib/pages/system/change-password/index.vue.d.ts +31 -0
  390. package/lib/pages/system/index.vue.d.ts +2 -0
  391. package/lib/pages/system/not-permission/index.vue.d.ts +2 -0
  392. package/lib/pages/system/reload.vue.d.ts +2 -0
  393. package/lib/pick-y2yLda1R.cjs +1 -0
  394. package/lib/question-line-Cd0CU4hr.cjs +1 -0
  395. package/lib/reload-6L7Dzs7h.cjs +1 -0
  396. package/lib/request.cjs +6 -0
  397. package/lib/right-C5JQ_uRB.cjs +1 -0
  398. package/lib/route/async.d.ts +9 -0
  399. package/lib/route/guard/auth.d.ts +3 -0
  400. package/lib/route/guard/basic.d.ts +3 -0
  401. package/lib/route/guard/index.d.ts +3 -0
  402. package/lib/route/guard/setting.d.ts +3 -0
  403. package/lib/route/index.d.ts +7 -0
  404. package/lib/route/routes.d.ts +3 -0
  405. package/lib/stores/enum/index.d.ts +20 -0
  406. package/lib/stores/helper.d.ts +2 -0
  407. package/lib/stores/index.d.ts +5 -0
  408. package/lib/stores/modules/favorites.d.ts +32 -0
  409. package/lib/stores/modules/iframe.d.ts +41 -0
  410. package/lib/stores/modules/index.d.ts +9 -0
  411. package/lib/stores/modules/keepAlive.d.ts +23 -0
  412. package/lib/stores/modules/menu.d.ts +32 -0
  413. package/lib/stores/modules/notification.d.ts +18 -0
  414. package/lib/stores/modules/route.d.ts +42 -0
  415. package/lib/stores/modules/settings.d.ts +85 -0
  416. package/lib/stores/modules/tabbar.d.ts +59 -0
  417. package/lib/stores/modules/user.d.ts +3 -0
  418. package/lib/stores/plugin/persist.d.ts +5 -0
  419. package/lib/stores/plugin/sideEffect/cleanup.d.ts +5 -0
  420. package/lib/stores/plugin/sideEffect/favoritesStorage.d.ts +5 -0
  421. package/lib/stores/plugin/sideEffect/iframeCache.d.ts +5 -0
  422. package/lib/stores/plugin/sideEffect/index.d.ts +5 -0
  423. package/lib/stores/plugin/sideEffect/tabbarStorage.d.ts +5 -0
  424. package/lib/style.css +9 -0
  425. package/lib/utils/cleanup.d.ts +8 -0
  426. package/lib/utils/crypto.d.ts +4 -0
  427. package/lib/utils/eventBus.d.ts +5 -0
  428. package/lib/utils/index.d.ts +14 -0
  429. package/lib/utils/injectionKeys.d.ts +2 -0
  430. package/lib/utils/storage.d.ts +21 -0
  431. package/lib/utils/utils.d.ts +3 -0
  432. package/lib/utils/watermark.d.ts +51 -0
  433. package/package.json +101 -0
  434. package/src/api/enum/code.ts +78 -0
  435. package/src/api/helper.ts +64 -0
  436. package/src/api/index.ts +75 -0
  437. package/src/api/interface.ts +15 -0
  438. package/src/api/modules/auth/index.ts +3 -0
  439. package/src/api/modules/auth/renzhengfuwu.ts +131 -0
  440. package/src/api/modules/auth/typings.d.ts +97 -0
  441. package/src/api/modules/configData/heibaimingdanfuwu.ts +95 -0
  442. package/src/api/modules/configData/index.ts +5 -0
  443. package/src/api/modules/configData/typings.d.ts +357 -0
  444. package/src/api/modules/configData/xitongpeizhifuwu.ts +322 -0
  445. package/src/api/modules/configData/zidianfuwu.ts +193 -0
  446. package/src/api/modules/rbac/gangweijiekou.ts +114 -0
  447. package/src/api/modules/rbac/index.ts +13 -0
  448. package/src/api/modules/rbac/jiaosejiekou.ts +124 -0
  449. package/src/api/modules/rbac/pubJiaosezukongzhiqi.ts +113 -0
  450. package/src/api/modules/rbac/shujuquanxianzhubiaokongzhiqi.ts +186 -0
  451. package/src/api/modules/rbac/typings.d.ts +2030 -0
  452. package/src/api/modules/rbac/yonghujiekou.ts +294 -0
  453. package/src/api/modules/rbac/yonghushoucangbiaojiekou.ts +93 -0
  454. package/src/api/modules/rbac/yonghuzuijinchangyongbiaojiekou.ts +72 -0
  455. package/src/api/modules/rbac/ziyuanjiekou.ts +223 -0
  456. package/src/api/modules/rbac/zuhuguanlijiekou.ts +91 -0
  457. package/src/api/modules/rbac/zuzhijiaosebiaokongzhiqi.ts +76 -0
  458. package/src/api/modules/rbac/zuzhijiekou.ts +171 -0
  459. package/src/api/request.ts +4 -0
  460. package/src/api/system/app.ts +28 -0
  461. package/src/api/system/typings.d.ts +77 -0
  462. package/src/api/system/user.ts +47 -0
  463. package/src/assets/fonts/digital-7/digital-7-webfont.eot +0 -0
  464. package/src/assets/fonts/digital-7/digital-7-webfont.svg +135 -0
  465. package/src/assets/fonts/digital-7/digital-7-webfont.woff +0 -0
  466. package/src/assets/fonts/digital-7/digital-7-webfont.woff2 +0 -0
  467. package/src/assets/fonts/digital-7/stylesheet.css +12 -0
  468. package/src/assets/fonts/digital-7_mono/digital-7_mono-webfont.eot +0 -0
  469. package/src/assets/fonts/digital-7_mono/digital-7_mono-webfont.svg +134 -0
  470. package/src/assets/fonts/digital-7_mono/digital-7_mono-webfont.woff +0 -0
  471. package/src/assets/fonts/digital-7_mono/digital-7_mono-webfont.woff2 +0 -0
  472. package/src/assets/fonts/digital-7_mono/stylesheet.css +12 -0
  473. package/src/assets/fonts/title.otf +0 -0
  474. package/src/assets/icons/403.svg +1 -0
  475. package/src/assets/icons/403_dark.svg +1 -0
  476. package/src/assets/icons/404.svg +1 -0
  477. package/src/assets/icons/404_dark.svg +1 -0
  478. package/src/assets/icons/add-child.svg +1 -0
  479. package/src/assets/icons/authority.svg +1 -0
  480. package/src/assets/icons/authorize.svg +1 -0
  481. package/src/assets/icons/blacklist-disable.svg +1 -0
  482. package/src/assets/icons/blacklist-enable.svg +1 -0
  483. package/src/assets/icons/browser-360.svg +1 -0
  484. package/src/assets/icons/browser-chrome.svg +1 -0
  485. package/src/assets/icons/browser-edge.svg +1 -0
  486. package/src/assets/icons/browser-ie.svg +1 -0
  487. package/src/assets/icons/browser-other.svg +1 -0
  488. package/src/assets/icons/browser-qq.svg +1 -0
  489. package/src/assets/icons/browser-safari.svg +1 -0
  490. package/src/assets/icons/browser-uc.svg +1 -0
  491. package/src/assets/icons/change-org.svg +1 -0
  492. package/src/assets/icons/edit.svg +1 -0
  493. package/src/assets/icons/empty-data.svg +1 -0
  494. package/src/assets/icons/favorites.svg +1 -0
  495. package/src/assets/icons/icard.svg +1 -0
  496. package/src/assets/icons/icon_animation.svg +1 -0
  497. package/src/assets/icons/icon_breadcrumb.svg +1 -0
  498. package/src/assets/icons/icon_copyright.svg +1 -0
  499. package/src/assets/icons/icon_jt.svg +1 -0
  500. package/src/assets/icons/icon_layout.svg +1 -0
  501. package/src/assets/icons/icon_mainpage.svg +1 -0
  502. package/src/assets/icons/icon_menu.svg +1 -0
  503. package/src/assets/icons/icon_page_size.svg +1 -0
  504. package/src/assets/icons/icon_position_type.svg +1 -0
  505. package/src/assets/icons/icon_safe_manage.svg +1 -0
  506. package/src/assets/icons/icon_screen_scale.svg +6 -0
  507. package/src/assets/icons/icon_system_manage.svg +1 -0
  508. package/src/assets/icons/icon_tabbar.svg +1 -0
  509. package/src/assets/icons/icon_toolbar.svg +1 -0
  510. package/src/assets/icons/icon_topbar.svg +1 -0
  511. package/src/assets/icons/icon_watermark.svg +1 -0
  512. package/src/assets/icons/image-load-fail.svg +1 -0
  513. package/src/assets/icons/log-center.svg +1 -0
  514. package/src/assets/icons/logo-sig.svg +1 -0
  515. package/src/assets/icons/mima.svg +1 -0
  516. package/src/assets/icons/not-data.svg +1 -0
  517. package/src/assets/icons/org-main.svg +1 -0
  518. package/src/assets/icons/org-unmain.svg +1 -0
  519. package/src/assets/icons/process-management.svg +1 -0
  520. package/src/assets/icons/project-management.svg +1 -0
  521. package/src/assets/icons/rbac.svg +1 -0
  522. package/src/assets/icons/remove.svg +1 -0
  523. package/src/assets/icons/resource-app.svg +1 -0
  524. package/src/assets/icons/resource-btn.svg +1 -0
  525. package/src/assets/icons/resource-index.svg +1 -0
  526. package/src/assets/icons/resource-menu.svg +1 -0
  527. package/src/assets/icons/resource-nonmenu.svg +1 -0
  528. package/src/assets/icons/setting-manage.svg +1 -0
  529. package/src/assets/icons/test.svg +1 -0
  530. package/src/assets/icons/theme-check-mark.svg +1 -0
  531. package/src/assets/icons/theme-title.svg +1 -0
  532. package/src/assets/icons/toolbar-collapse.svg +1 -0
  533. package/src/assets/icons/tree_icon.svg +1 -0
  534. package/src/assets/icons/tree_icon_checked.svg +1 -0
  535. package/src/assets/icons/view.svg +1 -0
  536. package/src/assets/icons/workbench.svg +1 -0
  537. package/src/assets/icons/zddata.svg +1 -0
  538. package/src/assets/icons/zy_checked.svg +1 -0
  539. package/src/assets/icons/zy_default.svg +1 -0
  540. package/src/assets/images/change-org-bc.webp +0 -0
  541. package/src/assets/images/header-bg.png +0 -0
  542. package/src/assets/images/layout/item1.webp +0 -0
  543. package/src/assets/images/layout/item1_dark.webp +0 -0
  544. package/src/assets/images/layout/item2.webp +0 -0
  545. package/src/assets/images/layout/item2_dark.webp +0 -0
  546. package/src/assets/images/layout/item3.webp +0 -0
  547. package/src/assets/images/layout/item3_dark.webp +0 -0
  548. package/src/assets/images/layout/item4.webp +0 -0
  549. package/src/assets/images/layout/item4_dark.webp +0 -0
  550. package/src/assets/images/layout/item5.webp +0 -0
  551. package/src/assets/images/layout/item5_dark.webp +0 -0
  552. package/src/assets/images/login-small.png +0 -0
  553. package/src/assets/images/login-small_dark.webp +0 -0
  554. package/src/assets/images/logo.png +0 -0
  555. package/src/assets/images/not-cursor.png +0 -0
  556. package/src/assets/images/org.svg +19 -0
  557. package/src/assets/images/page-width/anto_min_w_dark.webp +0 -0
  558. package/src/assets/images/page-width/auto.webp +0 -0
  559. package/src/assets/images/page-width/auto_dark.webp +0 -0
  560. package/src/assets/images/page-width/auto_min_w.webp +0 -0
  561. package/src/assets/images/page-width/auto_min_w_dark.webp +0 -0
  562. package/src/assets/images/page-width/icon_auto.webp +0 -0
  563. package/src/assets/images/page-width/icon_auto_dark.webp +0 -0
  564. package/src/assets/images/page-width/icon_auto_min_w.webp +0 -0
  565. package/src/assets/images/page-width/icon_auto_min_w_dark.webp +0 -0
  566. package/src/assets/images/page-width/icon_middle.webp +0 -0
  567. package/src/assets/images/page-width/icon_middle_dark.webp +0 -0
  568. package/src/assets/images/page-width/icon_middle_max_w.webp +0 -0
  569. package/src/assets/images/page-width/icon_middle_max_w_dark.webp +0 -0
  570. package/src/assets/images/page-width/middle.webp +0 -0
  571. package/src/assets/images/page-width/middle_dark.webp +0 -0
  572. package/src/assets/images/page-width/middle_max_w.webp +0 -0
  573. package/src/assets/images/page-width/middle_max_w_dark.webp +0 -0
  574. package/src/assets/images/slider-bg.png +0 -0
  575. package/src/assets/styles/globals.scss +189 -0
  576. package/src/assets/styles/index.ts +6 -0
  577. package/src/assets/styles/nprogress.scss +63 -0
  578. package/src/assets/styles/rbac.scss +61 -0
  579. package/src/assets/styles/resources/utils.scss +53 -0
  580. package/src/assets/styles/resources/variables.scss +6 -0
  581. package/src/components/NotAllowed/index.vue +76 -0
  582. package/src/components/PageHeader/index.vue +32 -0
  583. package/src/components/PageMain/index.vue +51 -0
  584. package/src/components/PassStrengthValidator/index.vue +213 -0
  585. package/src/components/PassStrengthValidator/rule.vue +51 -0
  586. package/src/components/PubinfoApp/index.vue +21 -0
  587. package/src/components/PubinfoIcon/index.vue +85 -0
  588. package/src/components/PubinfoProvider/index.ts +34 -0
  589. package/src/components/index.ts +8 -0
  590. package/src/composables/auth.ts +53 -0
  591. package/src/composables/index.ts +4 -0
  592. package/src/composables/log.ts +44 -0
  593. package/src/composables/theme.ts +16 -0
  594. package/src/composables/watchDiff.ts +53 -0
  595. package/src/config/index.ts +1 -0
  596. package/src/config/settings.ts +107 -0
  597. package/src/context.ts +30 -0
  598. package/src/create.ts +88 -0
  599. package/src/directives/index.ts +6 -0
  600. package/src/directives/plugins/permission.ts +23 -0
  601. package/src/index.ts +12 -0
  602. package/src/interface.ts +35 -0
  603. package/src/layout/Layout.vue +330 -0
  604. package/src/layout/components/BackTop/index.vue +47 -0
  605. package/src/layout/components/Content/IframeView.vue +120 -0
  606. package/src/layout/components/Content/LinkView.vue +118 -0
  607. package/src/layout/components/Content/index.vue +100 -0
  608. package/src/layout/components/Copyright/index.vue +49 -0
  609. package/src/layout/components/Header/TopMode/More.vue +103 -0
  610. package/src/layout/components/Header/TopMode/NotCursor.vue +77 -0
  611. package/src/layout/components/Header/TopMode/index.vue +151 -0
  612. package/src/layout/components/Header/TopThinMode.vue +45 -0
  613. package/src/layout/components/Header/index.vue +263 -0
  614. package/src/layout/components/Logo/index.vue +70 -0
  615. package/src/layout/components/Menu/index.vue +195 -0
  616. package/src/layout/components/Menu/item.vue +166 -0
  617. package/src/layout/components/Menu/sub.vue +220 -0
  618. package/src/layout/components/Menu/types.ts +49 -0
  619. package/src/layout/components/SettingBar/AppSetting.vue +146 -0
  620. package/src/layout/components/SettingBar/components/DayNightToggle.vue +238 -0
  621. package/src/layout/components/SettingBar/components/SettingBreadcrumb.vue +42 -0
  622. package/src/layout/components/SettingBar/components/SettingCopyright.vue +44 -0
  623. package/src/layout/components/SettingBar/components/SettingEnableTransition.vue +215 -0
  624. package/src/layout/components/SettingBar/components/SettingHome.vue +33 -0
  625. package/src/layout/components/SettingBar/components/SettingMenu.vue +108 -0
  626. package/src/layout/components/SettingBar/components/SettingMode.vue +164 -0
  627. package/src/layout/components/SettingBar/components/SettingNavSearch.vue +30 -0
  628. package/src/layout/components/SettingBar/components/SettingOther.vue +53 -0
  629. package/src/layout/components/SettingBar/components/SettingPage.vue +20 -0
  630. package/src/layout/components/SettingBar/components/SettingTabbar.vue +70 -0
  631. package/src/layout/components/SettingBar/components/SettingThemes.vue +202 -0
  632. package/src/layout/components/SettingBar/components/SettingToolbar.vue +54 -0
  633. package/src/layout/components/SettingBar/components/SettingTopbar.vue +37 -0
  634. package/src/layout/components/SettingBar/components/SettingWidthMode.vue +149 -0
  635. package/src/layout/components/SettingBar/index.vue +112 -0
  636. package/src/layout/components/Sidebar/MainSidebar.vue +240 -0
  637. package/src/layout/components/Sidebar/SubSidebar.vue +165 -0
  638. package/src/layout/components/Sidebar/index.vue +13 -0
  639. package/src/layout/components/Tools/Breadcrumb/index.vue +21 -0
  640. package/src/layout/components/Tools/Breadcrumb/item.vue +44 -0
  641. package/src/layout/components/Tools/DayNightSwitch.vue +93 -0
  642. package/src/layout/components/Tools/HotkeysIntro.vue +103 -0
  643. package/src/layout/components/Tools/I18nSelector.vue +52 -0
  644. package/src/layout/components/Tools/Notification.vue +152 -0
  645. package/src/layout/components/Tools/Preferences/PreferencesContent.vue +722 -0
  646. package/src/layout/components/Tools/Preferences/index.vue +20 -0
  647. package/src/layout/components/Tools/Search.vue +380 -0
  648. package/src/layout/components/Tools/index.vue +241 -0
  649. package/src/layout/components/Topbar/Tabbar/MoreAction.vue +304 -0
  650. package/src/layout/components/Topbar/Tabbar/index.vue +781 -0
  651. package/src/layout/components/Topbar/Toolbar/Favorites.vue +138 -0
  652. package/src/layout/components/Topbar/Toolbar/Star.vue +30 -0
  653. package/src/layout/components/Topbar/Toolbar/index.vue +307 -0
  654. package/src/layout/components/Topbar/index.vue +106 -0
  655. package/src/layout/composables/useContext.ts +38 -0
  656. package/src/layout/composables/useGetComputedStyle.ts +70 -0
  657. package/src/layout/composables/useHotkey.ts +49 -0
  658. package/src/layout/composables/useMainPage.ts +68 -0
  659. package/src/layout/composables/useMenu.ts +29 -0
  660. package/src/layout/composables/useTabbar.ts +165 -0
  661. package/src/layout/composables/useTitle.ts +41 -0
  662. package/src/layout/composables/useViewTransition.ts +16 -0
  663. package/src/layout/composables/useWatermark.ts +67 -0
  664. package/src/layout/index.ts +59 -0
  665. package/src/layout/provider.ts +61 -0
  666. package/src/layout/ui-kit/HBadge.vue +41 -0
  667. package/src/layout/ui-kit/HButton.vue +28 -0
  668. package/src/layout/ui-kit/HCheckList.vue +49 -0
  669. package/src/layout/ui-kit/HDialog.vue +108 -0
  670. package/src/layout/ui-kit/HDivider.vue +53 -0
  671. package/src/layout/ui-kit/HDropdown.vue +13 -0
  672. package/src/layout/ui-kit/HDropdownMenu.vue +50 -0
  673. package/src/layout/ui-kit/HDropdownTree.vue +79 -0
  674. package/src/layout/ui-kit/HInput.vue +40 -0
  675. package/src/layout/ui-kit/HKbd.vue +33 -0
  676. package/src/layout/ui-kit/HSelect.vue +66 -0
  677. package/src/layout/ui-kit/HSlideover.vue +119 -0
  678. package/src/layout/ui-kit/HTabList.vue +56 -0
  679. package/src/layout/ui-kit/HToggle.vue +177 -0
  680. package/src/layout/ui-kit/HTooltip.vue +21 -0
  681. package/src/locales/index.ts +80 -0
  682. package/src/locales/lang/en.json +96 -0
  683. package/src/locales/lang/zh-cn.json +97 -0
  684. package/src/locales/lang/zh-tw.json +97 -0
  685. package/src/locales/ui.ts +3 -0
  686. package/src/modules.ts +49 -0
  687. package/src/pages/personal/notification.vue +58 -0
  688. package/src/pages/personal/profile/index.vue +125 -0
  689. package/src/pages/system/[...all].vue +74 -0
  690. package/src/pages/system/change-organization/index.vue +174 -0
  691. package/src/pages/system/change-password/components/ChangePasswordForm/index.vue +144 -0
  692. package/src/pages/system/change-password/index.vue +102 -0
  693. package/src/pages/system/change-password/page.vue +58 -0
  694. package/src/pages/system/index.vue +5 -0
  695. package/src/pages/system/not-permission/index.vue +73 -0
  696. package/src/pages/system/reload.vue +11 -0
  697. package/src/route/async.ts +18 -0
  698. package/src/route/guard/auth.ts +92 -0
  699. package/src/route/guard/basic.ts +23 -0
  700. package/src/route/guard/index.ts +3 -0
  701. package/src/route/guard/setting.ts +122 -0
  702. package/src/route/index.ts +12 -0
  703. package/src/route/routes.ts +110 -0
  704. package/src/stores/enum/index.ts +29 -0
  705. package/src/stores/helper.ts +37 -0
  706. package/src/stores/index.ts +10 -0
  707. package/src/stores/modules/favorites.ts +152 -0
  708. package/src/stores/modules/iframe.ts +114 -0
  709. package/src/stores/modules/index.ts +9 -0
  710. package/src/stores/modules/keepAlive.ts +68 -0
  711. package/src/stores/modules/menu.ts +207 -0
  712. package/src/stores/modules/notification.ts +34 -0
  713. package/src/stores/modules/route.ts +435 -0
  714. package/src/stores/modules/settings.ts +371 -0
  715. package/src/stores/modules/tabbar.ts +338 -0
  716. package/src/stores/modules/user.ts +210 -0
  717. package/src/stores/plugin/persist.ts +27 -0
  718. package/src/stores/plugin/sideEffect/cleanup.ts +20 -0
  719. package/src/stores/plugin/sideEffect/favoritesStorage.ts +62 -0
  720. package/src/stores/plugin/sideEffect/iframeCache.ts +32 -0
  721. package/src/stores/plugin/sideEffect/index.ts +15 -0
  722. package/src/stores/plugin/sideEffect/tabbarStorage.ts +98 -0
  723. package/src/utils/cleanup.ts +20 -0
  724. package/src/utils/crypto.ts +27 -0
  725. package/src/utils/eventBus.ts +15 -0
  726. package/src/utils/index.ts +44 -0
  727. package/src/utils/injectionKeys.ts +5 -0
  728. package/src/utils/storage.ts +57 -0
  729. package/src/utils/utils.ts +12 -0
  730. package/src/utils/watermark.ts +256 -0
  731. package/types/auto-imports.d.ts +85 -0
  732. package/types/components.d.ts +36 -0
  733. package/types/favorites.d.ts +8 -0
  734. package/types/iframe.d.ts +8 -0
  735. package/types/index.d.ts +9 -0
  736. package/types/menu.d.ts +31 -0
  737. package/types/module.d.ts +23 -0
  738. package/types/settings.d.ts +571 -0
  739. package/types/tabbar.d.ts +23 -0
  740. package/types/user.d.ts +46 -0
  741. package/types/vite-env.d.ts +39 -0
  742. package/types/vue-router.d.ts +68 -0
@@ -0,0 +1,263 @@
1
+ <script setup lang="ts">
2
+ import { useContext } from '../../composables/useContext';
3
+ import Logo from '../Logo/index.vue';
4
+ import Tools from '../Tools/index.vue';
5
+
6
+ defineOptions({
7
+ name: 'LayoutHeader',
8
+ });
9
+
10
+ const TopMode = defineAsyncComponent(() => import('./TopMode/index.vue'));
11
+ const TopThinMode = defineAsyncComponent(() => import('./TopThinMode.vue'));
12
+
13
+ const { settingsStore } = useContext();
14
+ </script>
15
+
16
+ <template>
17
+ <Transition name="header">
18
+ <header v-if="settingsStore.mode === 'pc' && ['head', 'only-head'].includes(settingsStore.settings.menu.menuMode)">
19
+ <div class="header-container">
20
+ <div class="main">
21
+ <slot name="logo">
22
+ <Logo />
23
+ </slot>
24
+
25
+ <slot name="menu">
26
+ <!-- 顶部模式 -->
27
+ <TopMode v-if="settingsStore.settings.menu.menuMode === 'head'" />
28
+ <!-- 顶部精简模式 -->
29
+ <TopThinMode v-else-if="settingsStore.settings.menu.menuMode === 'only-head'" />
30
+ </slot>
31
+ </div>
32
+
33
+ <slot name="tools">
34
+ <Tools />
35
+ </slot>
36
+ </div>
37
+ </header>
38
+ </Transition>
39
+ </template>
40
+
41
+ <style lang="scss" scoped>
42
+ [data-app-width-mode="center"],
43
+ [data-app-width-mode="center-max-width"] {
44
+ header {
45
+ width: var(--g-app-width);
46
+ max-width: 100%;
47
+ }
48
+ }
49
+
50
+ header {
51
+ position: fixed;
52
+ top: 0;
53
+ right: 0;
54
+ left: 0;
55
+ z-index: 1000;
56
+ display: flex;
57
+ align-items: center;
58
+ width: 100%;
59
+ height: var(--g-header-height);
60
+ padding: 0 20px;
61
+ margin: 0 auto;
62
+ color: var(--g-header-color);
63
+ background-color: var(--g-header-bg);
64
+ // box-shadow: -1px 0 0 0 var(--g-border-color), 1px 0 0 0 var(--g-border-color), 0 1px 0 0 var(--g-border-color);
65
+ transition: background-color 0.3s;
66
+
67
+ .header-container {
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: space-between;
71
+ width: var(--g-header-width);
72
+ height: 100%;
73
+ margin: 0 auto;
74
+
75
+ :deep(.main) {
76
+ display: flex;
77
+ flex: auto;
78
+ flex-wrap: nowrap;
79
+ align-items: center;
80
+ width: 0;
81
+ height: 100%;
82
+
83
+ .menu-active {
84
+ &-arrow {
85
+ .item-container::before,
86
+ .menu-item::before {
87
+ bottom: 0;
88
+ width: 0;
89
+ height: 0;
90
+ content: "";
91
+ border-right: 5px solid transparent;
92
+ border-bottom: 5px solid var(--g-header-bg);
93
+ border-left: 5px solid transparent;
94
+ opacity: 0;
95
+ transition: all 0.3s;
96
+
97
+ @include position-center(x);
98
+ }
99
+
100
+ .item-container.active::before,
101
+ .menu-item.active::before {
102
+ bottom: 8px;
103
+ opacity: 1;
104
+ }
105
+ }
106
+
107
+ &-line {
108
+ .item-container::before,
109
+ .menu-item::before {
110
+ bottom: 6px;
111
+ width: 0;
112
+ height: 4px;
113
+ content: "";
114
+ background-color: var(--g-header-menu-active-bg);
115
+ border-radius: 2px;
116
+ box-shadow: 0 0 0 1px var(--g-header-bg);
117
+ opacity: 0;
118
+ transition: all 0.3s;
119
+
120
+ @include position-center(x);
121
+ }
122
+
123
+ .item-container.active::before,
124
+ .menu-item.active::before {
125
+ width: 20px;
126
+ opacity: 1;
127
+ }
128
+ }
129
+
130
+ &-dot {
131
+ .item-container::before,
132
+ .menu-item::before {
133
+ bottom: 0;
134
+ width: 10px;
135
+ height: 10px;
136
+ content: "";
137
+ background-color: var(--g-header-menu-active-bg);
138
+ border-radius: 50%;
139
+ box-shadow: 0 0 0 1px var(--g-main-sidebar-bg);
140
+ opacity: 0;
141
+ transition: all 0.3s;
142
+
143
+ @include position-center(x);
144
+ }
145
+
146
+ .item-container.active::before,
147
+ .menu-item.active::before {
148
+ bottom: 4px;
149
+ opacity: 1;
150
+ }
151
+ }
152
+ }
153
+ }
154
+ }
155
+
156
+ @media screen and (max-width: $g-header-width) {
157
+ .header-container {
158
+ width: 100%;
159
+ }
160
+ }
161
+
162
+ :deep(.menu-container) {
163
+ flex: 1;
164
+ height: 100%;
165
+ padding: 0 20px;
166
+ margin: 0 30px;
167
+ overflow-x: auto;
168
+
169
+ // firefox隐藏滚动条
170
+ scrollbar-width: none;
171
+ mask-image: linear-gradient(to right, transparent, #000 20px, #000 calc(100% - 20px), transparent);
172
+
173
+ // chrome隐藏滚动条
174
+ &::-webkit-scrollbar {
175
+ display: none;
176
+ }
177
+
178
+ &.nothin {
179
+ display: flex;
180
+ }
181
+
182
+ .menu-item-container-layout {
183
+ display: flex;
184
+ flex-direction: row;
185
+ width: auto;
186
+ }
187
+ }
188
+
189
+ :deep(.menu) {
190
+ display: inline-flex;
191
+ height: 100%;
192
+ background-color: var(--g-header-bg);
193
+
194
+ .menu-item {
195
+ .v-popper--theme-not-cursor {
196
+ height: 100%;
197
+ }
198
+
199
+ .menu-item-container {
200
+ padding: 0 6px;
201
+ color: var(--g-header-menu-color);
202
+ background-color: var(--g-header-menu-bg);
203
+
204
+ &:hover {
205
+ color: var(--g-header-menu-hover-color);
206
+ background-color: var(--g-header-menu-hover-bg);
207
+ }
208
+
209
+ .menu-item-container-icon {
210
+ transform: scale(1);
211
+ }
212
+
213
+ svg {
214
+ color: transparent;
215
+ }
216
+ }
217
+
218
+ &.is-dev {
219
+ .menu-item-container {
220
+ cursor: not-allowed;
221
+
222
+ i {
223
+ filter: grayscale(100%);
224
+ }
225
+
226
+ span {
227
+ opacity: 0.8;
228
+ }
229
+ }
230
+ }
231
+
232
+ &.active .menu-item-container {
233
+ color: var(--g-header-menu-active-color);
234
+ background-color: var(--g-header-menu-active-bg);
235
+ }
236
+ }
237
+ }
238
+
239
+ :deep(.tools) {
240
+ padding: 0;
241
+
242
+ .buttons .item .icon {
243
+ color: var(--g-header-color);
244
+ }
245
+
246
+ .user-container {
247
+ font-size: 16px;
248
+ color: var(--g-header-color);
249
+ }
250
+ }
251
+ }
252
+
253
+ // 头部动画
254
+ .header-enter-active,
255
+ .header-leave-active {
256
+ transition: transform 0.3s;
257
+ }
258
+
259
+ .header-enter-from,
260
+ .header-leave-to {
261
+ transform: translateY(calc(var(--g-header-height) * -1));
262
+ }
263
+ </style>
@@ -0,0 +1,70 @@
1
+ <script setup lang="ts">
2
+ import { PubinfoIcon } from '@/components';
3
+ import { useContext } from '../../composables/useContext';
4
+
5
+ defineOptions({
6
+ name: 'Logo',
7
+ });
8
+
9
+ withDefaults(
10
+ defineProps<{
11
+ name?: string
12
+ showLogo?: boolean
13
+ showTitle?: boolean
14
+ }>(),
15
+ {
16
+ name: 'logo',
17
+ showLogo: true,
18
+ showTitle: true,
19
+ },
20
+ );
21
+
22
+ const { settingsStore, appTitle } = useContext();
23
+
24
+ const to = computed(() => {
25
+ return {
26
+ ...(settingsStore.settings.home.enable && { name: 'Home' }),
27
+ };
28
+ });
29
+ </script>
30
+
31
+ <template>
32
+ <RouterLink
33
+ :to="to"
34
+ class="logo h-[var(--g-sidebar-logo-height)] w-inherit flex-center gap-2 px-3 text-inherit no-underline"
35
+ :class="{ 'cursor-pointer': settingsStore.settings.home.enable }"
36
+ >
37
+ <PubinfoIcon
38
+ v-if="showLogo"
39
+ :name="name"
40
+ :size="30"
41
+ color="transparent"
42
+ />
43
+ <span v-if="showTitle" class="title block truncate">
44
+ <slot>
45
+ {{ appTitle }}
46
+ </slot>
47
+ </span>
48
+ </RouterLink>
49
+ </template>
50
+
51
+ <style lang="scss" scoped>
52
+ .title {
53
+ font-size: 19px;
54
+ font-weight: 600;
55
+ }
56
+
57
+ .logo {
58
+ position: relative;
59
+ width: max-content;
60
+ height: inherit;
61
+ padding: inherit;
62
+ background-color: inherit;
63
+ }
64
+
65
+ span {
66
+ font-size: 24px;
67
+ color: var(--g-header-color);
68
+ letter-spacing: 1px;
69
+ }
70
+ </style>
@@ -0,0 +1,195 @@
1
+ <script setup lang="ts">
2
+ import type { MenuInjection, MenuProps } from './types';
3
+ import { message } from 'ant-design-vue';
4
+ import Item from './item.vue';
5
+ import SubMenu from './sub.vue';
6
+ import { rootMenuInjectionKey } from './types';
7
+
8
+ defineOptions({
9
+ name: 'MainMenu',
10
+ });
11
+
12
+ const props = withDefaults(
13
+ defineProps<MenuProps>(),
14
+ {
15
+ accordion: true,
16
+ defaultOpeneds: () => [],
17
+ mode: 'vertical',
18
+ collapse: false,
19
+ showCollapseName: false,
20
+ rounded: false,
21
+ },
22
+ );
23
+
24
+ const router = useRouter();
25
+
26
+ const activeIndex = ref<MenuInjection['activeIndex']>(props.value);
27
+ const items = ref<MenuInjection['items']>({});
28
+ const subMenus = ref<MenuInjection['subMenus']>({});
29
+ const openedMenus = ref<MenuInjection['openedMenus']>(props.defaultOpeneds.slice(0));
30
+ const mouseInMenu = ref<MenuInjection['mouseInMenu']>([]);
31
+ const isMenuPopup = computed<MenuInjection['isMenuPopup']>(() => {
32
+ return props.mode === 'horizontal' || (props.mode === 'vertical' && props.collapse);
33
+ });
34
+
35
+ // 解析传入的 menu 数据,并保存到 items 和 subMenus 对象中
36
+ function initItems(menu: MenuProps['menu'], parentPaths: string[] = []) {
37
+ menu.forEach((item) => {
38
+ const index = item.path ?? JSON.stringify(item);
39
+ if (item.children) {
40
+ const indexPath = [...parentPaths, index];
41
+ subMenus.value[index] = {
42
+ index,
43
+ indexPath,
44
+ active: false,
45
+ };
46
+ initItems(item.children, indexPath);
47
+ }
48
+ else {
49
+ items.value[index] = {
50
+ index,
51
+ indexPath: parentPaths,
52
+ };
53
+ }
54
+ });
55
+ }
56
+
57
+ const openMenu: MenuInjection['openMenu'] = (index, indexPath) => {
58
+ if (openedMenus.value.includes(index)) {
59
+ return;
60
+ }
61
+ if (props.accordion) {
62
+ openedMenus.value = openedMenus.value.filter(key => indexPath.includes(key));
63
+ }
64
+ openedMenus.value.push(index);
65
+ };
66
+ const closeMenu: MenuInjection['closeMenu'] = (index) => {
67
+ if (Array.isArray(index)) {
68
+ nextTick(() => {
69
+ closeMenu(index.at(-1)!);
70
+ if (index.length > 1) {
71
+ closeMenu(index.slice(0, -1));
72
+ }
73
+ });
74
+ return;
75
+ }
76
+ Object.keys(subMenus.value).forEach((item) => {
77
+ if (subMenus.value[item].indexPath.includes(index)) {
78
+ openedMenus.value = openedMenus.value.filter(item => item !== index);
79
+ }
80
+ });
81
+ };
82
+
83
+ function setSubMenusActive(index: string) {
84
+ Object.keys(subMenus.value).forEach((index) => {
85
+ subMenus.value[index].active = false;
86
+ });
87
+ items.value[index]?.indexPath.forEach((index) => {
88
+ subMenus.value[index].active = true;
89
+ });
90
+ }
91
+
92
+ const handleMenuItemClick: MenuInjection['handleMenuItemClick'] = (index, meta) => {
93
+ if (meta?.isDev) {
94
+ message.info('暂未上线,敬请期待!');
95
+ return;
96
+ }
97
+ if (props.mode === 'horizontal' || props.collapse) {
98
+ openedMenus.value = [];
99
+ }
100
+ setSubMenusActive(index);
101
+ if (meta?.link) {
102
+ window.open(meta.link);
103
+ return;
104
+ }
105
+ router.push(index);
106
+ };
107
+ const handleSubMenuClick: MenuInjection['handleSubMenuClick'] = (index, indexPath) => {
108
+ if (openedMenus.value.includes(index)) {
109
+ closeMenu(index);
110
+ }
111
+ else {
112
+ openMenu(index, indexPath);
113
+ }
114
+ };
115
+
116
+ function initMenu() {
117
+ const activeItem = activeIndex.value && items.value[activeIndex.value];
118
+ setSubMenusActive(activeIndex.value);
119
+ if (!activeItem || props.collapse) {
120
+ return;
121
+ }
122
+ // 展开该菜单项的路径上所有子菜单
123
+ activeItem.indexPath.forEach((index) => {
124
+ const subMenu = subMenus.value[index];
125
+ if (subMenu) {
126
+ openMenu(index, subMenu.indexPath);
127
+ }
128
+ });
129
+ }
130
+
131
+ watch(() => props.menu, (val) => {
132
+ initItems(val);
133
+ initMenu();
134
+ }, {
135
+ deep: true,
136
+ immediate: true,
137
+ });
138
+
139
+ watch(() => props.value, (currentValue) => {
140
+ if (!items.value[currentValue]) {
141
+ activeIndex.value = '';
142
+ }
143
+ const item = items.value[currentValue] || (activeIndex.value && items.value[activeIndex.value]) || items.value[props.value];
144
+ if (item) {
145
+ activeIndex.value = item.index;
146
+ }
147
+ else {
148
+ activeIndex.value = currentValue;
149
+ }
150
+ initMenu();
151
+ });
152
+
153
+ watch(() => props.collapse, (value) => {
154
+ if (value) {
155
+ openedMenus.value = [];
156
+ }
157
+ initMenu();
158
+ });
159
+
160
+ provide(rootMenuInjectionKey, reactive({
161
+ props,
162
+ items,
163
+ subMenus,
164
+ activeIndex,
165
+ openedMenus,
166
+ mouseInMenu,
167
+ isMenuPopup,
168
+ openMenu,
169
+ closeMenu,
170
+ handleMenuItemClick,
171
+ handleSubMenuClick,
172
+ }));
173
+ </script>
174
+
175
+ <template>
176
+ <div
177
+ class="flex flex-col of-hidden transition-all"
178
+ :class="{
179
+ 'w-[200px]': !isMenuPopup && props.mode === 'vertical',
180
+ 'w-[64px]': isMenuPopup && props.mode === 'vertical',
181
+ 'h-[80px]': props.mode === 'horizontal',
182
+ 'flex-row! w-auto': isMenuPopup && props.mode === 'horizontal',
183
+ }"
184
+ >
185
+ <template v-for="(item, index) in menu" :key="index">
186
+ <SubMenu v-if="item.children?.length" :menu="item" :unique-key="[item.path ?? JSON.stringify(item)]" />
187
+ <Item
188
+ v-else
189
+ :item="item"
190
+ :unique-key="[item.path ?? JSON.stringify(item)]"
191
+ @click="handleMenuItemClick(item.path ?? JSON.stringify(item), item.meta)"
192
+ />
193
+ </template>
194
+ </div>
195
+ </template>
@@ -0,0 +1,166 @@
1
+ <script setup lang="ts">
2
+ import type { SubMenuItemProps } from './types';
3
+ import { PubinfoIcon } from '@/components';
4
+ import { useContext } from '../../composables/useContext';
5
+ import { rootMenuInjectionKey } from './types';
6
+
7
+ const props = withDefaults(
8
+ defineProps<SubMenuItemProps>(),
9
+ {
10
+ level: 0,
11
+ subMenu: false,
12
+ expand: false,
13
+ },
14
+ );
15
+
16
+ const rootMenu = inject(rootMenuInjectionKey)!;
17
+ const { generateI18nTitle } = useContext();
18
+
19
+ const itemRef = ref<HTMLElement>();
20
+
21
+ const isActived = computed(() => {
22
+ return props.subMenu
23
+ ? rootMenu.subMenus[props.uniqueKey[props.uniqueKey.length - 1]]?.active
24
+ : rootMenu.activeIndex === props.uniqueKey[props.uniqueKey.length - 1];
25
+ });
26
+
27
+ const isItemActive = computed(() => {
28
+ return isActived.value && (!props.subMenu || rootMenu.isMenuPopup);
29
+ });
30
+
31
+ const icon = computed(() => {
32
+ let icon;
33
+ if (props.item.meta?.icon) {
34
+ icon = props.item.meta.icon;
35
+ }
36
+ if (isActived.value) {
37
+ if (props.item.meta?.activeIcon === 'system-point') {
38
+ icon = 'system-point';
39
+ }
40
+ else if (props.item.meta?.activeIcon) {
41
+ icon = props.item.meta.activeIcon;
42
+ }
43
+ }
44
+ return icon;
45
+ });
46
+
47
+ // 缩进样式
48
+ const indentStyle = computed(() => {
49
+ return !rootMenu.isMenuPopup
50
+ ? `padding-left: ${32 * (props.level ?? 0)}px`
51
+ : '';
52
+ });
53
+
54
+ defineExpose({
55
+ ref: itemRef,
56
+ });
57
+ </script>
58
+
59
+ <template>
60
+ <div
61
+ ref="itemRef"
62
+ class="menu-item relative transition-all"
63
+ :class="{
64
+ 'active': isItemActive,
65
+ 'px-2 py-1': rootMenu.props.rounded,
66
+ 'px-1! py-2!': rootMenu.props.rounded && rootMenu.isMenuPopup && level === 0 && rootMenu.props.mode === 'horizontal',
67
+ }"
68
+ >
69
+ <div
70
+ class="group menu-item-container h-full w-full flex cursor-pointer items-center justify-between gap-1 px-5 py-14px text-[var(--g-sub-sidebar-menu-color)] transition-all hover:(bg-[var(--g-sub-sidebar-menu-hover-bg)] text-[var(--g-sub-sidebar-menu-hover-color)])"
71
+ :class="{
72
+ 'text-[var(--g-sub-sidebar-menu-active-color)]! bg-[var(--g-sub-sidebar-menu-active-bg)]!': isItemActive,
73
+ 'rounded-2': rootMenu.props.rounded,
74
+ 'px-2!': rootMenu.isMenuPopup && level === 0,
75
+ 'py-3!': rootMenu.props.rounded && rootMenu.isMenuPopup && level !== 0,
76
+ }"
77
+ :title="generateI18nTitle(item.meta?.i18n, item.meta?.title)"
78
+ >
79
+ <div
80
+ class="menu-item-container-layout inline-flex flex-1 items-center justify-center gap-[12px]"
81
+ :class="{
82
+ 'flex-col gap-none': rootMenu.isMenuPopup && level === 0,
83
+ 'flex-col gap-[2px]!': rootMenu.isMenuPopup && level === 0 && rootMenu.props.showCollapseName,
84
+ 'w-full': rootMenu.isMenuPopup && level === 0 && rootMenu.props.showCollapseName && rootMenu.props.mode === 'vertical',
85
+ 'w-[50px]': rootMenu.isMenuPopup && level === 0 && rootMenu.props.showCollapseName && rootMenu.props.mode === 'horizontal',
86
+ }"
87
+ :style="indentStyle"
88
+ >
89
+ <!-- 特殊化处理,有些时候想要的是一个点 -->
90
+ <PubinfoIcon
91
+ v-if="icon && icon !== 'system-point'"
92
+ :name="icon"
93
+ :size="20"
94
+ class="menu-item-container-icon transition-transform group-hover:scale-115"
95
+ />
96
+ <span
97
+ v-if="!(rootMenu.isMenuPopup && level === 0 && !rootMenu.props.showCollapseName)"
98
+ class="title w-0 flex-1 truncate text-sm transition-height transition-opacity transition-width"
99
+ :class="{
100
+ 'opacity-0 w-0 h-0': rootMenu.isMenuPopup && level === 0 && !rootMenu.props.showCollapseName,
101
+ 'w-full text-center': rootMenu.isMenuPopup && level === 0 && rootMenu.props.showCollapseName,
102
+ 'system-point': icon === 'system-point' && isItemActive,
103
+ }"
104
+ >
105
+ {{ generateI18nTitle(item.meta?.i18n, item.meta?.title) }}
106
+ </span>
107
+ <HBadge
108
+ v-if="item.meta?.badge"
109
+ :value="typeof item.meta.badge === 'function' ? item.meta.badge() : item.meta.badge"
110
+ class="badge"
111
+ :class="{
112
+ 'opacity-0': rootMenu.isMenuPopup && level === 0,
113
+ }"
114
+ />
115
+ </div>
116
+ <i
117
+ v-if="subMenu && !(rootMenu.isMenuPopup && level === 0)"
118
+ class="sharp-corner"
119
+ :class="[
120
+ expand
121
+ ? 'before:-rotate-45 before:-translate-x-[2px] after:rotate-45 after:translate-x-[2px]'
122
+ : 'before:rotate-45 before:-translate-x-[2px] after:-rotate-45 after:translate-x-[2px] ',
123
+ rootMenu.isMenuPopup && level === 0 && 'opacity-0',
124
+ rootMenu.isMenuPopup && level !== 0 && '-rotate-90 -top-[1.5px]',
125
+ ]"
126
+ />
127
+ </div>
128
+ </div>
129
+ </template>
130
+
131
+ <style lang="scss" scoped>
132
+ .badge {
133
+ :deep(> span) {
134
+ right: 0;
135
+ left: initial !important;
136
+ }
137
+ }
138
+
139
+ .sharp-corner {
140
+ --at-apply: relative ml-1 w-[10px];
141
+
142
+ &::before {
143
+ --at-apply: absolute h-1.5px w-[6px] bg-current transition-transform-200 content-empty -translate-y-[1px];
144
+ }
145
+
146
+ &::after {
147
+ --at-apply: absolute h-1.5px w-[6px] bg-current transition-transform-200 content-empty -translate-y-[1px];
148
+ }
149
+ }
150
+
151
+ .sub-sidebar-container {
152
+ .menu-item-container-layout:has(.system-point) {
153
+ position: relative;
154
+
155
+ &::before {
156
+ position: absolute;
157
+ left: 12px;
158
+ width: 6px;
159
+ height: 6px;
160
+ content: "";
161
+ background: var(--g-sub-sidebar-menu-active-color);
162
+ border-radius: 50%;
163
+ }
164
+ }
165
+ }
166
+ </style>