vome-core 0.3.64 → 0.3.66

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 (345) 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/core/index.d.ts +1 -1
  234. package/dist/index.js +1 -1
  235. package/dist/ioc/index.d.ts +1 -1
  236. package/dist/server/index.d.ts +1 -1
  237. package/dist/server/index.js +1 -1
  238. package/dist/shared/datetime-picker.js +1 -1
  239. package/dist/shared/decimal.js +1 -1
  240. package/dist/shared/excel.js +1 -1
  241. package/dist/shared/index.js +1 -1
  242. package/dist/shared/locale-json.js +1 -1
  243. package/dist/shared/tree.js +1 -1
  244. package/package.json +1 -1
  245. package/typings/admin/base/auth.ts +24 -24
  246. package/typings/admin/base/permission.ts +19 -19
  247. package/typings/admin/comm/cascader.ts +7 -7
  248. package/typings/admin/comm/check-tree.ts +7 -7
  249. package/typings/admin/comm/crud.ts +427 -427
  250. package/typings/admin/comm/eps.ts +86 -86
  251. package/typings/admin/comm/request.ts +16 -16
  252. package/typings/admin/comm/service.ts +43 -43
  253. package/typings/admin/comm/upload.ts +39 -39
  254. package/typings/admin/theme.ts +10 -10
  255. package/typings/admin/vome/browser.ts +11 -11
  256. package/typings/admin/vome/module.ts +13 -13
  257. package/typings/admin/vome/tags.ts +9 -9
  258. package/typings/comm/crud.ts +83 -83
  259. package/typings/comm/page.ts +18 -18
  260. package/typings/comm/scan.ts +6 -6
  261. package/typings/common.ts +4 -4
  262. package/typings/context/data.ts +10 -10
  263. package/typings/ext/market-seat.ts +42 -42
  264. package/typings/ext/market.ts +55 -55
  265. package/typings/ext/module.ts +64 -64
  266. package/typings/ext/plugin.ts +38 -38
  267. package/typings/ioc/metadata.ts +34 -34
  268. package/typings/logger/config.ts +6 -6
  269. package/typings/routing/crud.ts +199 -199
  270. package/typings/routing/eps.ts +88 -88
  271. package/typings/routing/meta.ts +63 -63
  272. package/typings/routing/register.ts +21 -21
  273. package/typings/routing/scan-context.ts +7 -7
  274. package/dist/admin/api/client.d.ts +0 -50
  275. package/dist/admin/components/ui/avatar/index.d.ts +0 -3
  276. package/dist/admin/components/ui/badge/index.d.ts +0 -6
  277. package/dist/admin/components/ui/button/index.d.ts +0 -7
  278. package/dist/admin/components/ui/checkbox/index.d.ts +0 -1
  279. package/dist/admin/components/ui/dialog/index.d.ts +0 -10
  280. package/dist/admin/components/ui/dropdown-menu/index.d.ts +0 -15
  281. package/dist/admin/components/ui/input/index.d.ts +0 -1
  282. package/dist/admin/components/ui/label/index.d.ts +0 -1
  283. package/dist/admin/components/ui/scroll-area/index.d.ts +0 -2
  284. package/dist/admin/components/ui/select/index.d.ts +0 -11
  285. package/dist/admin/components/ui/separator/index.d.ts +0 -1
  286. package/dist/admin/components/ui/sheet/index.d.ts +0 -8
  287. package/dist/admin/components/ui/sonner/index.d.ts +0 -1
  288. package/dist/admin/components/ui/table/index.d.ts +0 -9
  289. package/dist/admin/components/ui/tabs/index.d.ts +0 -4
  290. package/dist/admin/components/ui/tooltip/index.d.ts +0 -4
  291. package/dist/admin/crud/auto-fields.d.ts +0 -68
  292. package/dist/admin/crud/config.d.ts +0 -5
  293. package/dist/admin/crud/confirm.d.ts +0 -19
  294. package/dist/admin/crud/crud-page-request.d.ts +0 -21
  295. package/dist/admin/crud/data-i18n.d.ts +0 -62
  296. package/dist/admin/crud/dict.d.ts +0 -4
  297. package/dist/admin/crud/export-fetch.d.ts +0 -22
  298. package/dist/admin/crud/index.d.ts +0 -60
  299. package/dist/admin/crud/json-kv.d.ts +0 -9
  300. package/dist/admin/crud/key.d.ts +0 -22
  301. package/dist/admin/crud/paging.d.ts +0 -2
  302. package/dist/admin/crud/plugins.d.ts +0 -63
  303. package/dist/admin/crud/registry.d.ts +0 -3
  304. package/dist/admin/crud/span.d.ts +0 -17
  305. package/dist/admin/crud/style.d.ts +0 -82
  306. package/dist/admin/crud/useCrud.d.ts +0 -21
  307. package/dist/admin/crud/validate.d.ts +0 -7
  308. package/dist/admin/directives/perm.d.ts +0 -3
  309. package/dist/admin/hooks/useBrowser.d.ts +0 -6
  310. package/dist/admin/hooks/useUpload.d.ts +0 -8
  311. package/dist/admin/hooks/useVome.d.ts +0 -10
  312. package/dist/admin/lib/browser.d.ts +0 -3
  313. package/dist/admin/lib/cn.d.ts +0 -2
  314. package/dist/admin/lib/compress-image.d.ts +0 -12
  315. package/dist/admin/lib/dialog-float.d.ts +0 -8
  316. package/dist/admin/lib/eps.d.ts +0 -2
  317. package/dist/admin/lib/export-excel.d.ts +0 -9
  318. package/dist/admin/lib/file-preview.d.ts +0 -9
  319. package/dist/admin/lib/import-excel.d.ts +0 -21
  320. package/dist/admin/lib/json.d.ts +0 -11
  321. package/dist/admin/lib/menu.d.ts +0 -3
  322. package/dist/admin/lib/micro-locale.d.ts +0 -5
  323. package/dist/admin/lib/micro-theme.d.ts +0 -14
  324. package/dist/admin/lib/module.d.ts +0 -21
  325. package/dist/admin/lib/scarce-assets.d.ts +0 -5
  326. package/dist/admin/lib/shell.d.ts +0 -8
  327. package/dist/admin/lib/theme-color-options.d.ts +0 -15
  328. package/dist/admin/lib/tree.d.ts +0 -2
  329. package/dist/admin/lib/upload.d.ts +0 -17
  330. package/dist/admin/lib/video-frame.d.ts +0 -6
  331. package/dist/admin/router/create.d.ts +0 -16
  332. package/dist/admin/router/guards.d.ts +0 -6
  333. package/dist/admin/router/menu-routes.d.ts +0 -13
  334. package/dist/admin/stores/app.d.ts +0 -13
  335. package/dist/admin/stores/tags.d.ts +0 -14
  336. package/dist/admin/stores/user.d.ts +0 -48
  337. package/dist/client/ai-model-registry.d.ts +0 -16
  338. package/dist/client/base.d.ts +0 -28
  339. package/dist/client/configure.d.ts +0 -33
  340. package/dist/client/dict.d.ts +0 -31
  341. package/dist/client/eps-payload.d.ts +0 -3
  342. package/dist/client/eps.d.ts +0 -17
  343. package/dist/client/locale-change.d.ts +0 -16
  344. package/dist/client/locale-store.d.ts +0 -105
  345. package/dist/client/service.d.ts +0 -29
