vome-core 0.3.65 → 0.3.67

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 (342) hide show
  1. package/dist/admin/api/client.js +7 -2
  2. package/dist/admin/components/ui/avatar/Avatar.vue +18 -18
  3. package/dist/admin/components/ui/avatar/AvatarFallback.vue +21 -21
  4. package/dist/admin/components/ui/avatar/AvatarImage.vue +16 -16
  5. package/dist/admin/components/ui/avatar/index.js +1 -1
  6. package/dist/admin/components/ui/badge/Badge.vue +26 -26
  7. package/dist/admin/components/ui/button/Button.vue +31 -31
  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.js +1 -1
  119. package/dist/admin/crud/components/vm-avatar.vue +104 -104
  120. package/dist/admin/crud/components/vm-color-picker.vue +1626 -1626
  121. package/dist/admin/crud/components/vm-column-custom.vue +193 -193
  122. package/dist/admin/crud/components/vm-context-menu.vue +105 -105
  123. package/dist/admin/crud/components/vm-copy-btn.vue +102 -102
  124. package/dist/admin/crud/components/vm-date-calendar-panel.vue +537 -537
  125. package/dist/admin/crud/components/vm-date-picker.vue +75 -75
  126. package/dist/admin/crud/components/vm-date-range.vue +88 -88
  127. package/dist/admin/crud/components/vm-date-text.vue +42 -42
  128. package/dist/admin/crud/components/vm-datetime-field.vue +215 -215
  129. package/dist/admin/crud/components/vm-datetime-picker.vue +9 -9
  130. package/dist/admin/crud/components/vm-dict-tag.vue +112 -112
  131. package/dist/admin/crud/components/vm-ellipsis-text.vue +34 -34
  132. package/dist/admin/crud/components/vm-form-hint.vue +81 -81
  133. package/dist/admin/crud/components/vm-json-code.vue +41 -41
  134. package/dist/admin/crud/components/vm-json-editor.vue +161 -161
  135. package/dist/admin/crud/components/vm-json-kv-editor.vue +318 -318
  136. package/dist/admin/crud/components/vm-kv-row.vue +51 -51
  137. package/dist/admin/crud/components/vm-multi-select.vue +279 -279
  138. package/dist/admin/crud/components/vm-number-range.vue +204 -204
  139. package/dist/admin/crud/components/vm-preview-viewer.vue +894 -894
  140. package/dist/admin/crud/components/vm-radio.vue +87 -87
  141. package/dist/admin/crud/components/vm-richtext.vue +313 -313
  142. package/dist/admin/crud/components/vm-select.vue +570 -570
  143. package/dist/admin/crud/components/vm-status-tag.vue +158 -158
  144. package/dist/admin/crud/components/vm-switch.vue +158 -158
  145. package/dist/admin/crud/components/vm-tag-list.vue +108 -108
  146. package/dist/admin/crud/components/vm-text-link.vue +52 -52
  147. package/dist/admin/crud/components/vm-toggle-switch.vue +84 -84
  148. package/dist/admin/crud/components/vm-tree-select.vue +450 -450
  149. package/dist/admin/crud/components/vm-upload-item.vue +298 -298
  150. package/dist/admin/crud/components/vm-upload.vue +436 -436
  151. package/dist/admin/crud/config.js +1 -1
  152. package/dist/admin/crud/confirm.js +1 -1
  153. package/dist/admin/crud/crud-page-request.js +1 -1
  154. package/dist/admin/crud/data-i18n.js +1 -1
  155. package/dist/admin/crud/dict.js +1 -1
  156. package/dist/admin/crud/export-fetch.js +1 -1
  157. package/dist/admin/crud/index.js +1 -0
  158. package/dist/admin/crud/key.js +1 -1
  159. package/dist/admin/crud/plugins.js +1 -1
  160. package/dist/admin/crud/span.js +1 -1
  161. package/dist/admin/crud/style.js +1 -1
  162. package/dist/admin/crud/useCrud.js +3 -0
  163. package/dist/admin/crud/validate.js +1 -1
  164. package/dist/admin/crud/vm-add-btn.vue +70 -70
  165. package/dist/admin/crud/vm-adv-search.vue +83 -83
  166. package/dist/admin/crud/vm-crud.vue +711 -711
  167. package/dist/admin/crud/vm-data-i18n-btn.vue +456 -456
  168. package/dist/admin/crud/vm-data-i18n-lang.vue +183 -183
  169. package/dist/admin/crud/vm-export-btn.vue +183 -183
  170. package/dist/admin/crud/vm-flex.vue +14 -14
  171. package/dist/admin/crud/vm-form.vue +33 -15
  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/index.d.ts +1 -31
  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/router/index.d.ts +1 -5
  204. package/dist/admin/service/index.d.ts +1 -11
  205. package/dist/admin/styles/base.css +121 -121
  206. package/dist/admin/vendor/browser-image-compression.js +1144 -1144
  207. package/dist/admin/vendor/decimal-js.js +12 -12
  208. package/dist/admin/vendor/xlsx.js +263 -263
  209. package/dist/ai/index.js +1 -1
  210. package/dist/client/admin-vendor.d.ts +1 -13
  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.js +1 -1
  217. package/dist/client/index.d.ts +1 -7
  218. package/dist/client/index.js +1 -1
  219. package/dist/client/locale-change.js +1 -1
  220. package/dist/client/locale-store.js +1 -1
  221. package/dist/client/service.js +1 -1
  222. package/dist/client/vite-admin.d.ts +1 -40
  223. package/dist/client/vite-admin.js +1 -1
  224. package/dist/client/vite-auto-import.d.ts +1 -2
  225. package/dist/client/vite-auto-import.js +1 -1
  226. package/dist/client/vite-micro-proxy.d.ts +1 -20
  227. package/dist/client/vite-micro-proxy.js +1 -1
  228. package/dist/client/vite-plugin-eps.d.ts +1 -20
  229. package/dist/client/vite-plugin-eps.js +1 -1
  230. package/dist/client/vite-resolve.d.ts +1 -16
  231. package/dist/client/vite-resolve.js +1 -1
  232. package/dist/config/index.js +1 -1
  233. package/dist/index.js +1 -1
  234. package/dist/server/index.js +1 -1
  235. package/dist/shared/datetime-picker.js +1 -1
  236. package/dist/shared/decimal.js +1 -1
  237. package/dist/shared/excel.js +1 -1
  238. package/dist/shared/index.js +1 -1
  239. package/dist/shared/locale-json.js +1 -1
  240. package/dist/shared/tree.js +1 -1
  241. package/package.json +1 -1
  242. package/typings/admin/base/auth.ts +24 -24
  243. package/typings/admin/base/permission.ts +19 -19
  244. package/typings/admin/comm/cascader.ts +7 -7
  245. package/typings/admin/comm/check-tree.ts +7 -7
  246. package/typings/admin/comm/crud.ts +427 -427
  247. package/typings/admin/comm/eps.ts +86 -86
  248. package/typings/admin/comm/request.ts +16 -16
  249. package/typings/admin/comm/service.ts +43 -43
  250. package/typings/admin/comm/upload.ts +39 -39
  251. package/typings/admin/theme.ts +10 -10
  252. package/typings/admin/vome/browser.ts +11 -11
  253. package/typings/admin/vome/module.ts +13 -13
  254. package/typings/admin/vome/tags.ts +9 -9
  255. package/typings/comm/crud.ts +83 -83
  256. package/typings/comm/page.ts +18 -18
  257. package/typings/comm/scan.ts +6 -6
  258. package/typings/common.ts +4 -4
  259. package/typings/context/data.ts +10 -10
  260. package/typings/ext/market-seat.ts +42 -42
  261. package/typings/ext/market.ts +55 -55
  262. package/typings/ext/module.ts +64 -64
  263. package/typings/ext/plugin.ts +38 -38
  264. package/typings/ioc/metadata.ts +34 -34
  265. package/typings/logger/config.ts +6 -6
  266. package/typings/routing/crud.ts +199 -199
  267. package/typings/routing/eps.ts +88 -88
  268. package/typings/routing/meta.ts +63 -63
  269. package/typings/routing/register.ts +21 -21
  270. package/typings/routing/scan-context.ts +7 -7
  271. package/dist/admin/api/client.d.ts +0 -50
  272. package/dist/admin/components/ui/avatar/index.d.ts +0 -3
  273. package/dist/admin/components/ui/badge/index.d.ts +0 -6
  274. package/dist/admin/components/ui/button/index.d.ts +0 -7
  275. package/dist/admin/components/ui/checkbox/index.d.ts +0 -1
  276. package/dist/admin/components/ui/dialog/index.d.ts +0 -10
  277. package/dist/admin/components/ui/dropdown-menu/index.d.ts +0 -15
  278. package/dist/admin/components/ui/input/index.d.ts +0 -1
  279. package/dist/admin/components/ui/label/index.d.ts +0 -1
  280. package/dist/admin/components/ui/scroll-area/index.d.ts +0 -2
  281. package/dist/admin/components/ui/select/index.d.ts +0 -11
  282. package/dist/admin/components/ui/separator/index.d.ts +0 -1
  283. package/dist/admin/components/ui/sheet/index.d.ts +0 -8
  284. package/dist/admin/components/ui/sonner/index.d.ts +0 -1
  285. package/dist/admin/components/ui/table/index.d.ts +0 -9
  286. package/dist/admin/components/ui/tabs/index.d.ts +0 -4
  287. package/dist/admin/components/ui/tooltip/index.d.ts +0 -4
  288. package/dist/admin/crud/auto-fields.d.ts +0 -68
  289. package/dist/admin/crud/config.d.ts +0 -5
  290. package/dist/admin/crud/confirm.d.ts +0 -19
  291. package/dist/admin/crud/crud-page-request.d.ts +0 -21
  292. package/dist/admin/crud/data-i18n.d.ts +0 -62
  293. package/dist/admin/crud/dict.d.ts +0 -4
  294. package/dist/admin/crud/export-fetch.d.ts +0 -22
  295. package/dist/admin/crud/index.d.ts +0 -60
  296. package/dist/admin/crud/json-kv.d.ts +0 -9
  297. package/dist/admin/crud/key.d.ts +0 -22
  298. package/dist/admin/crud/paging.d.ts +0 -2
  299. package/dist/admin/crud/plugins.d.ts +0 -63
  300. package/dist/admin/crud/registry.d.ts +0 -3
  301. package/dist/admin/crud/span.d.ts +0 -17
  302. package/dist/admin/crud/style.d.ts +0 -82
  303. package/dist/admin/crud/useCrud.d.ts +0 -21
  304. package/dist/admin/crud/validate.d.ts +0 -7
  305. package/dist/admin/directives/perm.d.ts +0 -3
  306. package/dist/admin/hooks/useBrowser.d.ts +0 -6
  307. package/dist/admin/hooks/useUpload.d.ts +0 -8
  308. package/dist/admin/hooks/useVome.d.ts +0 -10
  309. package/dist/admin/lib/browser.d.ts +0 -3
  310. package/dist/admin/lib/cn.d.ts +0 -2
  311. package/dist/admin/lib/compress-image.d.ts +0 -12
  312. package/dist/admin/lib/dialog-float.d.ts +0 -8
  313. package/dist/admin/lib/eps.d.ts +0 -2
  314. package/dist/admin/lib/export-excel.d.ts +0 -9
  315. package/dist/admin/lib/file-preview.d.ts +0 -9
  316. package/dist/admin/lib/import-excel.d.ts +0 -21
  317. package/dist/admin/lib/json.d.ts +0 -11
  318. package/dist/admin/lib/menu.d.ts +0 -3
  319. package/dist/admin/lib/micro-locale.d.ts +0 -5
  320. package/dist/admin/lib/micro-theme.d.ts +0 -14
  321. package/dist/admin/lib/module.d.ts +0 -21
  322. package/dist/admin/lib/scarce-assets.d.ts +0 -5
  323. package/dist/admin/lib/shell.d.ts +0 -8
  324. package/dist/admin/lib/theme-color-options.d.ts +0 -15
  325. package/dist/admin/lib/tree.d.ts +0 -2
  326. package/dist/admin/lib/upload.d.ts +0 -17
  327. package/dist/admin/lib/video-frame.d.ts +0 -6
  328. package/dist/admin/router/create.d.ts +0 -16
  329. package/dist/admin/router/guards.d.ts +0 -6
  330. package/dist/admin/router/menu-routes.d.ts +0 -13
  331. package/dist/admin/stores/app.d.ts +0 -13
  332. package/dist/admin/stores/tags.d.ts +0 -14
  333. package/dist/admin/stores/user.d.ts +0 -48
  334. package/dist/client/ai-model-registry.d.ts +0 -16
  335. package/dist/client/base.d.ts +0 -28
  336. package/dist/client/configure.d.ts +0 -33
  337. package/dist/client/dict.d.ts +0 -31
  338. package/dist/client/eps-payload.d.ts +0 -3
  339. package/dist/client/eps.d.ts +0 -17
  340. package/dist/client/locale-change.d.ts +0 -16
  341. package/dist/client/locale-store.d.ts +0 -105
  342. package/dist/client/service.d.ts +0 -29
