vome-core 0.3.68 → 0.3.70

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 (280) hide show
  1. package/dist/admin/components/ui/avatar/Avatar.vue +18 -18
  2. package/dist/admin/components/ui/avatar/AvatarFallback.vue +21 -21
  3. package/dist/admin/components/ui/avatar/AvatarImage.vue +16 -16
  4. package/dist/admin/components/ui/avatar/index.js +1 -1
  5. package/dist/admin/components/ui/badge/Badge.vue +26 -26
  6. package/dist/admin/components/ui/button/Button.vue +31 -31
  7. package/dist/admin/components/ui/button/index.d.ts +1 -1
  8. package/dist/admin/components/ui/checkbox/Checkbox.vue +35 -35
  9. package/dist/admin/components/ui/checkbox/index.js +1 -1
  10. package/dist/admin/components/ui/dialog/Dialog.vue +19 -19
  11. package/dist/admin/components/ui/dialog/DialogClose.vue +15 -15
  12. package/dist/admin/components/ui/dialog/DialogContent.vue +267 -267
  13. package/dist/admin/components/ui/dialog/DialogDescription.vue +23 -23
  14. package/dist/admin/components/ui/dialog/DialogFooter.vue +27 -27
  15. package/dist/admin/components/ui/dialog/DialogHeader.vue +17 -17
  16. package/dist/admin/components/ui/dialog/DialogOverlay.vue +21 -21
  17. package/dist/admin/components/ui/dialog/DialogScrollContent.vue +60 -60
  18. package/dist/admin/components/ui/dialog/DialogTitle.vue +23 -23
  19. package/dist/admin/components/ui/dialog/DialogTrigger.vue +15 -15
  20. package/dist/admin/components/ui/dialog/index.js +1 -1
  21. package/dist/admin/components/ui/dropdown-menu/DropdownMenu.vue +19 -19
  22. package/dist/admin/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -39
  23. package/dist/admin/components/ui/dropdown-menu/DropdownMenuContent.vue +39 -39
  24. package/dist/admin/components/ui/dropdown-menu/DropdownMenuGroup.vue +15 -15
  25. package/dist/admin/components/ui/dropdown-menu/DropdownMenuItem.vue +31 -31
  26. package/dist/admin/components/ui/dropdown-menu/DropdownMenuLabel.vue +23 -23
  27. package/dist/admin/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -21
  28. package/dist/admin/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -40
  29. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -23
  30. package/dist/admin/components/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -17
  31. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSub.vue +18 -18
  32. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -27
  33. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -31
  34. package/dist/admin/components/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -17
  35. package/dist/admin/components/ui/dropdown-menu/index.js +1 -1
  36. package/dist/admin/components/ui/input/Input.vue +183 -183
  37. package/dist/admin/components/ui/input/index.js +1 -1
  38. package/dist/admin/components/ui/label/Label.vue +26 -26
  39. package/dist/admin/components/ui/label/index.js +1 -1
  40. package/dist/admin/components/ui/scroll-area/ScrollArea.vue +33 -33
  41. package/dist/admin/components/ui/scroll-area/ScrollBar.vue +32 -32
  42. package/dist/admin/components/ui/scroll-area/index.js +1 -1
  43. package/dist/admin/components/ui/select/Select.vue +19 -19
  44. package/dist/admin/components/ui/select/SelectContent.vue +51 -51
  45. package/dist/admin/components/ui/select/SelectGroup.vue +15 -15
  46. package/dist/admin/components/ui/select/SelectItem.vue +53 -53
  47. package/dist/admin/components/ui/select/SelectItemText.vue +15 -15
  48. package/dist/admin/components/ui/select/SelectLabel.vue +17 -17
  49. package/dist/admin/components/ui/select/SelectScrollDownButton.vue +26 -26
  50. package/dist/admin/components/ui/select/SelectScrollUpButton.vue +26 -26
  51. package/dist/admin/components/ui/select/SelectSeparator.vue +19 -19
  52. package/dist/admin/components/ui/select/SelectTrigger.vue +44 -44
  53. package/dist/admin/components/ui/select/SelectValue.vue +15 -15
  54. package/dist/admin/components/ui/select/index.js +1 -1
  55. package/dist/admin/components/ui/separator/Separator.vue +29 -29
  56. package/dist/admin/components/ui/separator/index.js +1 -1
  57. package/dist/admin/components/ui/sheet/Sheet.vue +19 -19
  58. package/dist/admin/components/ui/sheet/SheetClose.vue +15 -15
  59. package/dist/admin/components/ui/sheet/SheetContent.vue +63 -63
  60. package/dist/admin/components/ui/sheet/SheetDescription.vue +21 -21
  61. package/dist/admin/components/ui/sheet/SheetFooter.vue +16 -16
  62. package/dist/admin/components/ui/sheet/SheetHeader.vue +15 -15
  63. package/dist/admin/components/ui/sheet/SheetOverlay.vue +21 -21
  64. package/dist/admin/components/ui/sheet/SheetTitle.vue +21 -21
  65. package/dist/admin/components/ui/sheet/SheetTrigger.vue +15 -15
  66. package/dist/admin/components/ui/sheet/index.js +1 -1
  67. package/dist/admin/components/ui/sonner/Toaster.vue +117 -117
  68. package/dist/admin/components/ui/sonner/index.js +1 -1
  69. package/dist/admin/components/ui/table/Table.vue +16 -16
  70. package/dist/admin/components/ui/table/TableBody.vue +17 -17
  71. package/dist/admin/components/ui/table/TableCaption.vue +17 -17
  72. package/dist/admin/components/ui/table/TableCell.vue +22 -22
  73. package/dist/admin/components/ui/table/TableEmpty.vue +34 -34
  74. package/dist/admin/components/ui/table/TableFooter.vue +17 -17
  75. package/dist/admin/components/ui/table/TableHead.vue +17 -17
  76. package/dist/admin/components/ui/table/TableHeader.vue +17 -17
  77. package/dist/admin/components/ui/table/TableRow.vue +17 -17
  78. package/dist/admin/components/ui/table/index.js +1 -1
  79. package/dist/admin/components/ui/tabs/Tabs.vue +24 -24
  80. package/dist/admin/components/ui/tabs/TabsContent.vue +21 -21
  81. package/dist/admin/components/ui/tabs/TabsList.vue +24 -24
  82. package/dist/admin/components/ui/tabs/TabsTrigger.vue +26 -26
  83. package/dist/admin/components/ui/tabs/index.js +1 -1
  84. package/dist/admin/components/ui/tooltip/Tooltip.vue +19 -19
  85. package/dist/admin/components/ui/tooltip/TooltipContent.vue +34 -34
  86. package/dist/admin/components/ui/tooltip/TooltipProvider.vue +14 -14
  87. package/dist/admin/components/ui/tooltip/TooltipTrigger.vue +15 -15
  88. package/dist/admin/components/ui/tooltip/index.js +1 -1
  89. package/dist/admin/components/vm-action-btn.vue +136 -136
  90. package/dist/admin/components/vm-aside-list-item.vue +136 -136
  91. package/dist/admin/components/vm-aside.vue +229 -229
  92. package/dist/admin/components/vm-auto-perm-dialog.vue +371 -371
  93. package/dist/admin/components/vm-card-grid.vue +37 -37
  94. package/dist/admin/components/vm-card-head.vue +45 -45
  95. package/dist/admin/components/vm-card-meta.vue +22 -22
  96. package/dist/admin/components/vm-card-title.vue +56 -56
  97. package/dist/admin/components/vm-card.vue +176 -176
  98. package/dist/admin/components/vm-check-tree.vue +340 -340
  99. package/dist/admin/components/vm-clamp-text.vue +39 -39
  100. package/dist/admin/components/vm-dept-tree.vue +497 -497
  101. package/dist/admin/components/vm-empty.vue +68 -68
  102. package/dist/admin/components/vm-eps-perm-picker.vue +123 -123
  103. package/dist/admin/components/vm-form-dialog.vue +632 -632
  104. package/dist/admin/components/vm-group-cascader.vue +560 -560
  105. package/dist/admin/components/vm-icon-btn.vue +88 -88
  106. package/dist/admin/components/vm-icon-picker.vue +647 -647
  107. package/dist/admin/components/vm-inline-search.vue +61 -61
  108. package/dist/admin/components/vm-loading.vue +114 -114
  109. package/dist/admin/components/vm-markdown.vue +405 -405
  110. package/dist/admin/components/vm-marquee.vue +265 -265
  111. package/dist/admin/components/vm-page-tabs.vue +94 -94
  112. package/dist/admin/components/vm-perm-section.vue +57 -57
  113. package/dist/admin/components/vm-ri-icon.vue +23 -23
  114. package/dist/admin/components/vm-role-picker.vue +314 -314
  115. package/dist/admin/components/vm-split-layout.vue +106 -106
  116. package/dist/admin/components/vm-thumb.vue +49 -49
  117. package/dist/admin/components/vm-view-path-picker.vue +59 -59
  118. package/dist/admin/crud/auto-fields.d.ts +7 -0
  119. package/dist/admin/crud/auto-fields.js +1 -1
  120. package/dist/admin/crud/components/vm-avatar.vue +104 -104
  121. package/dist/admin/crud/components/vm-color-picker.vue +1626 -1626
  122. package/dist/admin/crud/components/vm-column-custom.vue +193 -193
  123. package/dist/admin/crud/components/vm-context-menu.vue +105 -105
  124. package/dist/admin/crud/components/vm-copy-btn.vue +102 -102
  125. package/dist/admin/crud/components/vm-date-calendar-panel.vue +537 -537
  126. package/dist/admin/crud/components/vm-date-picker.vue +75 -75
  127. package/dist/admin/crud/components/vm-date-range.vue +88 -88
  128. package/dist/admin/crud/components/vm-date-text.vue +42 -42
  129. package/dist/admin/crud/components/vm-datetime-field.vue +215 -215
  130. package/dist/admin/crud/components/vm-datetime-picker.vue +9 -9
  131. package/dist/admin/crud/components/vm-dict-tag.vue +112 -112
  132. package/dist/admin/crud/components/vm-ellipsis-text.vue +34 -34
  133. package/dist/admin/crud/components/vm-form-hint.vue +81 -81
  134. package/dist/admin/crud/components/vm-json-code.vue +41 -41
  135. package/dist/admin/crud/components/vm-json-editor.vue +161 -161
  136. package/dist/admin/crud/components/vm-json-kv-editor.vue +318 -318
  137. package/dist/admin/crud/components/vm-kv-row.vue +51 -51
  138. package/dist/admin/crud/components/vm-multi-select.vue +279 -279
  139. package/dist/admin/crud/components/vm-number-range.vue +204 -204
  140. package/dist/admin/crud/components/vm-preview-viewer.vue +894 -894
  141. package/dist/admin/crud/components/vm-radio.vue +87 -87
  142. package/dist/admin/crud/components/vm-richtext.vue +313 -313
  143. package/dist/admin/crud/components/vm-select.vue +570 -570
  144. package/dist/admin/crud/components/vm-status-tag.vue +158 -158
  145. package/dist/admin/crud/components/vm-switch.vue +158 -158
  146. package/dist/admin/crud/components/vm-tag-list.vue +108 -108
  147. package/dist/admin/crud/components/vm-text-link.vue +52 -52
  148. package/dist/admin/crud/components/vm-toggle-switch.vue +84 -84
  149. package/dist/admin/crud/components/vm-tree-select.vue +450 -450
  150. package/dist/admin/crud/components/vm-upload-item.vue +298 -298
  151. package/dist/admin/crud/components/vm-upload.vue +436 -436
  152. package/dist/admin/crud/config.js +1 -1
  153. package/dist/admin/crud/confirm.js +1 -1
  154. package/dist/admin/crud/crud-page-request.js +1 -1
  155. package/dist/admin/crud/data-i18n.js +1 -1
  156. package/dist/admin/crud/dict.js +1 -1
  157. package/dist/admin/crud/export-fetch.js +1 -1
  158. package/dist/admin/crud/index.d.ts +1 -1
  159. package/dist/admin/crud/index.js +1 -0
  160. package/dist/admin/crud/key.js +1 -1
  161. package/dist/admin/crud/plugins.js +1 -1
  162. package/dist/admin/crud/span.js +1 -1
  163. package/dist/admin/crud/style.js +1 -1
  164. package/dist/admin/crud/validate.js +1 -1
  165. package/dist/admin/crud/vm-add-btn.vue +70 -70
  166. package/dist/admin/crud/vm-adv-search.vue +83 -83
  167. package/dist/admin/crud/vm-crud.vue +711 -711
  168. package/dist/admin/crud/vm-data-i18n-btn.vue +456 -456
  169. package/dist/admin/crud/vm-data-i18n-lang.vue +183 -183
  170. package/dist/admin/crud/vm-export-btn.vue +183 -183
  171. package/dist/admin/crud/vm-flex.vue +14 -14
  172. package/dist/admin/crud/vm-import-btn.vue +747 -747
  173. package/dist/admin/crud/vm-multi-delete-btn.vue +49 -49
  174. package/dist/admin/crud/vm-pagination.vue +212 -212
  175. package/dist/admin/crud/vm-refresh-btn.vue +35 -35
  176. package/dist/admin/crud/vm-row.vue +55 -55
  177. package/dist/admin/crud/vm-search-key.vue +78 -78
  178. package/dist/admin/crud/vm-search.vue +466 -466
  179. package/dist/admin/crud/vm-table.vue +1390 -1390
  180. package/dist/admin/crud/vm-tabs.vue +94 -94
  181. package/dist/admin/crud/vm-toolbar.vue +357 -357
  182. package/dist/admin/crud/vm-upsert.vue +765 -765
  183. package/dist/admin/directives/perm.js +1 -1
  184. package/dist/admin/env.d.ts +1 -1
  185. package/dist/admin/hooks/useUpload.js +1 -1
  186. package/dist/admin/hooks/useVome.d.ts +2 -2
  187. package/dist/admin/lib/browser.js +1 -1
  188. package/dist/admin/lib/cn.js +1 -1
  189. package/dist/admin/lib/dialog-float.js +1 -1
  190. package/dist/admin/lib/export-excel.js +1 -1
  191. package/dist/admin/lib/import-excel.js +1 -1
  192. package/dist/admin/lib/json.js +1 -1
  193. package/dist/admin/lib/menu.js +1 -1
  194. package/dist/admin/lib/micro-locale.js +1 -1
  195. package/dist/admin/lib/micro-theme.js +1 -1
  196. package/dist/admin/lib/shell.js +1 -1
  197. package/dist/admin/lib/theme-color-options.js +1 -1
  198. package/dist/admin/lib/tree.js +1 -1
  199. package/dist/admin/lib/upload.js +1 -1
  200. package/dist/admin/lib/video-frame.js +1 -1
  201. package/dist/admin/router/create.js +1 -1
  202. package/dist/admin/router/guards.js +1 -1
  203. package/dist/admin/stores/app.d.ts +13 -1
  204. package/dist/admin/stores/tags.d.ts +14 -1
  205. package/dist/admin/stores/user.d.ts +48 -1
  206. package/dist/admin/styles/base.css +121 -121
  207. package/dist/admin/vendor/browser-image-compression.js +1144 -1144
  208. package/dist/admin/vendor/decimal-js.js +12 -12
  209. package/dist/admin/vendor/xlsx.js +263 -263
  210. package/dist/ai/index.js +1 -1
  211. package/dist/client/ai-model-registry.js +1 -1
  212. package/dist/client/base.js +1 -1
  213. package/dist/client/configure.js +1 -1
  214. package/dist/client/dict.js +1 -1
  215. package/dist/client/eps-payload.js +1 -1
  216. package/dist/client/eps.d.ts +7 -4
  217. package/dist/client/eps.js +1 -1
  218. package/dist/client/index.d.ts +1 -1
  219. package/dist/client/index.js +1 -1
  220. package/dist/client/locale-change.js +1 -1
  221. package/dist/client/locale-store.d.ts +45 -1
  222. package/dist/client/locale-store.js +1 -1
  223. package/dist/client/path.js +1 -1
  224. package/dist/client/service.d.ts +8 -0
  225. package/dist/client/service.js +1 -1
  226. package/dist/client/vite-admin.js +1 -1
  227. package/dist/client/vite-auto-import.js +1 -1
  228. package/dist/client/vite-micro-proxy.js +1 -1
  229. package/dist/client/vite-plugin-eps.d.ts +5 -0
  230. package/dist/client/vite-plugin-eps.js +1 -1
  231. package/dist/client/vite-resolve.js +1 -1
  232. package/dist/config/index.js +1 -1
  233. package/dist/core/index.d.ts +2 -2
  234. package/dist/index.js +1 -1
  235. package/dist/orm/entity-cache.d.ts +1 -1
  236. package/dist/orm/service.d.ts +5 -5
  237. package/dist/routing/context.d.ts +12 -2
  238. package/dist/routing/eps.d.ts +4 -1
  239. package/dist/routing/index.d.ts +2 -1
  240. package/dist/routing/metadata.d.ts +7 -3
  241. package/dist/server/index.d.ts +2 -2
  242. package/dist/server/index.js +1 -1
  243. package/dist/shared/datetime-picker.js +1 -1
  244. package/dist/shared/decimal.js +1 -1
  245. package/dist/shared/excel.js +1 -1
  246. package/dist/shared/index.js +1 -1
  247. package/dist/shared/locale-json.js +1 -1
  248. package/dist/shared/tree.js +1 -1
  249. package/dist/typings/routing/eps.d.ts +3 -1
  250. package/dist/typings/routing/meta.d.ts +15 -0
  251. package/package.json +1 -1
  252. package/typings/admin/base/auth.ts +24 -24
  253. package/typings/admin/base/permission.ts +19 -19
  254. package/typings/admin/comm/cascader.ts +7 -7
  255. package/typings/admin/comm/check-tree.ts +7 -7
  256. package/typings/admin/comm/crud.ts +427 -427
  257. package/typings/admin/comm/eps.ts +88 -86
  258. package/typings/admin/comm/request.ts +16 -16
  259. package/typings/admin/comm/service.ts +43 -43
  260. package/typings/admin/comm/upload.ts +39 -39
  261. package/typings/admin/theme.ts +10 -10
  262. package/typings/admin/vome/browser.ts +11 -11
  263. package/typings/admin/vome/module.ts +13 -13
  264. package/typings/admin/vome/tags.ts +9 -9
  265. package/typings/comm/crud.ts +83 -83
  266. package/typings/comm/page.ts +18 -18
  267. package/typings/comm/scan.ts +6 -6
  268. package/typings/common.ts +4 -4
  269. package/typings/context/data.ts +10 -10
  270. package/typings/ext/market-seat.ts +42 -42
  271. package/typings/ext/market.ts +55 -55
  272. package/typings/ext/module.ts +64 -64
  273. package/typings/ext/plugin.ts +38 -38
  274. package/typings/ioc/metadata.ts +34 -34
  275. package/typings/logger/config.ts +6 -6
  276. package/typings/routing/crud.ts +199 -199
  277. package/typings/routing/eps.ts +90 -88
  278. package/typings/routing/meta.ts +80 -63
  279. package/typings/routing/register.ts +21 -21
  280. package/typings/routing/scan-context.ts +7 -7
