vome-core 0.1.77 → 0.1.79

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 (203) hide show
  1. package/dist/admin/api/client.js +2 -3
  2. package/dist/admin/components/layout/vm-app-header.vue +341 -0
  3. package/dist/admin/components/layout/vm-app-sidebar.vue +187 -0
  4. package/dist/admin/components/layout/vm-sidebar-flyout.vue +268 -0
  5. package/dist/admin/components/layout/vm-sidebar-nav-item.vue +490 -0
  6. package/dist/admin/components/layout/vm-sidebar-nav.vue +104 -0
  7. package/dist/admin/components/layout/vm-tags-view.vue +233 -0
  8. package/dist/admin/components/ui/avatar/Avatar.vue +18 -0
  9. package/dist/admin/components/ui/avatar/AvatarFallback.vue +21 -0
  10. package/dist/admin/components/ui/avatar/AvatarImage.vue +16 -0
  11. package/dist/admin/components/ui/avatar/index.d.ts +3 -0
  12. package/dist/admin/components/ui/avatar/index.js +1 -0
  13. package/dist/admin/components/ui/badge/Badge.vue +26 -0
  14. package/dist/admin/components/ui/badge/index.d.ts +6 -0
  15. package/dist/admin/components/ui/badge/index.js +1 -0
  16. package/dist/admin/components/ui/button/Button.vue +31 -0
  17. package/dist/admin/components/ui/button/index.d.ts +7 -0
  18. package/dist/admin/components/ui/button/index.js +1 -0
  19. package/dist/admin/components/ui/checkbox/Checkbox.vue +35 -0
  20. package/dist/admin/components/ui/checkbox/index.d.ts +1 -0
  21. package/dist/admin/components/ui/checkbox/index.js +1 -0
  22. package/dist/admin/components/ui/dialog/Dialog.vue +19 -0
  23. package/dist/admin/components/ui/dialog/DialogClose.vue +15 -0
  24. package/dist/admin/components/ui/dialog/DialogContent.vue +135 -0
  25. package/dist/admin/components/ui/dialog/DialogDescription.vue +23 -0
  26. package/dist/admin/components/ui/dialog/DialogFooter.vue +27 -0
  27. package/dist/admin/components/ui/dialog/DialogHeader.vue +17 -0
  28. package/dist/admin/components/ui/dialog/DialogOverlay.vue +21 -0
  29. package/dist/admin/components/ui/dialog/DialogScrollContent.vue +60 -0
  30. package/dist/admin/components/ui/dialog/DialogTitle.vue +23 -0
  31. package/dist/admin/components/ui/dialog/DialogTrigger.vue +15 -0
  32. package/dist/admin/components/ui/dialog/index.d.ts +10 -0
  33. package/dist/admin/components/ui/dialog/index.js +1 -0
  34. package/dist/admin/components/ui/dropdown-menu/DropdownMenu.vue +19 -0
  35. package/dist/admin/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
  36. package/dist/admin/components/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
  37. package/dist/admin/components/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
  38. package/dist/admin/components/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
  39. package/dist/admin/components/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
  40. package/dist/admin/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
  41. package/dist/admin/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
  42. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
  43. package/dist/admin/components/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
  44. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
  45. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
  46. package/dist/admin/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  47. package/dist/admin/components/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
  48. package/dist/admin/components/ui/dropdown-menu/index.d.ts +15 -0
  49. package/dist/admin/components/ui/dropdown-menu/index.js +1 -0
  50. package/dist/admin/components/ui/input/Input.vue +34 -0
  51. package/dist/admin/components/ui/input/index.d.ts +1 -0
  52. package/dist/admin/components/ui/input/index.js +1 -0
  53. package/dist/admin/components/ui/label/Label.vue +26 -0
  54. package/dist/admin/components/ui/label/index.d.ts +1 -0
  55. package/dist/admin/components/ui/label/index.js +1 -0
  56. package/dist/admin/components/ui/scroll-area/ScrollArea.vue +33 -0
  57. package/dist/admin/components/ui/scroll-area/ScrollBar.vue +32 -0
  58. package/dist/admin/components/ui/scroll-area/index.d.ts +2 -0
  59. package/dist/admin/components/ui/scroll-area/index.js +1 -0
  60. package/dist/admin/components/ui/select/Select.vue +19 -0
  61. package/dist/admin/components/ui/select/SelectContent.vue +51 -0
  62. package/dist/admin/components/ui/select/SelectGroup.vue +15 -0
  63. package/dist/admin/components/ui/select/SelectItem.vue +44 -0
  64. package/dist/admin/components/ui/select/SelectItemText.vue +15 -0
  65. package/dist/admin/components/ui/select/SelectLabel.vue +17 -0
  66. package/dist/admin/components/ui/select/SelectScrollDownButton.vue +26 -0
  67. package/dist/admin/components/ui/select/SelectScrollUpButton.vue +26 -0
  68. package/dist/admin/components/ui/select/SelectSeparator.vue +19 -0
  69. package/dist/admin/components/ui/select/SelectTrigger.vue +33 -0
  70. package/dist/admin/components/ui/select/SelectValue.vue +15 -0
  71. package/dist/admin/components/ui/select/index.d.ts +11 -0
  72. package/dist/admin/components/ui/select/index.js +1 -0
  73. package/dist/admin/components/ui/separator/Separator.vue +29 -0
  74. package/dist/admin/components/ui/separator/index.d.ts +1 -0
  75. package/dist/admin/components/ui/separator/index.js +1 -0
  76. package/dist/admin/components/ui/sheet/Sheet.vue +19 -0
  77. package/dist/admin/components/ui/sheet/SheetClose.vue +15 -0
  78. package/dist/admin/components/ui/sheet/SheetContent.vue +63 -0
  79. package/dist/admin/components/ui/sheet/SheetDescription.vue +21 -0
  80. package/dist/admin/components/ui/sheet/SheetFooter.vue +16 -0
  81. package/dist/admin/components/ui/sheet/SheetHeader.vue +15 -0
  82. package/dist/admin/components/ui/sheet/SheetOverlay.vue +21 -0
  83. package/dist/admin/components/ui/sheet/SheetTitle.vue +21 -0
  84. package/dist/admin/components/ui/sheet/SheetTrigger.vue +15 -0
  85. package/dist/admin/components/ui/sheet/index.d.ts +8 -0
  86. package/dist/admin/components/ui/sheet/index.js +1 -0
  87. package/dist/admin/components/ui/sonner/Toaster.vue +117 -0
  88. package/dist/admin/components/ui/sonner/index.d.ts +1 -0
  89. package/dist/admin/components/ui/sonner/index.js +1 -0
  90. package/dist/admin/components/ui/table/Table.vue +16 -0
  91. package/dist/admin/components/ui/table/TableBody.vue +17 -0
  92. package/dist/admin/components/ui/table/TableCaption.vue +17 -0
  93. package/dist/admin/components/ui/table/TableCell.vue +22 -0
  94. package/dist/admin/components/ui/table/TableEmpty.vue +34 -0
  95. package/dist/admin/components/ui/table/TableFooter.vue +17 -0
  96. package/dist/admin/components/ui/table/TableHead.vue +17 -0
  97. package/dist/admin/components/ui/table/TableHeader.vue +17 -0
  98. package/dist/admin/components/ui/table/TableRow.vue +17 -0
  99. package/dist/admin/components/ui/table/index.d.ts +9 -0
  100. package/dist/admin/components/ui/table/index.js +1 -0
  101. package/dist/admin/components/ui/tabs/Tabs.vue +24 -0
  102. package/dist/admin/components/ui/tabs/TabsContent.vue +21 -0
  103. package/dist/admin/components/ui/tabs/TabsList.vue +24 -0
  104. package/dist/admin/components/ui/tabs/TabsTrigger.vue +26 -0
  105. package/dist/admin/components/ui/tabs/index.d.ts +4 -0
  106. package/dist/admin/components/ui/tabs/index.js +1 -0
  107. package/dist/admin/components/ui/tooltip/Tooltip.vue +19 -0
  108. package/dist/admin/components/ui/tooltip/TooltipContent.vue +34 -0
  109. package/dist/admin/components/ui/tooltip/TooltipProvider.vue +14 -0
  110. package/dist/admin/components/ui/tooltip/TooltipTrigger.vue +15 -0
  111. package/dist/admin/components/ui/tooltip/index.d.ts +4 -0
  112. package/dist/admin/components/ui/tooltip/index.js +1 -0
  113. package/dist/admin/crud/components/vm-color-picker.vue +0 -3
  114. package/dist/admin/crud/components/vm-richtext-extensions.js +1 -1
  115. package/dist/admin/crud/config.js +1 -1
  116. package/dist/admin/crud/confirm.d.ts +8 -0
  117. package/dist/admin/crud/confirm.js +1 -1
  118. package/dist/admin/crud/crud-page-request.js +1 -1
  119. package/dist/admin/crud/dict.js +1 -1
  120. package/dist/admin/crud/export-fetch.js +1 -1
  121. package/dist/admin/crud/key.js +1 -1
  122. package/dist/admin/crud/plugins.js +1 -1
  123. package/dist/admin/crud/span.js +1 -1
  124. package/dist/admin/crud/style.d.ts +4 -0
  125. package/dist/admin/crud/style.js +1 -1
  126. package/dist/admin/crud/validate.js +1 -1
  127. package/dist/admin/directives/perm.js +1 -1
  128. package/dist/admin/env.d.ts +0 -4
  129. package/dist/admin/hooks/useUpload.js +1 -1
  130. package/dist/admin/index.d.ts +11 -9
  131. package/dist/admin/index.js +16 -27
  132. package/dist/admin/lib/browser.js +1 -1
  133. package/dist/admin/lib/cn.js +1 -1
  134. package/dist/admin/lib/dialog-float.js +1 -1
  135. package/dist/admin/lib/document-title.d.ts +6 -0
  136. package/dist/admin/lib/document-title.js +1 -0
  137. package/dist/admin/lib/export-excel.js +1 -1
  138. package/dist/admin/lib/import-excel.js +1 -1
  139. package/dist/admin/lib/json.js +1 -1
  140. package/dist/admin/lib/menu.js +1 -1
  141. package/dist/admin/lib/micro-locale.d.ts +5 -0
  142. package/dist/admin/lib/micro-locale.js +1 -0
  143. package/dist/admin/lib/micro-theme.d.ts +14 -0
  144. package/dist/admin/lib/micro-theme.js +1 -0
  145. package/dist/admin/lib/setup-crud-defaults.d.ts +2 -0
  146. package/dist/admin/lib/setup-crud-defaults.js +1 -0
  147. package/dist/admin/lib/shell.d.ts +13 -0
  148. package/dist/admin/lib/shell.js +1 -0
  149. package/dist/admin/lib/theme-color-options.js +1 -1
  150. package/dist/admin/lib/tree.js +1 -1
  151. package/dist/admin/lib/upload.js +1 -1
  152. package/dist/admin/lib/video-frame.js +1 -1
  153. package/dist/admin/router/create.d.ts +16 -0
  154. package/dist/admin/router/create.js +1 -0
  155. package/dist/admin/router/guards.d.ts +6 -0
  156. package/dist/admin/router/guards.js +1 -0
  157. package/dist/admin/router/index.d.ts +5 -3
  158. package/dist/admin/router/index.js +5 -80
  159. package/dist/admin/router/menu-routes.d.ts +7 -2
  160. package/dist/admin/router/menu-routes.js +10 -12
  161. package/dist/admin/service/index.js +0 -3
  162. package/dist/admin/stores/dict.d.ts +13 -0
  163. package/dist/admin/stores/dict.js +1 -0
  164. package/dist/admin/stores/locale.d.ts +3 -0
  165. package/dist/admin/stores/locale.js +1 -0
  166. package/dist/admin/stores/theme.d.ts +1 -0
  167. package/dist/admin/stores/theme.js +1 -0
  168. package/dist/admin/themes/dark.d.ts +2 -0
  169. package/dist/admin/themes/dark.js +1 -0
  170. package/dist/admin/themes/index.d.ts +9 -0
  171. package/dist/admin/themes/index.js +1 -0
  172. package/dist/admin/themes/light.d.ts +2 -0
  173. package/dist/admin/themes/light.js +1 -0
  174. package/dist/client/configure.d.ts +3 -0
  175. package/dist/client/configure.js +8 -1
  176. package/dist/client/vite-admin.js +2 -4
  177. package/dist/client/vite-auto-import.js +4 -4
  178. package/dist/client/vite-resolve.d.ts +3 -3
  179. package/dist/client/vite-resolve.js +10 -15
  180. package/dist/ext/plugin-market-urls.d.ts +8 -0
  181. package/dist/index.js +1 -1
  182. package/dist/server/index.js +1 -1
  183. package/dist/shared/datetime-picker.js +1 -1
  184. package/dist/shared/excel.js +1 -1
  185. package/dist/shared/index.js +1 -1
  186. package/dist/shared/locale-json.js +1 -1
  187. package/dist/shared/tree.js +1 -1
  188. package/package.json +13 -4
  189. package/typings/admin/theme.ts +10 -0
  190. package/dist/admin/config/plugin-dev.d.ts +0 -52
  191. package/dist/admin/config/plugin-dev.js +0 -1
  192. package/dist/comm/chinese-segments.test.d.ts +0 -1
  193. package/dist/comm/path.test.d.ts +0 -1
  194. package/typings/admin/base/auth.d.ts +0 -21
  195. package/typings/admin/base/permission.d.ts +0 -19
  196. package/typings/admin/comm/crud.d.ts +0 -343
  197. package/typings/admin/comm/eps.d.ts +0 -66
  198. package/typings/admin/comm/request.d.ts +0 -13
  199. package/typings/admin/comm/service.d.ts +0 -48
  200. package/typings/admin/comm/upload.d.ts +0 -26
  201. package/typings/admin/host.d.ts +0 -66
  202. package/typings/admin/vome/browser.d.ts +0 -10
  203. package/typings/admin/vome/module.d.ts +0 -13