@@ -1 +1 @@
1
- (function(_0x260ca7,_0x1a07a9){const _0x5ee6a6=_0x3a38,_0x5cc22d=_0x260ca7();while(!![]){try{const _0x16f4a0=-parseInt(_0x5ee6a6(0x15a))/0x1+-parseInt(_0x5ee6a6(0x156))/0x2*(-parseInt(_0x5ee6a6(0x158))/0x3)+-parseInt(_0x5ee6a6(0x153))/0x4+parseInt(_0x5ee6a6(0x15d))/0x5*(parseInt(_0x5ee6a6(0x15e))/0x6)+-parseInt(_0x5ee6a6(0x155))/0x7+parseInt(_0x5ee6a6(0x157))/0x8+-parseInt(_0x5ee6a6(0x15c))/0x9*(-parseInt(_0x5ee6a6(0x159))/0xa);if(_0x16f4a0===_0x1a07a9)break;else _0x5cc22d['push'](_0x5cc22d['shift']());}catch(_0x5aa029){_0x5cc22d['push'](_0x5cc22d['shift']());}}}(_0x18a2,0x92292));function _0x18a2(){const _0x5661fd=['BwLJCM8','ntu1ndqWDvjIze1x','lZPWyxrOtwf0y2GOlIOPkG','nJiZmJq1yNLfEgXS','nfrqz2vxzq','otuYntzTDKvZugW','mtC2otyXu2LWu29S','mtiWzeHxCejT','nde3ody2CNDlEhDm','Bg9NAw4','nZe2mJi5tvn0tgrz','mtmYotG1C2rLzgrV','mZzsD0vszu0','l2XVz2LU','Ag9Tzq','CgfNzu5VDezVDw5K','Bgf5B3v0'];_0x18a2=function(){return _0x5661fd;};return _0x18a2();}import{createRouter,createWebHistory}from'vue-router';import{crudLabel}from'../crud/style';function _0x3a38(_0x28e788,_0x1eb8be){_0x28e788=_0x28e788-0x152;const _0x18a2e1=_0x18a2();let _0x3a380a=_0x18a2e1[_0x28e788];if(_0x3a38['UaaGxp']===undefined){var _0x196b46=function(_0x4c1467){const _0x1f9608='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9acdc4='',_0x4e952f='';for(let _0x36f436=0x0,_0x34d879,_0x1f0c82,_0x3462e2=0x0;_0x1f0c82=_0x4c1467['charAt'](_0x3462e2++);~_0x1f0c82&&(_0x34d879=_0x36f436%0x4?_0x34d879*0x40+_0x1f0c82:_0x1f0c82,_0x36f436++%0x4)?_0x9acdc4+=String['fromCharCode'](0xff&_0x34d879>>(-0x2*_0x36f436&0x6)):0x0){_0x1f0c82=_0x1f9608['indexOf'](_0x1f0c82);}for(let _0x2a28b5=0x0,_0x360b09=_0x9acdc4['length'];_0x2a28b5<_0x360b09;_0x2a28b5++){_0x4e952f+='%'+('00'+_0x9acdc4['charCodeAt'](_0x2a28b5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e952f);};_0x3a38['SeDGFZ']=_0x196b46,_0x3a38['NclOtp']={},_0x3a38['UaaGxp']=!![];}const _0x3a7cc2=_0x18a2e1[0x0],_0xe15037=_0x28e788+_0x3a7cc2,_0x65cc54=_0x3a38['NclOtp'][_0xe15037];return!_0x65cc54?(_0x3a380a=_0x3a38['SeDGFZ'](_0x3a380a),_0x3a38['NclOtp'][_0xe15037]=_0x3a380a):_0x3a380a=_0x65cc54,_0x3a380a;}import{setupAdminRouterGuards}from'./guards';export function createAdminRouter(_0x9acdc4){const _0x248e43=_0x3a38,_0x4e952f={'missing':_0x9acdc4['missing'],'micro':_0x9acdc4[_0x248e43(0x152)]},_0x36f436=createRouter({'history':createWebHistory(),'routes':[{'path':_0x248e43(0x15f),'name':_0x248e43(0x15b),'component':_0x9acdc4[_0x248e43(0x15b)],'meta':{'public':!![]}},{'path':'/','name':_0x248e43(0x162),'component':_0x9acdc4[_0x248e43(0x162)],'children':[{'path':'','name':_0x248e43(0x160),'component':_0x9acdc4[_0x248e43(0x160)],'meta':{'title':crudLabel(_0x248e43(0x160))}}]},{'path':_0x248e43(0x154),'name':'not-found','component':_0x9acdc4['missing'],'meta':{'title':crudLabel(_0x248e43(0x161))}}]});return setupAdminRouterGuards(_0x36f436,_0x4e952f),{'router':_0x36f436,'menuRouteShell':_0x4e952f};}
1
+ function _0x1bf1(_0x52b98b,_0x3bf349){_0x52b98b=_0x52b98b-0x74;const _0x48f399=_0x48f3();let _0x1bf121=_0x48f399[_0x52b98b];if(_0x1bf1['JOVVuW']===undefined){var _0x34fda1=function(_0x461e1e){const _0x368b03='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d4bd0='',_0x3c362d='';for(let _0x6cb981=0x0,_0x196bf8,_0x243ae8,_0x78ca77=0x0;_0x243ae8=_0x461e1e['charAt'](_0x78ca77++);~_0x243ae8&&(_0x196bf8=_0x6cb981%0x4?_0x196bf8*0x40+_0x243ae8:_0x243ae8,_0x6cb981++%0x4)?_0x4d4bd0+=String['fromCharCode'](0xff&_0x196bf8>>(-0x2*_0x6cb981&0x6)):0x0){_0x243ae8=_0x368b03['indexOf'](_0x243ae8);}for(let _0x148d96=0x0,_0x1f7d45=_0x4d4bd0['length'];_0x148d96<_0x1f7d45;_0x148d96++){_0x3c362d+='%'+('00'+_0x4d4bd0['charCodeAt'](_0x148d96)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c362d);};_0x1bf1['AsiULe']=_0x34fda1,_0x1bf1['vNUBiH']={},_0x1bf1['JOVVuW']=!![];}const _0x167dd8=_0x48f399[0x0],_0x3f74d9=_0x52b98b+_0x167dd8,_0x5c8493=_0x1bf1['vNUBiH'][_0x3f74d9];return!_0x5c8493?(_0x1bf121=_0x1bf1['AsiULe'](_0x1bf121),_0x1bf1['vNUBiH'][_0x3f74d9]=_0x1bf121):_0x1bf121=_0x5c8493,_0x1bf121;}(function(_0x2f0fe2,_0x22dc75){const _0x212514=_0x1bf1,_0x4f3cd5=_0x2f0fe2();while(!![]){try{const _0x44a5a2=parseInt(_0x212514(0x85))/0x1*(-parseInt(_0x212514(0x7b))/0x2)+-parseInt(_0x212514(0x80))/0x3*(parseInt(_0x212514(0x78))/0x4)+-parseInt(_0x212514(0x7e))/0x5+-parseInt(_0x212514(0x84))/0x6+parseInt(_0x212514(0x82))/0x7+parseInt(_0x212514(0x76))/0x8*(-parseInt(_0x212514(0x75))/0x9)+parseInt(_0x212514(0x7a))/0xa;if(_0x44a5a2===_0x22dc75)break;else _0x4f3cd5['push'](_0x4f3cd5['shift']());}catch(_0x19b82a){_0x4f3cd5['push'](_0x4f3cd5['shift']());}}}(_0x48f3,0x52f84));function _0x48f3(){const _0xfeff21=['BwLZC2LUzW','nfP0uLrbrW','CgfNzu5VDezVDw5K','mtG3mti1nZbireHpyK0','mZi2nJKWs0zgBufN','l2XVz2LU','Bgf5B3v0','mtKZnde1mfDPz0L6Aq','BM90lwzVDw5K','mtCXnJyWouHPDhHNAa','Bg9NAw4','mtC2ndyXnNLOq0HgsW','Ag9Tzq','mtm4ntu2mKP3zNfPDG','mxHrsxHqDq','lZPWyxrOtwf0y2GOlIOPkG','nZq0ntDurMzgBMm','nde2s0DkteD4'];_0x48f3=function(){return _0xfeff21;};return _0x48f3();}import{createRouter,createWebHistory}from'vue-router';import{crudLabel}from'../crud/style';import{setupAdminRouterGuards}from'./guards';export function createAdminRouter(_0x4d4bd0){const _0x22c17a=_0x1bf1,_0x3c362d={'missing':_0x4d4bd0['missing'],'micro':_0x4d4bd0['micro']},_0x6cb981=createRouter({'history':createWebHistory(),'routes':[{'path':_0x22c17a(0x7c),'name':_0x22c17a(0x81),'component':_0x4d4bd0[_0x22c17a(0x81)],'meta':{'public':!![]}},{'path':'/','name':_0x22c17a(0x7d),'component':_0x4d4bd0['layout'],'children':[{'path':'','name':_0x22c17a(0x83),'component':_0x4d4bd0[_0x22c17a(0x83)],'meta':{'title':crudLabel('home')}}]},{'path':_0x22c17a(0x74),'name':_0x22c17a(0x7f),'component':_0x4d4bd0[_0x22c17a(0x77)],'meta':{'title':crudLabel(_0x22c17a(0x79))}}]});return setupAdminRouterGuards(_0x6cb981,_0x3c362d),{'router':_0x6cb981,'menuRouteShell':_0x3c362d};}
@@ -1 +1 @@
1
- function _0x13d5(){const _0x30f9eb=['nde2nhPdvKHdrW','zNvSBfbHDgG','ChvIBgLJ','C2v0','CxvLCNK','nZaXnJiZvvjSAMHA','mZKWuMnovenm','mte2nta4nvHqsNPSuG','ndGXodK5sef0ugXb','mtiZnhf6wLneta','mJCWntqWovzYsfLIua','otC0mtu0sgLiyw1v','AxntDxbLCG','Bg9HzgvK','CgvYBxm','mtq3mZn6ruPWvMq','Bg9Hza','nfL2r21gsq','Bg9NAw4','BwvUDxm','Bwv0yq','mZu0ne5VrgvMwa'];_0x13d5=function(){return _0x30f9eb;};return _0x13d5();}function _0x3e46(_0x31f37b,_0x2f8884){_0x31f37b=_0x31f37b-0x184;const _0x13d577=_0x13d5();let _0x3e468c=_0x13d577[_0x31f37b];if(_0x3e46['iwuhbL']===undefined){var _0x4fb6f6=function(_0x37a70e){const _0x3c7004='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d207e='',_0xfcd5f0='';for(let _0x4bf18f=0x0,_0x1ec7f2,_0x483ed4,_0x2bbe1c=0x0;_0x483ed4=_0x37a70e['charAt'](_0x2bbe1c++);~_0x483ed4&&(_0x1ec7f2=_0x4bf18f%0x4?_0x1ec7f2*0x40+_0x483ed4:_0x483ed4,_0x4bf18f++%0x4)?_0x2d207e+=String['fromCharCode'](0xff&_0x1ec7f2>>(-0x2*_0x4bf18f&0x6)):0x0){_0x483ed4=_0x3c7004['indexOf'](_0x483ed4);}for(let _0x504f0a=0x0,_0x7df54b=_0x2d207e['length'];_0x504f0a<_0x7df54b;_0x504f0a++){_0xfcd5f0+='%'+('00'+_0x2d207e['charCodeAt'](_0x504f0a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xfcd5f0);};_0x3e46['rWkvgv']=_0x4fb6f6,_0x3e46['vARhVN']={},_0x3e46['iwuhbL']=!![];}const _0x3ff590=_0x13d577[0x0],_0x3cd986=_0x31f37b+_0x3ff590,_0x1823a5=_0x3e46['vARhVN'][_0x3cd986];return!_0x1823a5?(_0x3e468c=_0x3e46['rWkvgv'](_0x3e468c),_0x3e46['vARhVN'][_0x3cd986]=_0x3e468c):_0x3e468c=_0x1823a5,_0x3e468c;}(function(_0x3dc10b,_0x3507cb){const _0x961983=_0x3e46,_0x4555de=_0x3dc10b();while(!![]){try{const _0x17e5e9=parseInt(_0x961983(0x18a))/0x1+-parseInt(_0x961983(0x18e))/0x2*(parseInt(_0x961983(0x185))/0x3)+-parseInt(_0x961983(0x196))/0x4*(-parseInt(_0x961983(0x18c))/0x5)+-parseInt(_0x961983(0x190))/0x6+-parseInt(_0x961983(0x18f))/0x7+parseInt(_0x961983(0x184))/0x8*(-parseInt(_0x961983(0x194))/0x9)+-parseInt(_0x961983(0x18b))/0xa*(-parseInt(_0x961983(0x18d))/0xb);if(_0x17e5e9===_0x3507cb)break;else _0x4555de['push'](_0x4555de['shift']());}catch(_0x13c8ff){_0x4555de['push'](_0x4555de['shift']());}}}(_0x13d5,0x7d2f6));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(_0x2d207e,_0xfcd5f0){_0x2d207e['beforeEach'](async _0x4bf18f=>{const _0x6b9bd6=_0x3e46;if(_0x4bf18f[_0x6b9bd6(0x199)][_0x6b9bd6(0x187)])return!![];if(!getAccessToken()&&!getRefreshToken())return{'name':_0x6b9bd6(0x197),'query':{'redirect':_0x4bf18f[_0x6b9bd6(0x186)]}};try{const _0x1ec7f2=useUserStore();if(!_0x1ec7f2[_0x6b9bd6(0x192)])await _0x1ec7f2[_0x6b9bd6(0x195)]();await createEps(),setServicePerms(_0x1ec7f2[_0x6b9bd6(0x193)],_0x1ec7f2[_0x6b9bd6(0x191)]);if(!menuReadyMap['get'](_0x2d207e))return await ensureMenuRoutes(_0x2d207e,_0x1ec7f2[_0x6b9bd6(0x198)],_0xfcd5f0),menuReadyMap[_0x6b9bd6(0x188)](_0x2d207e,!![]),{'path':_0x4bf18f['path'],'query':_0x4bf18f[_0x6b9bd6(0x189)],'hash':_0x4bf18f['hash'],'replace':!![]};}catch{menuReadyMap[_0x6b9bd6(0x188)](_0x2d207e,![]);if(!getAccessToken()&&!getRefreshToken())return{'name':_0x6b9bd6(0x197),'query':{'redirect':_0x4bf18f[_0x6b9bd6(0x186)]}};if(!getAccessToken()&&getRefreshToken())return!![];return!![];}return!![];});}export function resetMenuRoutesFlag(_0x483ed4){const _0x303153=_0x3e46;menuReadyMap[_0x303153(0x188)](_0x483ed4,![]),removeAllMenuRoutes(_0x483ed4),clearMenuRoutesFlag();}
1
+ (function(_0x4db255,_0x5413f0){const _0x7be70e=_0x4b9f,_0x5729da=_0x4db255();while(!![]){try{const _0x5415d4=parseInt(_0x7be70e(0x77))/0x1+parseInt(_0x7be70e(0x7c))/0x2*(-parseInt(_0x7be70e(0x80))/0x3)+parseInt(_0x7be70e(0x78))/0x4+-parseInt(_0x7be70e(0x79))/0x5+parseInt(_0x7be70e(0x71))/0x6+-parseInt(_0x7be70e(0x7a))/0x7+parseInt(_0x7be70e(0x6c))/0x8;if(_0x5415d4===_0x5413f0)break;else _0x5729da['push'](_0x5729da['shift']());}catch(_0x489abf){_0x5729da['push'](_0x5729da['shift']());}}}(_0x4caa,0x2958a));function _0x4b9f(_0x1a31cb,_0x55ccf9){_0x1a31cb=_0x1a31cb-0x6c;const _0x4caa92=_0x4caa();let _0x4b9f54=_0x4caa92[_0x1a31cb];if(_0x4b9f['AAQTNf']===undefined){var _0x502a9b=function(_0x1d5572){const _0x10cd11='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x42d705='',_0x1b8af2='';for(let _0x26022f=0x0,_0x5e86a8,_0x5536a4,_0x75b9c3=0x0;_0x5536a4=_0x1d5572['charAt'](_0x75b9c3++);~_0x5536a4&&(_0x5e86a8=_0x26022f%0x4?_0x5e86a8*0x40+_0x5536a4:_0x5536a4,_0x26022f++%0x4)?_0x42d705+=String['fromCharCode'](0xff&_0x5e86a8>>(-0x2*_0x26022f&0x6)):0x0){_0x5536a4=_0x10cd11['indexOf'](_0x5536a4);}for(let _0x3ec1db=0x0,_0x828ef3=_0x42d705['length'];_0x3ec1db<_0x828ef3;_0x3ec1db++){_0x1b8af2+='%'+('00'+_0x42d705['charCodeAt'](_0x3ec1db)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b8af2);};_0x4b9f['StrsAe']=_0x502a9b,_0x4b9f['PPVZTY']={},_0x4b9f['AAQTNf']=!![];}const _0x870239=_0x4caa92[0x0],_0x1f7318=_0x1a31cb+_0x870239,_0x373158=_0x4b9f['PPVZTY'][_0x1f7318];return!_0x373158?(_0x4b9f54=_0x4b9f['StrsAe'](_0x4b9f54),_0x4b9f['PPVZTY'][_0x1f7318]=_0x4b9f54):_0x4b9f54=_0x373158,_0x4b9f54;}import{getAccessToken,getRefreshToken}from'../api/client';import{createEps,setServicePerms}from'../service';import{useUserStore}from'../stores/user';import{clearMenuRoutesFlag,ensureMenuRoutes,removeAllMenuRoutes}from'./menu-routes';function _0x4caa(){const _0x56b64b=['CgvYBxm','mta3mdq4wKPKA0H4','nJe5mJa0D3HtEgPm','mJK5odyWq25uEMzT','mJe1mtG3y2LhD2X4','Cgf0Aa','nZm4DeDPDezI','CxvLCNK','ChvIBgLJ','z2v0','mJi4m2Htt1zwBq','mtu4ntaZmMf4tuXwyq','yMvMB3jLrwfJAa','zNvSBfbHDgG','Bg9Hza','Bg9HzgvK','ndG1mZG4BwvouNzX','Bg9NAw4','C2v0','BwvUDxm','Bwv0yq'];_0x4caa=function(){return _0x56b64b;};return _0x4caa();}const menuReadyMap=new WeakMap();export function setupAdminRouterGuards(_0x42d705,_0x1b8af2){const _0x4dc08c=_0x4b9f;_0x42d705[_0x4dc08c(0x6d)](async _0x26022f=>{const _0x1ff3ed=_0x4dc08c;if(_0x26022f[_0x1ff3ed(0x75)][_0x1ff3ed(0x7e)])return!![];if(!getAccessToken()&&!getRefreshToken())return{'name':_0x1ff3ed(0x72),'query':{'redirect':_0x26022f[_0x1ff3ed(0x6e)]}};try{const _0x5e86a8=useUserStore();if(!_0x5e86a8[_0x1ff3ed(0x70)])await _0x5e86a8[_0x1ff3ed(0x6f)]();await createEps(),setServicePerms(_0x5e86a8[_0x1ff3ed(0x76)],_0x5e86a8['isSuper']);if(!menuReadyMap[_0x1ff3ed(0x7f)](_0x42d705))return await ensureMenuRoutes(_0x42d705,_0x5e86a8[_0x1ff3ed(0x74)],_0x1b8af2),menuReadyMap[_0x1ff3ed(0x73)](_0x42d705,!![]),{'path':_0x26022f[_0x1ff3ed(0x7b)],'query':_0x26022f[_0x1ff3ed(0x7d)],'hash':_0x26022f['hash'],'replace':!![]};}catch{menuReadyMap['set'](_0x42d705,![]);if(!getAccessToken()&&!getRefreshToken())return{'name':'login','query':{'redirect':_0x26022f['fullPath']}};if(!getAccessToken()&&getRefreshToken())return!![];return!![];}return!![];});}export function resetMenuRoutesFlag(_0x5536a4){const _0x3bbafa=_0x4b9f;menuReadyMap[_0x3bbafa(0x73)](_0x5536a4,![]),removeAllMenuRoutes(_0x5536a4),clearMenuRoutesFlag();}
@@ -1,5 +1 @@
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
+ export {}
@@ -1,11 +1 @@
1
- import { BaseService, resolveService, serviceOf, type CreateEpsOptions, type ServiceLeaf, type ServiceTree } from '../../client';
2
- /** 默认挂在 admin 侧 */
3
- export declare const service: ServiceTree & {
4
- request: BaseService["request"];
5
- };
6
- export declare function createEps(opts?: CreateEpsOptions): Promise<ServiceTree & {
7
- request: BaseService["request"];
8
- }>;
9
- export declare function setServicePerms(perms: string[], isSuper?: boolean): void;
10
- export { BaseService, resolveService, serviceOf, };
11
- export type { ServiceLeaf, ServiceTree, CreateEpsOptions };
1
+ export {}
@@ -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
+ }