@@ -1,199 +1,199 @@
1
- import type { ClassToken } from '../ioc/metadata'
2
-
3
- /** 快速 CRUD 接口名(含回收站) */
4
- export type CrudApi =
5
- | 'add'
6
- | 'delete'
7
- | 'update'
8
- | 'info'
9
- | 'list'
10
- | 'page'
11
- | 'restore'
12
- /** 声明业务数据多语言(非 HTTP 接口;与 restore 一样写在 api 里) */
13
- | 'dataI18n'
14
-
15
- /**
16
- * 字段引用(fieldEq / fieldLike / fieldArray / keyWordLikeFields)。
17
- * - 裸名 `status` → `a.status`,请求参数名 = `status`
18
- * - `b.providerId` → 参数名 = `providerId`
19
- * - `e.id as roleId` → 筛 `e.id`,参数名 = `roleId`(短名冲突用 as,不用 requestParam)
20
- */
21
- export type QueryFieldRef =
22
- | string
23
- | {
24
- /** 如 `status` / `b.providerId` / `e.id as roleId` */
25
- column: string
26
- /** 筛选项展示名;缺省用实体 columnComments / EPS comment */
27
- label?: string
28
- /** 业务字典 type.key;筛选项用其拉 options */
29
- dict?: string
30
- /** 有 dict 时默认 true(下拉多选);false 为单选 */
31
- multiple?: boolean
32
- /** true:后端仍按本字段筛选,admin 不自动构建筛控件 */
33
- none?: boolean
34
- }
35
-
36
- /** 区间筛选精度 / 数字类型(告诉 admin 用什么控件) */
37
- export type FieldRangeType =
38
- | 'int'
39
- | 'float'
40
- | 'year'
41
- | 'month'
42
- | 'day'
43
- | 'datetime'
44
-
45
- /** 价格 / 时间等区间;min/max 为请求体参数名 */
46
- export type QueryFieldRange = {
47
- column: string
48
- min: string
49
- max: string
50
- type: FieldRangeType
51
- /** 覆盖实体注释,用于搜索 label / placeholder 前缀 */
52
- label?: string
53
- /** true:后端支持区间,admin 不自动出控件 */
54
- none?: boolean
55
- }
56
-
57
- /** join 类型 */
58
- export type QueryJoinType = 'join' | 'leftJoin' | 'innerJoin'
59
-
60
- /**
61
- * Join 配置(Drizzle pgTable)。
62
- * - 主表固定别名 `a`
63
- * - 联表必须显式:`entity` + `alias` + `type` + `condition`
64
- */
65
- export type QueryJoin = {
66
- /** Drizzle pgTable */
67
- entity: unknown
68
- /** 联表别名,如 b / c / f;不可为 a */
69
- alias: string
70
- type: QueryJoinType
71
- /** 等值条件,如 `a.skinId = b.id` */
72
- condition: string
73
- }
74
-
75
- /** where / extend 上下文 */
76
- export type QueryOpCtx = {
77
- body: Record<string, unknown>
78
- request: Request
79
- }
80
-
81
- /** where 返回:单条 SQL,或列表(undefined/false/null 自动丢弃) */
82
- export type QueryWhereResult =
83
- | unknown
84
- | Array<unknown | undefined | false | null>
85
-
86
- export type QueryWhereFn = (
87
- ctx: QueryOpCtx,
88
- ) => QueryWhereResult | Promise<QueryWhereResult>
89
-
90
- /** extend 可改的查询句柄 */
91
- export type QueryExtendQb = {
92
- andWhere: (condition: unknown) => void
93
- orderBy: (...orders: unknown[]) => void
94
- }
95
-
96
- export type QueryExtendFn = (
97
- qb: QueryExtendQb,
98
- ctx: QueryOpCtx,
99
- ) => void | Promise<void>
100
-
101
- /** page / list 查询配置 */
102
- export type QueryOp = {
103
- keyWordLikeFields?: string[]
104
- fieldEq?: QueryFieldRef[]
105
- fieldLike?: QueryFieldRef[]
106
- /** PG 数组列包含查询(body 单值或数组);admin 筛选用输入框 */
107
- fieldArray?: QueryFieldRef[]
108
- /** 数字 / 时间区间(与 fieldEq 等并存,勿再在 where 里拆参) */
109
- fieldRange?: QueryFieldRange[]
110
- addOrderBy?: Record<string, 'asc' | 'desc'>
111
- /**
112
- * 声明式投影(有 join 时建议显式配置)。
113
- * - `a.*`:主表全部列,结果键 = 驼峰字段名
114
- * - `b.userName`:结果键 = `userName`(无需 as)
115
- * - `e.name as roleName`:结果键 = `roleName`
116
- */
117
- select?: string[]
118
- join?: QueryJoin[]
119
- where?: QueryWhereFn
120
- extend?: QueryExtendFn
121
- /**
122
- * page / list 响应剔除字段(如 password),与 admin `ignoreFields` 同名。
123
- * `a.*` 展开时跳过;未配 select 时也会走投影剔除。
124
- */
125
- ignoreFields?: string[]
126
- }
127
-
128
- export type InsertParamFn = (ctx: {
129
- body?: unknown
130
- request?: Request
131
- }) => Record<string, unknown> | Promise<Record<string, unknown>>
132
-
133
- /** 写操作前钩子(add / update / delete / restore) */
134
- export type CrudBeforeFn = (ctx: {
135
- body: Record<string, unknown>
136
- request: Request
137
- api: string
138
- }) => void | Promise<void>
139
-
140
- /** 控制器 / 路由中间件(Elysia onBeforeHandle) */
141
- export type RouteMiddleware = (
142
- ctx: Record<string, unknown>,
143
- ) => unknown | Promise<unknown>
144
-
145
- export type DataI18nRefDecl = {
146
- sourceTable: string
147
- joinField: string
148
- sourceJoinField?: string
149
- sourceField?: string
150
- sourcePkField?: string
151
- }
152
-
153
- /**
154
- * 参考字段种子(翻译时直接用同行另一列,不调 AI)
155
- * @example { skinName: 'marketHashName', language: 'en' } // en / en-US 均命中
156
- */
157
- export type DataI18nSeedItem = {
158
- /** 适用语种:`en` 匹配 `en`、`en-US`、`en-GB` */
159
- language: string
160
- /** 目标字段 → 参考列,如 skinName: 'marketHashName' */
161
- [fieldName: string]: string
162
- }
163
-
164
- /**
165
- * @Controller 快速 CRUD 选项(Drizzle 适配)
166
- */
167
- export type ControllerCrudOptions = {
168
- api?: CrudApi[]
169
- /** Drizzle pgTable,宿主挂载 Repository */
170
- entity?: unknown
171
- /** 业务 Service 类(须 @Provide,建议 extends BaseService) */
172
- service?: ClassToken
173
- /** 把 Service 方法挂成 POST /methodName */
174
- serviceApis?: string[]
175
- /** 写操作前改 body(add/update/delete/restore) */
176
- before?: CrudBeforeFn
177
- pageQueryOp?: QueryOp
178
- listQueryOp?: QueryOp
179
- insertParam?: InsertParamFn
180
- /**
181
- * api 含 dataI18n 时:本表 direct 翻译字段;缺省推断 varchar/text 列
182
- */
183
- dataI18nFields?: string[]
184
- /**
185
- * api 含 dataI18n 时:冗余列走源表 pack(源表也须声明 dataI18n)
186
- * @example skinName: { sourceTable: 'game_skin', joinField: 'steamId' }
187
- */
188
- dataI18nRef?: Record<string, DataI18nRefDecl>
189
- /**
190
- * 翻译种子:单条或数组。`language: 'en'` 时可用同行 `marketHashName` 作为 `skinName` 译文。
191
- * @example [{ skinName: 'marketHashName', language: 'en' }]
192
- */
193
- dataI18nSeed?: DataI18nSeedItem | DataI18nSeedItem[]
194
- /**
195
- * 导入 upsert 唯一键(字段名数组)。
196
- * 未配置时自动取实体 uniqueIndex / unique 约束。
197
- */
198
- importUniqueKeys?: string[]
199
- }
1
+ import type { ClassToken } from '../ioc/metadata'
2
+
3
+ /** 快速 CRUD 接口名(含回收站) */
4
+ export type CrudApi =
5
+ | 'add'
6
+ | 'delete'
7
+ | 'update'
8
+ | 'info'
9
+ | 'list'
10
+ | 'page'
11
+ | 'restore'
12
+ /** 声明业务数据多语言(非 HTTP 接口;与 restore 一样写在 api 里) */
13
+ | 'dataI18n'
14
+
15
+ /**
16
+ * 字段引用(fieldEq / fieldLike / fieldArray / keyWordLikeFields)。
17
+ * - 裸名 `status` → `a.status`,请求参数名 = `status`
18
+ * - `b.providerId` → 参数名 = `providerId`
19
+ * - `e.id as roleId` → 筛 `e.id`,参数名 = `roleId`(短名冲突用 as,不用 requestParam)
20
+ */
21
+ export type QueryFieldRef =
22
+ | string
23
+ | {
24
+ /** 如 `status` / `b.providerId` / `e.id as roleId` */
25
+ column: string
26
+ /** 筛选项展示名;缺省用实体 columnComments / EPS comment */
27
+ label?: string
28
+ /** 业务字典 type.key;筛选项用其拉 options */
29
+ dict?: string
30
+ /** 有 dict 时默认 true(下拉多选);false 为单选 */
31
+ multiple?: boolean
32
+ /** true:后端仍按本字段筛选,admin 不自动构建筛控件 */
33
+ none?: boolean
34
+ }
35
+
36
+ /** 区间筛选精度 / 数字类型(告诉 admin 用什么控件) */
37
+ export type FieldRangeType =
38
+ | 'int'
39
+ | 'float'
40
+ | 'year'
41
+ | 'month'
42
+ | 'day'
43
+ | 'datetime'
44
+
45
+ /** 价格 / 时间等区间;min/max 为请求体参数名 */
46
+ export type QueryFieldRange = {
47
+ column: string
48
+ min: string
49
+ max: string
50
+ type: FieldRangeType
51
+ /** 覆盖实体注释,用于搜索 label / placeholder 前缀 */
52
+ label?: string
53
+ /** true:后端支持区间,admin 不自动出控件 */
54
+ none?: boolean
55
+ }
56
+
57
+ /** join 类型 */
58
+ export type QueryJoinType = 'join' | 'leftJoin' | 'innerJoin'
59
+
60
+ /**
61
+ * Join 配置(Drizzle pgTable)。
62
+ * - 主表固定别名 `a`
63
+ * - 联表必须显式:`entity` + `alias` + `type` + `condition`
64
+ */
65
+ export type QueryJoin = {
66
+ /** Drizzle pgTable */
67
+ entity: unknown
68
+ /** 联表别名,如 b / c / f;不可为 a */
69
+ alias: string
70
+ type: QueryJoinType
71
+ /** 等值条件,如 `a.skinId = b.id` */
72
+ condition: string
73
+ }
74
+
75
+ /** where / extend 上下文 */
76
+ export type QueryOpCtx = {
77
+ body: Record<string, unknown>
78
+ request: Request
79
+ }
80
+
81
+ /** where 返回:单条 SQL,或列表(undefined/false/null 自动丢弃) */
82
+ export type QueryWhereResult =
83
+ | unknown
84
+ | Array<unknown | undefined | false | null>
85
+
86
+ export type QueryWhereFn = (
87
+ ctx: QueryOpCtx,
88
+ ) => QueryWhereResult | Promise<QueryWhereResult>
89
+
90
+ /** extend 可改的查询句柄 */
91
+ export type QueryExtendQb = {
92
+ andWhere: (condition: unknown) => void
93
+ orderBy: (...orders: unknown[]) => void
94
+ }
95
+
96
+ export type QueryExtendFn = (
97
+ qb: QueryExtendQb,
98
+ ctx: QueryOpCtx,
99
+ ) => void | Promise<void>
100
+
101
+ /** page / list 查询配置 */
102
+ export type QueryOp = {
103
+ keyWordLikeFields?: string[]
104
+ fieldEq?: QueryFieldRef[]
105
+ fieldLike?: QueryFieldRef[]
106
+ /** PG 数组列包含查询(body 单值或数组);admin 筛选用输入框 */
107
+ fieldArray?: QueryFieldRef[]
108
+ /** 数字 / 时间区间(与 fieldEq 等并存,勿再在 where 里拆参) */
109
+ fieldRange?: QueryFieldRange[]
110
+ addOrderBy?: Record<string, 'asc' | 'desc'>
111
+ /**
112
+ * 声明式投影(有 join 时建议显式配置)。
113
+ * - `a.*`:主表全部列,结果键 = 驼峰字段名
114
+ * - `b.userName`:结果键 = `userName`(无需 as)
115
+ * - `e.name as roleName`:结果键 = `roleName`
116
+ */
117
+ select?: string[]
118
+ join?: QueryJoin[]
119
+ where?: QueryWhereFn
120
+ extend?: QueryExtendFn
121
+ /**
122
+ * page / list 响应剔除字段(如 password),与 admin `ignoreFields` 同名。
123
+ * `a.*` 展开时跳过;未配 select 时也会走投影剔除。
124
+ */
125
+ ignoreFields?: string[]
126
+ }
127
+
128
+ export type InsertParamFn = (ctx: {
129
+ body?: unknown
130
+ request?: Request
131
+ }) => Record<string, unknown> | Promise<Record<string, unknown>>
132
+
133
+ /** 写操作前钩子(add / update / delete / restore) */
134
+ export type CrudBeforeFn = (ctx: {
135
+ body: Record<string, unknown>
136
+ request: Request
137
+ api: string
138
+ }) => void | Promise<void>
139
+
140
+ /** 控制器 / 路由中间件(Elysia onBeforeHandle) */
141
+ export type RouteMiddleware = (
142
+ ctx: Record<string, unknown>,
143
+ ) => unknown | Promise<unknown>
144
+
145
+ export type DataI18nRefDecl = {
146
+ sourceTable: string
147
+ joinField: string
148
+ sourceJoinField?: string
149
+ sourceField?: string
150
+ sourcePkField?: string
151
+ }
152
+
153
+ /**
154
+ * 参考字段种子(翻译时直接用同行另一列,不调 AI)
155
+ * @example { skinName: 'marketHashName', language: 'en' } // en / en-US 均命中
156
+ */
157
+ export type DataI18nSeedItem = {
158
+ /** 适用语种:`en` 匹配 `en`、`en-US`、`en-GB` */
159
+ language: string
160
+ /** 目标字段 → 参考列,如 skinName: 'marketHashName' */
161
+ [fieldName: string]: string
162
+ }
163
+
164
+ /**
165
+ * @Controller 快速 CRUD 选项(Drizzle 适配)
166
+ */
167
+ export type ControllerCrudOptions = {
168
+ api?: CrudApi[]
169
+ /** Drizzle pgTable,宿主挂载 Repository */
170
+ entity?: unknown
171
+ /** 业务 Service 类(须 @Provide,建议 extends BaseService) */
172
+ service?: ClassToken
173
+ /** 把 Service 方法挂成 POST /methodName */
174
+ serviceApis?: string[]
175
+ /** 写操作前改 body(add/update/delete/restore) */
176
+ before?: CrudBeforeFn
177
+ pageQueryOp?: QueryOp
178
+ listQueryOp?: QueryOp
179
+ insertParam?: InsertParamFn
180
+ /**
181
+ * api 含 dataI18n 时:本表 direct 翻译字段;缺省推断 varchar/text 列
182
+ */
183
+ dataI18nFields?: string[]
184
+ /**
185
+ * api 含 dataI18n 时:冗余列走源表 pack(源表也须声明 dataI18n)
186
+ * @example skinName: { sourceTable: 'game_skin', joinField: 'steamId' }
187
+ */
188
+ dataI18nRef?: Record<string, DataI18nRefDecl>
189
+ /**
190
+ * 翻译种子:单条或数组。`language: 'en'` 时可用同行 `marketHashName` 作为 `skinName` 译文。
191
+ * @example [{ skinName: 'marketHashName', language: 'en' }]
192
+ */
193
+ dataI18nSeed?: DataI18nSeedItem | DataI18nSeedItem[]
194
+ /**
195
+ * 导入 upsert 唯一键(字段名数组)。
196
+ * 未配置时自动取实体 uniqueIndex / unique 约束。
197
+ */
198
+ importUniqueKeys?: string[]
199
+ }
@@ -1,88 +1,88 @@
1
- import type { QueryFieldRange, QueryFieldRef } from './crud'
2
- import type { ControllerSide } from './meta'
3
-
4
- /** EPS:单条 API */
5
- export type EpsApiItem = {
6
- method: string
7
- path: string
8
- summary: string
9
- dts: Record<string, unknown>
10
- tag: string
11
- prefix: string
12
- ignoreToken: boolean
13
- /** 强化:登录但免权限码 */
14
- ignorePerms: boolean
15
- /** 强化:推导/显式权限码 */
16
- perms: string[]
17
- }
18
-
19
- /** EPS:字段列 */
20
- export type EpsColumn = {
21
- propertyName: string
22
- /** drizzle dataType:string / number / boolean / date(兼容旧逻辑) */
23
- type: string
24
- /** drizzle columnType:PgVarchar / PgText / PgInteger / PgNumeric … */
25
- columnType?: string
26
- /** getSQLType():varchar(100) / text / numeric(10, 2) … */
27
- sqlType?: string
28
- length?: string
29
- precision?: number
30
- scale?: number
31
- comment?: string
32
- nullable?: boolean
33
- /** 列有 DB default / $defaultFn / serial */
34
- hasDefault?: boolean
35
- defaultValue?: unknown
36
- source?: string
37
- dict?: string | string[]
38
- /** 物理表名(i18n_pack),供 field.{table}.{prop} 翻译 */
39
- table?: string
40
- }
41
-
42
- /** EPS:单个控制器/实体描述 */
43
- export type EpsEntity = {
44
- module: string
45
- /** 强化:admin | app */
46
- side: ControllerSide
47
- prefix: string
48
- name?: string
49
- info: { type: { name: string; description: string } }
50
- api: EpsApiItem[]
51
- columns: EpsColumn[]
52
- pageQueryOp: {
53
- keyWordLikeFields: string[]
54
- fieldEq: Array<string | QueryFieldRef>
55
- fieldLike: Array<string | QueryFieldRef>
56
- fieldArray: Array<string | QueryFieldRef>
57
- fieldRange: QueryFieldRange[]
58
- ignoreFields: string[]
59
- }
60
- pageColumns: EpsColumn[]
61
- /** Controller api 含 dataI18n:本实体参与业务数据翻译 */
62
- dataI18n?: boolean
63
- /** direct 字段名(语言 Tab 列) */
64
- dataI18nFields?: string[]
65
- /** 全局:已声明 dataI18n 的业务表(供 join 发现源表) */
66
- dataI18nTables?: string[]
67
- }
68
-
69
- /** EPS:按模块分组 */
70
- export type EpsModuleMap = Record<string, EpsEntity[]>
71
-
72
- /** EPS 开放接口完整载荷(实体 + 全部字典扁平数据) */
73
- export type EpsDictFlatRow = {
74
- id: number
75
- name: string
76
- typeId: number
77
- parentId?: number | null
78
- orderNum?: number
79
- value?: unknown
80
- }
81
-
82
- export type EpsPayload = {
83
- /** 服务端 vome.eps;写入打包 eps.json,生产仅 true 时前端可再请求 */
84
- eps?: boolean
85
- modules: EpsModuleMap
86
- /** 字典类型 key → 扁平条目(前端组树后当本地缓存) */
87
- dict: Record<string, EpsDictFlatRow[]>
88
- }
1
+ import type { QueryFieldRange, QueryFieldRef } from './crud'
2
+ import type { ControllerSide } from './meta'
3
+
4
+ /** EPS:单条 API */
5
+ export type EpsApiItem = {
6
+ method: string
7
+ path: string
8
+ summary: string
9
+ dts: Record<string, unknown>
10
+ tag: string
11
+ prefix: string
12
+ ignoreToken: boolean
13
+ /** 强化:登录但免权限码 */
14
+ ignorePerms: boolean
15
+ /** 强化:推导/显式权限码 */
16
+ perms: string[]
17
+ }
18
+
19
+ /** EPS:字段列 */
20
+ export type EpsColumn = {
21
+ propertyName: string
22
+ /** drizzle dataType:string / number / boolean / date(兼容旧逻辑) */
23
+ type: string
24
+ /** drizzle columnType:PgVarchar / PgText / PgInteger / PgNumeric … */
25
+ columnType?: string
26
+ /** getSQLType():varchar(100) / text / numeric(10, 2) … */
27
+ sqlType?: string
28
+ length?: string
29
+ precision?: number
30
+ scale?: number
31
+ comment?: string
32
+ nullable?: boolean
33
+ /** 列有 DB default / $defaultFn / serial */
34
+ hasDefault?: boolean
35
+ defaultValue?: unknown
36
+ source?: string
37
+ dict?: string | string[]
38
+ /** 物理表名(i18n_pack),供 field.{table}.{prop} 翻译 */
39
+ table?: string
40
+ }
41
+
42
+ /** EPS:单个控制器/实体描述 */
43
+ export type EpsEntity = {
44
+ module: string
45
+ /** 强化:admin | app */
46
+ side: ControllerSide
47
+ prefix: string
48
+ name?: string
49
+ info: { type: { name: string; description: string } }
50
+ api: EpsApiItem[]
51
+ columns: EpsColumn[]
52
+ pageQueryOp: {
53
+ keyWordLikeFields: string[]
54
+ fieldEq: Array<string | QueryFieldRef>
55
+ fieldLike: Array<string | QueryFieldRef>
56
+ fieldArray: Array<string | QueryFieldRef>
57
+ fieldRange: QueryFieldRange[]
58
+ ignoreFields: string[]
59
+ }
60
+ pageColumns: EpsColumn[]
61
+ /** Controller api 含 dataI18n:本实体参与业务数据翻译 */
62
+ dataI18n?: boolean
63
+ /** direct 字段名(语言 Tab 列) */
64
+ dataI18nFields?: string[]
65
+ /** 全局:已声明 dataI18n 的业务表(供 join 发现源表) */
66
+ dataI18nTables?: string[]
67
+ }
68
+
69
+ /** EPS:按模块分组 */
70
+ export type EpsModuleMap = Record<string, EpsEntity[]>
71
+
72
+ /** EPS 开放接口完整载荷(实体 + 全部字典扁平数据) */
73
+ export type EpsDictFlatRow = {
74
+ id: number
75
+ name: string
76
+ typeId: number
77
+ parentId?: number | null
78
+ orderNum?: number
79
+ value?: unknown
80
+ }
81
+
82
+ export type EpsPayload = {
83
+ /** 服务端 vome.eps;写入打包 eps.json,生产仅 true 时前端可再请求 */
84
+ eps?: boolean
85
+ modules: EpsModuleMap
86
+ /** 字典类型 key → 扁平条目(前端组树后当本地缓存) */
87
+ dict: Record<string, EpsDictFlatRow[]>
88
+ }