vome-core 0.3.69 → 0.3.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/ui/avatar/Avatar.vue +18 -18
- package/dist/admin/components/ui/avatar/AvatarFallback.vue +21 -21
- package/dist/admin/components/ui/avatar/AvatarImage.vue +16 -16
- package/dist/admin/components/ui/avatar/index.js +1 -1
- package/dist/admin/components/ui/badge/Badge.vue +26 -26
- package/dist/admin/components/ui/button/Button.vue +31 -31
- package/dist/admin/components/ui/button/index.d.ts +1 -1
- package/dist/admin/components/ui/checkbox/Checkbox.vue +35 -35
- package/dist/admin/components/ui/checkbox/index.js +1 -1
- package/dist/admin/components/ui/dialog/Dialog.vue +19 -19
- package/dist/admin/components/ui/dialog/DialogClose.vue +15 -15
- package/dist/admin/components/ui/dialog/DialogContent.vue +267 -267
- package/dist/admin/components/ui/dialog/DialogDescription.vue +23 -23
- package/dist/admin/components/ui/dialog/DialogFooter.vue +27 -27
- package/dist/admin/components/ui/dialog/DialogHeader.vue +17 -17
- package/dist/admin/components/ui/dialog/DialogOverlay.vue +21 -21
- package/dist/admin/components/ui/dialog/DialogScrollContent.vue +60 -60
- package/dist/admin/components/ui/dialog/DialogTitle.vue +23 -23
- package/dist/admin/components/ui/dialog/DialogTrigger.vue +15 -15
- package/dist/admin/components/ui/dialog/index.js +1 -1
- package/dist/admin/components/ui/dropdown-menu/DropdownMenu.vue +19 -19
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -39
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuContent.vue +39 -39
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuGroup.vue +15 -15
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuItem.vue +31 -31
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuLabel.vue +23 -23
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -21
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -40
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -23
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -17
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuSub.vue +18 -18
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -27
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -31
- package/dist/admin/components/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -17
- package/dist/admin/components/ui/dropdown-menu/index.js +1 -1
- package/dist/admin/components/ui/input/Input.vue +183 -183
- package/dist/admin/components/ui/input/index.js +1 -1
- package/dist/admin/components/ui/label/Label.vue +26 -26
- package/dist/admin/components/ui/label/index.js +1 -1
- package/dist/admin/components/ui/scroll-area/ScrollArea.vue +33 -33
- package/dist/admin/components/ui/scroll-area/ScrollBar.vue +32 -32
- package/dist/admin/components/ui/scroll-area/index.js +1 -1
- package/dist/admin/components/ui/select/Select.vue +19 -19
- package/dist/admin/components/ui/select/SelectContent.vue +51 -51
- package/dist/admin/components/ui/select/SelectGroup.vue +15 -15
- package/dist/admin/components/ui/select/SelectItem.vue +53 -53
- package/dist/admin/components/ui/select/SelectItemText.vue +15 -15
- package/dist/admin/components/ui/select/SelectLabel.vue +17 -17
- package/dist/admin/components/ui/select/SelectScrollDownButton.vue +26 -26
- package/dist/admin/components/ui/select/SelectScrollUpButton.vue +26 -26
- package/dist/admin/components/ui/select/SelectSeparator.vue +19 -19
- package/dist/admin/components/ui/select/SelectTrigger.vue +44 -44
- package/dist/admin/components/ui/select/SelectValue.vue +15 -15
- package/dist/admin/components/ui/select/index.js +1 -1
- package/dist/admin/components/ui/separator/Separator.vue +29 -29
- package/dist/admin/components/ui/separator/index.js +1 -1
- package/dist/admin/components/ui/sheet/Sheet.vue +19 -19
- package/dist/admin/components/ui/sheet/SheetClose.vue +15 -15
- package/dist/admin/components/ui/sheet/SheetContent.vue +63 -63
- package/dist/admin/components/ui/sheet/SheetDescription.vue +21 -21
- package/dist/admin/components/ui/sheet/SheetFooter.vue +16 -16
- package/dist/admin/components/ui/sheet/SheetHeader.vue +15 -15
- package/dist/admin/components/ui/sheet/SheetOverlay.vue +21 -21
- package/dist/admin/components/ui/sheet/SheetTitle.vue +21 -21
- package/dist/admin/components/ui/sheet/SheetTrigger.vue +15 -15
- package/dist/admin/components/ui/sheet/index.js +1 -1
- package/dist/admin/components/ui/sonner/Toaster.vue +117 -117
- package/dist/admin/components/ui/sonner/index.js +1 -1
- package/dist/admin/components/ui/table/Table.vue +16 -16
- package/dist/admin/components/ui/table/TableBody.vue +17 -17
- package/dist/admin/components/ui/table/TableCaption.vue +17 -17
- package/dist/admin/components/ui/table/TableCell.vue +22 -22
- package/dist/admin/components/ui/table/TableEmpty.vue +34 -34
- package/dist/admin/components/ui/table/TableFooter.vue +17 -17
- package/dist/admin/components/ui/table/TableHead.vue +17 -17
- package/dist/admin/components/ui/table/TableHeader.vue +17 -17
- package/dist/admin/components/ui/table/TableRow.vue +17 -17
- package/dist/admin/components/ui/table/index.js +1 -1
- package/dist/admin/components/ui/tabs/Tabs.vue +24 -24
- package/dist/admin/components/ui/tabs/TabsContent.vue +21 -21
- package/dist/admin/components/ui/tabs/TabsList.vue +24 -24
- package/dist/admin/components/ui/tabs/TabsTrigger.vue +26 -26
- package/dist/admin/components/ui/tabs/index.js +1 -1
- package/dist/admin/components/ui/tooltip/Tooltip.vue +19 -19
- package/dist/admin/components/ui/tooltip/TooltipContent.vue +34 -34
- package/dist/admin/components/ui/tooltip/TooltipProvider.vue +14 -14
- package/dist/admin/components/ui/tooltip/TooltipTrigger.vue +15 -15
- package/dist/admin/components/ui/tooltip/index.js +1 -1
- package/dist/admin/components/vm-action-btn.vue +136 -136
- package/dist/admin/components/vm-aside-list-item.vue +136 -136
- package/dist/admin/components/vm-aside.vue +229 -229
- package/dist/admin/components/vm-auto-perm-dialog.vue +371 -371
- package/dist/admin/components/vm-card-grid.vue +37 -37
- package/dist/admin/components/vm-card-head.vue +45 -45
- package/dist/admin/components/vm-card-meta.vue +22 -22
- package/dist/admin/components/vm-card-title.vue +56 -56
- package/dist/admin/components/vm-card.vue +176 -176
- package/dist/admin/components/vm-check-tree.vue +340 -340
- package/dist/admin/components/vm-clamp-text.vue +39 -39
- package/dist/admin/components/vm-dept-tree.vue +497 -497
- package/dist/admin/components/vm-empty.vue +68 -68
- package/dist/admin/components/vm-eps-perm-picker.vue +123 -123
- package/dist/admin/components/vm-form-dialog.vue +632 -632
- package/dist/admin/components/vm-group-cascader.vue +560 -560
- package/dist/admin/components/vm-icon-btn.vue +88 -88
- package/dist/admin/components/vm-icon-picker.vue +647 -647
- package/dist/admin/components/vm-inline-search.vue +61 -61
- package/dist/admin/components/vm-loading.vue +114 -114
- package/dist/admin/components/vm-markdown.vue +405 -405
- package/dist/admin/components/vm-marquee.vue +265 -265
- package/dist/admin/components/vm-page-tabs.vue +94 -94
- package/dist/admin/components/vm-perm-section.vue +57 -57
- package/dist/admin/components/vm-ri-icon.vue +23 -23
- package/dist/admin/components/vm-role-picker.vue +314 -314
- package/dist/admin/components/vm-split-layout.vue +106 -106
- package/dist/admin/components/vm-thumb.vue +49 -49
- package/dist/admin/components/vm-view-path-picker.vue +59 -59
- package/dist/admin/crud/auto-fields.d.ts +7 -0
- package/dist/admin/crud/auto-fields.js +1 -1
- package/dist/admin/crud/components/vm-avatar.vue +104 -104
- package/dist/admin/crud/components/vm-color-picker.vue +1626 -1626
- package/dist/admin/crud/components/vm-column-custom.vue +193 -193
- package/dist/admin/crud/components/vm-context-menu.vue +105 -105
- package/dist/admin/crud/components/vm-copy-btn.vue +102 -102
- package/dist/admin/crud/components/vm-date-calendar-panel.vue +537 -537
- package/dist/admin/crud/components/vm-date-picker.vue +75 -75
- package/dist/admin/crud/components/vm-date-range.vue +88 -88
- package/dist/admin/crud/components/vm-date-text.vue +42 -42
- package/dist/admin/crud/components/vm-datetime-field.vue +215 -215
- package/dist/admin/crud/components/vm-datetime-picker.vue +9 -9
- package/dist/admin/crud/components/vm-dict-tag.vue +112 -112
- package/dist/admin/crud/components/vm-ellipsis-text.vue +34 -34
- package/dist/admin/crud/components/vm-form-hint.vue +81 -81
- package/dist/admin/crud/components/vm-json-code.vue +41 -41
- package/dist/admin/crud/components/vm-json-editor.vue +161 -161
- package/dist/admin/crud/components/vm-json-kv-editor.vue +318 -318
- package/dist/admin/crud/components/vm-kv-row.vue +51 -51
- package/dist/admin/crud/components/vm-multi-select.vue +279 -279
- package/dist/admin/crud/components/vm-number-range.vue +204 -204
- package/dist/admin/crud/components/vm-preview-viewer.vue +894 -894
- package/dist/admin/crud/components/vm-radio.vue +87 -87
- package/dist/admin/crud/components/vm-richtext.vue +313 -313
- package/dist/admin/crud/components/vm-select.vue +570 -570
- package/dist/admin/crud/components/vm-status-tag.vue +158 -158
- package/dist/admin/crud/components/vm-switch.vue +158 -158
- package/dist/admin/crud/components/vm-tag-list.vue +108 -108
- package/dist/admin/crud/components/vm-text-link.vue +52 -52
- package/dist/admin/crud/components/vm-toggle-switch.vue +84 -84
- package/dist/admin/crud/components/vm-tree-select.vue +450 -450
- package/dist/admin/crud/components/vm-upload-item.vue +298 -298
- package/dist/admin/crud/components/vm-upload.vue +436 -436
- package/dist/admin/crud/config.js +1 -1
- package/dist/admin/crud/confirm.js +1 -1
- package/dist/admin/crud/crud-page-request.js +1 -1
- package/dist/admin/crud/data-i18n.js +1 -1
- package/dist/admin/crud/dict.js +1 -1
- package/dist/admin/crud/export-fetch.js +1 -1
- package/dist/admin/crud/index.d.ts +1 -1
- package/dist/admin/crud/index.js +1 -0
- package/dist/admin/crud/key.js +1 -1
- package/dist/admin/crud/plugins.js +1 -1
- package/dist/admin/crud/span.js +1 -1
- package/dist/admin/crud/style.js +1 -1
- package/dist/admin/crud/validate.js +1 -1
- package/dist/admin/crud/vm-add-btn.vue +70 -70
- package/dist/admin/crud/vm-adv-search.vue +83 -83
- package/dist/admin/crud/vm-crud.vue +711 -711
- package/dist/admin/crud/vm-data-i18n-btn.vue +456 -456
- package/dist/admin/crud/vm-data-i18n-lang.vue +183 -183
- package/dist/admin/crud/vm-export-btn.vue +183 -183
- package/dist/admin/crud/vm-flex.vue +14 -14
- package/dist/admin/crud/vm-import-btn.vue +747 -747
- package/dist/admin/crud/vm-multi-delete-btn.vue +49 -49
- package/dist/admin/crud/vm-pagination.vue +212 -212
- package/dist/admin/crud/vm-refresh-btn.vue +35 -35
- package/dist/admin/crud/vm-row.vue +55 -55
- package/dist/admin/crud/vm-search-key.vue +78 -78
- package/dist/admin/crud/vm-search.vue +466 -466
- package/dist/admin/crud/vm-table.vue +1390 -1390
- package/dist/admin/crud/vm-tabs.vue +94 -94
- package/dist/admin/crud/vm-toolbar.vue +357 -357
- package/dist/admin/crud/vm-upsert.vue +765 -765
- package/dist/admin/directives/perm.js +1 -1
- package/dist/admin/env.d.ts +1 -1
- package/dist/admin/hooks/useUpload.js +1 -1
- package/dist/admin/hooks/useVome.d.ts +2 -2
- package/dist/admin/lib/browser.js +1 -1
- package/dist/admin/lib/cn.js +1 -1
- package/dist/admin/lib/dialog-float.js +1 -1
- package/dist/admin/lib/export-excel.js +1 -1
- package/dist/admin/lib/import-excel.js +1 -1
- package/dist/admin/lib/json.js +1 -1
- package/dist/admin/lib/menu.js +1 -1
- package/dist/admin/lib/micro-locale.js +1 -1
- package/dist/admin/lib/micro-theme.js +1 -1
- package/dist/admin/lib/shell.js +1 -1
- package/dist/admin/lib/theme-color-options.js +1 -1
- package/dist/admin/lib/tree.js +1 -1
- package/dist/admin/lib/upload.js +1 -1
- package/dist/admin/lib/video-frame.js +1 -1
- package/dist/admin/router/create.js +1 -1
- package/dist/admin/router/guards.js +1 -1
- package/dist/admin/stores/app.d.ts +13 -1
- package/dist/admin/stores/tags.d.ts +14 -1
- package/dist/admin/stores/user.d.ts +48 -1
- package/dist/admin/styles/base.css +121 -121
- package/dist/admin/vendor/browser-image-compression.js +1144 -1144
- package/dist/admin/vendor/decimal-js.js +12 -12
- package/dist/admin/vendor/xlsx.js +263 -263
- package/dist/ai/index.js +1 -1
- package/dist/client/ai-model-registry.js +1 -1
- package/dist/client/base.js +1 -1
- package/dist/client/configure.js +1 -1
- package/dist/client/dict.js +1 -1
- package/dist/client/eps-payload.js +1 -1
- package/dist/client/eps.d.ts +7 -4
- package/dist/client/eps.js +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/locale-change.js +1 -1
- package/dist/client/locale-store.d.ts +45 -1
- package/dist/client/locale-store.js +1 -1
- package/dist/client/path.js +1 -1
- package/dist/client/service.d.ts +8 -0
- package/dist/client/service.js +1 -1
- package/dist/client/vite-admin.js +1 -1
- package/dist/client/vite-auto-import.js +1 -1
- package/dist/client/vite-micro-proxy.js +1 -1
- package/dist/client/vite-plugin-eps.d.ts +5 -0
- package/dist/client/vite-plugin-eps.js +1 -1
- package/dist/client/vite-resolve.js +1 -1
- package/dist/config/index.js +1 -1
- package/dist/core/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/routing/context.d.ts +12 -2
- package/dist/routing/eps.d.ts +4 -1
- package/dist/routing/index.d.ts +2 -1
- package/dist/routing/metadata.d.ts +7 -3
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.js +1 -1
- package/dist/shared/datetime-picker.js +1 -1
- package/dist/shared/decimal.js +1 -1
- package/dist/shared/excel.js +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/locale-json.js +1 -1
- package/dist/shared/tree.js +1 -1
- package/dist/typings/routing/eps.d.ts +3 -1
- package/dist/typings/routing/meta.d.ts +15 -0
- package/package.json +1 -1
- package/typings/admin/base/auth.ts +24 -24
- package/typings/admin/base/permission.ts +19 -19
- package/typings/admin/comm/cascader.ts +7 -7
- package/typings/admin/comm/check-tree.ts +7 -7
- package/typings/admin/comm/crud.ts +427 -427
- package/typings/admin/comm/eps.ts +88 -86
- package/typings/admin/comm/request.ts +16 -16
- package/typings/admin/comm/service.ts +43 -43
- package/typings/admin/comm/upload.ts +39 -39
- package/typings/admin/theme.ts +10 -10
- package/typings/admin/vome/browser.ts +11 -11
- package/typings/admin/vome/module.ts +13 -13
- package/typings/admin/vome/tags.ts +9 -9
- package/typings/comm/crud.ts +83 -83
- package/typings/comm/page.ts +18 -18
- package/typings/comm/scan.ts +6 -6
- package/typings/common.ts +4 -4
- package/typings/context/data.ts +10 -10
- package/typings/ext/market-seat.ts +42 -42
- package/typings/ext/market.ts +55 -55
- package/typings/ext/module.ts +64 -64
- package/typings/ext/plugin.ts +38 -38
- package/typings/ioc/metadata.ts +34 -34
- package/typings/logger/config.ts +6 -6
- package/typings/routing/crud.ts +199 -199
- package/typings/routing/eps.ts +90 -88
- package/typings/routing/meta.ts +80 -63
- package/typings/routing/register.ts +21 -21
- package/typings/routing/scan-context.ts +7 -7
|
@@ -1,86 +1,88 @@
|
|
|
1
|
-
/** 前端 EPS 类型 */
|
|
2
|
-
export type EpsApiItem = {
|
|
3
|
-
method: string
|
|
4
|
-
path: string
|
|
5
|
-
summary: string
|
|
6
|
-
prefix: string
|
|
7
|
-
ignoreToken: boolean
|
|
8
|
-
ignorePerms: boolean
|
|
9
|
-
perms: string[]
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export type EpsColumn = {
|
|
13
|
-
propertyName: string
|
|
14
|
-
/** drizzle dataType:string / number / boolean / date */
|
|
15
|
-
type: string
|
|
16
|
-
/** drizzle columnType:PgVarchar / PgText / PgInteger / PgNumeric … */
|
|
17
|
-
columnType?: string
|
|
18
|
-
sqlType?: string
|
|
19
|
-
length?: string
|
|
20
|
-
precision?: number
|
|
21
|
-
scale?: number
|
|
22
|
-
comment?: string
|
|
23
|
-
nullable?: boolean
|
|
24
|
-
hasDefault?: boolean
|
|
25
|
-
dict?: string | string[]
|
|
26
|
-
/** 物理表名,供 field.{table}.{prop} */
|
|
27
|
-
table?: string
|
|
28
|
-
source?: string
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export type EpsEntity = {
|
|
32
|
-
module: string
|
|
33
|
-
side: string
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
info
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
1
|
+
/** 前端 EPS 类型 */
|
|
2
|
+
export type EpsApiItem = {
|
|
3
|
+
method: string
|
|
4
|
+
path: string
|
|
5
|
+
summary: string
|
|
6
|
+
prefix: string
|
|
7
|
+
ignoreToken: boolean
|
|
8
|
+
ignorePerms: boolean
|
|
9
|
+
perms: string[]
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type EpsColumn = {
|
|
13
|
+
propertyName: string
|
|
14
|
+
/** drizzle dataType:string / number / boolean / date */
|
|
15
|
+
type: string
|
|
16
|
+
/** drizzle columnType:PgVarchar / PgText / PgInteger / PgNumeric … */
|
|
17
|
+
columnType?: string
|
|
18
|
+
sqlType?: string
|
|
19
|
+
length?: string
|
|
20
|
+
precision?: number
|
|
21
|
+
scale?: number
|
|
22
|
+
comment?: string
|
|
23
|
+
nullable?: boolean
|
|
24
|
+
hasDefault?: boolean
|
|
25
|
+
dict?: string | string[]
|
|
26
|
+
/** 物理表名,供 field.{table}.{prop} */
|
|
27
|
+
table?: string
|
|
28
|
+
source?: string
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export type EpsEntity = {
|
|
32
|
+
module: string
|
|
33
|
+
side: string
|
|
34
|
+
/** app 通道:shared | store | front */
|
|
35
|
+
channel?: string
|
|
36
|
+
prefix: string
|
|
37
|
+
/** 关联实体/表名(可选);中间列展示用 info.type.name 或 prefix 末段 */
|
|
38
|
+
name?: string
|
|
39
|
+
info?: {
|
|
40
|
+
type: {
|
|
41
|
+
/** 控制器路径末段,对应文件名(如 dict-info) */
|
|
42
|
+
name: string
|
|
43
|
+
description: string
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
api: EpsApiItem[]
|
|
47
|
+
columns: EpsColumn[]
|
|
48
|
+
pageColumns: EpsColumn[]
|
|
49
|
+
pageQueryOp?: {
|
|
50
|
+
keyWordLikeFields?: unknown[]
|
|
51
|
+
fieldEq?: unknown[]
|
|
52
|
+
fieldLike?: unknown[]
|
|
53
|
+
fieldArray?: unknown[]
|
|
54
|
+
fieldRange?: unknown[]
|
|
55
|
+
ignoreFields?: string[]
|
|
56
|
+
}
|
|
57
|
+
/** Controller api 含 dataI18n:本实体参与业务数据翻译 */
|
|
58
|
+
dataI18n?: boolean
|
|
59
|
+
/** direct 字段名(语言 Tab 列);来自 Controller dataI18nFields / 推断 */
|
|
60
|
+
dataI18nFields?: string[]
|
|
61
|
+
dataI18nTables?: string[]
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export type EpsModuleMap = Record<string, EpsEntity[]>
|
|
65
|
+
|
|
66
|
+
/** EPS 开放接口完整载荷 */
|
|
67
|
+
export type EpsDictFlatRow = {
|
|
68
|
+
id: number
|
|
69
|
+
name: string
|
|
70
|
+
typeId: number
|
|
71
|
+
parentId?: number | null
|
|
72
|
+
orderNum?: number
|
|
73
|
+
value?: unknown
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export type EpsPayload = {
|
|
77
|
+
/** 服务端 vome.eps;写入打包 eps.json,生产仅 true 时前端可再请求 */
|
|
78
|
+
eps?: boolean
|
|
79
|
+
modules: EpsModuleMap
|
|
80
|
+
dict: Record<string, EpsDictFlatRow[]>
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/** 菜单「自动添加权限」行 */
|
|
84
|
+
export type AutoPermRow = {
|
|
85
|
+
enabled: boolean
|
|
86
|
+
name: string
|
|
87
|
+
perm: string
|
|
88
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export type ApiResult<T> = {
|
|
2
|
-
code: number
|
|
3
|
-
message: string
|
|
4
|
-
data: T
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export type RequestOptions = Omit<RequestInit, 'body'> & {
|
|
8
|
-
/** JSON 对象或字符串;各端 request 实现自行序列化 */
|
|
9
|
-
body?: unknown
|
|
10
|
-
/** 失败时是否 toast,默认 true */
|
|
11
|
-
toast?: boolean
|
|
12
|
-
/** 跳过自动 refresh */
|
|
13
|
-
skipRefresh?: boolean
|
|
14
|
-
/** 请求超时 ms,默认 5000;AI sync 默认 360000,stream 传 0 不掐断 */
|
|
15
|
-
timeoutMs?: number
|
|
16
|
-
}
|
|
1
|
+
export type ApiResult<T> = {
|
|
2
|
+
code: number
|
|
3
|
+
message: string
|
|
4
|
+
data: T
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export type RequestOptions = Omit<RequestInit, 'body'> & {
|
|
8
|
+
/** JSON 对象或字符串;各端 request 实现自行序列化 */
|
|
9
|
+
body?: unknown
|
|
10
|
+
/** 失败时是否 toast,默认 true */
|
|
11
|
+
toast?: boolean
|
|
12
|
+
/** 跳过自动 refresh */
|
|
13
|
+
skipRefresh?: boolean
|
|
14
|
+
/** 请求超时 ms,默认 5000;AI sync 默认 360000,stream 传 0 不掐断 */
|
|
15
|
+
timeoutMs?: number
|
|
16
|
+
}
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
/** 链式 service 叶子节点 */
|
|
2
|
-
export type ServiceRequestOptions = {
|
|
3
|
-
url?: string
|
|
4
|
-
method?: string
|
|
5
|
-
data?: unknown
|
|
6
|
-
params?: Record<string, unknown>
|
|
7
|
-
/** 透传 HTTP 超时;默认由 request 客户端处理(5s) */
|
|
8
|
-
timeoutMs?: number
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export type ServiceLeaf = {
|
|
12
|
-
namespace: string
|
|
13
|
-
permission: Record<string, string>
|
|
14
|
-
_permission: Record<string, boolean>
|
|
15
|
-
request: (options?: ServiceRequestOptions) => Promise<unknown>
|
|
16
|
-
page?: (
|
|
17
|
-
data?: Record<string, unknown>,
|
|
18
|
-
options?: Pick<ServiceRequestOptions, 'timeoutMs'>,
|
|
19
|
-
) => Promise<{
|
|
20
|
-
list: Record<string, unknown>[]
|
|
21
|
-
pagination: { page: number; size: number; total: number }
|
|
22
|
-
}>
|
|
23
|
-
list?: (
|
|
24
|
-
data?: Record<string, unknown>,
|
|
25
|
-
options?: Pick<ServiceRequestOptions, 'timeoutMs'>,
|
|
26
|
-
) => Promise<Record<string, unknown>[]>
|
|
27
|
-
info?: (data: { id: number | string }) => Promise<Record<string, unknown>>
|
|
28
|
-
add?: (data: Record<string, unknown>) => Promise<unknown>
|
|
29
|
-
update?: (data: Record<string, unknown>) => Promise<unknown>
|
|
30
|
-
delete?: (data: {
|
|
31
|
-
ids: Array<number | string>
|
|
32
|
-
force?: boolean
|
|
33
|
-
}) => Promise<unknown>
|
|
34
|
-
restore?: (data: { ids: Array<number | string> }) => Promise<unknown>
|
|
35
|
-
[method: string]: unknown
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/** 嵌套树:service.base.user(动态键,运行时由 EPS 填充) */
|
|
39
|
-
export type ServiceTree = {
|
|
40
|
-
request: (options?: ServiceRequestOptions) => Promise<unknown>
|
|
41
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
|
-
[key: string]: any
|
|
43
|
-
}
|
|
1
|
+
/** 链式 service 叶子节点 */
|
|
2
|
+
export type ServiceRequestOptions = {
|
|
3
|
+
url?: string
|
|
4
|
+
method?: string
|
|
5
|
+
data?: unknown
|
|
6
|
+
params?: Record<string, unknown>
|
|
7
|
+
/** 透传 HTTP 超时;默认由 request 客户端处理(5s) */
|
|
8
|
+
timeoutMs?: number
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export type ServiceLeaf = {
|
|
12
|
+
namespace: string
|
|
13
|
+
permission: Record<string, string>
|
|
14
|
+
_permission: Record<string, boolean>
|
|
15
|
+
request: (options?: ServiceRequestOptions) => Promise<unknown>
|
|
16
|
+
page?: (
|
|
17
|
+
data?: Record<string, unknown>,
|
|
18
|
+
options?: Pick<ServiceRequestOptions, 'timeoutMs'>,
|
|
19
|
+
) => Promise<{
|
|
20
|
+
list: Record<string, unknown>[]
|
|
21
|
+
pagination: { page: number; size: number; total: number }
|
|
22
|
+
}>
|
|
23
|
+
list?: (
|
|
24
|
+
data?: Record<string, unknown>,
|
|
25
|
+
options?: Pick<ServiceRequestOptions, 'timeoutMs'>,
|
|
26
|
+
) => Promise<Record<string, unknown>[]>
|
|
27
|
+
info?: (data: { id: number | string }) => Promise<Record<string, unknown>>
|
|
28
|
+
add?: (data: Record<string, unknown>) => Promise<unknown>
|
|
29
|
+
update?: (data: Record<string, unknown>) => Promise<unknown>
|
|
30
|
+
delete?: (data: {
|
|
31
|
+
ids: Array<number | string>
|
|
32
|
+
force?: boolean
|
|
33
|
+
}) => Promise<unknown>
|
|
34
|
+
restore?: (data: { ids: Array<number | string> }) => Promise<unknown>
|
|
35
|
+
[method: string]: unknown
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** 嵌套树:service.base.user(动态键,运行时由 EPS 填充) */
|
|
39
|
+
export type ServiceTree = {
|
|
40
|
+
request: (options?: ServiceRequestOptions) => Promise<unknown>
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
|
+
[key: string]: any
|
|
43
|
+
}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
export type UploadFileType =
|
|
2
|
-
| 'image'
|
|
3
|
-
| 'video'
|
|
4
|
-
| 'audio'
|
|
5
|
-
| 'word'
|
|
6
|
-
| 'excel'
|
|
7
|
-
| 'ppt'
|
|
8
|
-
| 'pdf'
|
|
9
|
-
| 'rar'
|
|
10
|
-
| 'file'
|
|
11
|
-
|
|
12
|
-
export type UploadRule = {
|
|
13
|
-
name: string
|
|
14
|
-
type: UploadFileType
|
|
15
|
-
color: string
|
|
16
|
-
exts: string[]
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export type UploadItem = {
|
|
20
|
-
uid: string
|
|
21
|
-
name: string
|
|
22
|
-
url: string
|
|
23
|
-
preload?: string
|
|
24
|
-
type: UploadFileType
|
|
25
|
-
size?: number
|
|
26
|
-
progress: number
|
|
27
|
-
error?: string
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export type UploadOptions = {
|
|
31
|
-
prefixPath?: string
|
|
32
|
-
onProgress?: (progress: number) => void
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export type UploadResult = {
|
|
36
|
-
url: string
|
|
37
|
-
key?: string
|
|
38
|
-
fileId?: string
|
|
39
|
-
}
|
|
1
|
+
export type UploadFileType =
|
|
2
|
+
| 'image'
|
|
3
|
+
| 'video'
|
|
4
|
+
| 'audio'
|
|
5
|
+
| 'word'
|
|
6
|
+
| 'excel'
|
|
7
|
+
| 'ppt'
|
|
8
|
+
| 'pdf'
|
|
9
|
+
| 'rar'
|
|
10
|
+
| 'file'
|
|
11
|
+
|
|
12
|
+
export type UploadRule = {
|
|
13
|
+
name: string
|
|
14
|
+
type: UploadFileType
|
|
15
|
+
color: string
|
|
16
|
+
exts: string[]
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export type UploadItem = {
|
|
20
|
+
uid: string
|
|
21
|
+
name: string
|
|
22
|
+
url: string
|
|
23
|
+
preload?: string
|
|
24
|
+
type: UploadFileType
|
|
25
|
+
size?: number
|
|
26
|
+
progress: number
|
|
27
|
+
error?: string
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export type UploadOptions = {
|
|
31
|
+
prefixPath?: string
|
|
32
|
+
onProgress?: (progress: number) => void
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export type UploadResult = {
|
|
36
|
+
url: string
|
|
37
|
+
key?: string
|
|
38
|
+
fileId?: string
|
|
39
|
+
}
|
package/typings/admin/theme.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export type ThemeTokens = Record<string, string>
|
|
2
|
-
|
|
3
|
-
export type ThemeDefinition = {
|
|
4
|
-
id: string
|
|
5
|
-
label: string
|
|
6
|
-
/** 是否挂 dark class */
|
|
7
|
-
dark?: boolean
|
|
8
|
-
/** 可选:覆盖 CSS 变量 */
|
|
9
|
-
tokens?: ThemeTokens
|
|
10
|
-
}
|
|
1
|
+
export type ThemeTokens = Record<string, string>
|
|
2
|
+
|
|
3
|
+
export type ThemeDefinition = {
|
|
4
|
+
id: string
|
|
5
|
+
label: string
|
|
6
|
+
/** 是否挂 dark class */
|
|
7
|
+
dark?: boolean
|
|
8
|
+
/** 可选:覆盖 CSS 变量 */
|
|
9
|
+
tokens?: ThemeTokens
|
|
10
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export type BrowserScreen = 'xs' | 'sm' | 'md' | 'xl' | 'full'
|
|
2
|
-
|
|
3
|
-
export type BrowserInfo = {
|
|
4
|
-
height: number
|
|
5
|
-
width: number
|
|
6
|
-
type: string
|
|
7
|
-
/** 断点:xs <768 / sm <992 / md <1200 / xl <1920 / full */
|
|
8
|
-
screen: BrowserScreen
|
|
9
|
-
/** 迷你布局:侧栏收起或移动端 */
|
|
10
|
-
isMini: boolean
|
|
11
|
-
}
|
|
1
|
+
export type BrowserScreen = 'xs' | 'sm' | 'md' | 'xl' | 'full'
|
|
2
|
+
|
|
3
|
+
export type BrowserInfo = {
|
|
4
|
+
height: number
|
|
5
|
+
width: number
|
|
6
|
+
type: string
|
|
7
|
+
/** 断点:xs <768 / sm <992 / md <1200 / xl <1920 / full */
|
|
8
|
+
screen: BrowserScreen
|
|
9
|
+
/** 迷你布局:侧栏收起或移动端 */
|
|
10
|
+
isMini: boolean
|
|
11
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { Component } from 'vue'
|
|
2
|
-
|
|
3
|
-
/** 视图异步加载器 */
|
|
4
|
-
export type ViewLoader = () => Promise<{ default: Component }>
|
|
5
|
-
|
|
6
|
-
/** 视图路径树(菜单 viewPath 选择) */
|
|
7
|
-
export type ViewsTreeNode = {
|
|
8
|
-
label: string
|
|
9
|
-
/** 完整 viewPath(叶子)或路径前缀(目录) */
|
|
10
|
-
value: string
|
|
11
|
-
isLeaf?: boolean
|
|
12
|
-
children?: ViewsTreeNode[]
|
|
13
|
-
}
|
|
1
|
+
import type { Component } from 'vue'
|
|
2
|
+
|
|
3
|
+
/** 视图异步加载器 */
|
|
4
|
+
export type ViewLoader = () => Promise<{ default: Component }>
|
|
5
|
+
|
|
6
|
+
/** 视图路径树(菜单 viewPath 选择) */
|
|
7
|
+
export type ViewsTreeNode = {
|
|
8
|
+
label: string
|
|
9
|
+
/** 完整 viewPath(叶子)或路径前缀(目录) */
|
|
10
|
+
value: string
|
|
11
|
+
isLeaf?: boolean
|
|
12
|
+
children?: ViewsTreeNode[]
|
|
13
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export type TagItem = {
|
|
2
|
-
path: string
|
|
3
|
-
fullPath: string
|
|
4
|
-
title: string
|
|
5
|
-
name?: string | symbol | null
|
|
6
|
-
/** 页面 defineOptions name,用于 KeepAlive */
|
|
7
|
-
componentName?: string
|
|
8
|
-
keepAlive?: boolean
|
|
9
|
-
}
|
|
1
|
+
export type TagItem = {
|
|
2
|
+
path: string
|
|
3
|
+
fullPath: string
|
|
4
|
+
title: string
|
|
5
|
+
name?: string | symbol | null
|
|
6
|
+
/** 页面 defineOptions name,用于 KeepAlive */
|
|
7
|
+
componentName?: string
|
|
8
|
+
keepAlive?: boolean
|
|
9
|
+
}
|
package/typings/comm/crud.ts
CHANGED
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
import type { SQL } from 'drizzle-orm'
|
|
2
|
-
import type { PageQuery } from './page'
|
|
3
|
-
|
|
4
|
-
/** save:有 id 则更新;insert:只插入 */
|
|
5
|
-
export type CrudUpsertMode = 'save' | 'insert'
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* modifyBefore / modifyAfter 的操作名。
|
|
9
|
-
* 内置:add | update | delete | restore | list | info | page;
|
|
10
|
-
* 自定义方法可传任意字符串(如 settle)。
|
|
11
|
-
*/
|
|
12
|
-
export type CrudModifyType =
|
|
13
|
-
| 'add'
|
|
14
|
-
| 'update'
|
|
15
|
-
| 'delete'
|
|
16
|
-
| 'restore'
|
|
17
|
-
| 'list'
|
|
18
|
-
| 'info'
|
|
19
|
-
| 'page'
|
|
20
|
-
| (string & {})
|
|
21
|
-
|
|
22
|
-
/** add() 可选覆盖 */
|
|
23
|
-
export type CrudWriteOptions = {
|
|
24
|
-
upsert?: CrudUpsertMode
|
|
25
|
-
/** 覆盖全局 softDelete;开启且表有 deleteTime 时 add 走 upsert */
|
|
26
|
-
softDelete?: boolean
|
|
27
|
-
/** softDelete→upsert 时覆盖表 unique(如 Excel `importUniqueKeys`) */
|
|
28
|
-
uniqueKeys?: string[]
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/** 查询回收站范围 */
|
|
32
|
-
export type CrudTrashQueryOptions = {
|
|
33
|
-
withTrashed?: boolean
|
|
34
|
-
onlyTrashed?: boolean
|
|
35
|
-
softDelete?: boolean
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/** 删除选项 */
|
|
39
|
-
export type CrudDeleteOptions = {
|
|
40
|
-
force?: boolean
|
|
41
|
-
softDelete?: boolean
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/** vome.crud 运行时配置 */
|
|
45
|
-
export type CrudConfig = {
|
|
46
|
-
upsert?: CrudUpsertMode
|
|
47
|
-
softDelete?: boolean
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/** add 写入体(单条或批量;语义对齐当前 unknown,便于覆写签名) */
|
|
51
|
-
export type CrudAddData = unknown
|
|
52
|
-
|
|
53
|
-
/** update 第一参:SQL where / 单行对象 / 批量行 */
|
|
54
|
-
export type CrudUpdateWhere =
|
|
55
|
-
| SQL
|
|
56
|
-
| Record<string, unknown>
|
|
57
|
-
| Record<string, unknown>[]
|
|
58
|
-
|
|
59
|
-
/** update 第二参:SQL 条件下的 patch */
|
|
60
|
-
export type CrudUpdatePatch = unknown
|
|
61
|
-
|
|
62
|
-
/** id 或 id 列表 */
|
|
63
|
-
export type CrudIdOrIds = number | string | Array<number | string>
|
|
64
|
-
|
|
65
|
-
/** delete / restore 条件 */
|
|
66
|
-
export type CrudDeleteWhere = SQL | CrudIdOrIds
|
|
67
|
-
|
|
68
|
-
/** list where */
|
|
69
|
-
export type CrudListWhere = SQL | undefined
|
|
70
|
-
|
|
71
|
-
/** list 选项 */
|
|
72
|
-
export type CrudListOptions = CrudTrashQueryOptions & {
|
|
73
|
-
orderBy?: SQL[]
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/** info:主键或 where */
|
|
77
|
-
export type CrudInfoWhere = number | string | SQL
|
|
78
|
-
|
|
79
|
-
/** page 查询 */
|
|
80
|
-
export type CrudPageQuery = PageQuery & {
|
|
81
|
-
where?: SQL
|
|
82
|
-
orderBy?: SQL[]
|
|
83
|
-
} & CrudTrashQueryOptions
|
|
1
|
+
import type { SQL } from 'drizzle-orm'
|
|
2
|
+
import type { PageQuery } from './page'
|
|
3
|
+
|
|
4
|
+
/** save:有 id 则更新;insert:只插入 */
|
|
5
|
+
export type CrudUpsertMode = 'save' | 'insert'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* modifyBefore / modifyAfter 的操作名。
|
|
9
|
+
* 内置:add | update | delete | restore | list | info | page;
|
|
10
|
+
* 自定义方法可传任意字符串(如 settle)。
|
|
11
|
+
*/
|
|
12
|
+
export type CrudModifyType =
|
|
13
|
+
| 'add'
|
|
14
|
+
| 'update'
|
|
15
|
+
| 'delete'
|
|
16
|
+
| 'restore'
|
|
17
|
+
| 'list'
|
|
18
|
+
| 'info'
|
|
19
|
+
| 'page'
|
|
20
|
+
| (string & {})
|
|
21
|
+
|
|
22
|
+
/** add() 可选覆盖 */
|
|
23
|
+
export type CrudWriteOptions = {
|
|
24
|
+
upsert?: CrudUpsertMode
|
|
25
|
+
/** 覆盖全局 softDelete;开启且表有 deleteTime 时 add 走 upsert */
|
|
26
|
+
softDelete?: boolean
|
|
27
|
+
/** softDelete→upsert 时覆盖表 unique(如 Excel `importUniqueKeys`) */
|
|
28
|
+
uniqueKeys?: string[]
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/** 查询回收站范围 */
|
|
32
|
+
export type CrudTrashQueryOptions = {
|
|
33
|
+
withTrashed?: boolean
|
|
34
|
+
onlyTrashed?: boolean
|
|
35
|
+
softDelete?: boolean
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** 删除选项 */
|
|
39
|
+
export type CrudDeleteOptions = {
|
|
40
|
+
force?: boolean
|
|
41
|
+
softDelete?: boolean
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** vome.crud 运行时配置 */
|
|
45
|
+
export type CrudConfig = {
|
|
46
|
+
upsert?: CrudUpsertMode
|
|
47
|
+
softDelete?: boolean
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/** add 写入体(单条或批量;语义对齐当前 unknown,便于覆写签名) */
|
|
51
|
+
export type CrudAddData = unknown
|
|
52
|
+
|
|
53
|
+
/** update 第一参:SQL where / 单行对象 / 批量行 */
|
|
54
|
+
export type CrudUpdateWhere =
|
|
55
|
+
| SQL
|
|
56
|
+
| Record<string, unknown>
|
|
57
|
+
| Record<string, unknown>[]
|
|
58
|
+
|
|
59
|
+
/** update 第二参:SQL 条件下的 patch */
|
|
60
|
+
export type CrudUpdatePatch = unknown
|
|
61
|
+
|
|
62
|
+
/** id 或 id 列表 */
|
|
63
|
+
export type CrudIdOrIds = number | string | Array<number | string>
|
|
64
|
+
|
|
65
|
+
/** delete / restore 条件 */
|
|
66
|
+
export type CrudDeleteWhere = SQL | CrudIdOrIds
|
|
67
|
+
|
|
68
|
+
/** list where */
|
|
69
|
+
export type CrudListWhere = SQL | undefined
|
|
70
|
+
|
|
71
|
+
/** list 选项 */
|
|
72
|
+
export type CrudListOptions = CrudTrashQueryOptions & {
|
|
73
|
+
orderBy?: SQL[]
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** info:主键或 where */
|
|
77
|
+
export type CrudInfoWhere = number | string | SQL
|
|
78
|
+
|
|
79
|
+
/** page 查询 */
|
|
80
|
+
export type CrudPageQuery = PageQuery & {
|
|
81
|
+
where?: SQL
|
|
82
|
+
orderBy?: SQL[]
|
|
83
|
+
} & CrudTrashQueryOptions
|
package/typings/comm/page.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
/** 分页参数 */
|
|
2
|
-
export type PageQuery = {
|
|
3
|
-
/** 页码,从 1 开始,默认 1 */
|
|
4
|
-
page?: number
|
|
5
|
-
/** 每页条数,默认 20 */
|
|
6
|
-
size?: number
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export type PagePagination = {
|
|
10
|
-
page: number
|
|
11
|
-
size: number
|
|
12
|
-
total: number
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export type PageResult<T = unknown> = {
|
|
16
|
-
list: T[]
|
|
17
|
-
pagination: PagePagination
|
|
18
|
-
}
|
|
1
|
+
/** 分页参数 */
|
|
2
|
+
export type PageQuery = {
|
|
3
|
+
/** 页码,从 1 开始,默认 1 */
|
|
4
|
+
page?: number
|
|
5
|
+
/** 每页条数,默认 20 */
|
|
6
|
+
size?: number
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export type PagePagination = {
|
|
10
|
+
page: number
|
|
11
|
+
size: number
|
|
12
|
+
total: number
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type PageResult<T = unknown> = {
|
|
16
|
+
list: T[]
|
|
17
|
+
pagination: PagePagination
|
|
18
|
+
}
|