@@ -1 +1 @@
1
- (function(_0x55e6c3,_0x29c9e5){const _0x266d21=_0x134c,_0x16d00b=_0x55e6c3();while(!![]){try{const _0x2a54a3=-parseInt(_0x266d21(0x76))/0x1*(-parseInt(_0x266d21(0x73))/0x2)+-parseInt(_0x266d21(0x81))/0x3*(-parseInt(_0x266d21(0x84))/0x4)+parseInt(_0x266d21(0x72))/0x5+-parseInt(_0x266d21(0x7e))/0x6+parseInt(_0x266d21(0x74))/0x7+-parseInt(_0x266d21(0x7f))/0x8+-parseInt(_0x266d21(0x78))/0x9*(parseInt(_0x266d21(0x77))/0xa);if(_0x2a54a3===_0x29c9e5)break;else _0x16d00b['push'](_0x16d00b['shift']());}catch(_0x26b37a){_0x16d00b['push'](_0x16d00b['shift']());}}}(_0x4970,0x4bc9a));import{getAccessToken,getRefreshToken}from'../api/client';import{createEps,setServicePerms}from'../service';function _0x4970(){const _0x3dc5d4=['mtL1sLLcwvi','mtbTrhr3u3C','mty0odC5mtLbvgDrzwW','C2v0','Bg9HzgvK','yMvMB3jLrwfJAa','Bwv0yq','zNvSBfbHDgG','nJqYnJC4yKjqqxPP','nZmZmJCYAe5ys0js','Cgf0Aa','m2LJB3jyuW','AxntDxbLCG','z2v0','mJeZmZyYmgnmug5tvW','AgfZAa','Bg9NAw4','BwvUDxm','mZa3mdaXnuHJANjOBG','nJq2odzMB0z3svC','nda1ndG0oejWAfjVua','Bg9Hza'];_0x4970=function(){return _0x3dc5d4;};return _0x4970();}import{useUserStore}from'../stores/user';import{clearMenuRoutesFlag,ensureMenuRoutes,removeAllMenuRoutes}from'./menu-routes';const menuReadyMap=new WeakMap();export function setupAdminRouterGuards(_0xd9b12a,_0x51e828){const _0x251c0b=_0x134c;_0xd9b12a[_0x251c0b(0x7b)](async _0x523898=>{const _0x80c4a2=_0x251c0b;if(_0x523898[_0x80c4a2(0x7c)]['public'])return!![];if(!getAccessToken()&&!getRefreshToken())return{'name':_0x80c4a2(0x70),'query':{'redirect':_0x523898[_0x80c4a2(0x7d)]}};try{const _0xb3a4cf=useUserStore();if(!_0xb3a4cf[_0x80c4a2(0x7a)])await _0xb3a4cf[_0x80c4a2(0x75)]();await createEps(),setServicePerms(_0xb3a4cf['perms'],_0xb3a4cf[_0x80c4a2(0x82)]);if(!menuReadyMap[_0x80c4a2(0x83)](_0xd9b12a))return await ensureMenuRoutes(_0xd9b12a,_0xb3a4cf[_0x80c4a2(0x71)],_0x51e828),menuReadyMap[_0x80c4a2(0x79)](_0xd9b12a,!![]),{'path':_0x523898[_0x80c4a2(0x80)],'query':_0x523898['query'],'hash':_0x523898[_0x80c4a2(0x85)],'replace':!![]};}catch{menuReadyMap[_0x80c4a2(0x79)](_0xd9b12a,![]);if(!getAccessToken()&&!getRefreshToken())return{'name':_0x80c4a2(0x70),'query':{'redirect':_0x523898[_0x80c4a2(0x7d)]}};if(!getAccessToken()&&getRefreshToken())return!![];return!![];}return!![];});}function _0x134c(_0x1c6e41,_0x2e0593){_0x1c6e41=_0x1c6e41-0x70;const _0x497096=_0x4970();let _0x134c45=_0x497096[_0x1c6e41];if(_0x134c['pTicya']===undefined){var _0x339620=function(_0x356747){const _0x319e4e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xd9b12a='',_0x51e828='';for(let _0x523898=0x0,_0xb3a4cf,_0x480ee9,_0x164e0a=0x0;_0x480ee9=_0x356747['charAt'](_0x164e0a++);~_0x480ee9&&(_0xb3a4cf=_0x523898%0x4?_0xb3a4cf*0x40+_0x480ee9:_0x480ee9,_0x523898++%0x4)?_0xd9b12a+=String['fromCharCode'](0xff&_0xb3a4cf>>(-0x2*_0x523898&0x6)):0x0){_0x480ee9=_0x319e4e['indexOf'](_0x480ee9);}for(let _0x5ee183=0x0,_0x58a6dd=_0xd9b12a['length'];_0x5ee183<_0x58a6dd;_0x5ee183++){_0x51e828+='%'+('00'+_0xd9b12a['charCodeAt'](_0x5ee183)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51e828);};_0x134c['FcHzfY']=_0x339620,_0x134c['ZAgAoK']={},_0x134c['pTicya']=!![];}const _0x45dc85=_0x497096[0x0],_0x5efbd3=_0x1c6e41+_0x45dc85,_0x1c414e=_0x134c['ZAgAoK'][_0x5efbd3];return!_0x1c414e?(_0x134c45=_0x134c['FcHzfY'](_0x134c45),_0x134c['ZAgAoK'][_0x5efbd3]=_0x134c45):_0x134c45=_0x1c414e,_0x134c45;}export function resetMenuRoutesFlag(_0x480ee9){menuReadyMap['set'](_0x480ee9,![]),removeAllMenuRoutes(_0x480ee9),clearMenuRoutesFlag();}
1
+ (function(_0x9a806,_0xefb3cd){const _0x5b6480=_0x5a0e,_0x37870f=_0x9a806();while(!![]){try{const _0x177d75=-parseInt(_0x5b6480(0xa0))/0x1+parseInt(_0x5b6480(0x8d))/0x2+-parseInt(_0x5b6480(0x9a))/0x3*(-parseInt(_0x5b6480(0x90))/0x4)+-parseInt(_0x5b6480(0x92))/0x5+parseInt(_0x5b6480(0x96))/0x6*(parseInt(_0x5b6480(0x9b))/0x7)+parseInt(_0x5b6480(0x93))/0x8+parseInt(_0x5b6480(0x9d))/0x9*(-parseInt(_0x5b6480(0x8f))/0xa);if(_0x177d75===_0xefb3cd)break;else _0x37870f['push'](_0x37870f['shift']());}catch(_0x32cba9){_0x37870f['push'](_0x37870f['shift']());}}}(_0x4f45,0x5ccae));import{getAccessToken,getRefreshToken}from'../api/client';import{createEps,setServicePerms}from'../service';import{useUserStore}from'../stores/user';import{clearMenuRoutesFlag,ensureMenuRoutes,removeAllMenuRoutes}from'./menu-routes';const menuReadyMap=new WeakMap();export function setupAdminRouterGuards(_0x1b265b,_0x3fdd3e){const _0x592b04=_0x5a0e;_0x1b265b[_0x592b04(0x8a)](async _0x1cd9a5=>{const _0x379b6e=_0x592b04;if(_0x1cd9a5[_0x379b6e(0x88)][_0x379b6e(0x89)])return!![];if(!getAccessToken()&&!getRefreshToken())return{'name':_0x379b6e(0x8b),'query':{'redirect':_0x1cd9a5[_0x379b6e(0x8e)]}};try{const _0x415955=useUserStore();if(!_0x415955[_0x379b6e(0x97)])await _0x415955[_0x379b6e(0x95)]();await createEps(),setServicePerms(_0x415955[_0x379b6e(0x98)],_0x415955[_0x379b6e(0x99)]);if(!menuReadyMap[_0x379b6e(0x91)](_0x1b265b))return await ensureMenuRoutes(_0x1b265b,_0x415955[_0x379b6e(0x94)],_0x3fdd3e),menuReadyMap[_0x379b6e(0x9e)](_0x1b265b,!![]),{'path':_0x1cd9a5[_0x379b6e(0x8c)],'query':_0x1cd9a5[_0x379b6e(0x9c)],'hash':_0x1cd9a5[_0x379b6e(0x9f)],'replace':!![]};}catch{menuReadyMap[_0x379b6e(0x9e)](_0x1b265b,![]);if(!getAccessToken()&&!getRefreshToken())return{'name':_0x379b6e(0x8b),'query':{'redirect':_0x1cd9a5[_0x379b6e(0x8e)]}};if(!getAccessToken()&&getRefreshToken())return!![];return!![];}return!![];});}function _0x4f45(){const _0x47f25e=['ChvIBgLJ','yMvMB3jLrwfJAa','Bg9NAw4','Cgf0Aa','mte5mZi2mM12vLjOwq','zNvSBfbHDgG','mJaZnZCZmfPOq3PKwq','nte2mdiWrhfoCMPd','z2v0','mZe0nZy1wwLWvfzb','mJq2nJeWnfbUz1rYCW','BwvUDxm','Bg9Hza','mtm3nfzsqM1KtW','Bg9HzgvK','CgvYBxm','AxntDxbLCG','mtvkteHAweu','mJa1odD3qwvzD1m','CxvLCNK','nJnKs09dCgu','C2v0','AgfZAa','mZuZoty2u1vdDLvo','Bwv0yq'];_0x4f45=function(){return _0x47f25e;};return _0x4f45();}function _0x5a0e(_0x3f14ae,_0x9496e5){_0x3f14ae=_0x3f14ae-0x88;const _0x4f45d8=_0x4f45();let _0x5a0efa=_0x4f45d8[_0x3f14ae];if(_0x5a0e['yaDOBi']===undefined){var _0x3c6c20=function(_0x3fdab1){const _0x23313b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b265b='',_0x3fdd3e='';for(let _0x1cd9a5=0x0,_0x415955,_0x3f3640,_0x1daf47=0x0;_0x3f3640=_0x3fdab1['charAt'](_0x1daf47++);~_0x3f3640&&(_0x415955=_0x1cd9a5%0x4?_0x415955*0x40+_0x3f3640:_0x3f3640,_0x1cd9a5++%0x4)?_0x1b265b+=String['fromCharCode'](0xff&_0x415955>>(-0x2*_0x1cd9a5&0x6)):0x0){_0x3f3640=_0x23313b['indexOf'](_0x3f3640);}for(let _0x197ca2=0x0,_0x551c54=_0x1b265b['length'];_0x197ca2<_0x551c54;_0x197ca2++){_0x3fdd3e+='%'+('00'+_0x1b265b['charCodeAt'](_0x197ca2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3fdd3e);};_0x5a0e['usxvAl']=_0x3c6c20,_0x5a0e['STxDHy']={},_0x5a0e['yaDOBi']=!![];}const _0x211a30=_0x4f45d8[0x0],_0x52734c=_0x3f14ae+_0x211a30,_0x216863=_0x5a0e['STxDHy'][_0x52734c];return!_0x216863?(_0x5a0efa=_0x5a0e['usxvAl'](_0x5a0efa),_0x5a0e['STxDHy'][_0x52734c]=_0x5a0efa):_0x5a0efa=_0x216863,_0x5a0efa;}export function resetMenuRoutesFlag(_0x3f3640){const _0x115080=_0x5a0e;menuReadyMap[_0x115080(0x9e)](_0x3f3640,![]),removeAllMenuRoutes(_0x3f3640),clearMenuRoutesFlag();}
@@ -1 +1,13 @@
1
- export declare const useAppStore: any;
1
+ export declare const useAppStore: import("pinia").StoreDefinition<"app", {
2
+ /** 桌面端手动折叠侧栏 */
3
+ sidebarFold: boolean;
4
+ /** 移动端抽屉开合 */
5
+ mobileOpen: boolean;
6
+ /** 为 false 时卸掉 RouterView,用于「刷新当前页」 */
7
+ viewAlive: boolean;
8
+ }, {}, {
9
+ toggleSidebarFold(): void;
10
+ setMobileOpen(open: boolean): void;
11
+ /** 重挂载当前视图(非浏览器整页刷新) */
12
+ reloadView(): Promise<void>;
13
+ }>;
@@ -1 +1,14 @@
1
- export declare const useTagsStore: any;
1
+ import type { RouteLocationNormalized } from 'vue-router';
2
+ import type { TagItem } from '../../../typings/admin/vome/tags';
3
+ export declare const useTagsStore: import("pinia").StoreDefinition<"tags", {
4
+ list: TagItem[];
5
+ /** KeepAlive :include,值为页面组件 name(如 base-role) */
6
+ caches: string[];
7
+ }, {}, {
8
+ add(route: RouteLocationNormalized): void;
9
+ addCache(name: string): void;
10
+ removeCache(name?: string): void;
11
+ remove(path: string): void;
12
+ closeOthers(path: string): void;
13
+ clear(): void;
14
+ }>;
@@ -1 +1,48 @@
1
- export declare const useUserStore: any;
1
+ import type { MenuTreeNode } from '../../../typings/admin/base/permission';
2
+ export declare const useUserStore: import("pinia").StoreDefinition<"user", {
3
+ adminId: number;
4
+ username: string;
5
+ isSuper: boolean;
6
+ perms: string[];
7
+ menus: MenuTreeNode[];
8
+ loaded: boolean;
9
+ }, {
10
+ navMenus(state: {
11
+ adminId: number;
12
+ username: string;
13
+ isSuper: boolean;
14
+ perms: string[];
15
+ menus: {
16
+ id: number;
17
+ parentId: number | null;
18
+ name: string;
19
+ router: string | null;
20
+ perms: string | null;
21
+ type: number;
22
+ icon: string | null;
23
+ orderNum: number;
24
+ viewPath: string | null;
25
+ remoteName: string | null;
26
+ remoteEntry: string | null;
27
+ remoteModule: string | null;
28
+ appKey: string | null;
29
+ keepAlive: boolean;
30
+ isShow: boolean;
31
+ children?: /*elided*/ any[];
32
+ }[];
33
+ loaded: boolean;
34
+ } & import("pinia").PiniaCustomStateProperties<{
35
+ adminId: number;
36
+ username: string;
37
+ isSuper: boolean;
38
+ perms: string[];
39
+ menus: MenuTreeNode[];
40
+ loaded: boolean;
41
+ }>): MenuTreeNode[];
42
+ }, {
43
+ load(): Promise<void>;
44
+ /** 菜单 CRUD 后刷新侧栏/权限(不重拉 me) */
45
+ reloadMenus(): Promise<void>;
46
+ hasPerm(code: string | string[]): boolean;
47
+ logout(): void;
48
+ }>;
@@ -1,121 +1,121 @@
1
- /**
2
- * 框架结构样式(锁定):全局 token、页面骨架、表单聚焦、滚动条、页面过渡、通用工具类。
3
- * 宿主只应提供主题色(admin/src/styles/theme.css);勿改此文件做换肤。
4
- * 业务自定义请用 scoped + :deep() 穿透覆盖。
5
- * CRUD 弹窗壳(.vm-crud-shell__*)在 DialogContent.vue;控件尺寸细节在 Input / Select 组件内。
6
- */
7
-
8
- :root {
9
- --radius: 20px;
10
- --shadow-soft: 0 10px 30px rgba(40, 50, 120, 0.06);
11
- --shadow-card: 0 8px 24px rgba(40, 50, 120, 0.05);
12
-
13
- --vm-control-height: 32px;
14
- --vm-control-radius: 10px;
15
- --vm-control-padding-x: 10px;
16
- --vm-control-font-size: 13px;
17
- }
18
-
19
- .dark {
20
- --shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.35);
21
- --shadow-card: 0 8px 24px rgba(0, 0, 0, 0.28);
22
- }
23
-
24
- /* 全局骨架(不依赖 @apply,避免 core CSS 绑死 Tailwind 构建) */
25
- * {
26
- border-color: var(--border);
27
- }
28
-
29
- html {
30
- font-size: 16px;
31
- }
32
-
33
- html,
34
- body,
35
- #app {
36
- height: 100%;
37
- }
38
-
39
- body {
40
- background: var(--background);
41
- color: var(--foreground);
42
- font-size: 14px;
43
- font-weight: 500;
44
- -webkit-font-smoothing: antialiased;
45
- -moz-osx-font-smoothing: grayscale;
46
- }
47
-
48
- /* 表单聚焦:细边框,无外圈粗 ring */
49
- :where(
50
- input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='hidden']):not([type='button']):not([type='submit']):not([type='reset']),
51
- textarea,
52
- [data-slot='input'],
53
- [data-slot='select-trigger']
54
- ) {
55
- outline: none;
56
- }
57
-
58
- :where(
59
- input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='hidden']):not([type='button']):not([type='submit']):not([type='reset']),
60
- textarea,
61
- [data-slot='input'],
62
- [data-slot='select-trigger']
63
- ):is(:focus, :focus-visible) {
64
- border-color: var(--focus-border) !important;
65
- box-shadow: none !important;
66
- --tw-ring-shadow: 0 0 #0000 !important;
67
- --tw-ring-offset-shadow: 0 0 #0000 !important;
68
- }
69
-
70
- .page-enter-active,
71
- .page-leave-active {
72
- transition:
73
- opacity 0.2s ease,
74
- transform 0.2s ease;
75
- }
76
- .page-enter-from {
77
- opacity: 0;
78
- transform: translateY(6px);
79
- }
80
- .page-leave-to {
81
- opacity: 0;
82
- transform: translateY(-3px);
83
- }
84
-
85
- /* 细圆角滚动条(无轨道背景);颜色由主题 --scrollbar-thumb* 提供 */
86
- * {
87
- scrollbar-width: thin;
88
- scrollbar-color: var(--scrollbar-thumb) transparent;
89
- }
90
-
91
- *::-webkit-scrollbar {
92
- width: 8px;
93
- height: 8px;
94
- }
95
-
96
- *::-webkit-scrollbar-track {
97
- background: transparent;
98
- }
99
-
100
- *::-webkit-scrollbar-thumb {
101
- background: var(--scrollbar-thumb);
102
- border: 2px solid transparent;
103
- background-clip: padding-box;
104
- border-radius: 999px;
105
- }
106
-
107
- *::-webkit-scrollbar-thumb:hover {
108
- background: var(--scrollbar-thumb-hover);
109
- border: 2px solid transparent;
110
- background-clip: padding-box;
111
- }
112
-
113
- .vm-scroll {
114
- scrollbar-width: thin;
115
- scrollbar-color: var(--scrollbar-thumb) transparent;
116
- }
117
-
118
- /* Dialog 内 Teleport 浮层:modal 时 body pointer-events:none,浮层需显式恢复 */
119
- .vm-dialog-float {
120
- pointer-events: auto;
121
- }
1
+ /**
2
+ * 框架结构样式(锁定):全局 token、页面骨架、表单聚焦、滚动条、页面过渡、通用工具类。
3
+ * 宿主只应提供主题色(admin/src/styles/theme.css);勿改此文件做换肤。
4
+ * 业务自定义请用 scoped + :deep() 穿透覆盖。
5
+ * CRUD 弹窗壳(.vm-crud-shell__*)在 DialogContent.vue;控件尺寸细节在 Input / Select 组件内。
6
+ */
7
+
8
+ :root {
9
+ --radius: 20px;
10
+ --shadow-soft: 0 10px 30px rgba(40, 50, 120, 0.06);
11
+ --shadow-card: 0 8px 24px rgba(40, 50, 120, 0.05);
12
+
13
+ --vm-control-height: 32px;
14
+ --vm-control-radius: 10px;
15
+ --vm-control-padding-x: 10px;
16
+ --vm-control-font-size: 13px;
17
+ }
18
+
19
+ .dark {
20
+ --shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.35);
21
+ --shadow-card: 0 8px 24px rgba(0, 0, 0, 0.28);
22
+ }
23
+
24
+ /* 全局骨架(不依赖 @apply,避免 core CSS 绑死 Tailwind 构建) */
25
+ * {
26
+ border-color: var(--border);
27
+ }
28
+
29
+ html {
30
+ font-size: 16px;
31
+ }
32
+
33
+ html,
34
+ body,
35
+ #app {
36
+ height: 100%;
37
+ }
38
+
39
+ body {
40
+ background: var(--background);
41
+ color: var(--foreground);
42
+ font-size: 14px;
43
+ font-weight: 500;
44
+ -webkit-font-smoothing: antialiased;
45
+ -moz-osx-font-smoothing: grayscale;
46
+ }
47
+
48
+ /* 表单聚焦:细边框,无外圈粗 ring */
49
+ :where(
50
+ input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='hidden']):not([type='button']):not([type='submit']):not([type='reset']),
51
+ textarea,
52
+ [data-slot='input'],
53
+ [data-slot='select-trigger']
54
+ ) {
55
+ outline: none;
56
+ }
57
+
58
+ :where(
59
+ input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='hidden']):not([type='button']):not([type='submit']):not([type='reset']),
60
+ textarea,
61
+ [data-slot='input'],
62
+ [data-slot='select-trigger']
63
+ ):is(:focus, :focus-visible) {
64
+ border-color: var(--focus-border) !important;
65
+ box-shadow: none !important;
66
+ --tw-ring-shadow: 0 0 #0000 !important;
67
+ --tw-ring-offset-shadow: 0 0 #0000 !important;
68
+ }
69
+
70
+ .page-enter-active,
71
+ .page-leave-active {
72
+ transition:
73
+ opacity 0.2s ease,
74
+ transform 0.2s ease;
75
+ }
76
+ .page-enter-from {
77
+ opacity: 0;
78
+ transform: translateY(6px);
79
+ }
80
+ .page-leave-to {
81
+ opacity: 0;
82
+ transform: translateY(-3px);
83
+ }
84
+
85
+ /* 细圆角滚动条(无轨道背景);颜色由主题 --scrollbar-thumb* 提供 */
86
+ * {
87
+ scrollbar-width: thin;
88
+ scrollbar-color: var(--scrollbar-thumb) transparent;
89
+ }
90
+
91
+ *::-webkit-scrollbar {
92
+ width: 8px;
93
+ height: 8px;
94
+ }
95
+
96
+ *::-webkit-scrollbar-track {
97
+ background: transparent;
98
+ }
99
+
100
+ *::-webkit-scrollbar-thumb {
101
+ background: var(--scrollbar-thumb);
102
+ border: 2px solid transparent;
103
+ background-clip: padding-box;
104
+ border-radius: 999px;
105
+ }
106
+
107
+ *::-webkit-scrollbar-thumb:hover {
108
+ background: var(--scrollbar-thumb-hover);
109
+ border: 2px solid transparent;
110
+ background-clip: padding-box;
111
+ }
112
+
113
+ .vm-scroll {
114
+ scrollbar-width: thin;
115
+ scrollbar-color: var(--scrollbar-thumb) transparent;
116
+ }
117
+
118
+ /* Dialog 内 Teleport 浮层:modal 时 body pointer-events:none,浮层需显式恢复 */
119
+ .vm-dialog-float {
120
+ pointer-events: auto;
121
+ }