vome-core 0.1.82 → 0.1.83

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 (83) hide show
  1. package/dist/admin/components/ui/avatar/index.js +1 -1
  2. package/dist/admin/components/ui/badge/index.d.ts +1 -1
  3. package/dist/admin/components/ui/badge/index.js +1 -1
  4. package/dist/admin/components/ui/button/index.d.ts +1 -1
  5. package/dist/admin/components/ui/button/index.js +1 -1
  6. package/dist/admin/components/ui/checkbox/index.js +1 -1
  7. package/dist/admin/components/ui/dialog/index.js +1 -1
  8. package/dist/admin/components/ui/dropdown-menu/index.js +1 -1
  9. package/dist/admin/components/ui/input/index.js +1 -1
  10. package/dist/admin/components/ui/label/index.js +1 -1
  11. package/dist/admin/components/ui/scroll-area/index.js +1 -1
  12. package/dist/admin/components/ui/select/index.js +1 -1
  13. package/dist/admin/components/ui/separator/index.js +1 -1
  14. package/dist/admin/components/ui/sheet/index.js +1 -1
  15. package/dist/admin/components/ui/sonner/index.js +1 -1
  16. package/dist/admin/components/ui/table/index.js +1 -1
  17. package/dist/admin/components/ui/tabs/index.js +1 -1
  18. package/dist/admin/components/ui/tooltip/index.js +1 -1
  19. package/dist/admin/components/vm-role-picker.vue +10 -3
  20. package/dist/admin/crud/components/vm-richtext-extensions.js +1 -1
  21. package/dist/admin/crud/config.js +1 -1
  22. package/dist/admin/crud/confirm.js +1 -1
  23. package/dist/admin/crud/crud-page-request.js +1 -1
  24. package/dist/admin/crud/dict.js +1 -1
  25. package/dist/admin/crud/export-fetch.js +1 -1
  26. package/dist/admin/crud/key.js +1 -1
  27. package/dist/admin/crud/plugins.js +1 -1
  28. package/dist/admin/crud/span.js +1 -1
  29. package/dist/admin/crud/style.js +1 -1
  30. package/dist/admin/crud/validate.js +1 -1
  31. package/dist/admin/directives/perm.js +1 -1
  32. package/dist/admin/hooks/useUpload.js +1 -1
  33. package/dist/admin/index.d.ts +0 -5
  34. package/dist/admin/index.js +0 -4
  35. package/dist/admin/lib/browser.js +1 -1
  36. package/dist/admin/lib/cn.js +1 -1
  37. package/dist/admin/lib/dialog-float.js +1 -1
  38. package/dist/admin/lib/export-excel.js +1 -1
  39. package/dist/admin/lib/file-preview.js +6 -2
  40. package/dist/admin/lib/import-excel.js +1 -1
  41. package/dist/admin/lib/json.js +1 -1
  42. package/dist/admin/lib/menu.js +1 -1
  43. package/dist/admin/lib/micro-locale.js +1 -1
  44. package/dist/admin/lib/micro-theme.js +1 -1
  45. package/dist/admin/lib/setup-crud-defaults.js +1 -1
  46. package/dist/admin/lib/shell.js +1 -1
  47. package/dist/admin/lib/theme-color-options.js +1 -1
  48. package/dist/admin/lib/tree.js +1 -1
  49. package/dist/admin/lib/upload.js +1 -1
  50. package/dist/admin/lib/video-frame.js +1 -1
  51. package/dist/admin/router/create.js +1 -1
  52. package/dist/admin/router/guards.js +1 -1
  53. package/dist/admin/themes/dark.js +1 -1
  54. package/dist/admin/themes/index.js +1 -1
  55. package/dist/admin/themes/light.js +1 -1
  56. package/dist/ai/index.js +298 -9
  57. package/dist/client/configure.js +13 -4
  58. package/dist/client/vite-admin.d.ts +16 -1
  59. package/dist/client/vite-admin.js +33 -13
  60. package/dist/client/vite-auto-import.js +3 -3
  61. package/dist/client/vite-resolve.js +28 -4
  62. package/dist/index.js +1 -1
  63. package/dist/server/index.js +1 -1
  64. package/dist/shared/datetime-picker.js +1 -1
  65. package/dist/shared/excel.js +1 -1
  66. package/dist/shared/index.js +1 -1
  67. package/dist/shared/locale-json.js +1 -1
  68. package/dist/shared/tree.js +1 -1
  69. package/package.json +1 -1
  70. package/dist/admin/components/layout/vm-app-header.vue +0 -341
  71. package/dist/admin/components/layout/vm-app-sidebar.vue +0 -187
  72. package/dist/admin/components/layout/vm-sidebar-flyout.vue +0 -268
  73. package/dist/admin/components/layout/vm-sidebar-nav-item.vue +0 -490
  74. package/dist/admin/components/layout/vm-sidebar-nav.vue +0 -104
  75. package/dist/admin/components/layout/vm-tags-view.vue +0 -233
  76. package/dist/admin/lib/document-title.d.ts +0 -6
  77. package/dist/admin/lib/document-title.js +0 -1
  78. package/dist/admin/stores/dict.d.ts +0 -13
  79. package/dist/admin/stores/dict.js +0 -1
  80. package/dist/admin/stores/locale.d.ts +0 -3
  81. package/dist/admin/stores/locale.js +0 -1
  82. package/dist/admin/stores/theme.d.ts +0 -1
  83. package/dist/admin/stores/theme.js +0 -1