@@ -1 +1 @@
1
- const _0x64663c=_0x4fb1;(function(_0x583c83,_0x809872){const _0x37c8c2=_0x4fb1,_0x47e9a6=_0x583c83();while(!![]){try{const _0x54d1e8=parseInt(_0x37c8c2(0xd8))/0x1+-parseInt(_0x37c8c2(0xf0))/0x2+-parseInt(_0x37c8c2(0xe4))/0x3+-parseInt(_0x37c8c2(0xdb))/0x4+-parseInt(_0x37c8c2(0xe3))/0x5+parseInt(_0x37c8c2(0x10d))/0x6*(-parseInt(_0x37c8c2(0x111))/0x7)+parseInt(_0x37c8c2(0xfb))/0x8;if(_0x54d1e8===_0x809872)break;else _0x47e9a6['push'](_0x47e9a6['shift']());}catch(_0x402989){_0x47e9a6['push'](_0x47e9a6['shift']());}}}(_0x1eb8,0xec205));export const DEFAULT_UPLOAD_RULES=[{'name':'图片','type':_0x64663c(0xd9),'color':_0x64663c(0x121),'exts':[_0x64663c(0x100),_0x64663c(0xfe),_0x64663c(0x11c),_0x64663c(0xe7),_0x64663c(0x10b),_0x64663c(0x110),'svg',_0x64663c(0x116)]},{'name':'视频','type':_0x64663c(0xf8),'color':_0x64663c(0x11d),'exts':['avi',_0x64663c(0x120),_0x64663c(0xf5),_0x64663c(0xdd),'mov','rm',_0x64663c(0x115),_0x64663c(0x10a),'flv',_0x64663c(0xd7),_0x64663c(0xe6)]},{'name':'音频','type':_0x64663c(0xf6),'color':'#826aec','exts':[_0x64663c(0xe0),_0x64663c(0x106),_0x64663c(0xe1),_0x64663c(0x108),_0x64663c(0xf4),'midi','ra',_0x64663c(0xdf),_0x64663c(0x119),'cda']},{'name':'文档','type':_0x64663c(0xfd),'color':'#53B7F4','exts':[_0x64663c(0x105),'docx',_0x64663c(0xec),'dot',_0x64663c(0xea),_0x64663c(0x11b)]},{'name':'表格','type':_0x64663c(0x11a),'color':_0x64663c(0x123),'exts':[_0x64663c(0x107),_0x64663c(0xfc),_0x64663c(0xdc),'xlt',_0x64663c(0x10f),_0x64663c(0x114)]},{'name':'演示','type':_0x64663c(0x11f),'color':'#F56C6C','exts':[_0x64663c(0x11f),_0x64663c(0x118),'pptm',_0x64663c(0xef),_0x64663c(0x122),_0x64663c(0xfa),_0x64663c(0xf2),_0x64663c(0xf1),'dpt','dps']},{'name':'PDF','type':'pdf','color':_0x64663c(0xf7),'exts':[_0x64663c(0xe9)]},{'name':_0x64663c(0x113),'type':'rar','color':_0x64663c(0x112),'exts':[_0x64663c(0xde),_0x64663c(0xeb),'7z',_0x64663c(0xff),'gz']},{'name':'文件','type':_0x64663c(0xda),'color':_0x64663c(0xed),'exts':[]}];export function extname(_0x34ea37=''){const _0xc3997c=_0x64663c,_0x23a59b=String(_0x34ea37)[_0xc3997c(0xe2)]('?')[0x0]?.['match'](/\.([^.]+)$/);return _0x23a59b?_0x23a59b[0x1]['toLowerCase']():'';}export function filename(_0xac3938=''){const _0x2a6dca=_0x64663c,_0xf3083e=String(_0xac3938)[_0x2a6dca(0xe2)]('?')[0x0]?.[_0x2a6dca(0xe2)]('/')['pop']()||'',_0x153643=extname(_0xf3083e);return _0x153643?_0xf3083e['slice'](0x0,-(_0x153643[_0x2a6dca(0x10e)]+0x1)):_0xf3083e;}function _0x4fb1(_0xbbb783,_0x4e1fbc){_0xbbb783=_0xbbb783-0xd7;const _0x1eb8f3=_0x1eb8();let _0x4fb115=_0x1eb8f3[_0xbbb783];if(_0x4fb1['EZpvna']===undefined){var _0x375c64=function(_0x19dbea){const _0x439394='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x34ea37='',_0x23a59b='';for(let _0xac3938=0x0,_0xf3083e,_0x153643,_0x569772=0x0;_0x153643=_0x19dbea['charAt'](_0x569772++);~_0x153643&&(_0xf3083e=_0xac3938%0x4?_0xf3083e*0x40+_0x153643:_0x153643,_0xac3938++%0x4)?_0x34ea37+=String['fromCharCode'](0xff&_0xf3083e>>(-0x2*_0xac3938&0x6)):0x0){_0x153643=_0x439394['indexOf'](_0x153643);}for(let _0x28c98d=0x0,_0x555eff=_0x34ea37['length'];_0x28c98d<_0x555eff;_0x28c98d++){_0x23a59b+='%'+('00'+_0x34ea37['charCodeAt'](_0x28c98d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23a59b);};_0x4fb1['YjYuDY']=_0x375c64,_0x4fb1['XgoyyY']={},_0x4fb1['EZpvna']=!![];}const _0x268c20=_0x1eb8f3[0x0],_0x49806d=_0xbbb783+_0x268c20,_0x3098e1=_0x4fb1['XgoyyY'][_0x49806d];return!_0x3098e1?(_0x4fb115=_0x4fb1['YjYuDY'](_0x4fb115),_0x4fb1['XgoyyY'][_0x49806d]=_0x4fb115):_0x4fb115=_0x3098e1,_0x4fb115;}function fileRule(_0x569772,_0x28c98d=DEFAULT_UPLOAD_RULES){const _0x1c62da=_0x64663c;if(_0x569772?.['includes']('data:image/'))return _0x28c98d[_0x1c62da(0xf3)](_0x31552e=>_0x31552e[_0x1c62da(0xe8)]===_0x1c62da(0xd9));const _0x555eff=extname(_0x569772||''),_0x3911d6=_0x28c98d[_0x1c62da(0xf3)](_0x4ad12a=>_0x4ad12a[_0x1c62da(0x102)][_0x1c62da(0x109)](_0x555eff));return _0x3911d6||_0x28c98d['find'](_0x30a6ef=>_0x30a6ef[_0x1c62da(0xe8)]===_0x1c62da(0xda));}export function getFileType(_0x4feb42,_0x5b3d3c=DEFAULT_UPLOAD_RULES){return fileRule(_0x4feb42,_0x5b3d3c)['type'];}export function getUploadRule(_0x1db328,_0x4a237b=DEFAULT_UPLOAD_RULES){const _0x493400=_0x64663c;return _0x4a237b[_0x493400(0xf3)](_0x200b81=>_0x200b81['type']===_0x1db328)||_0x4a237b[_0x4a237b[_0x493400(0x10e)]-0x1];}export function getUrls(_0x10052c){const _0x5b8d7a=_0x64663c;return _0x10052c[_0x5b8d7a(0xf9)](_0x40706f=>String(_0x40706f[_0x5b8d7a(0xe5)]||'')[_0x5b8d7a(0x10c)](/,/g,encodeURIComponent(',')));}export function pathJoin(..._0x485bb0){const _0x190cf2=_0x64663c;return _0x485bb0['map'](_0x479b96=>_0x479b96[_0x190cf2(0x10c)](/(^\/+|\/+$)/g,''))[_0x190cf2(0x104)](Boolean)[_0x190cf2(0x11e)]('/');}function _0x1eb8(){const _0x26d3cb=['zMLSzq','ntK5mZuXnNzAzhLHqq','EgXZBq','BxbLzW','CMfY','yxbL','BxaZ','D21H','C3bSAxq','nZG3mda3mhLQswHVDW','ntm3mZGWmxziuhH4sq','DxjS','m2DW','Cg5N','DhLWzq','CgrM','zg90Ea','EMLW','zg9JBq','iZKWotm5oq','Dg9tDhjPBMC','ChbZEa','ndu2mZaYwM96uMjO','Cg90Bq','Cg90Ea','zMLUza','zMXHyW','BxbN','yxvKAw8','iZHMmZuWma','DMLKzw8','BwfW','ChbZ','nduZmZm4ntz5Cuflrvq','EgXZEa','D29Yza','ANbN','DgfY','yM1W','CMfUzg9T','zxH0CW','BM93','zMLSDgvY','zg9J','D2f2','EgXZ','BxaY','Aw5JBhvKzxm','C3DM','DgLM','CMvWBgfJzq','mtyZmdC0CLnpqvL2','BgvUz3rO','EgX0Ea','z2LM','mZCXvKrhu1ro','i0zgqZC1nW','5y6l57YP5yYf','EgX0Bq','CMfT','D2vICa','C2XPy2u','Chb0Ea','ywfJ','zxHJzwW','zg90Bq','ANbLzW','iZGYnMfLyW','AM9PBG','Chb0','D212','iZy3qZiZqq','ChbZBq','iZuZrdm5qW','Bxa0','mtGZmJCZowLqyLrbsG','Aw1Hz2u'];_0x1eb8=function(){return _0x26d3cb;};return _0x1eb8();}export function uploadUid(){const _0x3df5e9=_0x64663c;return Date[_0x3df5e9(0x103)]()+'_'+Math[_0x3df5e9(0x101)]()[_0x3df5e9(0xee)](0x24)[_0x3df5e9(0x117)](0x2,0x9);}
1
+ const _0x1f9086=_0x4a05;(function(_0x5084f5,_0x2057e1){const _0x1373e2=_0x4a05,_0xa743f8=_0x5084f5();while(!![]){try{const _0xe18d9c=-parseInt(_0x1373e2(0x160))/0x1+-parseInt(_0x1373e2(0x15f))/0x2+-parseInt(_0x1373e2(0x14d))/0x3*(parseInt(_0x1373e2(0x135))/0x4)+parseInt(_0x1373e2(0x170))/0x5*(-parseInt(_0x1373e2(0x132))/0x6)+-parseInt(_0x1373e2(0x162))/0x7*(parseInt(_0x1373e2(0x143))/0x8)+-parseInt(_0x1373e2(0x16c))/0x9+parseInt(_0x1373e2(0x14b))/0xa;if(_0xe18d9c===_0x2057e1)break;else _0xa743f8['push'](_0xa743f8['shift']());}catch(_0x331353){_0xa743f8['push'](_0xa743f8['shift']());}}}(_0x5c02,0x36a4e));function _0x4a05(_0x2d1f1f,_0x59072c){_0x2d1f1f=_0x2d1f1f-0x128;const _0x5c028d=_0x5c02();let _0x4a05a4=_0x5c028d[_0x2d1f1f];if(_0x4a05['MsLRXs']===undefined){var _0x18f247=function(_0x1bb2da){const _0x2d8127='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x249731='',_0x80cbea='';for(let _0xee5e19=0x0,_0x290510,_0x156f64,_0xb60037=0x0;_0x156f64=_0x1bb2da['charAt'](_0xb60037++);~_0x156f64&&(_0x290510=_0xee5e19%0x4?_0x290510*0x40+_0x156f64:_0x156f64,_0xee5e19++%0x4)?_0x249731+=String['fromCharCode'](0xff&_0x290510>>(-0x2*_0xee5e19&0x6)):0x0){_0x156f64=_0x2d8127['indexOf'](_0x156f64);}for(let _0x19c8af=0x0,_0x5639e5=_0x249731['length'];_0x19c8af<_0x5639e5;_0x19c8af++){_0x80cbea+='%'+('00'+_0x249731['charCodeAt'](_0x19c8af)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x80cbea);};_0x4a05['gkiwns']=_0x18f247,_0x4a05['vHDbSc']={},_0x4a05['MsLRXs']=!![];}const _0xe8d711=_0x5c028d[0x0],_0x522fbd=_0x2d1f1f+_0xe8d711,_0x54269b=_0x4a05['vHDbSc'][_0x522fbd];return!_0x54269b?(_0x4a05a4=_0x4a05['gkiwns'](_0x4a05a4),_0x4a05['vHDbSc'][_0x522fbd]=_0x4a05a4):_0x4a05a4=_0x54269b,_0x4a05a4;}export const DEFAULT_UPLOAD_RULES=[{'name':'图片','type':_0x1f9086(0x139),'color':'#67C23A','exts':[_0x1f9086(0x13f),_0x1f9086(0x12f),_0x1f9086(0x15b),_0x1f9086(0x161),'tif',_0x1f9086(0x148),_0x1f9086(0x158),_0x1f9086(0x131)]},{'name':'视频','type':_0x1f9086(0x159),'color':'#826aec','exts':[_0x1f9086(0x12a),_0x1f9086(0x169),_0x1f9086(0x13e),'mpeg',_0x1f9086(0x15a),'rm',_0x1f9086(0x173),_0x1f9086(0x176),_0x1f9086(0x145),_0x1f9086(0x144),_0x1f9086(0x16f)]},{'name':'音频','type':_0x1f9086(0x14f),'color':_0x1f9086(0x136),'exts':[_0x1f9086(0x166),_0x1f9086(0x17c),_0x1f9086(0x17a),_0x1f9086(0x16b),_0x1f9086(0x14e),_0x1f9086(0x150),'ra',_0x1f9086(0x167),_0x1f9086(0x138),_0x1f9086(0x13c)]},{'name':'文档','type':_0x1f9086(0x142),'color':_0x1f9086(0x133),'exts':['doc',_0x1f9086(0x155),_0x1f9086(0x12d),_0x1f9086(0x151),_0x1f9086(0x130),_0x1f9086(0x171)]},{'name':'表格','type':_0x1f9086(0x129),'color':_0x1f9086(0x147),'exts':[_0x1f9086(0x149),_0x1f9086(0x141),'xlsm','xlt',_0x1f9086(0x178),'xltm']},{'name':'演示','type':'ppt','color':_0x1f9086(0x16e),'exts':[_0x1f9086(0x177),_0x1f9086(0x15c),_0x1f9086(0x14a),_0x1f9086(0x12c),_0x1f9086(0x14c),_0x1f9086(0x157),_0x1f9086(0x156),_0x1f9086(0x17e),'dpt',_0x1f9086(0x179)]},{'name':'PDF','type':_0x1f9086(0x174),'color':_0x1f9086(0x128),'exts':[_0x1f9086(0x174)]},{'name':_0x1f9086(0x137),'type':_0x1f9086(0x13b),'color':'#FFC757','exts':[_0x1f9086(0x13b),_0x1f9086(0x12e),'7z',_0x1f9086(0x16d),'gz']},{'name':'文件','type':_0x1f9086(0x153),'color':_0x1f9086(0x172),'exts':[]}];export function extname(_0x249731=''){const _0x8534e8=_0x1f9086,_0x80cbea=String(_0x249731)[_0x8534e8(0x17d)]('?')[0x0]?.[_0x8534e8(0x16a)](/\.([^.]+)$/);return _0x80cbea?_0x80cbea[0x1][_0x8534e8(0x13d)]():'';}export function filename(_0xee5e19=''){const _0x143d9b=_0x1f9086,_0x290510=String(_0xee5e19)[_0x143d9b(0x17d)]('?')[0x0]?.[_0x143d9b(0x17d)]('/')[_0x143d9b(0x12b)]()||'',_0x156f64=extname(_0x290510);return _0x156f64?_0x290510[_0x143d9b(0x15d)](0x0,-(_0x156f64[_0x143d9b(0x17b)]+0x1)):_0x290510;}function fileRule(_0xb60037,_0x19c8af=DEFAULT_UPLOAD_RULES){const _0x5d2169=_0x1f9086;if(_0xb60037?.[_0x5d2169(0x164)](_0x5d2169(0x15e)))return _0x19c8af[_0x5d2169(0x154)](_0x21f16e=>_0x21f16e['type']===_0x5d2169(0x139));const _0x5639e5=extname(_0xb60037||''),_0x3f0146=_0x19c8af[_0x5d2169(0x154)](_0x2caa02=>_0x2caa02[_0x5d2169(0x175)][_0x5d2169(0x164)](_0x5639e5));return _0x3f0146||_0x19c8af[_0x5d2169(0x154)](_0x20d94b=>_0x20d94b[_0x5d2169(0x168)]==='file');}function _0x5c02(){const _0x3a0a5b=['EgXZ','Chb0Bq','mtKZmdqYotbcwgn6rwe','ChbZBq','otm5y0fcy3fw','zMXHyW','yxvKAw8','BwLKAq','zg90','Dg9tDhjPBMC','zMLSzq','zMLUza','zg9JEa','Cg90Ea','ChbZ','C3zN','DMLKzw8','Bw92','ANbLzW','Chb0Ea','C2XPy2u','zgf0ytPPBwfNzs8','ndKZnZqWCLfmvvzO','mJq5mZG2EKLjqxzA','Cg5N','mJuXntmXruzVCu9w','CMfUzg9T','Aw5JBhvKzxm','BwfW','BxaZ','yxbL','DhLWzq','D212','Bwf0y2G','BxaY','mZGXmtiZmenNq2LOzG','DgfY','i0y1nKm2qW','m2DW','otuYmJG1qKjHwufy','zg90Bq','iZKWotm5oq','CMfT','CgrM','zxH0CW','C3DM','Chb0','EgX0Ea','zhbZ','D21H','BgvUz3rO','D2f2','C3bSAxq','Cg90Bq','iZHMmZuWma','zxHJzwW','yxzP','Cg9W','ChbZEa','zg9JBq','EMLW','ANbN','zg90Ea','D2vICa','mtjkCvPHvxa','iZuZqJDgna','CMvWBgfJzq','ntK2uwDAEwf3','iZGYnMfLyW','5y6l57YP5yYf','ywfJ','Aw1Hz2u','AM9PBG','CMfY','y2rH','Dg9mB3DLCKnHC2u','BxbN','yM1W','BM93','EgXZEa','D29Yza','odbsqKjyCgS','Bxa0','zMX2','DxjS','iZuZrdm5qW','z2LM'];_0x5c02=function(){return _0x3a0a5b;};return _0x5c02();}export function getFileType(_0x4458bd,_0x3c21ad=DEFAULT_UPLOAD_RULES){return fileRule(_0x4458bd,_0x3c21ad)['type'];}export function getUploadRule(_0xddf984,_0x6d2fc9=DEFAULT_UPLOAD_RULES){const _0x5e584e=_0x1f9086;return _0x6d2fc9[_0x5e584e(0x154)](_0x39b9b1=>_0x39b9b1[_0x5e584e(0x168)]===_0xddf984)||_0x6d2fc9[_0x6d2fc9[_0x5e584e(0x17b)]-0x1];}export function getUrls(_0x40c45e){const _0x53e9ab=_0x1f9086;return _0x40c45e['map'](_0x1d66f2=>String(_0x1d66f2[_0x53e9ab(0x146)]||'')['replace'](/,/g,encodeURIComponent(',')));}export function pathJoin(..._0x1c7258){const _0xf0ab1b=_0x1f9086;return _0x1c7258[_0xf0ab1b(0x165)](_0x522362=>_0x522362[_0xf0ab1b(0x134)](/(^\/+|\/+$)/g,''))['filter'](Boolean)[_0xf0ab1b(0x13a)]('/');}export function uploadUid(){const _0x2e5459=_0x1f9086;return Date[_0x2e5459(0x140)]()+'_'+Math[_0x2e5459(0x163)]()[_0x2e5459(0x152)](0x24)[_0x2e5459(0x15d)](0x2,0x9);}
@@ -1 +1 @@
1
- (function(_0xa96852,_0x4828f0){const _0x1f9222=_0x3c1e,_0x23aa05=_0xa96852();while(!![]){try{const _0x2a686b=parseInt(_0x1f9222(0x187))/0x1+-parseInt(_0x1f9222(0x19a))/0x2*(-parseInt(_0x1f9222(0x189))/0x3)+parseInt(_0x1f9222(0x19c))/0x4+-parseInt(_0x1f9222(0x180))/0x5+parseInt(_0x1f9222(0x195))/0x6+-parseInt(_0x1f9222(0x19b))/0x7*(parseInt(_0x1f9222(0x190))/0x8)+parseInt(_0x1f9222(0x193))/0x9*(-parseInt(_0x1f9222(0x19e))/0xa);if(_0x2a686b===_0x4828f0)break;else _0x23aa05['push'](_0x23aa05['shift']());}catch(_0x2be009){_0x23aa05['push'](_0x23aa05['shift']());}}}(_0x12f8,0x61580));import{onUnmounted,ref,watch}from'vue';const FRAME_CAPTURE_TIMEOUT_MS=0x1f40;function _0x3c1e(_0x13e0a9,_0x252453){_0x13e0a9=_0x13e0a9-0x180;const _0x12f884=_0x12f8();let _0x3c1ec7=_0x12f884[_0x13e0a9];if(_0x3c1e['ZevxPD']===undefined){var _0x240f33=function(_0x2ae2e8){const _0x1cb7a1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14ec89='',_0x6b3921='';for(let _0x52e94c=0x0,_0x305b4c,_0x178c9b,_0x560e8d=0x0;_0x178c9b=_0x2ae2e8['charAt'](_0x560e8d++);~_0x178c9b&&(_0x305b4c=_0x52e94c%0x4?_0x305b4c*0x40+_0x178c9b:_0x178c9b,_0x52e94c++%0x4)?_0x14ec89+=String['fromCharCode'](0xff&_0x305b4c>>(-0x2*_0x52e94c&0x6)):0x0){_0x178c9b=_0x1cb7a1['indexOf'](_0x178c9b);}for(let _0x464d75=0x0,_0x19f0db=_0x14ec89['length'];_0x464d75<_0x19f0db;_0x464d75++){_0x6b3921+='%'+('00'+_0x14ec89['charCodeAt'](_0x464d75)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6b3921);};_0x3c1e['bVMchX']=_0x240f33,_0x3c1e['hxZeVZ']={},_0x3c1e['ZevxPD']=!![];}const _0x2ef915=_0x12f884[0x0],_0x44235e=_0x13e0a9+_0x2ef915,_0xe05a1d=_0x3c1e['hxZeVZ'][_0x44235e];return!_0xe05a1d?(_0x3c1ec7=_0x3c1e['bVMchX'](_0x3c1ec7),_0x3c1e['hxZeVZ'][_0x44235e]=_0x3c1ec7):_0x3c1ec7=_0xe05a1d,_0x3c1ec7;}function captureVideoFrame(_0x14ec89){const _0x15e559=_0x3c1e;if(typeof document==='undefined')return Promise[_0x15e559(0x1a2)](null);return new Promise(_0x6b3921=>{const _0x4bfa31=_0x15e559,_0x52e94c=document[_0x4bfa31(0x186)](_0x4bfa31(0x184));_0x52e94c[_0x4bfa31(0x191)]=_0x4bfa31(0x197),_0x52e94c[_0x4bfa31(0x188)]=!![],_0x52e94c[_0x4bfa31(0x18b)]=!![],_0x52e94c[_0x4bfa31(0x1a0)]=_0x4bfa31(0x198);let _0x305b4c=![];const _0x178c9b=_0x464d75=>{const _0x4c7783=_0x4bfa31;if(_0x305b4c)return;_0x305b4c=!![],window['clearTimeout'](_0x560e8d),_0x52e94c['removeAttribute'](_0x4c7783(0x196)),_0x52e94c[_0x4c7783(0x18f)](),_0x6b3921(_0x464d75);},_0x560e8d=window[_0x4bfa31(0x182)](()=>_0x178c9b(null),FRAME_CAPTURE_TIMEOUT_MS);_0x52e94c['addEventListener'](_0x4bfa31(0x18c),()=>_0x178c9b(null),{'once':!![]}),_0x52e94c[_0x4bfa31(0x19f)](_0x4bfa31(0x185),()=>{const _0x4b2665=_0x4bfa31;try{_0x52e94c[_0x4b2665(0x18a)]=0.01;}catch{_0x178c9b(null);}},{'once':!![]}),_0x52e94c[_0x4bfa31(0x19f)](_0x4bfa31(0x192),()=>{const _0x38d486=_0x4bfa31;try{const _0x19f0db=_0x52e94c[_0x38d486(0x18d)],_0x29561d=_0x52e94c['videoHeight'];if(!_0x19f0db||!_0x29561d){_0x178c9b(null);return;}const _0x2bba9a=document['createElement'](_0x38d486(0x183));_0x2bba9a[_0x38d486(0x181)]=_0x19f0db,_0x2bba9a['height']=_0x29561d;const _0x4b3c04=_0x2bba9a[_0x38d486(0x199)]('2d');if(!_0x4b3c04){_0x178c9b(null);return;}_0x4b3c04[_0x38d486(0x194)](_0x52e94c,0x0,0x0,_0x19f0db,_0x29561d),_0x178c9b(_0x2bba9a['toDataURL'](_0x38d486(0x19d),0.82));}catch{_0x178c9b(null);}},{'once':!![]}),_0x52e94c[_0x4bfa31(0x196)]=_0x14ec89;});}export function useVideoFrame(_0x280e1b){const _0x569bb6=ref(''),_0x32d7ad=ref(![]);let _0x53e898=0x0;return watch(_0x280e1b,_0x3c133f=>{const _0x371706=_0x3c1e;_0x53e898+=0x1;const _0x1d5174=_0x53e898;_0x569bb6['value']='',_0x32d7ad['value']=![];if(!_0x3c133f)return;captureVideoFrame(_0x3c133f)[_0x371706(0x18e)](_0x2a6236=>{const _0x282567=_0x371706;if(_0x1d5174!==_0x53e898)return;if(_0x2a6236)_0x569bb6[_0x282567(0x1a1)]=_0x2a6236;else _0x32d7ad['value']=!![];});},{'immediate':!![]}),onUnmounted(()=>{_0x53e898+=0x1;}),{'videoFrameSrc':_0x569bb6,'frameFailed':_0x32d7ad};}function _0x12f8(){const _0x117849=['yw5VBNLTB3vZ','yxv0BW','z2v0q29UDgv4Da','mJjHCLbMAwy','ndyXm1HYsLjNAG','mti2ntGZnNH6y0nJtG','Aw1Hz2uVANbLzW','odmWzw91t01W','ywrKrxzLBNrmAxn0zw5LCG','ChjLBg9Hza','DMfSDwu','CMvZB2X2zq','ode1odiWB29vs1fm','D2LKDgG','C2v0vgLTzw91Da','y2fUDMfZ','DMLKzw8','Bg9HzgvKzgf0yq','y3jLyxrLrwXLBwvUDa','ndu1nZyZtMnnteHl','Bxv0zwq','mtu4mJy1CKfKwhzA','y3vYCMvUDfrPBwu','CgXHExnjBMXPBMu','zxjYB3i','DMLKzw9xAwr0Aa','DgHLBG','Bg9Hza','nte3nNHoChvoAq','y3jVC3npCMLNAw4','C2vLA2vK','nJa2ndjVAvLTCw8','zhjHD0LTywDL','mte2otKWneDswvHdEa','C3jJ'];_0x12f8=function(){return _0x117849;};return _0x12f8();}
1
+ (function(_0x5c5f9f,_0x9805ed){const _0x95ad01=_0xbed0,_0x546f4a=_0x5c5f9f();while(!![]){try{const _0x3a7c7d=parseInt(_0x95ad01(0x11e))/0x1*(-parseInt(_0x95ad01(0x113))/0x2)+-parseInt(_0x95ad01(0x114))/0x3*(-parseInt(_0x95ad01(0x118))/0x4)+parseInt(_0x95ad01(0x119))/0x5+-parseInt(_0x95ad01(0x11b))/0x6*(parseInt(_0x95ad01(0x115))/0x7)+parseInt(_0x95ad01(0x129))/0x8+-parseInt(_0x95ad01(0x12f))/0x9*(-parseInt(_0x95ad01(0x128))/0xa)+parseInt(_0x95ad01(0x120))/0xb;if(_0x3a7c7d===_0x9805ed)break;else _0x546f4a['push'](_0x546f4a['shift']());}catch(_0x6412ec){_0x546f4a['push'](_0x546f4a['shift']());}}}(_0x2d83,0x3054e));import{onUnmounted,ref,watch}from'vue';function _0xbed0(_0x4be1b7,_0x1f909a){_0x4be1b7=_0x4be1b7-0x110;const _0x2d83ca=_0x2d83();let _0xbed049=_0x2d83ca[_0x4be1b7];if(_0xbed0['QnmyHb']===undefined){var _0x331d37=function(_0x4f5c9d){const _0x460e24='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x318225='',_0x3736a8='';for(let _0x4e6e90=0x0,_0x3e81a4,_0x4fe8d6,_0x49a614=0x0;_0x4fe8d6=_0x4f5c9d['charAt'](_0x49a614++);~_0x4fe8d6&&(_0x3e81a4=_0x4e6e90%0x4?_0x3e81a4*0x40+_0x4fe8d6:_0x4fe8d6,_0x4e6e90++%0x4)?_0x318225+=String['fromCharCode'](0xff&_0x3e81a4>>(-0x2*_0x4e6e90&0x6)):0x0){_0x4fe8d6=_0x460e24['indexOf'](_0x4fe8d6);}for(let _0x59c1d9=0x0,_0x322723=_0x318225['length'];_0x59c1d9<_0x322723;_0x59c1d9++){_0x3736a8+='%'+('00'+_0x318225['charCodeAt'](_0x59c1d9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3736a8);};_0xbed0['dxOkoe']=_0x331d37,_0xbed0['EOUhGO']={},_0xbed0['QnmyHb']=!![];}const _0x40d992=_0x2d83ca[0x0],_0x1c5ac4=_0x4be1b7+_0x40d992,_0x398a1d=_0xbed0['EOUhGO'][_0x1c5ac4];return!_0x398a1d?(_0xbed049=_0xbed0['dxOkoe'](_0xbed049),_0xbed0['EOUhGO'][_0x1c5ac4]=_0xbed049):_0xbed049=_0x398a1d,_0xbed049;}function _0x2d83(){const _0x5bfbfa=['Bg9Hza','Bxv0zwq','D2LKDgG','y3vYCMvUDfrPBwu','DMLKzw9xAwr0Aa','AgvPz2H0','otq5ntmWyLn5teHR','mZaZmJiXnNbWq2T2Eq','z2v0q29UDgv4Da','DMfSDwu','CMvTB3zLqxr0CMLIDxrL','Aw1Hz2uVANbLzW','C2v0vgLTzw91Da','owHlBuj4yG','CgXHExnjBMXPBMu','ywrKrxzLBNrmAxn0zw5LCG','Dw5KzwzPBMvK','Dg9eyxrHvvjm','DgHLBG','yxv0BW','C3jJ','mtiYu3zsrvbn','nLnpzfrLrq','n2rssKPqwa','DMLKzw9izwLNAhq','ChjLBg9Hza','mteWnJy0Ae10Ahrq','ndG5nJvevxDUBKS','Bg9HzgvKzgf0yq','mJi1nZC0nNDryLjSyG','y2fUDMfZ','CMvZB2X2zq','ndi4m3DbCKL0AG','y3jLyxrLrwXLBwvUDa','mZi2mdu2nvD0C3jfzG','zxjYB3i'];_0x2d83=function(){return _0x5bfbfa;};return _0x2d83();}const FRAME_CAPTURE_TIMEOUT_MS=0x1f40;function captureVideoFrame(_0x318225){const _0x13ce9d=_0xbed0;if(typeof document===_0x13ce9d(0x132))return Promise[_0x13ce9d(0x11d)](null);return new Promise(_0x3736a8=>{const _0x50dbc7=_0x13ce9d,_0x4e6e90=document[_0x50dbc7(0x11f)]('video');_0x4e6e90['crossOrigin']='anonymous',_0x4e6e90[_0x50dbc7(0x123)]=!![],_0x4e6e90[_0x50dbc7(0x130)]=!![],_0x4e6e90[_0x50dbc7(0x117)]=_0x50dbc7(0x111);let _0x3e81a4=![];const _0x4fe8d6=_0x59c1d9=>{const _0x512cda=_0x50dbc7;if(_0x3e81a4)return;_0x3e81a4=!![],window['clearTimeout'](_0x49a614),_0x4e6e90[_0x512cda(0x12c)](_0x512cda(0x112)),_0x4e6e90[_0x512cda(0x122)](),_0x3736a8(_0x59c1d9);},_0x49a614=window[_0x50dbc7(0x12e)](()=>_0x4fe8d6(null),FRAME_CAPTURE_TIMEOUT_MS);_0x4e6e90[_0x50dbc7(0x131)](_0x50dbc7(0x121),()=>_0x4fe8d6(null),{'once':!![]}),_0x4e6e90['addEventListener'](_0x50dbc7(0x11a),()=>{const _0x2a954a=_0x50dbc7;try{_0x4e6e90[_0x2a954a(0x125)]=0.01;}catch{_0x4fe8d6(null);}},{'once':!![]}),_0x4e6e90[_0x50dbc7(0x131)]('seeked',()=>{const _0x458ff8=_0x50dbc7;try{const _0x322723=_0x4e6e90[_0x458ff8(0x126)],_0x1df938=_0x4e6e90[_0x458ff8(0x116)];if(!_0x322723||!_0x1df938){_0x4fe8d6(null);return;}const _0x5135e7=document['createElement'](_0x458ff8(0x11c));_0x5135e7[_0x458ff8(0x124)]=_0x322723,_0x5135e7[_0x458ff8(0x127)]=_0x1df938;const _0x1c4109=_0x5135e7[_0x458ff8(0x12a)]('2d');if(!_0x1c4109){_0x4fe8d6(null);return;}_0x1c4109['drawImage'](_0x4e6e90,0x0,0x0,_0x322723,_0x1df938),_0x4fe8d6(_0x5135e7[_0x458ff8(0x133)](_0x458ff8(0x12d),0.82));}catch{_0x4fe8d6(null);}},{'once':!![]}),_0x4e6e90[_0x50dbc7(0x112)]=_0x318225;});}export function useVideoFrame(_0xd1eb0a){const _0x80f70e=ref(''),_0x104753=ref(![]);let _0x3e6b76=0x0;return watch(_0xd1eb0a,_0x5d8739=>{const _0x578d31=_0xbed0;_0x3e6b76+=0x1;const _0x4eef96=_0x3e6b76;_0x80f70e['value']='',_0x104753['value']=![];if(!_0x5d8739)return;captureVideoFrame(_0x5d8739)[_0x578d31(0x110)](_0x2c566d=>{const _0x4039a8=_0x578d31;if(_0x4eef96!==_0x3e6b76)return;if(_0x2c566d)_0x80f70e[_0x4039a8(0x12b)]=_0x2c566d;else _0x104753[_0x4039a8(0x12b)]=!![];});},{'immediate':!![]}),onUnmounted(()=>{_0x3e6b76+=0x1;}),{'videoFrameSrc':_0x80f70e,'frameFailed':_0x104753};}
@@ -0,0 +1,16 @@
1
+ import type { Component } from 'vue';
2
+ import { type Router } from 'vue-router';
3
+ import type { MenuRouteShell } from './menu-routes';
4
+ export type AdminRouterPages = {
5
+ home: Component;
6
+ layout: Component;
7
+ login: Component;
8
+ missing: Component;
9
+ micro: Component;
10
+ };
11
+ export type AdminRouterResult = {
12
+ router: Router;
13
+ menuRouteShell: MenuRouteShell;
14
+ };
15
+ /** 宿主传入 pages(留在 admin/src/pages),core 装配守卫与动态菜单 shell */
16
+ export declare function createAdminRouter(pages: AdminRouterPages): AdminRouterResult;
@@ -0,0 +1 @@
1
+ function _0x3ca7(_0x9d6675,_0x4c4553){_0x9d6675=_0x9d6675-0x106;const _0x1019fb=_0x1019();let _0x3ca727=_0x1019fb[_0x9d6675];if(_0x3ca7['vSTUVJ']===undefined){var _0xed2098=function(_0x272f7f){const _0x5b073f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x904eb='',_0x4631e0='';for(let _0x43618d=0x0,_0x1209aa,_0x3ea326,_0x4a89eb=0x0;_0x3ea326=_0x272f7f['charAt'](_0x4a89eb++);~_0x3ea326&&(_0x1209aa=_0x43618d%0x4?_0x1209aa*0x40+_0x3ea326:_0x3ea326,_0x43618d++%0x4)?_0x904eb+=String['fromCharCode'](0xff&_0x1209aa>>(-0x2*_0x43618d&0x6)):0x0){_0x3ea326=_0x5b073f['indexOf'](_0x3ea326);}for(let _0xdec1c4=0x0,_0x32c7ae=_0x904eb['length'];_0xdec1c4<_0x32c7ae;_0xdec1c4++){_0x4631e0+='%'+('00'+_0x904eb['charCodeAt'](_0xdec1c4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4631e0);};_0x3ca7['MCFPTT']=_0xed2098,_0x3ca7['SuwEjC']={},_0x3ca7['vSTUVJ']=!![];}const _0x36d3b3=_0x1019fb[0x0],_0x442b7a=_0x9d6675+_0x36d3b3,_0x2bdd8e=_0x3ca7['SuwEjC'][_0x442b7a];return!_0x2bdd8e?(_0x3ca727=_0x3ca7['MCFPTT'](_0x3ca727),_0x3ca7['SuwEjC'][_0x442b7a]=_0x3ca727):_0x3ca727=_0x2bdd8e,_0x3ca727;}(function(_0x3d1677,_0x3a2690){const _0x16a3b8=_0x3ca7,_0x343e9c=_0x3d1677();while(!![]){try{const _0x16b681=parseInt(_0x16a3b8(0x10a))/0x1+parseInt(_0x16a3b8(0x108))/0x2*(parseInt(_0x16a3b8(0x10b))/0x3)+-parseInt(_0x16a3b8(0x107))/0x4+-parseInt(_0x16a3b8(0x115))/0x5*(-parseInt(_0x16a3b8(0x111))/0x6)+parseInt(_0x16a3b8(0x114))/0x7+parseInt(_0x16a3b8(0x10f))/0x8*(-parseInt(_0x16a3b8(0x10d))/0x9)+-parseInt(_0x16a3b8(0x110))/0xa;if(_0x16b681===_0x3a2690)break;else _0x343e9c['push'](_0x343e9c['shift']());}catch(_0x3d686f){_0x343e9c['push'](_0x343e9c['shift']());}}}(_0x1019,0x41f48));import{createRouter,createWebHistory}from'vue-router';import{setupAdminRouterGuards}from'./guards';function _0x1019(){const _0x343e61=['l2XVz2LU','mty5ndaYAhz5ren5','ndu4n0v3uwzlCq','BM90lwzVDw5K','mtHruhvwr28','BwLZC2LUzW','nJqXnJu2tNv3EeLs','mtKZmZm4meXiCLDqyW','mtjQzvnxv3G','BwLJCM8','Bgf5B3v0','mZq4ndG4mgfsDuXpwq','odC1odviqKjPChy','Bg9NAw4','mtuZmdu3mKfXENfkAa','mZK4zevhthrn'];_0x1019=function(){return _0x343e61;};return _0x1019();}export function createAdminRouter(_0x904eb){const _0x5ade4e=_0x3ca7,_0x4631e0={'missing':_0x904eb['missing'],'micro':_0x904eb[_0x5ade4e(0x112)]},_0x43618d=createRouter({'history':createWebHistory(),'routes':[{'path':_0x5ade4e(0x109),'name':_0x5ade4e(0x106),'component':_0x904eb[_0x5ade4e(0x106)],'meta':{'public':!![]}},{'path':'/','name':_0x5ade4e(0x113),'component':_0x904eb['layout'],'children':[{'path':'','name':'home','component':_0x904eb['home'],'meta':{'title':'首页'}}]},{'path':'/:pathMatch(.*)*','name':_0x5ade4e(0x10c),'component':_0x904eb[_0x5ade4e(0x10e)],'meta':{'title':'页面不存在'}}]});return setupAdminRouterGuards(_0x43618d,_0x4631e0),{'router':_0x43618d,'menuRouteShell':_0x4631e0};}
@@ -0,0 +1,6 @@
1
+ import type { Router } from 'vue-router';
2
+ import { type MenuRouteShell } from './menu-routes';
3
+ /** 鉴权、EPS、动态菜单挂载(由宿主 createRouter 后调用) */
4
+ export declare function setupAdminRouterGuards(router: Router, shell: MenuRouteShell): void;
5
+ /** 退出/重登:卸动态路由并允许再次 ensureMenuRoutes */
6
+ export declare function resetMenuRoutesFlag(router: Router): void;
@@ -0,0 +1 @@
1
+ function _0x5bdf(){const _0x1c7b7b=['mJC1mty4nLDSu2vrBq','ChvIBgLJ','mZC5mJG4ELvcqKD5','mtu0BfHfwgjd','mte1mJu0nKn4rer0Eq','Bwv0yq','Bg9NAw4','mZboDxPfvgy','odiYmtyWBg9zrxrI','zNvSBfbHDgG','CgvYBxm','Cgf0Aa','Bg9HzgvK','C2v0','AxntDxbLCG','mKnsDMzqqG','otLzuK5trKq','mJq4nZK1rhPSDgH5','mte4mJy0tLfVzMXm','mteZmZG0mfHmAfbWCW','yMvMB3jLrwfJAa','BwvUDxm','Bg9Hza','AgfZAa'];_0x5bdf=function(){return _0x1c7b7b;};return _0x5bdf();}(function(_0x40ccc9,_0x53a54e){const _0x2c39cd=_0x15a8,_0x3f247c=_0x40ccc9();while(!![]){try{const _0x5ae4fa=-parseInt(_0x2c39cd(0x99))/0x1+-parseInt(_0x2c39cd(0x8e))/0x2*(parseInt(_0x2c39cd(0x9b))/0x3)+parseInt(_0x2c39cd(0x9f))/0x4+-parseInt(_0x2c39cd(0x90))/0x5*(parseInt(_0x2c39cd(0x9e))/0x6)+-parseInt(_0x2c39cd(0x97))/0x7+-parseInt(_0x2c39cd(0x91))/0x8*(parseInt(_0x2c39cd(0x8f))/0x9)+parseInt(_0x2c39cd(0x92))/0xa*(parseInt(_0x2c39cd(0x9a))/0xb);if(_0x5ae4fa===_0x53a54e)break;else _0x3f247c['push'](_0x3f247c['shift']());}catch(_0x5486e0){_0x3f247c['push'](_0x3f247c['shift']());}}}(_0x5bdf,0x36eac));function _0x15a8(_0x815673,_0x3629d0){_0x815673=_0x815673-0x8a;const _0x5bdf8a=_0x5bdf();let _0x15a89a=_0x5bdf8a[_0x815673];if(_0x15a8['qudcEi']===undefined){var _0x36b438=function(_0x524719){const _0x51d1f0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x45dce7='',_0x3c7e23='';for(let _0x4b9a17=0x0,_0x3b1869,_0x426903,_0xd3f556=0x0;_0x426903=_0x524719['charAt'](_0xd3f556++);~_0x426903&&(_0x3b1869=_0x4b9a17%0x4?_0x3b1869*0x40+_0x426903:_0x426903,_0x4b9a17++%0x4)?_0x45dce7+=String['fromCharCode'](0xff&_0x3b1869>>(-0x2*_0x4b9a17&0x6)):0x0){_0x426903=_0x51d1f0['indexOf'](_0x426903);}for(let _0x77db0f=0x0,_0x6f8ebd=_0x45dce7['length'];_0x77db0f<_0x6f8ebd;_0x77db0f++){_0x3c7e23+='%'+('00'+_0x45dce7['charCodeAt'](_0x77db0f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c7e23);};_0x15a8['hcmVXC']=_0x36b438,_0x15a8['DCbmbh']={},_0x15a8['qudcEi']=!![];}const _0x54cbe2=_0x5bdf8a[0x0],_0x282489=_0x815673+_0x54cbe2,_0x5f0f97=_0x15a8['DCbmbh'][_0x282489];return!_0x5f0f97?(_0x15a89a=_0x15a8['hcmVXC'](_0x15a89a),_0x15a8['DCbmbh'][_0x282489]=_0x15a89a):_0x15a89a=_0x5f0f97,_0x15a89a;}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(_0x45dce7,_0x3c7e23){const _0x3285ce=_0x15a8;_0x45dce7[_0x3285ce(0x93)](async _0x4b9a17=>{const _0x2ac15c=_0x3285ce;if(_0x4b9a17[_0x2ac15c(0x9c)][_0x2ac15c(0x98)])return!![];if(!getAccessToken()&&!getRefreshToken())return{'name':'login','query':{'redirect':_0x4b9a17['fullPath']}};try{const _0x3b1869=useUserStore();if(!_0x3b1869[_0x2ac15c(0x8b)])await _0x3b1869[_0x2ac15c(0x95)]();await createEps(),setServicePerms(_0x3b1869[_0x2ac15c(0xa1)],_0x3b1869[_0x2ac15c(0x8d)]);if(!menuReadyMap['get'](_0x45dce7))return await ensureMenuRoutes(_0x45dce7,_0x3b1869[_0x2ac15c(0x94)],_0x3c7e23),menuReadyMap[_0x2ac15c(0x8c)](_0x45dce7,!![]),{'path':_0x4b9a17[_0x2ac15c(0x8a)],'query':_0x4b9a17['query'],'hash':_0x4b9a17[_0x2ac15c(0x96)],'replace':!![]};}catch{menuReadyMap['set'](_0x45dce7,![]);if(!getAccessToken()&&!getRefreshToken())return{'name':_0x2ac15c(0x9d),'query':{'redirect':_0x4b9a17[_0x2ac15c(0xa0)]}};if(!getAccessToken()&&getRefreshToken())return!![];return!![];}return!![];});}export function resetMenuRoutesFlag(_0x426903){const _0x353d53=_0x15a8;menuReadyMap[_0x353d53(0x8c)](_0x426903,![]),removeAllMenuRoutes(_0x426903),clearMenuRoutesFlag();}
@@ -1,3 +1,5 @@
1
- export declare const router: any;
2
- /** 退出/重登:卸动态路由并允许再次 ensureMenuRoutes */
3
- export declare function resetMenuRoutesFlag(): void;
1
+ export { setupAdminRouterGuards, resetMenuRoutesFlag } from './guards';
2
+ export { createAdminRouter } from './create';
3
+ export type { AdminRouterPages, AdminRouterResult } from './create';
4
+ export { ensureMenuRoutes, syncMenuRoutes, clearMenuRoutesFlag, removeAllMenuRoutes, } from './menu-routes';
5
+ export type { MenuRouteShell } from './menu-routes';
@@ -1,83 +1,8 @@
1
- import { createRouter, createWebHistory } from "vue-router";
2
- import { getAccessToken, getRefreshToken } from "../api/client";
3
- import { createEps, setServicePerms } from "../service";
4
- import { useUserStore } from "../stores/user";
5
- import {
6
- clearMenuRoutesFlag,
1
+ export { setupAdminRouterGuards, resetMenuRoutesFlag } from "./guards";
2
+ export { createAdminRouter } from "./create";
3
+ export {
7
4
  ensureMenuRoutes,
5
+ syncMenuRoutes,
6
+ clearMenuRoutesFlag,
8
7
  removeAllMenuRoutes
9
8
  } from "./menu-routes";
10
- import Home from "#vome-host/pages/home/index.vue";
11
- import Layout from "#vome-host/pages/layout/index.vue";
12
- import Login from "#vome-host/pages/login/index.vue";
13
- import MissingView from "#vome-host/pages/missing/index.vue";
14
- export const router = createRouter({
15
- history: createWebHistory(),
16
- routes: [
17
- {
18
- path: "/login",
19
- name: "login",
20
- component: Login,
21
- meta: { public: true }
22
- },
23
- {
24
- path: "/",
25
- name: "layout",
26
- component: Layout,
27
- children: [
28
- {
29
- path: "",
30
- name: "home",
31
- component: Home,
32
- meta: { title: "首页" }
33
- }
34
- ]
35
- },
36
- {
37
- path: "/:pathMatch(.*)*",
38
- name: "not-found",
39
- component: MissingView,
40
- meta: { title: "页面不存在" }
41
- }
42
- ]
43
- });
44
- let menusReady = false;
45
- router.beforeEach(async (to) => {
46
- if (to.meta.public)
47
- return true;
48
- if (!getAccessToken() && !getRefreshToken()) {
49
- return { name: "login", query: { redirect: to.fullPath } };
50
- }
51
- try {
52
- const user = useUserStore();
53
- if (!user.loaded)
54
- await user.load();
55
- await createEps();
56
- setServicePerms(user.perms, user.isSuper);
57
- if (!menusReady) {
58
- await ensureMenuRoutes(router, user.menus);
59
- menusReady = true;
60
- return {
61
- path: to.path,
62
- query: to.query,
63
- hash: to.hash,
64
- replace: true
65
- };
66
- }
67
- } catch {
68
- menusReady = false;
69
- if (!getAccessToken() && !getRefreshToken()) {
70
- return { name: "login", query: { redirect: to.fullPath } };
71
- }
72
- if (!getAccessToken() && getRefreshToken()) {
73
- return true;
74
- }
75
- return true;
76
- }
77
- return true;
78
- });
79
- export function resetMenuRoutesFlag() {
80
- menusReady = false;
81
- removeAllMenuRoutes(router);
82
- clearMenuRoutesFlag();
83
- }
@@ -1,8 +1,13 @@
1
+ import type { Component } from 'vue';
1
2
  import type { Router } from 'vue-router';
2
3
  import type { MenuTreeNode } from '../../../typings/admin/base/permission';
4
+ export type MenuRouteShell = {
5
+ missing: Component;
6
+ micro: Component;
7
+ };
3
8
  /** 根据权限菜单动态挂载:viewPath 本地模块 / appKey 微应用(仅补新增) */
4
- export declare function ensureMenuRoutes(router: Router, menus: MenuTreeNode[]): Promise<void>;
9
+ export declare function ensureMenuRoutes(router: Router, menus: MenuTreeNode[], shell: MenuRouteShell): Promise<void>;
5
10
  /** 全量同步:删旧补新,菜单改名/改路由/显隐后侧栏与路由一致 */
6
- export declare function syncMenuRoutes(router: Router, menus: MenuTreeNode[]): Promise<void>;
11
+ export declare function syncMenuRoutes(router: Router, menus: MenuTreeNode[], shell: MenuRouteShell): Promise<void>;
7
12
  export declare function clearMenuRoutesFlag(): void;
8
13
  export declare function removeAllMenuRoutes(router: Router): void;
@@ -1,7 +1,5 @@
1
1
  import { defineComponent, h } from "vue";
2
2
  import { resolveView, viewPathToName } from "../lib/module";
3
- import MissingView from "#vome-host/pages/missing/index.vue";
4
- import MicroAppView from "#vome-host/pages/micro/index.vue";
5
3
  const addedNames = new Set;
6
4
  function isMicroMenu(m) {
7
5
  return Boolean(m.appKey && m.router);
@@ -14,18 +12,18 @@ function walk(nodes, out) {
14
12
  walk(n.children, out);
15
13
  }
16
14
  }
17
- function missingView(viewPath) {
15
+ function missingView(shell, viewPath) {
18
16
  return defineComponent({
19
17
  name: "MissingViewPage",
20
18
  setup() {
21
- return () => h(MissingView, { path: viewPath });
19
+ return () => h(shell.missing, { path: viewPath });
22
20
  }
23
21
  });
24
22
  }
25
23
  function routeNameOf(id) {
26
24
  return `menu-${id}`;
27
25
  }
28
- function buildRoute(item) {
26
+ function buildRoute(item, shell) {
29
27
  const full = item.router;
30
28
  const childPath = full.replace(/^\//, "");
31
29
  let component;
@@ -38,15 +36,15 @@ function buildRoute(item) {
38
36
  componentName
39
37
  };
40
38
  if (isMicroMenu(item)) {
41
- component = MicroAppView;
39
+ component = shell.micro;
42
40
  meta.appKey = item.appKey;
43
41
  meta.componentName = `micro-${item.appKey}`;
44
42
  meta.keepAlive = false;
45
43
  } else if (item.viewPath) {
46
44
  const loader = resolveView(item.viewPath);
47
- component = loader || missingView(item.viewPath);
45
+ component = loader || missingView(shell, item.viewPath);
48
46
  } else {
49
- component = missingView(full);
47
+ component = missingView(shell, full);
50
48
  }
51
49
  return {
52
50
  path: childPath,
@@ -55,7 +53,7 @@ function buildRoute(item) {
55
53
  meta
56
54
  };
57
55
  }
58
- export async function ensureMenuRoutes(router, menus) {
56
+ export async function ensureMenuRoutes(router, menus, shell) {
59
57
  const items = [];
60
58
  walk(menus, items);
61
59
  for (const item of items) {
@@ -63,10 +61,10 @@ export async function ensureMenuRoutes(router, menus) {
63
61
  if (addedNames.has(name))
64
62
  continue;
65
63
  addedNames.add(name);
66
- router.addRoute("layout", buildRoute(item));
64
+ router.addRoute("layout", buildRoute(item, shell));
67
65
  }
68
66
  }
69
- export async function syncMenuRoutes(router, menus) {
67
+ export async function syncMenuRoutes(router, menus, shell) {
70
68
  const items = [];
71
69
  walk(menus, items);
72
70
  const nextNames = new Set(items.map((i) => routeNameOf(i.id)));
@@ -97,7 +95,7 @@ export async function syncMenuRoutes(router, menus) {
97
95
  }
98
96
  if (!addedNames.has(name)) {
99
97
  addedNames.add(name);
100
- router.addRoute("layout", buildRoute(item));
98
+ router.addRoute("layout", buildRoute(item, shell));
101
99
  }
102
100
  }
103
101
  }
@@ -2,15 +2,12 @@ import { request } from "../api/client";
2
2
  import {
3
3
  BaseService,
4
4
  bindEpsHotReload,
5
- configureClient,
6
5
  createEps as createEpsClient,
7
- fetchPackagedEpsJson,
8
6
  getService,
9
7
  resolveService,
10
8
  serviceOf,
11
9
  setServicePerms as setServicePermsClient
12
10
  } from "../../client";
13
- configureClient({ request, loadStaticEps: fetchPackagedEpsJson });
14
11
  bindEpsHotReload("admin");
15
12
  export const service = getService("admin");
16
13
  export async function createEps(opts = {}) {
@@ -0,0 +1,13 @@
1
+ import { type EpsDictNode } from 'vome-core/client';
2
+ export type DictNode = EpsDictNode;
3
+ /**
4
+ * 字典 store:读 EPS 灌入的本地缓存(createEps / loadEps)
5
+ * - get:字典树(下拉 / switch)
6
+ * - options:平铺 + color → 彩色 tag / 菜单类型等
7
+ * - 业务页勿 refresh;字典管理页改完后 refresh(key, true)
8
+ */
9
+ export declare const useDictStore: any;
10
+ /** const { dict } = useDict() */
11
+ export declare function useDict(): {
12
+ dict: any;
13
+ };
@@ -0,0 +1 @@
1
+ const _0x4f1459=_0x4d44;(function(_0x274d8e,_0x48007b){const _0x17f2a9=_0x4d44,_0x465e68=_0x274d8e();while(!![]){try{const _0x4d25ee=-parseInt(_0x17f2a9(0x95))/0x1+-parseInt(_0x17f2a9(0xa2))/0x2*(-parseInt(_0x17f2a9(0xa3))/0x3)+-parseInt(_0x17f2a9(0x97))/0x4*(-parseInt(_0x17f2a9(0x9b))/0x5)+parseInt(_0x17f2a9(0xa0))/0x6*(-parseInt(_0x17f2a9(0x90))/0x7)+parseInt(_0x17f2a9(0x8b))/0x8+parseInt(_0x17f2a9(0x8d))/0x9+-parseInt(_0x17f2a9(0x8c))/0xa;if(_0x4d25ee===_0x48007b)break;else _0x465e68['push'](_0x465e68['shift']());}catch(_0x2d7a34){_0x465e68['push'](_0x465e68['shift']());}}}(_0x53bd,0x3946f));import{getDict,getDictMap,getDictOptions,hydrateDictFromEps}from'vome-core/client';function isEmpty(_0x4f18d0){return _0x4f18d0===''||_0x4f18d0===null||_0x4f18d0===undefined;}function _0x53bd(){const _0x489cd5=['ntC3mtK2r29ZuxPS','zgLJDa','zM9Yy2u','zMLSDgvY','nvzmCeLZzW','yMfZzq','zgf0yq','DMfSDwu','C3rYAw5N','mtH5t1z2sMy','BgvUz3rO','mta3ogLUwuPLBq','mJmXovL6sgfWCq','BMfTzq','mty5mti2nejlCe1psW','mJe3ndq5mgnfuuT6sa','mZG3nZa5mKLVCerZvW','y2HPBgrYzw4','BgfIzwW','mtaWnte3ovLbyuDisW','ic8G','yM9VBgvHBG','Aw5MBW','BwfW','mZiWmJK1ruHZDgHf','AxnbCNjHEq'];_0x53bd=function(){return _0x489cd5;};return _0x53bd();}function sameValue(_0x367e75,_0xadf672){if(_0x367e75===_0xadf672)return!![];if(_0x367e75==null||_0xadf672==null)return![];return String(_0x367e75)===String(_0xadf672);}function deepFind(_0x37e7cc,_0x1ba2d1,_0x5aca3d=[]){const _0x561f18=_0x4d44;for(const _0x47c0e6 of _0x1ba2d1){if(sameValue(_0x47c0e6[_0x561f18(0x9e)],_0x37e7cc))return{..._0x47c0e6,'label':_0x5aca3d[_0x561f18(0xa1)]?[..._0x5aca3d,_0x47c0e6['label']||_0x47c0e6['name']]['join'](_0x561f18(0x91)):_0x47c0e6[_0x561f18(0x8f)]||_0x47c0e6[_0x561f18(0x8a)]};if(_0x47c0e6[_0x561f18(0x8e)]?.[_0x561f18(0xa1)]){const _0x5a9f37=deepFind(_0x37e7cc,_0x47c0e6[_0x561f18(0x8e)],[..._0x5aca3d,_0x47c0e6[_0x561f18(0x8f)]||_0x47c0e6[_0x561f18(0x8a)]]);if(_0x5a9f37)return _0x5a9f37;}}return;}function _0x4d44(_0x4e7394,_0x59b86e){_0x4e7394=_0x4e7394-0x8a;const _0x53bd3a=_0x53bd();let _0x4d442f=_0x53bd3a[_0x4e7394];if(_0x4d44['WysrYq']===undefined){var _0x11c27c=function(_0x3c44e1){const _0x264a6a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f18d0='',_0x367e75='';for(let _0xadf672=0x0,_0x37e7cc,_0x1ba2d1,_0x5aca3d=0x0;_0x1ba2d1=_0x3c44e1['charAt'](_0x5aca3d++);~_0x1ba2d1&&(_0x37e7cc=_0xadf672%0x4?_0x37e7cc*0x40+_0x1ba2d1:_0x1ba2d1,_0xadf672++%0x4)?_0x4f18d0+=String['fromCharCode'](0xff&_0x37e7cc>>(-0x2*_0xadf672&0x6)):0x0){_0x1ba2d1=_0x264a6a['indexOf'](_0x1ba2d1);}for(let _0x47c0e6=0x0,_0x5a9f37=_0x4f18d0['length'];_0x47c0e6<_0x5a9f37;_0x47c0e6++){_0x367e75+='%'+('00'+_0x4f18d0['charCodeAt'](_0x47c0e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x367e75);};_0x4d44['DUGmLN']=_0x11c27c,_0x4d44['cWFIga']={},_0x4d44['WysrYq']=!![];}const _0x4e8462=_0x53bd3a[0x0],_0x5efb26=_0x4e7394+_0x4e8462,_0x577e63=_0x4d44['cWFIga'][_0x5efb26];return!_0x577e63?(_0x4d442f=_0x4d44['DUGmLN'](_0x4d442f),_0x4d44['cWFIga'][_0x5efb26]=_0x4d442f):_0x4d442f=_0x577e63,_0x4d442f;}function snapshot(_0x12ed6e){const _0x4f415f=getDictMap(),_0x2c418a={};for(const _0x292b21 of _0x12ed6e||[])_0x2c418a[_0x292b21]=_0x4f415f[_0x292b21]||[];return _0x2c418a;}export const useDictStore=defineStore(_0x4f1459(0x98),()=>{function _0x12bb01(_0x5ae26e){return computed(()=>getDict(_0x5ae26e));}function _0x384311(_0x3fc3ba,_0x4fd9d8){const _0x1d7360=_0x4d44,_0x3dd914=getDictMap()[_0x3fc3ba]||[],_0x291a77=Array[_0x1d7360(0x96)](_0x4fd9d8)?_0x4fd9d8:[_0x4fd9d8];return _0x291a77[_0x1d7360(0x9a)](_0x319a62=>_0x319a62!==undefined)[_0x1d7360(0x94)](_0x13228f=>deepFind(_0x13228f,_0x3dd914));}function _0x4c51f4(_0xabc6a7){return computed(()=>getDictOptions(_0xabc6a7));}async function _0x165cee(_0x22cce8,_0x37ff43=![]){const _0x22b9e4=_0x4d44,_0x40d8f9=typeof _0x37ff43===_0x22b9e4(0x92)?_0x37ff43:Boolean(_0x37ff43?.[_0x22b9e4(0x99)]),_0x4a08e3=typeof _0x22cce8===_0x22b9e4(0x9f)?[_0x22cce8]:_0x22cce8,_0x2c4148=_0x4a08e3?.['filter'](_0x25741a=>!isEmpty(_0x25741a));if(!_0x40d8f9)return snapshot(_0x2c4148);const _0x496c01=await service[_0x22b9e4(0x9c)][_0x22b9e4(0x98)][_0x22b9e4(0x93)][_0x22b9e4(0x9d)]({'types':_0x2c4148});hydrateDictFromEps(_0x496c01);const _0x432a42=_0x2c4148?.['length']?_0x2c4148:Object['keys'](_0x496c01||{});return snapshot(_0x432a42);}return{'get':_0x12bb01,'find':_0x384311,'options':_0x4c51f4,'refresh':_0x165cee};});export function useDict(){const _0x4c23b1=useDictStore();return{'dict':_0x4c23b1};}
@@ -0,0 +1,3 @@
1
+ export type { I18nLangItem } from 'vome-core/client';
2
+ /** admin 宿主语言包 store(逻辑在 vome-core) */
3
+ export declare const useLocaleStore: any;
@@ -0,0 +1 @@
1
+ const _0x4df8e4=_0x12de;function _0x548b(){const _0x37fc16=['mtC5mZuWng5Xr3LuBW','mtqZzvDvseLf','mZm2ndaYvxbOANHe','DM9Tzv9Hzg1PBL9SB2nHBgu','Ate4BG','nNP1BMrysW','mty3nZy4n3D6qxLVra','nti4mty4mKroDMzhsa','ngjzrMr1Ba','ndeXndm1B25LAfvS','C2v0sxrLBq','mJu4mZq4nuTrAu5dsq','mtzqrNnIEwm','CgfJAW','ywrTAw4','nZy5mg1vqwjlvq'];_0x548b=function(){return _0x37fc16;};return _0x548b();}(function(_0x2aa751,_0x5da59e){const _0x3fe770=_0x12de,_0x3cd35d=_0x2aa751();while(!![]){try{const _0xbd49f9=parseInt(_0x3fe770(0x103))/0x1+parseInt(_0x3fe770(0x101))/0x2+parseInt(_0x3fe770(0x107))/0x3*(parseInt(_0x3fe770(0x109))/0x4)+parseInt(_0x3fe770(0xfc))/0x5*(-parseInt(_0x3fe770(0x106))/0x6)+-parseInt(_0x3fe770(0x108))/0x7+-parseInt(_0x3fe770(0xfd))/0x8*(-parseInt(_0x3fe770(0x10a))/0x9)+parseInt(_0x3fe770(0x100))/0xa*(-parseInt(_0x3fe770(0x102))/0xb);if(_0xbd49f9===_0x5da59e)break;else _0x3cd35d['push'](_0x3cd35d['shift']());}catch(_0x19f9df){_0x3cd35d['push'](_0x3cd35d['shift']());}}}(_0x548b,0x931e1));import{setCrudTranslator}from'../crud/style';function _0x12de(_0x482801,_0x5c418f){_0x482801=_0x482801-0xfc;const _0x548ba9=_0x548b();let _0x12deee=_0x548ba9[_0x482801];if(_0x12de['PSsAbV']===undefined){var _0x322571=function(_0x5016d6){const _0x50428e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xbc7df='',_0x3f015e='';for(let _0x454a4e=0x0,_0x5aa8be,_0x118c34,_0x17cee7=0x0;_0x118c34=_0x5016d6['charAt'](_0x17cee7++);~_0x118c34&&(_0x5aa8be=_0x454a4e%0x4?_0x5aa8be*0x40+_0x118c34:_0x118c34,_0x454a4e++%0x4)?_0xbc7df+=String['fromCharCode'](0xff&_0x5aa8be>>(-0x2*_0x454a4e&0x6)):0x0){_0x118c34=_0x50428e['indexOf'](_0x118c34);}for(let _0x3542cb=0x0,_0x3cff3d=_0xbc7df['length'];_0x3542cb<_0x3cff3d;_0x3542cb++){_0x3f015e+='%'+('00'+_0xbc7df['charCodeAt'](_0x3542cb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f015e);};_0x12de['INYOdN']=_0x322571,_0x12de['cMzZyi']={},_0x12de['PSsAbV']=!![];}const _0x4d8e31=_0x548ba9[0x0],_0x7962b1=_0x482801+_0x4d8e31,_0x549e86=_0x12de['cMzZyi'][_0x7962b1];return!_0x549e86?(_0x12deee=_0x12de['INYOdN'](_0x12deee),_0x12de['cMzZyi'][_0x7962b1]=_0x12deee):_0x12deee=_0x549e86,_0x12deee;}import{service}from'../service';import{createLocaleStore}from'vome-core/client';export const useLocaleStore=createLocaleStore({'storageKey':_0x4df8e4(0x104),'scopeKey':_0x4df8e4(0xff),'langMode':_0x4df8e4(0xff),'enableMenu':!![],'persist':{'get':_0xbc7df=>localStorage['getItem'](_0xbc7df),'set':(_0x3f015e,_0x454a4e)=>localStorage[_0x4df8e4(0x10b)](_0x3f015e,_0x454a4e)},'getPackApi':()=>service[_0x4df8e4(0x105)]?.[_0x4df8e4(0xfe)],'onPackLoaded':({t:_0x5aa8be})=>{setCrudTranslator((_0x118c34,_0x17cee7)=>_0x5aa8be(_0x118c34,_0x17cee7));}});
@@ -0,0 +1 @@
1
+ export declare const useThemeStore: any;
@@ -0,0 +1 @@
1
+ const _0x3158ae=_0x570c;(function(_0x183675,_0x445170){const _0xd296b7=_0x570c,_0x8a8851=_0x183675();while(!![]){try{const _0x12eb08=-parseInt(_0xd296b7(0xa0))/0x1+-parseInt(_0xd296b7(0xa8))/0x2*(parseInt(_0xd296b7(0x9e))/0x3)+parseInt(_0xd296b7(0xa7))/0x4+parseInt(_0xd296b7(0xa2))/0x5+-parseInt(_0xd296b7(0xab))/0x6+parseInt(_0xd296b7(0x95))/0x7+-parseInt(_0xd296b7(0xa6))/0x8;if(_0x12eb08===_0x445170)break;else _0x8a8851['push'](_0x8a8851['shift']());}catch(_0x1e5862){_0x8a8851['push'](_0x8a8851['shift']());}}}(_0x4c08,0xab7af));import{bus}from'wujie';import{applyTheme,listThemes}from'../themes';function _0x4c08(){const _0x3382f3=['DM9Tzv9Hzg1PBL90AgvTzq','Dw5KzwzPBMvK','Bwf0y2HLCW','ndaXnZK2owrRBMD6wa','jgvTAxq','mteZmdu0yxzWDKzi','yw5PBwf0zq','nJy1nZa5nw5ewMTTzW','zgfYAW','jg9U','C3rHCNrwAwv3vhjHBNnPDgLVBG','mJiXmZG4me9htvPjwa','ndi4ndyWmeXIAMzTvG','mNrjyLjKta','BgLNAhq','DgHLBwu','ntm1mJG3nMn0BgDMuq','Bwf0y2HnzwrPyq','nJq0nZuWnhjwywHhwG','zMLUywXSEq','z2v0sxrLBq','C2v0sxrLBq','zMLUAxnOzwq','DgHLBwvjza'];_0x4c08=function(){return _0x3382f3;};return _0x4c08();}import{hasMicroThemeListeners,MICRO_SET_THEME_EVENT,MICRO_THEME_EVENT,snapshotHostTheme}from'../lib/micro-theme';const THEME_KEY=_0x3158ae(0x9b);function _0x570c(_0x733180,_0x587904){_0x733180=_0x733180-0x94;const _0x4c08a7=_0x4c08();let _0x570c4a=_0x4c08a7[_0x733180];if(_0x570c['KlTXOo']===undefined){var _0x212353=function(_0x1f52c8){const _0x2a9b08='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcfec1a='',_0x53532c='';for(let _0x1b1715=0x0,_0x19a2e6,_0x330cbf,_0x43292f=0x0;_0x330cbf=_0x1f52c8['charAt'](_0x43292f++);~_0x330cbf&&(_0x19a2e6=_0x1b1715%0x4?_0x19a2e6*0x40+_0x330cbf:_0x330cbf,_0x1b1715++%0x4)?_0xcfec1a+=String['fromCharCode'](0xff&_0x19a2e6>>(-0x2*_0x1b1715&0x6)):0x0){_0x330cbf=_0x2a9b08['indexOf'](_0x330cbf);}for(let _0x56fff2=0x0,_0x3bcc5d=_0xcfec1a['length'];_0x56fff2<_0x3bcc5d;_0x56fff2++){_0x53532c+='%'+('00'+_0xcfec1a['charCodeAt'](_0x56fff2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53532c);};_0x570c['dyRLms']=_0x212353,_0x570c['cWDWcK']={},_0x570c['KlTXOo']=!![];}const _0xcbd13d=_0x4c08a7[0x0],_0x4a3330=_0x733180+_0xcbd13d,_0x3d261c=_0x570c['cWDWcK'][_0x4a3330];return!_0x3d261c?(_0x570c4a=_0x570c['dyRLms'](_0x570c4a),_0x570c['cWDWcK'][_0x4a3330]=_0x570c4a):_0x570c4a=_0x3d261c,_0x570c4a;}let themeTransitioning=![];function prefersReducedMotion(){const _0x28cb4e=_0x3158ae;if(typeof window===_0x28cb4e(0x9c))return!![];return window[_0x28cb4e(0x94)]('(prefers-reduced-motion:\x20reduce)')[_0x28cb4e(0x9d)];}function broadcastHostTheme(){const _0x570b4b=_0x3158ae;try{if(!hasMicroThemeListeners())return;bus[_0x570b4b(0x9f)](MICRO_THEME_EVENT,snapshotHostTheme());}catch{}}function runThemeUpdate(_0xcfec1a,_0x53532c){const _0x208c38=_0x3158ae,_0x1b1715=typeof document!==_0x208c38(0x9c)?document:null;if(!_0x53532c||!_0x1b1715?.[_0x208c38(0xa5)]||prefersReducedMotion()||themeTransitioning){_0xcfec1a(),queueMicrotask(()=>broadcastHostTheme());return;}themeTransitioning=!![];const _0x19a2e6=_0x1b1715[_0x208c38(0xa5)](_0xcfec1a);_0x19a2e6[_0x208c38(0x99)][_0x208c38(0x96)](()=>{themeTransitioning=![],broadcastHostTheme(),requestAnimationFrame(()=>broadcastHostTheme());});}let guestThemeBound=![];function bindGuestThemeRequests(_0x330cbf){const _0x96162e=_0x3158ae;if(guestThemeBound)return;guestThemeBound=!![];try{bus[_0x96162e(0xa4)](MICRO_SET_THEME_EVENT,_0x43292f=>{const _0x4a26a0=_0x96162e,_0x56fff2=_0x43292f?.[_0x4a26a0(0x9a)]===_0x4a26a0(0xa3)?_0x4a26a0(0xa3):_0x4a26a0(0xa9);if(_0x56fff2===_0x330cbf[_0x4a26a0(0x9a)])return;_0x330cbf['setTheme'](_0x56fff2);});}catch{}}export const useThemeStore=defineStore(_0x3158ae(0xaa),{'state':()=>({'themeId':localStorage[_0x3158ae(0x97)](THEME_KEY)||_0x3158ae(0xa9)}),'getters':{'themes':()=>listThemes()},'actions':{'initTheme'(){const _0x57b3f6=_0x3158ae;applyTheme(this[_0x57b3f6(0x9a)]),broadcastHostTheme(),bindGuestThemeRequests(this);},'setTheme'(_0x3bcc5d,_0x4128b6){const _0x489d10=_0x3158ae,_0x35fcef=_0x3bcc5d!==this[_0x489d10(0x9a)],_0x8f96bc=_0x4128b6?.[_0x489d10(0xa1)]!==![]&&_0x35fcef;runThemeUpdate(()=>{const _0x1c895d=_0x489d10;this[_0x1c895d(0x9a)]=_0x3bcc5d,localStorage[_0x1c895d(0x98)](THEME_KEY,_0x3bcc5d),applyTheme(_0x3bcc5d),broadcastHostTheme();},_0x8f96bc);}}});
@@ -0,0 +1,2 @@
1
+ import type { ThemeDefinition } from '../../../typings/admin/theme';
2
+ export declare const darkTheme: ThemeDefinition;
@@ -0,0 +1 @@
1
+ const _0x3cd9db=_0x3a1a;function _0x3a1a(_0x48de57,_0x205d10){_0x48de57=_0x48de57-0x79;const _0xfa6e5c=_0xfa6e();let _0x3a1a52=_0xfa6e5c[_0x48de57];if(_0x3a1a['TaipxZ']===undefined){var _0x573d17=function(_0x28405c){const _0x6101ea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25ad52='',_0x5f002b='';for(let _0xf4b31d=0x0,_0x32ae7f,_0x5a6e83,_0x2e2130=0x0;_0x5a6e83=_0x28405c['charAt'](_0x2e2130++);~_0x5a6e83&&(_0x32ae7f=_0xf4b31d%0x4?_0x32ae7f*0x40+_0x5a6e83:_0x5a6e83,_0xf4b31d++%0x4)?_0x25ad52+=String['fromCharCode'](0xff&_0x32ae7f>>(-0x2*_0xf4b31d&0x6)):0x0){_0x5a6e83=_0x6101ea['indexOf'](_0x5a6e83);}for(let _0x4ccdaf=0x0,_0x522a09=_0x25ad52['length'];_0x4ccdaf<_0x522a09;_0x4ccdaf++){_0x5f002b+='%'+('00'+_0x25ad52['charCodeAt'](_0x4ccdaf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5f002b);};_0x3a1a['LPAqjB']=_0x573d17,_0x3a1a['nSxJOV']={},_0x3a1a['TaipxZ']=!![];}const _0x3477a6=_0xfa6e5c[0x0],_0x27bebb=_0x48de57+_0x3477a6,_0x1647f5=_0x3a1a['nSxJOV'][_0x27bebb];return!_0x1647f5?(_0x3a1a52=_0x3a1a['LPAqjB'](_0x3a1a52),_0x3a1a['nSxJOV'][_0x27bebb]=_0x3a1a52):_0x3a1a52=_0x1647f5,_0x3a1a52;}(function(_0x27eb57,_0x13ed49){const _0x3904a1=_0x3a1a,_0x37381e=_0x27eb57();while(!![]){try{const _0xa7af1f=-parseInt(_0x3904a1(0x7c))/0x1*(-parseInt(_0x3904a1(0x7d))/0x2)+-parseInt(_0x3904a1(0x79))/0x3*(parseInt(_0x3904a1(0x83))/0x4)+parseInt(_0x3904a1(0x85))/0x5*(parseInt(_0x3904a1(0x80))/0x6)+-parseInt(_0x3904a1(0x86))/0x7*(-parseInt(_0x3904a1(0x7a))/0x8)+-parseInt(_0x3904a1(0x81))/0x9*(parseInt(_0x3904a1(0x84))/0xa)+-parseInt(_0x3904a1(0x7f))/0xb*(-parseInt(_0x3904a1(0x7e))/0xc)+-parseInt(_0x3904a1(0x7b))/0xd;if(_0xa7af1f===_0x13ed49)break;else _0x37381e['push'](_0x37381e['shift']());}catch(_0x330c91){_0x37381e['push'](_0x37381e['shift']());}}}(_0xfa6e,0x6f357));function _0xfa6e(){const _0x5deecf=['ntyYnZfVruHOwhi','nty4qwj3sxzI','mtu5odK0mdj0s1jLEwG','ota0mde0y25uDfj6','mMPVsNDzua','nJy3ntC1nMjvAhDWva','mtfgvKjewui','mZqZmtq2s3r2r2zS','mZe1AhnJteDy','zgfYAW','mtmYB1bQrvnr','oduXmfLhv3PHva','nvn6tufRra','oda1mJfmEg5mBK8'];_0xfa6e=function(){return _0x5deecf;};return _0xfa6e();}export const darkTheme={'id':_0x3cd9db(0x82),'label':'深色','dark':!![]};
@@ -0,0 +1,9 @@
1
+ import { darkTheme } from './dark';
2
+ import { lightTheme } from './light';
3
+ /** 注册/覆盖主题(业务方可扩展) */
4
+ export declare function registerTheme(theme: ThemeDefinition): void;
5
+ export declare function getTheme(id: string): ThemeDefinition;
6
+ export declare function listThemes(): ThemeDefinition[];
7
+ export declare function applyTheme(id: string): void;
8
+ export type { ThemeDefinition, ThemeTokens } from '../../../typings/admin/theme';
9
+ export { lightTheme, darkTheme };
@@ -0,0 +1 @@
1
+ function _0x2d62(_0x32c39b,_0x3a9a8c){_0x32c39b=_0x32c39b-0x111;const _0x45ffa1=_0x45ff();let _0x2d62c1=_0x45ffa1[_0x32c39b];if(_0x2d62['pXxleb']===undefined){var _0x3c4c6d=function(_0x36160d){const _0xac7dd9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9669fe='',_0x4b584c='';for(let _0x5719bd=0x0,_0x372125,_0x14262e,_0x11fe8f=0x0;_0x14262e=_0x36160d['charAt'](_0x11fe8f++);~_0x14262e&&(_0x372125=_0x5719bd%0x4?_0x372125*0x40+_0x14262e:_0x14262e,_0x5719bd++%0x4)?_0x9669fe+=String['fromCharCode'](0xff&_0x372125>>(-0x2*_0x5719bd&0x6)):0x0){_0x14262e=_0xac7dd9['indexOf'](_0x14262e);}for(let _0xfa6c66=0x0,_0x5c8dd1=_0x9669fe['length'];_0xfa6c66<_0x5c8dd1;_0xfa6c66++){_0x4b584c+='%'+('00'+_0x9669fe['charCodeAt'](_0xfa6c66)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b584c);};_0x2d62['cvniSk']=_0x3c4c6d,_0x2d62['JkCTUT']={},_0x2d62['pXxleb']=!![];}const _0x2b41fb=_0x45ffa1[0x0],_0x287f9d=_0x32c39b+_0x2b41fb,_0x92421=_0x2d62['JkCTUT'][_0x287f9d];return!_0x92421?(_0x2d62c1=_0x2d62['cvniSk'](_0x2d62c1),_0x2d62['JkCTUT'][_0x287f9d]=_0x2d62c1):_0x2d62c1=_0x92421,_0x2d62c1;}(function(_0x6b38f6,_0x3529ec){const _0x5bc3b2=_0x2d62,_0x2ffb77=_0x6b38f6();while(!![]){try{const _0x219b46=-parseInt(_0x5bc3b2(0x11e))/0x1+-parseInt(_0x5bc3b2(0x11f))/0x2+-parseInt(_0x5bc3b2(0x11b))/0x3+parseInt(_0x5bc3b2(0x11a))/0x4+-parseInt(_0x5bc3b2(0x116))/0x5+-parseInt(_0x5bc3b2(0x11c))/0x6+-parseInt(_0x5bc3b2(0x122))/0x7*(-parseInt(_0x5bc3b2(0x119))/0x8);if(_0x219b46===_0x3529ec)break;else _0x2ffb77['push'](_0x2ffb77['shift']());}catch(_0x4bcd28){_0x2ffb77['push'](_0x2ffb77['shift']());}}}(_0x45ff,0xeda87));import{darkTheme}from'./dark';function _0x45ff(){const _0x197554=['Dg9Rzw5Z','y2XHC3nmAxn0','zgf0yxnLDa','nZq4mZiZmgvODKfpwq','C2v0uhjVCgvYDhK','DgHLBwu','mJaYnJyWmJrOuw56D0u','mJy4mtG2mgrSu0DxCq','odCXmde3uwDUtM9n','mteWnZi5mZrmz2Ldv00','C3r5Bgu','odiWmZuWCw1xwg1s','nJiXndaWAg1qENjy','Dg9Nz2XL','zgfYAW','mtrqtgXQrgS','DMfSDwvZ','z2v0'];_0x45ff=function(){return _0x197554;};return _0x45ff();}import{lightTheme}from'./light';const registry=new Map([[lightTheme['id'],lightTheme],[darkTheme['id'],darkTheme]]);export function registerTheme(_0x9669fe){registry['set'](_0x9669fe['id'],_0x9669fe);}export function getTheme(_0x4b584c){const _0x38f57d=_0x2d62;return registry[_0x38f57d(0x112)](_0x4b584c);}export function listThemes(){const _0x562ba9=_0x2d62;return[...registry[_0x562ba9(0x111)]()];}export function applyTheme(_0x5719bd){const _0x46b064=_0x2d62,_0x372125=registry['get'](_0x5719bd)??lightTheme,_0x14262e=document['documentElement'];_0x14262e[_0x46b064(0x114)][_0x46b064(0x120)](_0x46b064(0x121),Boolean(_0x372125['dark'])),_0x14262e[_0x46b064(0x115)][_0x46b064(0x118)]=_0x372125['id'];if(_0x372125['tokens'])for(const [_0x11fe8f,_0xfa6c66]of Object['entries'](_0x372125[_0x46b064(0x113)])){_0x14262e[_0x46b064(0x11d)][_0x46b064(0x117)](_0x11fe8f,_0xfa6c66);}}export{lightTheme,darkTheme};
@@ -0,0 +1,2 @@
1
+ import type { ThemeDefinition } from '../../../typings/admin/theme';
2
+ export declare const lightTheme: ThemeDefinition;
@@ -0,0 +1 @@
1
+ (function(_0xe3eaf2,_0x4ad561){const _0x38b91f=_0x43f7,_0x5e7c55=_0xe3eaf2();while(!![]){try{const _0x41395=-parseInt(_0x38b91f(0x71))/0x1*(parseInt(_0x38b91f(0x6e))/0x2)+-parseInt(_0x38b91f(0x6c))/0x3+-parseInt(_0x38b91f(0x75))/0x4+-parseInt(_0x38b91f(0x74))/0x5*(parseInt(_0x38b91f(0x76))/0x6)+parseInt(_0x38b91f(0x6f))/0x7+-parseInt(_0x38b91f(0x6d))/0x8*(-parseInt(_0x38b91f(0x70))/0x9)+parseInt(_0x38b91f(0x73))/0xa*(parseInt(_0x38b91f(0x72))/0xb);if(_0x41395===_0x4ad561)break;else _0x5e7c55['push'](_0x5e7c55['shift']());}catch(_0x1b0bea){_0x5e7c55['push'](_0x5e7c55['shift']());}}}(_0x26b7,0x65ac8));function _0x43f7(_0x5102ca,_0x3d4687){_0x5102ca=_0x5102ca-0x6c;const _0x26b74b=_0x26b7();let _0x43f7da=_0x26b74b[_0x5102ca];if(_0x43f7['GoCwBo']===undefined){var _0x488a4d=function(_0x7114c6){const _0x4343eb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x218a03='',_0xc08213='';for(let _0x2c9bf8=0x0,_0xb4f633,_0x20b8cf,_0x56ec31=0x0;_0x20b8cf=_0x7114c6['charAt'](_0x56ec31++);~_0x20b8cf&&(_0xb4f633=_0x2c9bf8%0x4?_0xb4f633*0x40+_0x20b8cf:_0x20b8cf,_0x2c9bf8++%0x4)?_0x218a03+=String['fromCharCode'](0xff&_0xb4f633>>(-0x2*_0x2c9bf8&0x6)):0x0){_0x20b8cf=_0x4343eb['indexOf'](_0x20b8cf);}for(let _0x46bff4=0x0,_0x458598=_0x218a03['length'];_0x46bff4<_0x458598;_0x46bff4++){_0xc08213+='%'+('00'+_0x218a03['charCodeAt'](_0x46bff4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc08213);};_0x43f7['FPrrCY']=_0x488a4d,_0x43f7['iEnDEW']={},_0x43f7['GoCwBo']=!![];}const _0x2ea41d=_0x26b74b[0x0],_0x52e4dd=_0x5102ca+_0x2ea41d,_0x783082=_0x43f7['iEnDEW'][_0x52e4dd];return!_0x783082?(_0x43f7da=_0x43f7['FPrrCY'](_0x43f7da),_0x43f7['iEnDEW'][_0x52e4dd]=_0x43f7da):_0x43f7da=_0x783082,_0x43f7da;}export const lightTheme={'id':'light','label':'浅色','dark':![]};function _0x26b7(){const _0x1d1ee9=['mJuZmdjyD0jcDeS','mtyXmZCZAfPnvwTi','ohn0yMrAEa','mti0ntC4ohfnzevzqW','ndC5nZCYm2LyCxjpqW','mZyYntC2n1L2rffcCG','mxj1uwPQqq','mJq4mda3mwnntNPdAa','ndbXrhv1u1q','mZeWALjuCLni','mJu0mJaWnevnBMzpua'];_0x26b7=function(){return _0x1d1ee9;};return _0x26b7();}
@@ -11,6 +11,8 @@ export type EpsStaticBundle = {
11
11
  };
12
12
  export type ClientHooks = {
13
13
  request: ClientRequestFn;
14
+ /** admin / web / uni 的 API 根路径(如 /dev) */
15
+ baseUrl?: string;
14
16
  /**
15
17
  * 生产环境 loadEps 数据源(打包内 build/eps.json)。
16
18
  * DEV 不走此路径;PROD 未注入则 loadEps 抛错(禁止回退 HTTP)。
@@ -23,6 +25,7 @@ export declare function configureClient(next: Partial<ClientHooks> & {
23
25
  }): void;
24
26
  export declare function getClientRequest(): ClientRequestFn;
25
27
  export declare function getLoadStaticEps(): ClientHooks['loadStaticEps'];
28
+ export declare function getClientBaseUrl(): string;
26
29
  /**
27
30
  * 默认 loadStaticEps:读打包产物根目录 /eps.json
28
31
  * (Vite 插件开发态中间件 + closeBundle 拷贝到 dist)
@@ -4,13 +4,20 @@ export function configureClient(next) {
4
4
  }
5
5
  export function getClientRequest() {
6
6
  if (!hooks?.request) {
7
- throw new Error("[vome-client] configureClient({ request }) before loadEps / service");
7
+ throw new Error("[vome-core/client] configureClient({ request }) before loadEps / service");
8
8
  }
9
9
  return hooks.request;
10
10
  }
11
11
  export function getLoadStaticEps() {
12
12
  return hooks?.loadStaticEps;
13
13
  }
14
+ export function getClientBaseUrl() {
15
+ const baseUrl = hooks?.baseUrl;
16
+ if (!baseUrl) {
17
+ throw new Error("[vome-core/client] configureClient({ baseUrl }) before apiUrl / request");
18
+ }
19
+ return baseUrl;
20
+ }
14
21
  export async function fetchPackagedEpsJson() {
15
22
  const meta = import.meta;
16
23
  const base = meta.env?.BASE_URL || "/";
@@ -17,16 +17,14 @@ export {
17
17
  } from "./vite-resolve.js";
18
18
  export function createAdminResolvePlugins(opts) {
19
19
  const root = opts.root;
20
- const hostSrc = opts.hostSrc ?? path.resolve(root, "src");
21
20
  return [
22
21
  vomePeerDepsPlugin(root),
23
- vomeResolvePlugin(root, hostSrc),
22
+ vomeResolvePlugin(root),
24
23
  vomeAdminNoOptimizePlugin()
25
24
  ];
26
25
  }
27
26
  export function createAdminOptimizeDepsPlugins(opts) {
28
- const hostSrc = opts.hostSrc ?? path.resolve(opts.root, "src");
29
- return [vomeHostEsbuildPlugin(hostSrc, opts.root)];
27
+ return [vomeHostEsbuildPlugin(opts.root)];
30
28
  }
31
29
  export const adminDedupe = [
32
30
  "vue",
@@ -111,12 +111,12 @@ export function createAdminAutoImportPlugins(root) {
111
111
  Components({
112
112
  exclude,
113
113
  globs: [
114
- "src/components/ui/**/*.vue",
115
- "src/components/layout/vm-*.vue",
116
- "src/modules/*/components/vm-*.vue",
114
+ `${coreAdmin}/components/ui/**/*.vue`,
115
+ `${coreAdmin}/components/layout/vm-*.vue`,
117
116
  `${coreAdmin}/components/vm-*.vue`,
118
117
  `${coreAdmin}/crud/vm-*.vue`,
119
- `${coreAdmin}/crud/components/vm-*.vue`
118
+ `${coreAdmin}/crud/components/vm-*.vue`,
119
+ "src/modules/*/components/vm-*.vue"
120
120
  ],
121
121
  resolvers: [createVomeCoreVmResolver(root)],
122
122
  dts: r("typings/components.d.ts"),
@@ -6,11 +6,11 @@ export declare function vomePeerDepsPlugin(appRoot: string): Plugin;
6
6
  * 解析 @core/admin/*(及旧 /@/*)→ dist/admin 绝对文件。
7
7
  * service 入口强制钉死,避免双实例。
8
8
  */
9
- export declare function vomeResolvePlugin(root: string, hostSrc: string): Plugin;
9
+ export declare function vomeResolvePlugin(root: string): Plugin;
10
10
  /**
11
11
  * 禁止 Vite 把 `@core/admin/*` 当独立包预构建(与 exclude vome-core 配合)。
12
12
  * 预构建会复制 style/useCrud 单例,导致 setAuto 写 A、vm-search 读 B。
13
13
  */
14
14
  export declare function vomeAdminNoOptimizePlugin(): Plugin;
15
- /** optimizeDeps 的 esbuild 不读 Vite alias;解析 #vome-host 后须 external;@core/admin 禁止进预构建图 */
16
- export declare function vomeHostEsbuildPlugin(hostSrc: string, appRoot?: string): EsbuildPlugin;
15
+ /** optimizeDeps 的 esbuild 不读 Vite alias;@core/admin 禁止进预构建图 */
16
+ export declare function vomeHostEsbuildPlugin(appRoot?: string): EsbuildPlugin;
@@ -74,14 +74,20 @@ export function vomePeerDepsPlugin(appRoot) {
74
74
  const pkg = normalized.slice("__vite-optional-peer-dep:".length).replace(/:vome-core$/, "");
75
75
  return resolvePeerPkg(pkg);
76
76
  }
77
- if (isCoreImporter(importer) && pinned[source]) {
78
- return resolvePeerPkg(source);
77
+ if (isCoreImporter(importer)) {
78
+ if (pinned[source])
79
+ return resolvePeerPkg(source);
80
+ try {
81
+ return require.resolve(source);
82
+ } catch {
83
+ return;
84
+ }
79
85
  }
80
86
  return;
81
87
  }
82
88
  };
83
89
  }
84
- export function vomeResolvePlugin(root, hostSrc) {
90
+ export function vomeResolvePlugin(root) {
85
91
  const coreAdmin = path.resolve(root, "node_modules/vome-core/dist/admin");
86
92
  const serviceEntry = path.resolve(coreAdmin, "service/index.js");
87
93
  function resolveServiceId(id, importer) {
@@ -110,10 +116,6 @@ export function vomeResolvePlugin(root, hostSrc) {
110
116
  const serviceId = resolveServiceId(id, importer);
111
117
  if (serviceId)
112
118
  return serviceId;
113
- if (id === "#vome-host" || id.startsWith("#vome-host/")) {
114
- const sub = id === "#vome-host" ? "" : id.slice("#vome-host/".length);
115
- return resolveFile(path.resolve(hostSrc, sub)) ?? undefined;
116
- }
117
119
  if (!isAdminSpec(id))
118
120
  return;
119
121
  const adminId = normalizeAdminId(id);
@@ -140,19 +142,12 @@ export function vomeAdminNoOptimizePlugin() {
140
142
  }
141
143
  };
142
144
  }
143
- export function vomeHostEsbuildPlugin(hostSrc, appRoot) {
145
+ export function vomeHostEsbuildPlugin(appRoot) {
144
146
  const root = appRoot || process.cwd();
145
147
  const coreAdmin = path.resolve(root, "node_modules/vome-core/dist/admin");
146
148
  return {
147
149
  name: "vome-host-esbuild",
148
150
  setup(build) {
149
- build.onResolve({ filter: /^#vome-host(\/|$)/ }, (args) => {
150
- const sub = args.path === "#vome-host" ? "" : args.path.slice("#vome-host/".length);
151
- const resolved = resolveFile(path.resolve(hostSrc, sub));
152
- if (!resolved)
153
- return;
154
- return { path: resolved, external: true };
155
- });
156
151
  build.onResolve({ filter: /^@core\/admin(\/|$)|^\/@(\/|$)/ }, (args) => {
157
152
  const adminId = normalizeAdminId(args.path);
158
153
  const sub = adminId === "vome-core/admin" ? "" : adminId.slice("vome-core/admin/".length);
@@ -0,0 +1,8 @@
1
+ /** 官网文档根(席位 / license API 由此派生) */
2
+ export declare const OFFICIAL_DOCS_URL = "https://vomekj.com";
3
+ /** docsUrl → 官网后端 origin(主机前加 service.) */
4
+ export declare function serviceUrlFromDocs(docsUrl: string): string;
5
+ /** 席位 API 根(occupy / heartbeat / release) */
6
+ export declare function seatApiBaseFromDocs(docsUrl: string): string;
7
+ /** 联网安装签发 license */
8
+ export declare function licenseIssueUrlFromDocs(docsUrl: string): string;