@@ -1,233 +0,0 @@
1
- <template>
2
- <div ref="rootRef" class="vm-tags">
3
- <div ref="trackRef" class="vm-tags__track" :style="trackStyle">
4
- <button
5
- v-for="tag in list"
6
- :key="tag.path"
7
- type="button"
8
- class="vm-tags__item"
9
- :class="{ 'is-active': route.path === tag.path }"
10
- @click="router.push(tag.fullPath)"
11
- @click.middle="close(tag.path, $event)"
12
- >
13
- <span class="vm-tags__title">{{ tagTitle(tag) }}</span>
14
- <i
15
- v-if="tag.path !== '/'"
16
- class="ri-close-line vm-tags__close"
17
- @click="close(tag.path, $event)"
18
- />
19
- </button>
20
- </div>
21
- </div>
22
- </template>
23
-
24
- <script setup lang="ts">
25
- import { useLocaleStore } from '../../stores/locale'
26
-
27
- defineOptions({ name: 'vm-tags-view' })
28
-
29
- const tags = useTagsStore()
30
- const user = useUserStore()
31
- const locale = useLocaleStore()
32
- const route = useRoute()
33
- const router = useRouter()
34
-
35
- const rootRef = ref<HTMLElement | null>(null)
36
- const trackRef = ref<HTMLElement | null>(null)
37
- const offset = ref(0)
38
-
39
- /** 首页由顶栏按钮进入,tabs 不再塞首页项 */
40
- const list = computed(() => tags.list.filter((t) => t.path !== '/'))
41
-
42
- function findMenuByPath(
43
- nodes: MenuTreeNode[],
44
- path: string,
45
- ): MenuTreeNode | null {
46
- for (const n of nodes) {
47
- if (n.router === path) return n
48
- if (n.children?.length) {
49
- const hit = findMenuByPath(n.children, path)
50
- if (hit) return hit
51
- }
52
- }
53
- return null
54
- }
55
-
56
- function tagTitle(tag: { path: string; title: string }) {
57
- const node = findMenuByPath(user.menus, tag.path)
58
- return node ? locale.tMenu(node) : tag.title
59
- }
60
-
61
- const trackStyle = computed(() =>
62
- offset.value > 0 ? { transform: `translateX(-${offset.value}px)` } : undefined,
63
- )
64
-
65
- function measureTabs() {
66
- const root = rootRef.value
67
- const track = trackRef.value
68
- if (!root || !track) return
69
-
70
- const containerWidth = root.clientWidth
71
- const items = track.querySelectorAll<HTMLElement>('.vm-tags__item')
72
- if (!items.length || containerWidth <= 0) {
73
- offset.value = 0
74
- return
75
- }
76
-
77
- const gap = 4
78
- const positions: number[] = []
79
- const widths: number[] = []
80
- let total = 0
81
-
82
- items.forEach((el, i) => {
83
- positions.push(total)
84
- const w = el.offsetWidth
85
- widths.push(w)
86
- total += w + (i < items.length - 1 ? gap : 0)
87
- })
88
-
89
- const maxOffset = Math.max(0, total - containerWidth)
90
- if (maxOffset === 0) {
91
- offset.value = 0
92
- return
93
- }
94
-
95
- const activeIndex = list.value.findIndex((t) => t.path === route.path)
96
- // 默认贴右:左侧最早打开的 tab 被裁切隐藏
97
- let next = maxOffset
98
-
99
- if (activeIndex >= 0) {
100
- const left = positions[activeIndex]!
101
- const right = left + widths[activeIndex]!
102
- if (left < next) next = left
103
- if (right > next + containerWidth) next = right - containerWidth
104
- next = Math.min(maxOffset, Math.max(0, next))
105
- }
106
-
107
- offset.value = next
108
- }
109
-
110
- let ro: ResizeObserver | undefined
111
-
112
- function scheduleMeasure() {
113
- nextTick(() => measureTabs())
114
- }
115
-
116
- function close(path: string, e: Event) {
117
- e.preventDefault()
118
- e.stopPropagation()
119
- if (path === '/') return
120
- const i = list.value.findIndex((t) => t.path === path)
121
- tags.remove(path)
122
- if (route.path === path) {
123
- const next = list.value[i - 1] || list.value[i] || null
124
- void router.push(next?.fullPath || '/')
125
- }
126
- scheduleMeasure()
127
- }
128
-
129
- watch(
130
- () => [list.value.length, route.path, ...list.value.map((t) => t.title)] as const,
131
- scheduleMeasure,
132
- )
133
-
134
- onMounted(() => {
135
- scheduleMeasure()
136
- ro = new ResizeObserver(scheduleMeasure)
137
- if (rootRef.value) ro.observe(rootRef.value)
138
- if (trackRef.value) ro.observe(trackRef.value)
139
- })
140
-
141
- onUnmounted(() => {
142
- ro?.disconnect()
143
- })
144
- </script>
145
-
146
- <style lang="scss" scoped>
147
- .vm-tags {
148
- min-width: 0;
149
- flex: 1;
150
- overflow: hidden;
151
- margin-left: 4px;
152
- padding: 0;
153
- }
154
-
155
- .vm-tags__track {
156
- display: flex;
157
- width: max-content;
158
- align-items: center;
159
- gap: 4px;
160
- transition: transform 0.15s ease;
161
- }
162
-
163
- .vm-tags__item {
164
- display: inline-flex;
165
- height: 32px;
166
- flex-shrink: 0;
167
- align-items: center;
168
- gap: 0;
169
- padding: 0 10px;
170
- border: none;
171
- border-radius: 8px;
172
- background: var(--muted);
173
- color: var(--muted-foreground);
174
- font-size: 12px;
175
- font-weight: 600;
176
- line-height: 1;
177
- cursor: pointer;
178
- transition:
179
- background 0.15s ease,
180
- color 0.15s ease,
181
- box-shadow 0.15s ease,
182
- gap 0.15s ease,
183
- padding 0.15s ease;
184
-
185
- &:hover {
186
- gap: 4px;
187
- padding-right: 8px;
188
- color: var(--foreground);
189
- }
190
-
191
- &.is-active {
192
- background: #fff;
193
- color: var(--brand);
194
- box-shadow: var(--shadow-card);
195
-
196
- .dark & {
197
- background: var(--card);
198
- }
199
- }
200
- }
201
-
202
- .vm-tags__title {
203
- white-space: nowrap;
204
- }
205
-
206
- /* 默认占 0 宽;悬停展开关闭按钮宽度 */
207
- .vm-tags__close {
208
- display: inline-flex;
209
- width: 0;
210
- height: 14px;
211
- flex-shrink: 0;
212
- align-items: center;
213
- justify-content: center;
214
- overflow: hidden;
215
- font-size: 14px;
216
- line-height: 1;
217
- opacity: 0;
218
- transition:
219
- width 0.15s ease,
220
- opacity 0.15s ease,
221
- color 0.15s ease;
222
-
223
- .vm-tags__item:hover & {
224
- width: 14px;
225
- opacity: 0.55;
226
- }
227
-
228
- .vm-tags__item:hover &:hover {
229
- opacity: 1;
230
- color: var(--destructive);
231
- }
232
- }
233
- </style>
@@ -1,6 +0,0 @@
1
- import type { Pinia } from 'pinia';
2
- import type { RouteLocationNormalizedLoaded, Router } from 'vue-router';
3
- export declare function syncDocumentTitle(routeTitle?: string): void;
4
- export declare function syncDocumentTitleFromRoute(router: Router, to?: RouteLocationNormalizedLoaded): void;
5
- /** 路由切换 + 语言包切换时同步浏览器标签标题 */
6
- export declare function bindDocumentTitle(router: Router, pinia: Pinia): void;
@@ -1 +0,0 @@
1
- const _0x2eb241=_0x165e;function _0x165e(_0x41d99b,_0x371f9d){_0x41d99b=_0x41d99b-0x78;const _0x2055fa=_0x2055();let _0x165e21=_0x2055fa[_0x41d99b];if(_0x165e['HIKefD']===undefined){var _0x4635c6=function(_0x26df95){const _0x376459='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x191685='',_0x15ebc0='';for(let _0x229dc8=0x0,_0x51e3a7,_0x30eba8,_0x2195f7=0x0;_0x30eba8=_0x26df95['charAt'](_0x2195f7++);~_0x30eba8&&(_0x51e3a7=_0x229dc8%0x4?_0x51e3a7*0x40+_0x30eba8:_0x30eba8,_0x229dc8++%0x4)?_0x191685+=String['fromCharCode'](0xff&_0x51e3a7>>(-0x2*_0x229dc8&0x6)):0x0){_0x30eba8=_0x376459['indexOf'](_0x30eba8);}for(let _0x1efeba=0x0,_0x25b49b=_0x191685['length'];_0x1efeba<_0x25b49b;_0x1efeba++){_0x15ebc0+='%'+('00'+_0x191685['charCodeAt'](_0x1efeba)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15ebc0);};_0x165e['SHHxNN']=_0x4635c6,_0x165e['TnsnJZ']={},_0x165e['HIKefD']=!![];}const _0x4a735a=_0x2055fa[0x0],_0x15ba54=_0x41d99b+_0x4a735a,_0x4d1877=_0x165e['TnsnJZ'][_0x15ba54];return!_0x4d1877?(_0x165e21=_0x165e['SHHxNN'](_0x165e21),_0x165e['TnsnJZ'][_0x15ba54]=_0x165e21):_0x165e21=_0x4d1877,_0x165e21;}(function(_0x45b3e8,_0x41245e){const _0x33174f=_0x165e,_0x573607=_0x45b3e8();while(!![]){try{const _0x4cd0b1=-parseInt(_0x33174f(0x89))/0x1*(-parseInt(_0x33174f(0x7b))/0x2)+-parseInt(_0x33174f(0x8d))/0x3*(-parseInt(_0x33174f(0x81))/0x4)+-parseInt(_0x33174f(0x79))/0x5+-parseInt(_0x33174f(0x7c))/0x6*(parseInt(_0x33174f(0x78))/0x7)+-parseInt(_0x33174f(0x83))/0x8+-parseInt(_0x33174f(0x80))/0x9+-parseInt(_0x33174f(0x8b))/0xa*(-parseInt(_0x33174f(0x7f))/0xb);if(_0x4cd0b1===_0x41245e)break;else _0x573607['push'](_0x573607['shift']());}catch(_0x4e186b){_0x573607['push'](_0x573607['shift']());}}}(_0x2055,0x8154a));import{watch}from'vue';import{getAdminShellBranding}from'./shell';import{useLocaleStore}from'../stores/locale';import{useUserStore}from'../stores/user';function findMenuByPath(_0x191685,_0x15ebc0){const _0x153472=_0x165e;for(const _0x229dc8 of _0x191685){if(_0x229dc8[_0x153472(0x86)]===_0x15ebc0)return _0x229dc8;if(_0x229dc8[_0x153472(0x8c)]?.[_0x153472(0x85)]){const _0x51e3a7=findMenuByPath(_0x229dc8['children'],_0x15ebc0);if(_0x51e3a7)return _0x51e3a7;}}return null;}function resolvePageTitle(_0x30eba8){const _0x12d38f=_0x165e;try{const _0x2195f7=useLocaleStore(),_0x1efeba=useUserStore(),_0x25b49b=findMenuByPath(_0x1efeba[_0x12d38f(0x8a)],_0x30eba8[_0x12d38f(0x88)]);if(_0x25b49b)return _0x2195f7['tMenu'](_0x25b49b);}catch{}return _0x30eba8[_0x12d38f(0x84)][_0x12d38f(0x7e)]?String(_0x30eba8[_0x12d38f(0x84)]['title']):'';}export function syncDocumentTitle(_0x1061dd){const _0x37dcf4=_0x165e;if(typeof document===_0x37dcf4(0x7d))return;const _0x2579c5=getAdminShellBranding()[_0x37dcf4(0x90)];document[_0x37dcf4(0x7e)]=_0x1061dd?_0x1061dd+_0x37dcf4(0x8e)+_0x2579c5:_0x2579c5;}export function syncDocumentTitleFromRoute(_0x3b77b6,_0x412f18=_0x3b77b6[_0x2eb241(0x82)][_0x2eb241(0x8f)]){const _0x41e696=resolvePageTitle(_0x412f18);syncDocumentTitle(_0x41e696||undefined);}export function bindDocumentTitle(_0x5e7178,_0x4e070b){const _0x2d1636=_0x2eb241;syncDocumentTitle(),_0x5e7178[_0x2d1636(0x7a)](_0x34ba0e=>{syncDocumentTitleFromRoute(_0x5e7178,_0x34ba0e);});const _0x2cc292=useLocaleStore(_0x4e070b);watch(()=>[_0x2cc292['locale'],_0x2cc292[_0x2d1636(0x87)]],()=>syncDocumentTitleFromRoute(_0x5e7178));}function _0x2055(){const _0x1a1460=['BwvUDxm','ndbbBgDlr3e','y2HPBgrYzw4','mJK2nhr3CefJzq','ic0G','DMfSDwu','yxbWtMfTzq','mJfSAwzbqu8','mJm1mtu4merUwhbuvq','ywz0zxjfywnO','mtbcvhroA2u','mti3nZe2zNvmBfzt','Dw5KzwzPBMvK','DgL0Bgu','mZu5mteZn1jqq1DNDW','nJa0nty3oe9bA1LUCq','nZC2ywjVvLHh','y3vYCMvUDfjVDxrL','nJaXmdCYofDRtMD1uW','Bwv0yq','BgvUz3rO','CM91DgvY','BwvZC2fNzxm','Cgf0Aa','mtK3odKXwufZruLx'];_0x2055=function(){return _0x1a1460;};return _0x2055();}
@@ -1,13 +0,0 @@
1
- import { type EpsDictNode } from 'vome-core/client';
2
- export type DictNode = EpsDictNode;
3
- /**
4
- * 字典 store:读 EPS 灌入的本地缓存(createEps / loadEps)
5
- * - get:字典树(下拉 / switch)
6
- * - options:平铺 + color → 彩色 tag / 菜单类型等
7
- * - 业务页勿 refresh;字典管理页改完后 refresh(key, true)
8
- */
9
- export declare const useDictStore: any;
10
- /** const { dict } = useDict() */
11
- export declare function useDict(): {
12
- dict: any;
13
- };
@@ -1 +0,0 @@
1
- function _0x1071(_0x45024f,_0x16e99b){_0x45024f=_0x45024f-0x1c6;const _0x255a7d=_0x255a();let _0x107136=_0x255a7d[_0x45024f];if(_0x1071['icFRll']===undefined){var _0x3efc49=function(_0x196bf0){const _0x5f2856='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x575b9e='',_0x4f891c='';for(let _0x1f1979=0x0,_0x23499c,_0x4128c7,_0x5b4713=0x0;_0x4128c7=_0x196bf0['charAt'](_0x5b4713++);~_0x4128c7&&(_0x23499c=_0x1f1979%0x4?_0x23499c*0x40+_0x4128c7:_0x4128c7,_0x1f1979++%0x4)?_0x575b9e+=String['fromCharCode'](0xff&_0x23499c>>(-0x2*_0x1f1979&0x6)):0x0){_0x4128c7=_0x5f2856['indexOf'](_0x4128c7);}for(let _0x19bc52=0x0,_0x18c241=_0x575b9e['length'];_0x19bc52<_0x18c241;_0x19bc52++){_0x4f891c+='%'+('00'+_0x575b9e['charCodeAt'](_0x19bc52)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f891c);};_0x1071['bczpQi']=_0x3efc49,_0x1071['ebrVRJ']={},_0x1071['icFRll']=!![];}const _0x510237=_0x255a7d[0x0],_0x4683bd=_0x45024f+_0x510237,_0x12b55d=_0x1071['ebrVRJ'][_0x4683bd];return!_0x12b55d?(_0x107136=_0x1071['bczpQi'](_0x107136),_0x1071['ebrVRJ'][_0x4683bd]=_0x107136):_0x107136=_0x12b55d,_0x107136;}(function(_0x59902b,_0x53d046){const _0x2ae532=_0x1071,_0x2969f1=_0x59902b();while(!![]){try{const _0x4f7cf9=parseInt(_0x2ae532(0x1db))/0x1*(parseInt(_0x2ae532(0x1ce))/0x2)+parseInt(_0x2ae532(0x1ca))/0x3+parseInt(_0x2ae532(0x1dc))/0x4*(-parseInt(_0x2ae532(0x1d1))/0x5)+-parseInt(_0x2ae532(0x1d2))/0x6+-parseInt(_0x2ae532(0x1d6))/0x7+parseInt(_0x2ae532(0x1c9))/0x8+parseInt(_0x2ae532(0x1d5))/0x9;if(_0x4f7cf9===_0x53d046)break;else _0x2969f1['push'](_0x2969f1['shift']());}catch(_0xa0cc33){_0x2969f1['push'](_0x2969f1['shift']());}}}(_0x255a,0xaedcd));import{getDict,getDictMap,getDictOptions,hydrateDictFromEps}from'vome-core/client';function isEmpty(_0x575b9e){return _0x575b9e===''||_0x575b9e===null||_0x575b9e===undefined;}function sameValue(_0x4f891c,_0x1f1979){if(_0x4f891c===_0x1f1979)return!![];if(_0x4f891c==null||_0x1f1979==null)return![];return String(_0x4f891c)===String(_0x1f1979);}function deepFind(_0x23499c,_0x4128c7,_0x5b4713=[]){const _0x560499=_0x1071;for(const _0x19bc52 of _0x4128c7){if(sameValue(_0x19bc52['value'],_0x23499c))return{..._0x19bc52,'label':_0x5b4713[_0x560499(0x1cd)]?[..._0x5b4713,_0x19bc52[_0x560499(0x1d4)]||_0x19bc52[_0x560499(0x1da)]][_0x560499(0x1cb)]('\x20/\x20'):_0x19bc52[_0x560499(0x1d4)]||_0x19bc52[_0x560499(0x1da)]};if(_0x19bc52[_0x560499(0x1c7)]?.[_0x560499(0x1cd)]){const _0x18c241=deepFind(_0x23499c,_0x19bc52[_0x560499(0x1c7)],[..._0x5b4713,_0x19bc52[_0x560499(0x1d4)]||_0x19bc52[_0x560499(0x1da)]]);if(_0x18c241)return _0x18c241;}}return;}function _0x255a(){const _0x5d3448=['nJKZnZCYnuHdugjVsa','mZq2mJbZr0n6t3u','yM9VBgvHBG','BgfIzwW','mtm5mtuZndffyunIrgy','mZaYmtm2muTWAwH3AG','zMLSDgvY','Aw5MBW','zgLJDa','BMfTzq','nu9bzg16sq','nfDUugrLqW','AxnbCNjHEq','y2HPBgrYzw4','A2v5CW','odm5mtC2sgLiD1bx','mtmWmJK1n1v1rvzvEq','AM9PBG','zgf0yq','BgvUz3rO','mtGYmZi0v0vgsLn0','BwfW','zM9Yy2u'];_0x255a=function(){return _0x5d3448;};return _0x255a();}function snapshot(_0x55e39c){const _0x110660=getDictMap(),_0x210908={};for(const _0x568173 of _0x55e39c||[])_0x210908[_0x568173]=_0x110660[_0x568173]||[];return _0x210908;}export const useDictStore=defineStore('dict',()=>{function _0x4695ad(_0x1ffb75){return computed(()=>getDict(_0x1ffb75));}function _0x5e7d23(_0xc40a3e,_0x31e034){const _0x4f0ac7=_0x1071,_0x57e7a7=getDictMap()[_0xc40a3e]||[],_0x21f312=Array[_0x4f0ac7(0x1c6)](_0x31e034)?_0x31e034:[_0x31e034];return _0x21f312[_0x4f0ac7(0x1d7)](_0x2f2ff=>_0x2f2ff!==undefined)[_0x4f0ac7(0x1cf)](_0x3a4c34=>deepFind(_0x3a4c34,_0x57e7a7));}function _0x34c0b3(_0x3a446b){return computed(()=>getDictOptions(_0x3a446b));}async function _0x47032a(_0x37f213,_0x4749b0=![]){const _0x208f6f=_0x1071,_0x3e1feb=typeof _0x4749b0===_0x208f6f(0x1d3)?_0x4749b0:Boolean(_0x4749b0?.[_0x208f6f(0x1d0)]),_0x1b7a43=typeof _0x37f213==='string'?[_0x37f213]:_0x37f213,_0x2c5343=_0x1b7a43?.['filter'](_0x6b790a=>!isEmpty(_0x6b790a));if(!_0x3e1feb)return snapshot(_0x2c5343);const _0x2511b0=await service['base'][_0x208f6f(0x1d9)][_0x208f6f(0x1d8)][_0x208f6f(0x1cc)]({'types':_0x2c5343});hydrateDictFromEps(_0x2511b0);const _0x5df1c4=_0x2c5343?.[_0x208f6f(0x1cd)]?_0x2c5343:Object[_0x208f6f(0x1c8)](_0x2511b0||{});return snapshot(_0x5df1c4);}return{'get':_0x4695ad,'find':_0x5e7d23,'options':_0x34c0b3,'refresh':_0x47032a};});export function useDict(){const _0x41bda5=useDictStore();return{'dict':_0x41bda5};}
@@ -1,3 +0,0 @@
1
- export type { I18nLangItem } from 'vome-core/client';
2
- /** admin 宿主语言包 store(逻辑在 vome-core) */
3
- export declare const useLocaleStore: any;
@@ -1 +0,0 @@
1
- const _0x1e96d8=_0x1943;(function(_0x52a0ad,_0x385391){const _0x5a9e6e=_0x1943,_0x2dc1c4=_0x52a0ad();while(!![]){try{const _0xcbfe5e=-parseInt(_0x5a9e6e(0x194))/0x1+parseInt(_0x5a9e6e(0x195))/0x2*(-parseInt(_0x5a9e6e(0x18e))/0x3)+-parseInt(_0x5a9e6e(0x196))/0x4+-parseInt(_0x5a9e6e(0x18d))/0x5*(-parseInt(_0x5a9e6e(0x198))/0x6)+-parseInt(_0x5a9e6e(0x18f))/0x7+-parseInt(_0x5a9e6e(0x190))/0x8+parseInt(_0x5a9e6e(0x199))/0x9;if(_0xcbfe5e===_0x385391)break;else _0x2dc1c4['push'](_0x2dc1c4['shift']());}catch(_0x9397c){_0x2dc1c4['push'](_0x2dc1c4['shift']());}}}(_0x1d5a,0x1f63a));import{setCrudTranslator}from'../crud/style';import{service}from'../service';function _0x1d5a(){const _0x5e8806=['C2v0sxrLBq','mtHzBNvUDfK','nJeXmteYnML0BhHUuG','z2v0sxrLBq','DM9Tzv9Hzg1PBL9SB2nHBgu','mZu1odG1ufzsBLns','ndi2otqYz3z0DgPm','mZyZmdyYrejuvLvW','nZKYmdG4yNz3zNjN','Ate4BG','ywrTAw4','CgfJAW','mJe1mtu5uuXWzvnI','mKX4zNLxrq','mtaYmJuWmfzhshjwqG'];_0x1d5a=function(){return _0x5e8806;};return _0x1d5a();}import{createLocaleStore}from'vome-core/client';function _0x1943(_0x59aa22,_0x360493){_0x59aa22=_0x59aa22-0x18c;const _0x1d5a6b=_0x1d5a();let _0x194384=_0x1d5a6b[_0x59aa22];if(_0x1943['BGTRAL']===undefined){var _0x3af62d=function(_0x4a450a){const _0x514f32='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b1345='',_0x4b94e6='';for(let _0x38d871=0x0,_0x3d9613,_0x4e196c,_0x87be79=0x0;_0x4e196c=_0x4a450a['charAt'](_0x87be79++);~_0x4e196c&&(_0x3d9613=_0x38d871%0x4?_0x3d9613*0x40+_0x4e196c:_0x4e196c,_0x38d871++%0x4)?_0x1b1345+=String['fromCharCode'](0xff&_0x3d9613>>(-0x2*_0x38d871&0x6)):0x0){_0x4e196c=_0x514f32['indexOf'](_0x4e196c);}for(let _0x309600=0x0,_0x7cb365=_0x1b1345['length'];_0x309600<_0x7cb365;_0x309600++){_0x4b94e6+='%'+('00'+_0x1b1345['charCodeAt'](_0x309600)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b94e6);};_0x1943['oZkzit']=_0x3af62d,_0x1943['NTHPKK']={},_0x1943['BGTRAL']=!![];}const _0xdc3108=_0x1d5a6b[0x0],_0x41f8d7=_0x59aa22+_0xdc3108,_0x943e6a=_0x1943['NTHPKK'][_0x41f8d7];return!_0x943e6a?(_0x194384=_0x1943['oZkzit'](_0x194384),_0x1943['NTHPKK'][_0x41f8d7]=_0x194384):_0x194384=_0x943e6a,_0x194384;}export const useLocaleStore=createLocaleStore({'storageKey':_0x1e96d8(0x18c),'scopeKey':_0x1e96d8(0x192),'langMode':'admin','enableMenu':!![],'persist':{'get':_0x1b1345=>localStorage[_0x1e96d8(0x19a)](_0x1b1345),'set':(_0x4b94e6,_0x38d871)=>localStorage[_0x1e96d8(0x197)](_0x4b94e6,_0x38d871)},'getPackApi':()=>service[_0x1e96d8(0x191)]?.[_0x1e96d8(0x193)],'onPackLoaded':({t:_0x3d9613})=>{setCrudTranslator((_0x4e196c,_0x87be79)=>_0x3d9613(_0x4e196c,_0x87be79));}});
@@ -1 +0,0 @@
1
- export declare const useThemeStore: any;
@@ -1 +0,0 @@
1
- const _0x1cadcc=_0x2231;(function(_0x45a546,_0x48a13d){const _0x353d02=_0x2231,_0x6e8cc9=_0x45a546();while(!![]){try{const _0x542633=-parseInt(_0x353d02(0x19d))/0x1+-parseInt(_0x353d02(0x1a9))/0x2*(-parseInt(_0x353d02(0x1b0))/0x3)+-parseInt(_0x353d02(0x1ab))/0x4+-parseInt(_0x353d02(0x1a0))/0x5+parseInt(_0x353d02(0x1ae))/0x6*(-parseInt(_0x353d02(0x1a8))/0x7)+parseInt(_0x353d02(0x1aa))/0x8*(parseInt(_0x353d02(0x1ad))/0x9)+parseInt(_0x353d02(0x1ac))/0xa;if(_0x542633===_0x48a13d)break;else _0x6e8cc9['push'](_0x6e8cc9['shift']());}catch(_0x1c3910){_0x6e8cc9['push'](_0x6e8cc9['shift']());}}}(_0x2559,0x63eec));import{bus}from'wujie';function _0x2231(_0x1ad8aa,_0x593251){_0x1ad8aa=_0x1ad8aa-0x19a;const _0x2559bb=_0x2559();let _0x223179=_0x2559bb[_0x1ad8aa];if(_0x2231['qCUUto']===undefined){var _0x1bec83=function(_0x1fc7f9){const _0x32a68c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x92ac12='',_0x464cd1='';for(let _0x47dedd=0x0,_0x46e6e6,_0x922008,_0x6a37da=0x0;_0x922008=_0x1fc7f9['charAt'](_0x6a37da++);~_0x922008&&(_0x46e6e6=_0x47dedd%0x4?_0x46e6e6*0x40+_0x922008:_0x922008,_0x47dedd++%0x4)?_0x92ac12+=String['fromCharCode'](0xff&_0x46e6e6>>(-0x2*_0x47dedd&0x6)):0x0){_0x922008=_0x32a68c['indexOf'](_0x922008);}for(let _0x330019=0x0,_0x464199=_0x92ac12['length'];_0x330019<_0x464199;_0x330019++){_0x464cd1+='%'+('00'+_0x92ac12['charCodeAt'](_0x330019)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x464cd1);};_0x2231['lPPvao']=_0x1bec83,_0x2231['OYaNcq']={},_0x2231['qCUUto']=!![];}const _0xa746c4=_0x2559bb[0x0],_0x5435ac=_0x1ad8aa+_0xa746c4,_0x5d7996=_0x2231['OYaNcq'][_0x5435ac];return!_0x5d7996?(_0x223179=_0x2231['lPPvao'](_0x223179),_0x2231['OYaNcq'][_0x5435ac]=_0x223179):_0x223179=_0x5d7996,_0x223179;}import{applyTheme,listThemes}from'../themes';import{hasMicroThemeListeners,MICRO_SET_THEME_EVENT,MICRO_THEME_EVENT,snapshotHostTheme}from'../lib/micro-theme';const THEME_KEY=_0x1cadcc(0x19a);let themeTransitioning=![];function prefersReducedMotion(){const _0x4cde4f=_0x1cadcc;if(typeof window===_0x4cde4f(0x19b))return!![];return window[_0x4cde4f(0x1a5)]('(prefers-reduced-motion:\x20reduce)')['matches'];}function broadcastHostTheme(){try{if(!hasMicroThemeListeners())return;bus['$emit'](MICRO_THEME_EVENT,snapshotHostTheme());}catch{}}function runThemeUpdate(_0x92ac12,_0x464cd1){const _0x21de5b=_0x1cadcc,_0x47dedd=typeof document!==_0x21de5b(0x19b)?document:null;if(!_0x464cd1||!_0x47dedd?.[_0x21de5b(0x1a6)]||prefersReducedMotion()||themeTransitioning){_0x92ac12(),queueMicrotask(()=>broadcastHostTheme());return;}themeTransitioning=!![];const _0x46e6e6=_0x47dedd[_0x21de5b(0x1a6)](_0x92ac12);_0x46e6e6[_0x21de5b(0x1a3)][_0x21de5b(0x1b1)](()=>{themeTransitioning=![],broadcastHostTheme(),requestAnimationFrame(()=>broadcastHostTheme());});}function _0x2559(){const _0x5ae052=['mJeZmda0mKv6D0XUuW','z2v0sxrLBq','ndG5uMHtwwrX','zMLUywXSEq','DM9Tzv9Hzg1PBL90AgvTzq','Dw5KzwzPBMvK','jg9U','mZi1ndy4rNjmELnp','BgLNAhq','C2v0vgHLBwu','nda1mZeXmePIBMjXDq','C2v0sxrLBq','zgfYAW','zMLUAxnOzwq','yw5PBwf0zq','Bwf0y2HnzwrPyq','C3rHCNrwAwv3vhjHBNnPDgLVBG','DgHLBwvjza','n1nqtwjdDq','mJyXmLnir2n1vW','nZq2mtq0v2fYCufZ','mZe3nteWoeL3C2TYEG','mJaXndK4mdbUzwvbt3K','ndvfrvbrrwm'];_0x2559=function(){return _0x5ae052;};return _0x2559();}let guestThemeBound=![];function bindGuestThemeRequests(_0x922008){const _0x19b9ce=_0x1cadcc;if(guestThemeBound)return;guestThemeBound=!![];try{bus[_0x19b9ce(0x19c)](MICRO_SET_THEME_EVENT,_0x6a37da=>{const _0x153523=_0x19b9ce,_0x330019=_0x6a37da?.['themeId']===_0x153523(0x1a2)?_0x153523(0x1a2):_0x153523(0x19e);if(_0x330019===_0x922008[_0x153523(0x1a7)])return;_0x922008[_0x153523(0x19f)](_0x330019);});}catch{}}export const useThemeStore=defineStore('theme',{'state':()=>({'themeId':localStorage[_0x1cadcc(0x1af)](THEME_KEY)||_0x1cadcc(0x19e)}),'getters':{'themes':()=>listThemes()},'actions':{'initTheme'(){const _0x1e8404=_0x1cadcc;applyTheme(this[_0x1e8404(0x1a7)]),broadcastHostTheme(),bindGuestThemeRequests(this);},'setTheme'(_0x464199,_0x32d5ea){const _0x5e96bf=_0x1cadcc,_0x5d80bf=_0x464199!==this['themeId'],_0x30ec5c=_0x32d5ea?.[_0x5e96bf(0x1a4)]!==![]&&_0x5d80bf;runThemeUpdate(()=>{const _0x1c8793=_0x5e96bf;this[_0x1c8793(0x1a7)]=_0x464199,localStorage[_0x1c8793(0x1a1)](THEME_KEY,_0x464199),applyTheme(_0x464199),broadcastHostTheme();},_0x30ec5c);}}});