vome-core 0.3.38 → 0.3.39

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 (74) hide show
  1. package/dist/admin/components/ui/avatar/index.js +1 -1
  2. package/dist/admin/components/ui/checkbox/index.js +1 -1
  3. package/dist/admin/components/ui/dialog/index.js +1 -1
  4. package/dist/admin/components/ui/dropdown-menu/index.js +1 -1
  5. package/dist/admin/components/ui/input/index.js +1 -1
  6. package/dist/admin/components/ui/label/index.js +1 -1
  7. package/dist/admin/components/ui/scroll-area/index.js +1 -1
  8. package/dist/admin/components/ui/select/index.js +1 -1
  9. package/dist/admin/components/ui/separator/index.js +1 -1
  10. package/dist/admin/components/ui/sheet/index.js +1 -1
  11. package/dist/admin/components/ui/sonner/index.js +1 -1
  12. package/dist/admin/components/ui/table/index.js +1 -1
  13. package/dist/admin/components/ui/tabs/index.js +1 -1
  14. package/dist/admin/components/ui/tooltip/index.js +1 -1
  15. package/dist/admin/crud/auto-fields.js +1 -1
  16. package/dist/admin/crud/components/vm-color-picker.vue +19 -1
  17. package/dist/admin/crud/components/vm-context-menu.vue +9 -5
  18. package/dist/admin/crud/components/vm-richtext-extensions.js +1 -1
  19. package/dist/admin/crud/components/vm-richtext.vue +312 -23
  20. package/dist/admin/crud/config.js +1 -1
  21. package/dist/admin/crud/confirm.js +1 -1
  22. package/dist/admin/crud/crud-page-request.js +1 -1
  23. package/dist/admin/crud/data-i18n.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/lib/browser.js +1 -1
  34. package/dist/admin/lib/cn.js +1 -1
  35. package/dist/admin/lib/dialog-float.js +1 -1
  36. package/dist/admin/lib/export-excel.js +1 -1
  37. package/dist/admin/lib/import-excel.js +1 -1
  38. package/dist/admin/lib/json.js +1 -1
  39. package/dist/admin/lib/menu.js +1 -1
  40. package/dist/admin/lib/micro-locale.js +1 -1
  41. package/dist/admin/lib/micro-theme.js +1 -1
  42. package/dist/admin/lib/shell.js +1 -1
  43. package/dist/admin/lib/theme-color-options.js +1 -1
  44. package/dist/admin/lib/tree.js +1 -1
  45. package/dist/admin/lib/upload.js +1 -1
  46. package/dist/admin/lib/video-frame.js +1 -1
  47. package/dist/admin/router/create.js +1 -1
  48. package/dist/admin/router/guards.js +1 -1
  49. package/dist/ai/index.js +1 -1
  50. package/dist/client/ai-model-registry.js +1 -1
  51. package/dist/client/base.js +1 -1
  52. package/dist/client/configure.js +1 -1
  53. package/dist/client/dict.js +1 -1
  54. package/dist/client/eps-payload.js +1 -1
  55. package/dist/client/eps.js +1 -1
  56. package/dist/client/index.js +1 -1
  57. package/dist/client/locale-change.js +1 -1
  58. package/dist/client/locale-store.js +1 -1
  59. package/dist/client/service.js +1 -1
  60. package/dist/client/vite-admin.js +1 -1
  61. package/dist/client/vite-auto-import.js +1 -1
  62. package/dist/client/vite-micro-proxy.js +1 -1
  63. package/dist/client/vite-plugin-eps.js +1 -1
  64. package/dist/client/vite-resolve.js +1 -1
  65. package/dist/config/index.js +1 -1
  66. package/dist/index.js +1 -1
  67. package/dist/server/index.js +1 -1
  68. package/dist/shared/datetime-picker.js +1 -1
  69. package/dist/shared/decimal.js +1 -1
  70. package/dist/shared/excel.js +1 -1
  71. package/dist/shared/index.js +1 -1
  72. package/dist/shared/locale-json.js +1 -1
  73. package/dist/shared/tree.js +1 -1
  74. package/package.json +2 -1
@@ -25,9 +25,36 @@
25
25
  <button type="button" class="vm-richtext__btn" :class="{ 'is-active': editor.isActive('italic') }" :title="crudLabel('rtItalic')" @click="editor.chain().focus().toggleItalic().run()"><i class="ri-italic" /></button>
26
26
  <button type="button" class="vm-richtext__btn" :class="{ 'is-active': editor.isActive('underline') }" :title="crudLabel('rtUnderline')" @click="editor.chain().focus().toggleUnderline().run()"><i class="ri-underline" /></button>
27
27
  <button type="button" class="vm-richtext__btn" :class="{ 'is-active': editor.isActive('strike') }" :title="crudLabel('rtStrike')" @click="editor.chain().focus().toggleStrike().run()"><i class="ri-strikethrough" /></button>
28
- <button type="button" class="vm-richtext__btn" :class="{ 'is-active': editor.isActive('highlight') }" :title="crudLabel('rtHighlight')" @click="editor.chain().focus().toggleHighlight().run()"><i class="ri-mark-pen-line" /></button>
29
- <span class="vm-richtext__sep" />
30
- <button type="button" class="vm-richtext__btn" :title="crudLabel('rtTextColor')" @click="pickTextColor"><i class="ri-font-color" /></button>
28
+ <span
29
+ class="vm-richtext__color"
30
+ :class="{ 'is-active': editor.isActive('highlight') }"
31
+ :title="crudLabel('rtBgColor')"
32
+ @pointerdown="rememberSelection"
33
+ >
34
+ <vm-color-picker
35
+ size="sm"
36
+ swatch-only
37
+ :enable-theme="false"
38
+ :disabled="disabled"
39
+ :model-value="highlightColor"
40
+ @update:model-value="applyHighlightColor"
41
+ />
42
+ </span>
43
+ <span
44
+ class="vm-richtext__color"
45
+ :class="{ 'is-active': Boolean(textColor && textColor !== '#111827') }"
46
+ :title="crudLabel('rtTextColor')"
47
+ @pointerdown="rememberSelection"
48
+ >
49
+ <vm-color-picker
50
+ size="sm"
51
+ swatch-only
52
+ :enable-theme="false"
53
+ :disabled="disabled"
54
+ :model-value="textColor"
55
+ @update:model-value="applyTextColor"
56
+ />
57
+ </span>
31
58
  <span class="vm-richtext__sep" />
32
59
  <button type="button" class="vm-richtext__btn" :class="{ 'is-active': editor.isActive('heading', { level: 2 }) }" :title="crudLabel('rtH2')" @click="editor.chain().focus().toggleHeading({ level: 2 }).run()">H2</button>
33
60
  <button type="button" class="vm-richtext__btn" :class="{ 'is-active': editor.isActive('heading', { level: 3 }) }" :title="crudLabel('rtH3')" @click="editor.chain().focus().toggleHeading({ level: 3 }).run()">H3</button>
@@ -84,13 +111,19 @@
84
111
  </div>
85
112
 
86
113
  <EditorContent class="vm-richtext__content" :editor="editor" />
114
+ <vm-context-menu
115
+ ref="tableCtxRef"
116
+ :items="tableCtxItems"
117
+ :z-index="10050"
118
+ @select="onTableCtxSelect"
119
+ />
87
120
  </div>
88
121
  </div>
89
122
  </template>
90
123
 
91
124
  <script setup lang="ts">
92
125
  import { crudLabel } from '../style'
93
- import { computed, nextTick, onBeforeUnmount, onMounted, shallowRef, watch } from 'vue'
126
+ import { computed, nextTick, onBeforeUnmount, onMounted, ref, shallowRef, watch } from 'vue'
94
127
  import DOMPurify from 'dompurify'
95
128
  import { EditorContent, useEditor } from '@tiptap/vue-3'
96
129
  import StarterKit from '@tiptap/starter-kit'
@@ -110,6 +143,12 @@ import TableHeader from '@tiptap/extension-table-header'
110
143
  import TableCell from '@tiptap/extension-table-cell'
111
144
  import { useUpload } from '../../hooks/useUpload'
112
145
  import { VM_RICHTEXT_EMOJIS, VmRichtextVideo } from './vm-richtext-extensions'
146
+ import VmColorPicker from './vm-color-picker.vue'
147
+ import VmContextMenu from './vm-context-menu.vue'
148
+ import { CellSelection, cellAround } from '@tiptap/pm/tables'
149
+ import type { Editor } from '@tiptap/core'
150
+ import type { EditorView } from '@tiptap/pm/view'
151
+ import type { CtxMenuItem } from '../../../../typings/admin/comm/crud'
113
152
 
114
153
  defineOptions({ name: 'vm-richtext' })
115
154
 
@@ -149,6 +188,142 @@ const emojiOpen = shallowRef(false)
149
188
  const emojiBtnRef = shallowRef<HTMLElement>()
150
189
  const emojiPanelRef = shallowRef<HTMLElement>()
151
190
  const emojiPanelStyle = shallowRef<Record<string, string>>({})
191
+ const textColor = ref('#111827')
192
+ const highlightColor = ref('#fef08a')
193
+ /** 点开取色器前保存选区,避免焦点离开编辑器后丢标记范围 */
194
+ let savedSelection: { from: number; to: number } | null = null
195
+
196
+ const tableCtxRef = ref<{ open: (ev: MouseEvent) => void; close: () => void } | null>(null)
197
+ const tableCtxItems = ref<CtxMenuItem[]>([])
198
+
199
+ type TableCtxKey =
200
+ | 'addColumnBefore'
201
+ | 'addColumnAfter'
202
+ | 'addRowBefore'
203
+ | 'addRowAfter'
204
+ | 'deleteColumn'
205
+ | 'deleteRow'
206
+ | 'mergeCells'
207
+ | 'splitCell'
208
+
209
+ function cellPosInSelection(sel: CellSelection, cellPos: number) {
210
+ let hit = false
211
+ sel.forEachCell((_node, pos) => {
212
+ if (pos === cellPos) hit = true
213
+ })
214
+ return hit
215
+ }
216
+
217
+ /** 右键落点:已在多选内则保留;否则选中该单元格作为参照 */
218
+ function selectTableCellFromEvent(ed: Editor, event: MouseEvent) {
219
+ const view = ed.view
220
+ const coords = view.posAtCoords({ left: event.clientX, top: event.clientY })
221
+ if (!coords) return false
222
+ const $cell = cellAround(view.state.doc.resolve(coords.pos))
223
+ if (!$cell) return false
224
+
225
+ const { selection } = view.state
226
+ if (selection instanceof CellSelection && cellPosInSelection(selection, $cell.pos)) {
227
+ return true
228
+ }
229
+
230
+ const tr = view.state.tr.setSelection(CellSelection.create(view.state.doc, $cell.pos))
231
+ view.dispatch(tr)
232
+ return true
233
+ }
234
+
235
+ function buildTableCtxItems(ed: Editor): CtxMenuItem[] {
236
+ const can = ed.can()
237
+ return [
238
+ {
239
+ key: 'addColumnBefore',
240
+ label: crudLabel('rtTableColBefore'),
241
+ disabled: !can.addColumnBefore(),
242
+ },
243
+ {
244
+ key: 'addColumnAfter',
245
+ label: crudLabel('rtTableColAfter'),
246
+ disabled: !can.addColumnAfter(),
247
+ },
248
+ {
249
+ key: 'addRowBefore',
250
+ label: crudLabel('rtTableRowBefore'),
251
+ disabled: !can.addRowBefore(),
252
+ },
253
+ {
254
+ key: 'addRowAfter',
255
+ label: crudLabel('rtTableRowAfter'),
256
+ disabled: !can.addRowAfter(),
257
+ },
258
+ {
259
+ key: 'deleteColumn',
260
+ label: crudLabel('rtTableDeleteCol'),
261
+ disabled: !can.deleteColumn(),
262
+ },
263
+ {
264
+ key: 'deleteRow',
265
+ label: crudLabel('rtTableDeleteRow'),
266
+ disabled: !can.deleteRow(),
267
+ },
268
+ {
269
+ key: 'mergeCells',
270
+ label: crudLabel('rtTableMerge'),
271
+ disabled: !can.mergeCells(),
272
+ },
273
+ {
274
+ key: 'splitCell',
275
+ label: crudLabel('rtTableSplit'),
276
+ disabled: !can.splitCell(),
277
+ },
278
+ ]
279
+ }
280
+
281
+ function onTableContextMenu(view: EditorView, event: MouseEvent) {
282
+ const ed = editor.value
283
+ if (!ed || ed.isDestroyed || props.disabled) return false
284
+ const target = event.target as HTMLElement | null
285
+ if (!target?.closest?.('td, th')) return false
286
+ if (!selectTableCellFromEvent(ed, event)) return false
287
+ event.preventDefault()
288
+ tableCtxItems.value = buildTableCtxItems(ed)
289
+ tableCtxRef.value?.open(event)
290
+ return true
291
+ }
292
+
293
+ function onTableCtxSelect(key: string) {
294
+ const ed = editor.value
295
+ if (!ed) return
296
+ const k = key as TableCtxKey
297
+ const chain = ed.chain().focus()
298
+ switch (k) {
299
+ case 'addColumnBefore':
300
+ chain.addColumnBefore().run()
301
+ break
302
+ case 'addColumnAfter':
303
+ chain.addColumnAfter().run()
304
+ break
305
+ case 'addRowBefore':
306
+ chain.addRowBefore().run()
307
+ break
308
+ case 'addRowAfter':
309
+ chain.addRowAfter().run()
310
+ break
311
+ case 'deleteColumn':
312
+ chain.deleteColumn().run()
313
+ break
314
+ case 'deleteRow':
315
+ chain.deleteRow().run()
316
+ break
317
+ case 'mergeCells':
318
+ chain.mergeCells().run()
319
+ break
320
+ case 'splitCell':
321
+ chain.splitCell().run()
322
+ break
323
+ default:
324
+ break
325
+ }
326
+ }
152
327
 
153
328
  const readOnlyMode = computed(() => props.readonly)
154
329
  const uploadEnabled = computed(() => Boolean(props.uploadImage) || props.autoUpload !== false)
@@ -163,7 +338,7 @@ function sanitize(html: string) {
163
338
  ALLOWED_TAGS: RICH_TAGS,
164
339
  ALLOWED_ATTR: [
165
340
  'href', 'target', 'rel', 'class', 'src', 'alt', 'title', 'width', 'height',
166
- 'colspan', 'rowspan', 'align', 'controls', 'style',
341
+ 'colspan', 'rowspan', 'align', 'controls', 'style', 'data-color',
167
342
  ],
168
343
  })
169
344
  }
@@ -275,6 +450,64 @@ function insertEmoji(emoji: string) {
275
450
  emojiOpen.value = false
276
451
  }
277
452
 
453
+ function rememberSelection() {
454
+ const ed = editor.value
455
+ if (!ed) return
456
+ const { from, to } = ed.state.selection
457
+ savedSelection = { from, to }
458
+ }
459
+
460
+ function syncColorModels() {
461
+ const ed = editor.value
462
+ if (!ed) return
463
+ const fg = ed.getAttributes('textStyle').color as string | undefined
464
+ textColor.value = fg?.trim() || '#111827'
465
+ const bg = ed.getAttributes('highlight').color as string | undefined
466
+ highlightColor.value = bg?.trim() || '#fef08a'
467
+ }
468
+
469
+ function withSavedSelection(run: (chain: {
470
+ unsetColor: () => { run: () => boolean }
471
+ setColor: (c: string) => { run: () => boolean }
472
+ unsetHighlight: () => { run: () => boolean }
473
+ setHighlight: (attrs: { color: string }) => { run: () => boolean }
474
+ }) => void) {
475
+ const ed = editor.value
476
+ if (!ed) return
477
+ const chain = ed.chain().focus()
478
+ if (savedSelection) {
479
+ chain.setTextSelection(savedSelection)
480
+ }
481
+ run(chain as never)
482
+ savedSelection = {
483
+ from: ed.state.selection.from,
484
+ to: ed.state.selection.to,
485
+ }
486
+ syncColorModels()
487
+ }
488
+
489
+ function applyTextColor(v: string) {
490
+ const color = String(v || '').trim()
491
+ withSavedSelection((chain) => {
492
+ if (!color) {
493
+ chain.unsetColor().run()
494
+ return
495
+ }
496
+ chain.setColor(color).run()
497
+ })
498
+ }
499
+
500
+ function applyHighlightColor(v: string) {
501
+ const color = String(v || '').trim()
502
+ withSavedSelection((chain) => {
503
+ if (!color) {
504
+ chain.unsetHighlight().run()
505
+ return
506
+ }
507
+ chain.setHighlight({ color }).run()
508
+ })
509
+ }
510
+
278
511
  function insertTable() {
279
512
  editor.value
280
513
  ?.chain()
@@ -283,20 +516,6 @@ function insertTable() {
283
516
  .run()
284
517
  }
285
518
 
286
- function pickTextColor() {
287
- const ed = editor.value
288
- if (!ed) return
289
- const current = (ed.getAttributes('textStyle').color as string | undefined) || '#111827'
290
- const color = window.prompt(crudLabel('textColorPrompt'), current)
291
- if (color == null) return
292
- const v = color.trim()
293
- if (!v) {
294
- ed.chain().focus().unsetColor().run()
295
- return
296
- }
297
- ed.chain().focus().setColor(v).run()
298
- }
299
-
300
519
  function toggleLink() {
301
520
  const ed = editor.value
302
521
  if (!ed) return
@@ -363,7 +582,7 @@ const editor = useEditor({
363
582
  Underline,
364
583
  TextStyle,
365
584
  Color,
366
- Highlight.configure({ multicolor: false }),
585
+ Highlight.configure({ multicolor: true }),
367
586
  TextAlign.configure({ types: ['heading', 'paragraph'] }),
368
587
  TaskList,
369
588
  TaskItem.configure({ nested: true }),
@@ -385,11 +604,20 @@ const editor = useEditor({
385
604
  attributes: { class: 'vm-richtext__prose' },
386
605
  handlePaste: (_view, event) => handleMediaPaste(event),
387
606
  handleDrop: (_view, event, _slice, moved) => handleMediaDrop(event, moved),
607
+ handleDOMEvents: {
608
+ contextmenu: (view, event) => onTableContextMenu(view, event),
609
+ },
388
610
  },
389
611
  onUpdate: ({ editor: ed }) => {
390
612
  if (syncing.value) return
391
613
  emit('update:modelValue', normalizeHtml(ed.getHTML()))
392
614
  },
615
+ onSelectionUpdate: () => {
616
+ syncColorModels()
617
+ },
618
+ onTransaction: () => {
619
+ syncColorModels()
620
+ },
393
621
  })
394
622
 
395
623
  watch(() => props.modelValue, (next) => {
@@ -497,6 +725,36 @@ onBeforeUnmount(() => {
497
725
  &:disabled { opacity: 0.35; cursor: not-allowed; }
498
726
  }
499
727
 
728
+ .vm-richtext__color {
729
+ display: inline-flex;
730
+ align-items: center;
731
+ justify-content: center;
732
+ min-width: 28px;
733
+ height: 28px;
734
+ padding: 0 4px;
735
+ border-radius: 6px;
736
+ cursor: pointer;
737
+ transition: background 0.15s ease;
738
+
739
+ &:hover {
740
+ background: color-mix(in srgb, var(--brand) 10%, transparent);
741
+ }
742
+
743
+ &.is-active {
744
+ background: color-mix(in srgb, var(--brand) 16%, transparent);
745
+ }
746
+
747
+ :deep(.vm-color-picker) {
748
+ width: auto;
749
+ }
750
+
751
+ :deep(.vm-color-picker__swatch) {
752
+ width: 18px;
753
+ height: 18px;
754
+ border-radius: 4px;
755
+ }
756
+ }
757
+
500
758
  .vm-richtext__sep {
501
759
  width: 1px;
502
760
  height: 18px;
@@ -601,14 +859,45 @@ onBeforeUnmount(() => {
601
859
  blockquote { margin: 0.45em 0; padding-left: 12px; border-left: 3px solid var(--border); color: var(--muted-foreground); }
602
860
  a { color: var(--brand); text-decoration: underline; cursor: pointer; }
603
861
  img, video { display: block; max-width: 100%; height: auto; margin: 8px 0; border-radius: 8px; }
604
- mark { background: color-mix(in srgb, var(--brand) 22%, transparent); border-radius: 2px; padding: 0 2px; }
862
+ mark {
863
+ border-radius: 2px;
864
+ padding: 0 2px;
865
+ }
866
+ mark:not([style*='background']) {
867
+ background: color-mix(in srgb, var(--brand) 22%, transparent);
868
+ }
605
869
  code { padding: 0.1em 0.35em; border-radius: 4px; background: var(--muted); font-size: 0.92em; }
606
870
  pre { margin: 0.5em 0; padding: 10px 12px; border-radius: 8px; background: var(--muted); overflow-x: auto;
607
871
  code { padding: 0; background: transparent; }
608
872
  }
609
- table { width: 100%; border-collapse: collapse; margin: 8px 0; }
610
- th, td { border: 1px solid var(--border); padding: 6px 8px; vertical-align: top; }
873
+ table { width: 100%; border-collapse: collapse; margin: 8px 0; table-layout: fixed; }
874
+ th, td {
875
+ position: relative;
876
+ min-width: 48px;
877
+ padding: 6px 8px;
878
+ border: 1px solid var(--border);
879
+ vertical-align: top;
880
+ }
611
881
  th { background: var(--muted); font-weight: 600; }
882
+ .selectedCell {
883
+ background: color-mix(in srgb, var(--brand) 16%, transparent);
884
+ }
885
+ .selectedCell::after {
886
+ content: '';
887
+ position: absolute;
888
+ inset: 0;
889
+ pointer-events: none;
890
+ background: color-mix(in srgb, var(--brand) 10%, transparent);
891
+ }
892
+ .column-resize-handle {
893
+ position: absolute;
894
+ top: 0;
895
+ right: -2px;
896
+ bottom: 0;
897
+ width: 4px;
898
+ background: var(--brand);
899
+ pointer-events: none;
900
+ }
612
901
  hr { margin: 12px 0; border: none; border-top: 1px solid var(--border); }
613
902
  }
614
903
  </style>
@@ -1 +1 @@
1
- (function(_0x2ef6f2,_0x4086d5){const _0x340857=_0x172f,_0x35047e=_0x2ef6f2();while(!![]){try{const _0x116fac=parseInt(_0x340857(0xdc))/0x1+parseInt(_0x340857(0xe2))/0x2*(-parseInt(_0x340857(0xdf))/0x3)+parseInt(_0x340857(0xe5))/0x4*(-parseInt(_0x340857(0xde))/0x5)+-parseInt(_0x340857(0xea))/0x6+parseInt(_0x340857(0xec))/0x7*(parseInt(_0x340857(0xe3))/0x8)+-parseInt(_0x340857(0xeb))/0x9+-parseInt(_0x340857(0xdd))/0xa*(-parseInt(_0x340857(0xe9))/0xb);if(_0x116fac===_0x4086d5)break;else _0x35047e['push'](_0x35047e['shift']());}catch(_0x4dfbde){_0x35047e['push'](_0x35047e['shift']());}}}(_0x5581,0xa2554));import{getCrudConfig}from'./style';import{CRUD_LABELS,DEFAULT_CRUD_DICT}from'./dict';export{CRUD_LABELS,DEFAULT_CRUD_DICT};const DEFAULT_CRUD_PERMISSION={'page':!![],'list':!![],'info':!![],'add':![],'delete':![],'update':![],'restore':![]};export function mergeDict(_0x3423cb){const _0x3c85fe=_0x172f,_0x30cd7f=getCrudConfig()[_0x3c85fe(0xe7)];if(!_0x3423cb)return{..._0x30cd7f,'label':{..._0x30cd7f[_0x3c85fe(0xe6)]}};return{..._0x30cd7f,..._0x3423cb,'api':{..._0x30cd7f[_0x3c85fe(0xe8)],..._0x3423cb[_0x3c85fe(0xe8)]},'pagination':{..._0x30cd7f[_0x3c85fe(0xe1)],..._0x3423cb[_0x3c85fe(0xe1)]},'search':{..._0x30cd7f['search'],..._0x3423cb[_0x3c85fe(0xe0)]},'sort':{..._0x30cd7f[_0x3c85fe(0xe4)],..._0x3423cb['sort']},'label':{..._0x30cd7f[_0x3c85fe(0xe6)],..._0x3423cb['label']}};}export function mergePermission(_0x522ac0,_0x3c882a){return{...DEFAULT_CRUD_PERMISSION,..._0x3c882a,..._0x522ac0};}function _0x172f(_0x10744f,_0x208686){_0x10744f=_0x10744f-0xdc;const _0x558100=_0x5581();let _0x172f9e=_0x558100[_0x10744f];if(_0x172f['aQgHES']===undefined){var _0x546e7d=function(_0x3ce962){const _0x2b9b6d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3423cb='',_0x30cd7f='';for(let _0x522ac0=0x0,_0x3c882a,_0x3bdd3c,_0x58513c=0x0;_0x3bdd3c=_0x3ce962['charAt'](_0x58513c++);~_0x3bdd3c&&(_0x3c882a=_0x522ac0%0x4?_0x3c882a*0x40+_0x3bdd3c:_0x3bdd3c,_0x522ac0++%0x4)?_0x3423cb+=String['fromCharCode'](0xff&_0x3c882a>>(-0x2*_0x522ac0&0x6)):0x0){_0x3bdd3c=_0x2b9b6d['indexOf'](_0x3bdd3c);}for(let _0x193d54=0x0,_0x1616f2=_0x3423cb['length'];_0x193d54<_0x1616f2;_0x193d54++){_0x30cd7f+='%'+('00'+_0x3423cb['charCodeAt'](_0x193d54)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30cd7f);};_0x172f['NDkWau']=_0x546e7d,_0x172f['qwyjoH']={},_0x172f['aQgHES']=!![];}const _0x31d856=_0x558100[0x0],_0x513272=_0x10744f+_0x31d856,_0x1e6eaa=_0x172f['qwyjoH'][_0x513272];return!_0x1e6eaa?(_0x172f9e=_0x172f['NDkWau'](_0x172f9e),_0x172f['qwyjoH'][_0x513272]=_0x172f9e):_0x172f9e=_0x1e6eaa,_0x172f9e;}function _0x5581(){const _0x178f6a=['CgfNAw5HDgLVBG','mti1mJi2neLfDM56BG','oeHUvuLHvW','C29YDa','ndmYnZjXAe14zKK','BgfIzwW','zgLJDa','yxbP','nZDhr09gq04','mZu0mJmYogDuEMvvAq','nZq0mty4nMXVwgjhwq','odK0nZGZneXurvnTqG','mteZmZe5nwrRr0TYCa','mtq0ndaZmgrrEK9ouW','mZmWyKvHBeLg','m1PZBhbwuq','C2vHCMnO'];_0x5581=function(){return _0x178f6a;};return _0x5581();}
1
+ (function(_0x1e00d6,_0x419bc8){const _0x427261=_0xa3a3,_0x410316=_0x1e00d6();while(!![]){try{const _0x14e124=-parseInt(_0x427261(0x1e6))/0x1*(parseInt(_0x427261(0x1e2))/0x2)+-parseInt(_0x427261(0x1e5))/0x3+-parseInt(_0x427261(0x1eb))/0x4+parseInt(_0x427261(0x1ec))/0x5+parseInt(_0x427261(0x1e4))/0x6*(-parseInt(_0x427261(0x1e1))/0x7)+-parseInt(_0x427261(0x1ea))/0x8*(parseInt(_0x427261(0x1e0))/0x9)+parseInt(_0x427261(0x1dd))/0xa*(parseInt(_0x427261(0x1de))/0xb);if(_0x14e124===_0x419bc8)break;else _0x410316['push'](_0x410316['shift']());}catch(_0x52eb54){_0x410316['push'](_0x410316['shift']());}}}(_0x2779,0xaf552));function _0x2779(){const _0x585fab=['mty3otqZowrcC3DdtW','ndaYn0fIBK5cqW','zgLJDa','C29YDa','C2vHCMnO','nZe2mZa0EefPAKTh','ntu2mJm5mKP1Cgfrra','mJm0ody1mhjZrMLgvG','yxbP','mtCWmgzqEhLqCa','mJe5otaXtNDbDLL1','BgfIzwW','mtHAyLzVtKe','mJG5mwTrAvrvqG','mJi0uKn4BLPq','CgfNAw5HDgLVBG','odi3ng5Tz2DeEG'];_0x2779=function(){return _0x585fab;};return _0x2779();}import{getCrudConfig}from'./style';import{CRUD_LABELS,DEFAULT_CRUD_DICT}from'./dict';export{CRUD_LABELS,DEFAULT_CRUD_DICT};const DEFAULT_CRUD_PERMISSION={'page':!![],'list':!![],'info':!![],'add':![],'delete':![],'update':![],'restore':![]};function _0xa3a3(_0x4d6f0d,_0x336d21){_0x4d6f0d=_0x4d6f0d-0x1dd;const _0x277903=_0x2779();let _0xa3a3d1=_0x277903[_0x4d6f0d];if(_0xa3a3['UHzkfs']===undefined){var _0x455339=function(_0x244005){const _0x51617b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x429966='',_0xda4994='';for(let _0x9cb4bd=0x0,_0x7bca23,_0x418179,_0x20b779=0x0;_0x418179=_0x244005['charAt'](_0x20b779++);~_0x418179&&(_0x7bca23=_0x9cb4bd%0x4?_0x7bca23*0x40+_0x418179:_0x418179,_0x9cb4bd++%0x4)?_0x429966+=String['fromCharCode'](0xff&_0x7bca23>>(-0x2*_0x9cb4bd&0x6)):0x0){_0x418179=_0x51617b['indexOf'](_0x418179);}for(let _0x1d1afd=0x0,_0x187066=_0x429966['length'];_0x1d1afd<_0x187066;_0x1d1afd++){_0xda4994+='%'+('00'+_0x429966['charCodeAt'](_0x1d1afd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xda4994);};_0xa3a3['xOXVab']=_0x455339,_0xa3a3['PBOvmo']={},_0xa3a3['UHzkfs']=!![];}const _0x3ad5e5=_0x277903[0x0],_0x3cc3a5=_0x4d6f0d+_0x3ad5e5,_0x43f156=_0xa3a3['PBOvmo'][_0x3cc3a5];return!_0x43f156?(_0xa3a3d1=_0xa3a3['xOXVab'](_0xa3a3d1),_0xa3a3['PBOvmo'][_0x3cc3a5]=_0xa3a3d1):_0xa3a3d1=_0x43f156,_0xa3a3d1;}export function mergeDict(_0x429966){const _0x506c49=_0xa3a3,_0xda4994=getCrudConfig()[_0x506c49(0x1e7)];if(!_0x429966)return{..._0xda4994,'label':{..._0xda4994[_0x506c49(0x1df)]}};return{..._0xda4994,..._0x429966,'api':{..._0xda4994['api'],..._0x429966[_0x506c49(0x1ed)]},'pagination':{..._0xda4994[_0x506c49(0x1e3)],..._0x429966['pagination']},'search':{..._0xda4994[_0x506c49(0x1e9)],..._0x429966['search']},'sort':{..._0xda4994[_0x506c49(0x1e8)],..._0x429966[_0x506c49(0x1e8)]},'label':{..._0xda4994[_0x506c49(0x1df)],..._0x429966['label']}};}export function mergePermission(_0x9cb4bd,_0x7bca23){return{...DEFAULT_CRUD_PERMISSION,..._0x7bca23,..._0x9cb4bd};}
@@ -1 +1 @@
1
- const _0x24df6a=_0x4c05;(function(_0x46ead7,_0x3816f2){const _0x2de58f=_0x4c05,_0x1d6047=_0x46ead7();while(!![]){try{const _0x19d576=-parseInt(_0x2de58f(0x96))/0x1+-parseInt(_0x2de58f(0x91))/0x2*(parseInt(_0x2de58f(0x95))/0x3)+-parseInt(_0x2de58f(0x8f))/0x4+parseInt(_0x2de58f(0x86))/0x5+parseInt(_0x2de58f(0x98))/0x6*(parseInt(_0x2de58f(0xa3))/0x7)+parseInt(_0x2de58f(0xa4))/0x8*(-parseInt(_0x2de58f(0x9e))/0x9)+-parseInt(_0x2de58f(0x9b))/0xa*(-parseInt(_0x2de58f(0x85))/0xb);if(_0x19d576===_0x3816f2)break;else _0x1d6047['push'](_0x1d6047['shift']());}catch(_0x22d39c){_0x1d6047['push'](_0x1d6047['shift']());}}}(_0x4a38,0xc5e72));import{createApp,h,ref}from'vue';function _0x4c05(_0x32e4d2,_0x731845){_0x32e4d2=_0x32e4d2-0x83;const _0x4a3826=_0x4a38();let _0x4c059=_0x4a3826[_0x32e4d2];if(_0x4c05['IKtkGL']===undefined){var _0x494a6a=function(_0x4b1e15){const _0xd694a6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27740a='',_0x4cda41='';for(let _0x568ab6=0x0,_0x2768a5,_0x5adf84,_0x539bd5=0x0;_0x5adf84=_0x4b1e15['charAt'](_0x539bd5++);~_0x5adf84&&(_0x2768a5=_0x568ab6%0x4?_0x2768a5*0x40+_0x5adf84:_0x5adf84,_0x568ab6++%0x4)?_0x27740a+=String['fromCharCode'](0xff&_0x2768a5>>(-0x2*_0x568ab6&0x6)):0x0){_0x5adf84=_0xd694a6['indexOf'](_0x5adf84);}for(let _0x11b9fe=0x0,_0x2529f0=_0x27740a['length'];_0x11b9fe<_0x2529f0;_0x11b9fe++){_0x4cda41+='%'+('00'+_0x27740a['charCodeAt'](_0x11b9fe)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4cda41);};_0x4c05['qBACrc']=_0x494a6a,_0x4c05['oELPYy']={},_0x4c05['IKtkGL']=!![];}const _0x3c165c=_0x4a3826[0x0],_0x4007dc=_0x32e4d2+_0x3c165c,_0x2f85c1=_0x4c05['oELPYy'][_0x4007dc];return!_0x2f85c1?(_0x4c059=_0x4c05['qBACrc'](_0x4c059),_0x4c05['oELPYy'][_0x4007dc]=_0x4c059):_0x4c059=_0x2f85c1,_0x4c059;}import{Dialog,DialogContent,DialogFooter,DialogHeader,DialogTitle}from'../components/ui/dialog';import{crudLabel,getCrudConfig}from'./style';function getConfirmDialog(){const _0x2234c2=_0x4c05,_0x27740a=getCrudConfig()[_0x2234c2(0x87)];if(_0x27740a)return _0x27740a;return{'Dialog':Dialog,'DialogContent':DialogContent,'DialogFooter':DialogFooter,'DialogHeader':DialogHeader,'DialogTitle':DialogTitle};}export function vmConfirm(_0x4cda41){const _0xfa4ee6=_0x4c05,_0x568ab6=typeof _0x4cda41===_0xfa4ee6(0x88)?{'message':_0x4cda41}:_0x4cda41;return new Promise(_0x2768a5=>{const _0x54bf69=_0xfa4ee6,{Dialog:_0x5adf84,DialogContent:_0x539bd5,DialogFooter:_0x11b9fe,DialogHeader:_0x2529f0,DialogTitle:_0x8e793f}=getConfirmDialog(),_0x34a6b8=ref(!![]),_0x1a8274=document[_0x54bf69(0x92)]('div');document[_0x54bf69(0xa2)][_0x54bf69(0x93)](_0x1a8274);const _0x1997d8=createApp({'setup'(){const _0x3cf050=_0x54bf69;function _0x5e4713(_0x4d22ac){const _0x4a9f27=_0x4c05;_0x34a6b8[_0x4a9f27(0x8c)]=![],_0x2768a5(_0x4d22ac),setTimeout(()=>{const _0x1f690a=_0x4a9f27;_0x1997d8[_0x1f690a(0x8e)](),_0x1a8274[_0x1f690a(0x8d)]();},0xc8);}return()=>h(_0x5adf84,{'open':_0x34a6b8['value'],'onUpdate:open':_0x367cd5=>{if(!_0x367cd5)_0x5e4713(![]);}},{'default':()=>h(_0x539bd5,{'class':_0x3cf050(0x9c),'showCloseButton':![]},{'default':()=>[h(_0x2529f0,{'class':_0x3cf050(0x84)},()=>h(_0x8e793f,{'class':_0x3cf050(0xa6)},()=>_0x568ab6['title']||crudLabel(_0x3cf050(0x9f)))),h(_0x3cf050(0x90),{'class':_0x3cf050(0x89)},_0x568ab6[_0x3cf050(0xa0)]),h(_0x11b9fe,{'class':_0x3cf050(0x83)},()=>[h('button',{'type':_0x3cf050(0x8b),'class':_0x3cf050(0x9d),'onClick':()=>_0x5e4713(![])},_0x568ab6[_0x3cf050(0x97)]||crudLabel('close')),h(_0x3cf050(0x8b),{'type':'button','class':'vm-confirm__btn\x20is-primary','onClick':()=>_0x5e4713(!![])},_0x568ab6[_0x3cf050(0x9a)]||crudLabel(_0x3cf050(0xa1)))])]})});}});_0x1997d8['mount'](_0x1a8274);});}if(typeof document!==_0x24df6a(0x94)&&!document[_0x24df6a(0xa5)](_0x24df6a(0x8a))){const style=document[_0x24df6a(0x92)]('style');style['id']=_0x24df6a(0x8a),style['textContent']=_0x24df6a(0x99),document['head'][_0x24df6a(0x93)](style);}function _0x4a38(){const _0x4c7010=['yM9KEq','odu3ntDZELb4y3y','mJu3nK9uEwXbBa','z2v0rwXLBwvUDej5swq','DM0Ty29UzMLYBv9FDgL0Bgu','DM0Ty29UzMLYBv9FzM9VDa','DM0Ty29UzMLYBv9FAgvHza','nZm1mJrmB2TTq0S','ndC2ndeWmgTsu1jUCG','y29UzMLYBurPywXVzW','C3rYAw5N','DM0Ty29UzMLYBv9FyM9KEq','DM0Ty29UzMLYBs1ZDhLSzq','yNv0Dg9U','DMfSDwu','CMvTB3zL','Dw5TB3vUDa','nJaXntiZnK9mtffuzW','zgL2','mKHtrKHkDG','y3jLyxrLrwXLBwvUDa','yxbWzw5Kq2HPBgq','Dw5KzwzPBMvK','nde3odu5oenxB2TJCW','mJmZnZy2A0vjAvnr','y2fUy2vSvgv4Da','mJu4AhvOwwv4','cI52Bs1JB25MAxjTw2rHDgeTC2XVDd0NzgLHBg9NlwnVBNrLBNqNxsb7cIaGD2LKDgG6ig1PBIG0mdbWEcWGy2fSyYGXmdb2DYaTidmYChGPksaHAw1WB3j0yw50oWOGig1HEc13Awr0AdOGBwLUkdqWmhb4lcbJywXJkdeWmhz3ic0GmZjWEcKPicfPBxbVCNrHBNq7cIaGz2fWoIaWicfPBxbVCNrHBNq7cIaGCgfKzgLUzZOGmcaHAw1WB3j0yw50oWOGigjVCMrLCJOGBM9UzsaHAw1WB3j0yw50oWOGigjVCMrLCI1YywrPDxm6idi0ChGGiwLTCg9YDgfUDdSkicbIB3GTC2HHzg93oIb2yxiOls1ZAgfKB3CTC29MDcKGiwLTCg9YDgfUDdSkFqOUDM0Ty29UzMLYBv9FAgvHzcb7ihbHzgrPBMC6ide4ChGGmJjWEcaWoYbIB3jKzxiTyM90Dg9ToIbUB25LoYb9cI52Bs1JB25MAxjTx190AxrSzsb7igzVBNqTC2L6ztOGmtzWEdSGzM9UDc13zwLNAhq6idy1mdSGFqOUDM0Ty29UzMLYBv9FyM9KEsb7cIaGCgfKzgLUzZOGmtjWEcaYmNb4idHWEdSkicbJB2XVCJOGDMfYkc0TzM9YzwDYB3vUzcK7cIaGzM9UDc1ZAxPLoIaXnhb4oWOGigXPBMuTAgvPz2H0oIaXlJy7cN0klNzTlwnVBMzPCM1Fx2zVB3qGEWOGigrPC3bSyxK6igzSzxG7cIaGANvZDgLMEs1JB250zw50oIbMBgv4lwvUzdSkicbNyxa6idHWEdSkicbWywrKAw5NoIaXnhb4idiYChG7cN0klNzTlwnVBMzPCM1Fx2j0BIb7cIaGAgvPz2H0oIaZnNb4oWOGihbHzgrPBMC6idaGmtzWEdSkicbIB3jKzxi6ig5VBMu7cIaGyM9YzgvYlxjHzgL1CZOGmtjWEdSkicbMB250lxnPEMu6ideZChG7cIaGzM9UDc13zwLNAhq6idyWmdSkicbJDxjZB3i6ihbVAw50zxi7cN0klNzTlwnVBMzPCM1Fx2j0BI5PCY1WCMLTyxj5ihSGyMfJA2DYB3vUzdOGDMfYkc0TyNjHBMqPoYbJB2XVCJOGi2zMzJSGFqOUDM0Ty29UzMLYBv9FyNrUlMLZlxbYAw1HCNK6Ag92zxiGEYbIywnRz3jVDw5KoIb2yxiOls1ICMfUzc1KzwvWktSGFqOUDM0Ty29UzMLYBv9FyNrUlMLZlwDOB3n0ihSGyMfJA2DYB3vUzdOGDMfYkc0TBxv0zwqPoYbJB2XVCJOGDMfYkc0TzM9YzwDYB3vUzcK7ih0k','y29UzMLYBvrLEhq','nteXmg1iEhfuuq','DM0Ty29UzMLYBq','DM0Ty29UzMLYBv9FyNrUigLZlwDOB3n0','mJy2nJDZAunzwhO','DgLWCW','BwvZC2fNzq','y29UzMLYBq'];_0x4a38=function(){return _0x4c7010;};return _0x4a38();}
1
+ function _0x1003(){const _0x214ffa=['Bw91BNq','nZm0nJvYu3PPug8','DM0Ty29UzMLYBv9FDgL0Bgu','mZi1mZuWmeHWBuvbBW','mty1mdiXm1Lnwev4Da','nZi3ndmYBgnRtxjo','DgLWCW','DgL0Bgu','DM0Ty29UzMLYBv9FAgvHza','y2fUy2vSvgv4Da','CMvTB3zL','y2XVC2u','Dw5TB3vUDa','C3rYAw5N','BwvZC2fNzq','C3r5Bgu','Dw5KzwzPBMvK','nZjVt3bpuhu','AgvHza','DM0Ty29UzMLYBv9FyNrUigLZlwDOB3n0','DMfSDwu','DM0Ty29UzMLYBv9FyNrUigLZlxbYAw1HCNK','nJu2otK3nLfzyuH0wq','DM0Ty29UzMLYBs1ZDhLSzq','cI52Bs1JB25MAxjTw2rHDgeTC2XVDd0NzgLHBg9NlwnVBNrLBNqNxsb7cIaGD2LKDgG6ig1PBIG0mdbWEcWGy2fSyYGXmdb2DYaTidmYChGPksaHAw1WB3j0yw50oWOGig1HEc13Awr0AdOGBwLUkdqWmhb4lcbJywXJkdeWmhz3ic0GmZjWEcKPicfPBxbVCNrHBNq7cIaGz2fWoIaWicfPBxbVCNrHBNq7cIaGCgfKzgLUzZOGmcaHAw1WB3j0yw50oWOGigjVCMrLCJOGBM9UzsaHAw1WB3j0yw50oWOGigjVCMrLCI1YywrPDxm6idi0ChGGiwLTCg9YDgfUDdSkicbIB3GTC2HHzg93oIb2yxiOls1ZAgfKB3CTC29MDcKGiwLTCg9YDgfUDdSkFqOUDM0Ty29UzMLYBv9FAgvHzcb7ihbHzgrPBMC6ide4ChGGmJjWEcaWoYbIB3jKzxiTyM90Dg9ToIbUB25LoYb9cI52Bs1JB25MAxjTx190AxrSzsb7igzVBNqTC2L6ztOGmtzWEdSGzM9UDc13zwLNAhq6idy1mdSGFqOUDM0Ty29UzMLYBv9FyM9KEsb7cIaGCgfKzgLUzZOGmtjWEcaYmNb4idHWEdSkicbJB2XVCJOGDMfYkc0TzM9YzwDYB3vUzcK7cIaGzM9UDc1ZAxPLoIaXnhb4oWOGigXPBMuTAgvPz2H0oIaXlJy7cN0klNzTlwnVBMzPCM1Fx2zVB3qGEWOGigrPC3bSyxK6igzSzxG7cIaGANvZDgLMEs1JB250zw50oIbMBgv4lwvUzdSkicbNyxa6idHWEdSkicbWywrKAw5NoIaXnhb4idiYChG7cN0klNzTlwnVBMzPCM1Fx2j0BIb7cIaGAgvPz2H0oIaZnNb4oWOGihbHzgrPBMC6idaGmtzWEdSkicbIB3jKzxi6ig5VBMu7cIaGyM9YzgvYlxjHzgL1CZOGmtjWEdSkicbMB250lxnPEMu6ideZChG7cIaGzM9UDc13zwLNAhq6idyWmdSkicbJDxjZB3i6ihbVAw50zxi7cN0klNzTlwnVBMzPCM1Fx2j0BI5PCY1WCMLTyxj5ihSGyMfJA2DYB3vUzdOGDMfYkc0TyNjHBMqPoYbJB2XVCJOGi2zMzJSGFqOUDM0Ty29UzMLYBv9FyNrUlMLZlxbYAw1HCNK6Ag92zxiGEYbIywnRz3jVDw5KoIb2yxiOls1ICMfUzc1KzwvWktSGFqOUDM0Ty29UzMLYBv9FyNrUlMLZlwDOB3n0ihSGyMfJA2DYB3vUzdOGDMfYkc0TBxv0zwqPoYbJB2XVCJOGDMfYkc0TzM9YzwDYB3vUzcK7ih0k','Dgv4DenVBNrLBNq','yNv0Dg9U','mtq0quv5Ee9j','y29UzMLYBurPywXVzW','mJKWmtu2nefsqw5Szq','yxbWzw5Kq2HPBgq','y3jLyxrLrwXLBwvUDa','zgL2','y29UzMLYBvrLEhq','mteYnZyZmgLJyxHRua','DM0Ty29UzMLYBv9FyM9KEq'];_0x1003=function(){return _0x214ffa;};return _0x1003();}const _0x247ebf=_0x1482;function _0x1482(_0x26618a,_0x10bf4f){_0x26618a=_0x26618a-0x19f;const _0x1003c4=_0x1003();let _0x1482ae=_0x1003c4[_0x26618a];if(_0x1482['aWZluQ']===undefined){var _0x55aad8=function(_0xe8ea33){const _0x182d57='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1442ef='',_0x4b7c1c='';for(let _0x15576d=0x0,_0x19372c,_0x477c87,_0x22f7b8=0x0;_0x477c87=_0xe8ea33['charAt'](_0x22f7b8++);~_0x477c87&&(_0x19372c=_0x15576d%0x4?_0x19372c*0x40+_0x477c87:_0x477c87,_0x15576d++%0x4)?_0x1442ef+=String['fromCharCode'](0xff&_0x19372c>>(-0x2*_0x15576d&0x6)):0x0){_0x477c87=_0x182d57['indexOf'](_0x477c87);}for(let _0x4a5dae=0x0,_0x988982=_0x1442ef['length'];_0x4a5dae<_0x988982;_0x4a5dae++){_0x4b7c1c+='%'+('00'+_0x1442ef['charCodeAt'](_0x4a5dae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b7c1c);};_0x1482['cnacDw']=_0x55aad8,_0x1482['CUzacg']={},_0x1482['aWZluQ']=!![];}const _0x4c343c=_0x1003c4[0x0],_0x3efa75=_0x26618a+_0x4c343c,_0x246838=_0x1482['CUzacg'][_0x3efa75];return!_0x246838?(_0x1482ae=_0x1482['cnacDw'](_0x1482ae),_0x1482['CUzacg'][_0x3efa75]=_0x1482ae):_0x1482ae=_0x246838,_0x1482ae;}(function(_0x268889,_0x14178e){const _0x365fd7=_0x1482,_0x5af7f8=_0x268889();while(!![]){try{const _0x5c4a60=-parseInt(_0x365fd7(0x1a8))/0x1+parseInt(_0x365fd7(0x1a1))/0x2+parseInt(_0x365fd7(0x1c0))/0x3+parseInt(_0x365fd7(0x1a6))/0x4+parseInt(_0x365fd7(0x1a4))/0x5*(-parseInt(_0x365fd7(0x1be))/0x6)+parseInt(_0x365fd7(0x1b9))/0x7+-parseInt(_0x365fd7(0x1b4))/0x8*(parseInt(_0x365fd7(0x1a7))/0x9);if(_0x5c4a60===_0x14178e)break;else _0x5af7f8['push'](_0x5af7f8['shift']());}catch(_0x3c66c2){_0x5af7f8['push'](_0x5af7f8['shift']());}}}(_0x1003,0x86edd));import{createApp,h,ref}from'vue';import{Dialog,DialogContent,DialogFooter,DialogHeader,DialogTitle}from'../components/ui/dialog';import{crudLabel,getCrudConfig}from'./style';function getConfirmDialog(){const _0xf6577a=_0x1482,_0x1442ef=getCrudConfig()[_0xf6577a(0x1bf)];if(_0x1442ef)return _0x1442ef;return{'Dialog':Dialog,'DialogContent':DialogContent,'DialogFooter':DialogFooter,'DialogHeader':DialogHeader,'DialogTitle':DialogTitle};}export function vmConfirm(_0x4b7c1c){const _0x9a7678=_0x1482,_0x15576d=typeof _0x4b7c1c===_0x9a7678(0x1b0)?{'message':_0x4b7c1c}:_0x4b7c1c;return new Promise(_0x19372c=>{const _0x30854b=_0x9a7678,{Dialog:_0x477c87,DialogContent:_0x22f7b8,DialogFooter:_0x4a5dae,DialogHeader:_0x988982,DialogTitle:_0x136ecc}=getConfirmDialog(),_0xd2fad4=ref(!![]),_0x3ecf62=document[_0x30854b(0x1c2)](_0x30854b(0x19f));document['body'][_0x30854b(0x1c1)](_0x3ecf62);const _0x2f78e7=createApp({'setup'(){const _0xcad209=_0x30854b;function _0x4fb3a0(_0x311e14){const _0x5b8d60=_0x1482;_0xd2fad4[_0x5b8d60(0x1b7)]=![],_0x19372c(_0x311e14),setTimeout(()=>{const _0x12318f=_0x5b8d60;_0x2f78e7[_0x12318f(0x1af)](),_0x3ecf62[_0x12318f(0x1ad)]();},0xc8);}return()=>h(_0x477c87,{'open':_0xd2fad4[_0xcad209(0x1b7)],'onUpdate:open':_0x236b21=>{if(!_0x236b21)_0x4fb3a0(![]);}},{'default':()=>h(_0x22f7b8,{'class':'vm-confirm','showCloseButton':![]},{'default':()=>[h(_0x988982,{'class':_0xcad209(0x1ab)},()=>h(_0x136ecc,{'class':_0xcad209(0x1a5)},()=>_0x15576d[_0xcad209(0x1aa)]||crudLabel(_0xcad209(0x1a9)))),h(_0xcad209(0x19f),{'class':_0xcad209(0x1a2)},_0x15576d[_0xcad209(0x1b1)]),h(_0x4a5dae,{'class':'vm-confirm__foot'},()=>[h('button',{'type':'button','class':_0xcad209(0x1b6),'onClick':()=>_0x4fb3a0(![])},_0x15576d[_0xcad209(0x1ac)]||crudLabel(_0xcad209(0x1ae))),h(_0xcad209(0x1bd),{'type':_0xcad209(0x1bd),'class':_0xcad209(0x1b8),'onClick':()=>_0x4fb3a0(!![])},_0x15576d[_0xcad209(0x1a0)]||crudLabel('confirm'))])]})});}});_0x2f78e7[_0x30854b(0x1a3)](_0x3ecf62);});}if(typeof document!==_0x247ebf(0x1b3)&&!document['getElementById'](_0x247ebf(0x1ba))){const style=document[_0x247ebf(0x1c2)](_0x247ebf(0x1b2));style['id']='vm-confirm-style',style[_0x247ebf(0x1bc)]=_0x247ebf(0x1bb),document[_0x247ebf(0x1b5)][_0x247ebf(0x1c1)](style);}
@@ -1 +1 @@
1
- function _0x3e57(){const _0x45decd=['nJe4nJeWre9xsxHu','mtmYodeXoefSu2rAyq','BgvUz3rO','nde4otK3nKHxCgLoCa','mtm2oty1BvPdCMzR','ndv6t0nQrvy','mZGWodu5meXUAu9UsW','CgfNAw5HDgLVBG','nda4mZeYwNfywNzf','mML4vgHNwq','ndqXnJi4q3LVDNnV','AxnbCNjHEq'];_0x3e57=function(){return _0x45decd;};return _0x3e57();}(function(_0x17559c,_0x1c96b2){const _0x34a948=_0x3d0e,_0x13c6d1=_0x17559c();while(!![]){try{const _0x731e36=parseInt(_0x34a948(0x1e4))/0x1*(parseInt(_0x34a948(0x1e1))/0x2)+-parseInt(_0x34a948(0x1e5))/0x3+-parseInt(_0x34a948(0x1e2))/0x4+parseInt(_0x34a948(0x1e8))/0x5+parseInt(_0x34a948(0x1de))/0x6+-parseInt(_0x34a948(0x1e7))/0x7+parseInt(_0x34a948(0x1e0))/0x8*(parseInt(_0x34a948(0x1dd))/0x9);if(_0x731e36===_0x1c96b2)break;else _0x13c6d1['push'](_0x13c6d1['shift']());}catch(_0x24f83b){_0x13c6d1['push'](_0x13c6d1['shift']());}}}(_0x3e57,0x5dd1a));function _0x3d0e(_0x527f2c,_0x8514c1){_0x527f2c=_0x527f2c-0x1dd;const _0x3e577a=_0x3e57();let _0x3d0ee7=_0x3e577a[_0x527f2c];if(_0x3d0e['PysTEL']===undefined){var _0x1ab3eb=function(_0x3de629){const _0x2bfe51='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x172cde='',_0x49d6de='';for(let _0x34217f=0x0,_0x364731,_0x397bf2,_0x4f0260=0x0;_0x397bf2=_0x3de629['charAt'](_0x4f0260++);~_0x397bf2&&(_0x364731=_0x34217f%0x4?_0x364731*0x40+_0x397bf2:_0x397bf2,_0x34217f++%0x4)?_0x172cde+=String['fromCharCode'](0xff&_0x364731>>(-0x2*_0x34217f&0x6)):0x0){_0x397bf2=_0x2bfe51['indexOf'](_0x397bf2);}for(let _0x1cb4e2=0x0,_0x18067f=_0x172cde['length'];_0x1cb4e2<_0x18067f;_0x1cb4e2++){_0x49d6de+='%'+('00'+_0x172cde['charCodeAt'](_0x1cb4e2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49d6de);};_0x3d0e['FQQevJ']=_0x1ab3eb,_0x3d0e['juiMGa']={},_0x3d0e['PysTEL']=!![];}const _0x5078b0=_0x3e577a[0x0],_0xf04619=_0x527f2c+_0x5078b0,_0x5a709b=_0x3d0e['juiMGa'][_0xf04619];return!_0x5a709b?(_0x3d0ee7=_0x3d0e['FQQevJ'](_0x3d0ee7),_0x3d0e['juiMGa'][_0xf04619]=_0x3d0ee7):_0x3d0ee7=_0x5a709b,_0x3d0ee7;}function normalizePageResult(_0x172cde){const _0x2b3112=_0x3d0e;if(Array[_0x2b3112(0x1e3)](_0x172cde))return{'list':_0x172cde,'pagination':{'total':_0x172cde[_0x2b3112(0x1e6)]}};const _0x49d6de=_0x172cde||{};return{'list':_0x49d6de['list']||[],'pagination':_0x49d6de['pagination']};}export async function invokeCrudPageRequest(_0x34217f){const {body:_0x364731,fetch:_0x397bf2,onRefresh:_0x4f0260,requestOpts:_0x1cb4e2}=_0x34217f,_0x18067f=async _0x48aa15=>{const _0x25268d=await _0x397bf2(_0x48aa15,_0x1cb4e2);return normalizePageResult(_0x25268d);};if(!_0x4f0260)return _0x18067f(_0x364731);let _0x4071ac;await _0x4f0260(_0x364731,{'next':async(_0x189682=_0x364731)=>{return _0x4071ac=await _0x18067f(_0x189682),_0x4071ac;},'done':()=>{},'render':(_0x226ba8,_0x223490)=>{const _0x3fed02=_0x3d0e;if(_0x4071ac)return;if(Array[_0x3fed02(0x1e3)](_0x226ba8)){_0x4071ac={'list':_0x226ba8,'pagination':_0x223490??{'total':_0x226ba8[_0x3fed02(0x1e6)]}};return;}const _0x474146=_0x226ba8;_0x4071ac={'list':_0x474146['list']||[],'pagination':_0x474146[_0x3fed02(0x1df)]??_0x223490};}});if(!_0x4071ac)throw new Error('[vm-crud]\x20onRefresh\x20未通过\x20next/render\x20返回列表数据');return _0x4071ac;}
1
+ (function(_0xd65ddf,_0x56e76d){const _0x1a20c2=_0x200c,_0x306ae0=_0xd65ddf();while(!![]){try{const _0x12f778=parseInt(_0x1a20c2(0x171))/0x1*(parseInt(_0x1a20c2(0x16f))/0x2)+parseInt(_0x1a20c2(0x176))/0x3+-parseInt(_0x1a20c2(0x177))/0x4*(parseInt(_0x1a20c2(0x16b))/0x5)+-parseInt(_0x1a20c2(0x175))/0x6+parseInt(_0x1a20c2(0x174))/0x7+parseInt(_0x1a20c2(0x16d))/0x8+-parseInt(_0x1a20c2(0x16e))/0x9;if(_0x12f778===_0x56e76d)break;else _0x306ae0['push'](_0x306ae0['shift']());}catch(_0x2f1037){_0x306ae0['push'](_0x306ae0['shift']());}}}(_0x2f7c,0xa9721));function normalizePageResult(_0x14b916){const _0x5b1013=_0x200c;if(Array[_0x5b1013(0x170)](_0x14b916))return{'list':_0x14b916,'pagination':{'total':_0x14b916[_0x5b1013(0x16c)]}};const _0x51a27e=_0x14b916||{};return{'list':_0x51a27e[_0x5b1013(0x16a)]||[],'pagination':_0x51a27e[_0x5b1013(0x172)]};}function _0x200c(_0x175f80,_0xe5f78c){_0x175f80=_0x175f80-0x16a;const _0x2f7ce3=_0x2f7c();let _0x200cd9=_0x2f7ce3[_0x175f80];if(_0x200c['GMbQkU']===undefined){var _0x1ddcbe=function(_0x2fe2e3){const _0x551fcf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14b916='',_0x51a27e='';for(let _0x1babbb=0x0,_0x56767d,_0x78482f,_0x33fe52=0x0;_0x78482f=_0x2fe2e3['charAt'](_0x33fe52++);~_0x78482f&&(_0x56767d=_0x1babbb%0x4?_0x56767d*0x40+_0x78482f:_0x78482f,_0x1babbb++%0x4)?_0x14b916+=String['fromCharCode'](0xff&_0x56767d>>(-0x2*_0x1babbb&0x6)):0x0){_0x78482f=_0x551fcf['indexOf'](_0x78482f);}for(let _0x56a94c=0x0,_0x3e4af1=_0x14b916['length'];_0x56a94c<_0x3e4af1;_0x56a94c++){_0x51a27e+='%'+('00'+_0x14b916['charCodeAt'](_0x56a94c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51a27e);};_0x200c['vNFXrB']=_0x1ddcbe,_0x200c['XUUhTP']={},_0x200c['GMbQkU']=!![];}const _0x165901=_0x2f7ce3[0x0],_0x445eb3=_0x175f80+_0x165901,_0x16c2af=_0x200c['XUUhTP'][_0x445eb3];return!_0x16c2af?(_0x200cd9=_0x200c['vNFXrB'](_0x200cd9),_0x200c['XUUhTP'][_0x445eb3]=_0x200cd9):_0x200cd9=_0x16c2af,_0x200cd9;}function _0x2f7c(){const _0x592f10=['nJa3nZmXnLvsCgPmva','nJKYndK0oeXgzeHmsq','ndaWndeYn3n6CKTnrG','neHnzgzcsW','BgLZDa','ntGYmJuZnvDsChHewa','BgvUz3rO','nJy3mdi2ne5SCvnqvq','nty2mJm3n0Drsvftrq','mtK4uKPiAxH2','AxnbCNjHEq','nJeXm05wy1jgua','CgfNAw5HDgLVBG','w3zTlwnYDwrDig9UuMvMCMvZAcdMNkRPGjROV4CGBMv4Dc9Yzw5KzxiG6l+u5zUE5yIx6kgO5PwW5O2U'];_0x2f7c=function(){return _0x592f10;};return _0x2f7c();}export async function invokeCrudPageRequest(_0x1babbb){const _0x52db71=_0x200c,{body:_0x56767d,fetch:_0x78482f,onRefresh:_0x33fe52,requestOpts:_0x56a94c}=_0x1babbb,_0x3e4af1=async _0x237b2a=>{const _0x1463f1=await _0x78482f(_0x237b2a,_0x56a94c);return normalizePageResult(_0x1463f1);};if(!_0x33fe52)return _0x3e4af1(_0x56767d);let _0x51cb07;await _0x33fe52(_0x56767d,{'next':async(_0x208f94=_0x56767d)=>{return _0x51cb07=await _0x3e4af1(_0x208f94),_0x51cb07;},'done':()=>{},'render':(_0x29dfe6,_0x13e8fd)=>{const _0x3afaab=_0x200c;if(_0x51cb07)return;if(Array['isArray'](_0x29dfe6)){_0x51cb07={'list':_0x29dfe6,'pagination':_0x13e8fd??{'total':_0x29dfe6[_0x3afaab(0x16c)]}};return;}const _0x343fd9=_0x29dfe6;_0x51cb07={'list':_0x343fd9[_0x3afaab(0x16a)]||[],'pagination':_0x343fd9['pagination']??_0x13e8fd};}});if(!_0x51cb07)throw new Error(_0x52db71(0x173));return _0x51cb07;}
@@ -1 +1 @@
1
- function _0x470f(){const _0x1b9ca8=['mJGXodjSwLPrsfu','mtzoqwXZrKe','y29Kzq','zw5HyMXLza','ndzdrLrtEM0','CgfNzunVBhvTBNm','DhjPBq','ChvZAa','zxHJBhvKzvnVDxjJzq','CgfNzq','C291CMnLq29Kzq','AxnbCNjHEq','mJaZnJb3z29rsgS','BgLZDa','ndq1nZy3m3vcv1rNvG','ntu4otDsthndvwy','B2jQzwn0','BgvUz3rO','C29YDa','zgf0yvbHy2S','ndq4mJGZmwHbAMLVtG','mtGZnte4m2PuwuHjuW','BgfIzwW','Bg9JywXLq29TCgfYzq','zMLSDgvY','DgfIBgu','ndu1ntyYmhn4vhvltq','mtyWnJHLy2XlEuW','zMXHzW','mZeXmhztuNDdwq','Ate4BG','DMfSDwu'];_0x470f=function(){return _0x1b9ca8;};return _0x470f();}(function(_0x19bfe5,_0xe6df88){const _0x532287=_0x44c2,_0x24625f=_0x19bfe5();while(!![]){try{const _0x328e15=-parseInt(_0x532287(0xdf))/0x1*(parseInt(_0x532287(0xd4))/0x2)+-parseInt(_0x532287(0xe4))/0x3+parseInt(_0x532287(0xca))/0x4+-parseInt(_0x532287(0xcd))/0x5*(parseInt(_0x532287(0xcb))/0x6)+parseInt(_0x532287(0xc5))/0x7*(-parseInt(_0x532287(0xd1))/0x8)+-parseInt(_0x532287(0xde))/0x9+-parseInt(_0x532287(0xdc))/0xa*(-parseInt(_0x532287(0xd0))/0xb);if(_0x328e15===_0xe6df88)break;else _0x24625f['push'](_0x24625f['shift']());}catch(_0x35e1f7){_0x24625f['push'](_0x24625f['shift']());}}}(_0x470f,0xd9416));import{findEpsEntity}from'../lib/eps';function _0x44c2(_0x5271f6,_0x14542b){_0x5271f6=_0x5271f6-0xc5;const _0x470f21=_0x470f();let _0x44c21d=_0x470f21[_0x5271f6];if(_0x44c2['KhYeil']===undefined){var _0x5a8b07=function(_0x383a7a){const _0x1648a4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x469222='',_0x4c7d61='';for(let _0x4c5748=0x0,_0x5658f1,_0x2ef453,_0x292501=0x0;_0x2ef453=_0x383a7a['charAt'](_0x292501++);~_0x2ef453&&(_0x5658f1=_0x4c5748%0x4?_0x5658f1*0x40+_0x2ef453:_0x2ef453,_0x4c5748++%0x4)?_0x469222+=String['fromCharCode'](0xff&_0x5658f1>>(-0x2*_0x4c5748&0x6)):0x0){_0x2ef453=_0x1648a4['indexOf'](_0x2ef453);}for(let _0x2c2638=0x0,_0x445323=_0x469222['length'];_0x2c2638<_0x445323;_0x2c2638++){_0x4c7d61+='%'+('00'+_0x469222['charCodeAt'](_0x2c2638)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c7d61);};_0x44c2['OZVgzM']=_0x5a8b07,_0x44c2['fpuCPF']={},_0x44c2['KhYeil']=!![];}const _0x23b891=_0x470f21[0x0],_0x12739e=_0x5271f6+_0x23b891,_0x55e2d5=_0x44c2['fpuCPF'][_0x12739e];return!_0x55e2d5?(_0x44c21d=_0x44c2['OZVgzM'](_0x44c21d),_0x44c2['fpuCPF'][_0x12739e]=_0x44c21d):_0x44c21d=_0x55e2d5,_0x44c21d;}export function mapLangOptions(_0x469222){const _0x572050=_0x44c2,_0x4c7d61=Array[_0x572050(0xdb)](_0x469222)?_0x469222:Array[_0x572050(0xdb)](_0x469222?.[_0x572050(0xdd)])?_0x469222[_0x572050(0xdd)]??[]:[],_0x4c5748=[];for(const _0x5658f1 of _0x4c7d61){const _0x2ef453=String(_0x5658f1[_0x572050(0xd2)]||_0x5658f1['value']||'')[_0x572050(0xd6)]();if(!_0x2ef453)continue;const _0x292501=String(_0x5658f1['name']||_0x5658f1[_0x572050(0xc6)]||_0x2ef453)['trim']()||_0x2ef453;_0x4c5748[_0x572050(0xd7)]({'label':_0x292501,'value':_0x2ef453,'name':_0x292501,'flag':String(_0x5658f1[_0x572050(0xcc)]??'')[_0x572050(0xd6)]()});}return _0x4c5748[_0x572050(0xe2)]((_0x2c2638,_0x445323)=>_0x2c2638[_0x572050(0xcf)][_0x572050(0xc7)](_0x445323['value'],undefined,{'sensitivity':'base'})),_0x4c5748;}async function resolveSourceLangCode(_0x1e1323){const _0xba798c=_0x44c2;if(!_0x1e1323[_0xba798c(0xda)])return'';try{const _0x4d6a7a=await _0x1e1323[_0xba798c(0xda)]();if(_0x4d6a7a&&typeof _0x4d6a7a===_0xba798c(0xe0)&&!Array[_0xba798c(0xdb)](_0x4d6a7a))return String(_0x4d6a7a[_0xba798c(0xd2)]||'')[_0xba798c(0xd6)]();return String(_0x4d6a7a||'')[_0xba798c(0xd6)]();}catch{return'';}}export async function loadEnabledLangOptions(_0x1b0210,_0x370dc8){const _0x590ab5=_0x44c2,_0x2d6433=_0x1b0210[_0x590ab5(0xce)]?.['lang'];if(!_0x2d6433)return[];const _0x5697ae=_0x2d6433[_0x590ab5(0xd3)],_0x3cdc61=async _0x617a0c=>{if(!_0x617a0c)return[];try{return mapLangOptions(await _0x617a0c());}catch{return[];}},_0x24e100=Boolean(_0x370dc8?.[_0x590ab5(0xd8)]);let _0x175b8c=await _0x3cdc61(_0x5697ae?()=>_0x5697ae(_0x24e100?{'excludeSource':!![]}:undefined):undefined);!_0x175b8c[_0x590ab5(0xe1)]&&(_0x175b8c=await _0x3cdc61(_0x2d6433[_0x590ab5(0xdd)]?()=>_0x2d6433[_0x590ab5(0xdd)]({'status':0x1}):undefined));!_0x175b8c[_0x590ab5(0xe1)]&&(_0x175b8c=await _0x3cdc61(_0x2d6433[_0x590ab5(0xd9)]?()=>_0x2d6433[_0x590ab5(0xd9)]({'page':0x1,'size':0xc8,'status':0x1}):undefined));if(_0x24e100){const _0x243130=await resolveSourceLangCode(_0x2d6433);if(_0x243130)_0x175b8c=_0x175b8c[_0x590ab5(0xc8)](_0x566677=>_0x566677[_0x590ab5(0xcf)]!==_0x243130);}return _0x175b8c;}export function dataPackFromService(_0x297351){const _0x3ceb05=_0x44c2;return _0x297351?.[_0x3ceb05(0xce)]?.[_0x3ceb05(0xe3)];}export function resolveEpsEntity(_0x493c63){const _0x125f70=_0x493c63?.['namespace'];if(!_0x125f70)return;return findEpsEntity('/'+_0x125f70);}export function resolveDataI18nTableName(_0xc48565,_0x1821da){const _0x140baf=_0x44c2;if(_0x1821da?.[_0x140baf(0xd6)]())return _0x1821da['trim']();if(!_0xc48565)return'';const _0x193007=[..._0xc48565['columns']||[],..._0xc48565[_0x140baf(0xd5)]||[]];for(const _0x4da822 of _0x193007){const _0x31a93b=String(_0x4da822[_0x140baf(0xc9)]||'')[_0x140baf(0xd6)]();if(_0x31a93b)return _0x31a93b;}return'';}export function canUseDataI18n(_0x5290b6,_0x24e722,_0x135964){const _0x26cf7c=resolveEpsEntity(_0x5290b6),_0x3eb0a2=resolveDataI18nTableName(_0x26cf7c,_0x135964),_0x24d6a1=dataPackFromService(_0x24e722),_0x3cdd8a=Boolean(_0x26cf7c?.['dataI18n']&&_0x3eb0a2&&_0x24d6a1?.['translateTable']);return{'ok':_0x3cdd8a,'tableName':_0x3eb0a2,'entity':_0x26cf7c};}
1
+ (function(_0x4cd9da,_0x28e8e8){const _0x14307f=_0x5959,_0x1e8585=_0x4cd9da();while(!![]){try{const _0x10d622=parseInt(_0x14307f(0xa0))/0x1+parseInt(_0x14307f(0xa9))/0x2+-parseInt(_0x14307f(0xb4))/0x3+parseInt(_0x14307f(0xb5))/0x4+parseInt(_0x14307f(0xb6))/0x5+-parseInt(_0x14307f(0x9c))/0x6*(parseInt(_0x14307f(0xb0))/0x7)+parseInt(_0x14307f(0xae))/0x8*(-parseInt(_0x14307f(0xb3))/0x9);if(_0x10d622===_0x28e8e8)break;else _0x1e8585['push'](_0x1e8585['shift']());}catch(_0x629838){_0x1e8585['push'](_0x1e8585['shift']());}}}(_0x13b0,0x69fd9));import{findEpsEntity}from'../lib/eps';export function mapLangOptions(_0x4c3146){const _0xac973f=_0x5959,_0x31dff2=Array[_0xac973f(0x9b)](_0x4c3146)?_0x4c3146:Array[_0xac973f(0x9b)](_0x4c3146?.[_0xac973f(0xa8)])?_0x4c3146[_0xac973f(0xa8)]??[]:[],_0x561d40=[];for(const _0x5785fb of _0x31dff2){const _0x4ea38f=String(_0x5785fb[_0xac973f(0xa1)]||_0x5785fb[_0xac973f(0xb1)]||'')[_0xac973f(0xad)]();if(!_0x4ea38f)continue;const _0x15eedf=String(_0x5785fb['name']||_0x5785fb[_0xac973f(0xa7)]||_0x4ea38f)[_0xac973f(0xad)]()||_0x4ea38f;_0x561d40[_0xac973f(0xab)]({'label':_0x15eedf,'value':_0x4ea38f,'name':_0x15eedf,'flag':String(_0x5785fb[_0xac973f(0x9e)]??'')['trim']()});}return _0x561d40[_0xac973f(0xb7)]((_0x1ba24d,_0x520266)=>_0x1ba24d[_0xac973f(0xb1)][_0xac973f(0xaf)](_0x520266[_0xac973f(0xb1)],undefined,{'sensitivity':_0xac973f(0xb2)})),_0x561d40;}async function resolveSourceLangCode(_0xc5b7d3){const _0x513099=_0x5959;if(!_0xc5b7d3['sourceCode'])return'';try{const _0x5d7f0c=await _0xc5b7d3[_0x513099(0xa2)]();if(_0x5d7f0c&&typeof _0x5d7f0c===_0x513099(0xbb)&&!Array[_0x513099(0x9b)](_0x5d7f0c))return String(_0x5d7f0c[_0x513099(0xa1)]||'')['trim']();return String(_0x5d7f0c||'')[_0x513099(0xad)]();}catch{return'';}}export async function loadEnabledLangOptions(_0x500581,_0x223561){const _0x1a20b5=_0x5959,_0x415be3=_0x500581[_0x1a20b5(0xa6)]?.['lang'];if(!_0x415be3)return[];const _0x10ef44=_0x415be3[_0x1a20b5(0xaa)],_0x5e652f=async _0x5a587c=>{if(!_0x5a587c)return[];try{return mapLangOptions(await _0x5a587c());}catch{return[];}},_0xa045ba=Boolean(_0x223561?.[_0x1a20b5(0x9f)]);let _0x1ce3a9=await _0x5e652f(_0x10ef44?()=>_0x10ef44(_0xa045ba?{'excludeSource':!![]}:undefined):undefined);!_0x1ce3a9[_0x1a20b5(0xa3)]&&(_0x1ce3a9=await _0x5e652f(_0x415be3['list']?()=>_0x415be3[_0x1a20b5(0xa8)]({'status':0x1}):undefined));!_0x1ce3a9[_0x1a20b5(0xa3)]&&(_0x1ce3a9=await _0x5e652f(_0x415be3[_0x1a20b5(0xac)]?()=>_0x415be3[_0x1a20b5(0xac)]({'page':0x1,'size':0xc8,'status':0x1}):undefined));if(_0xa045ba){const _0x1db6b2=await resolveSourceLangCode(_0x415be3);if(_0x1db6b2)_0x1ce3a9=_0x1ce3a9[_0x1a20b5(0xb9)](_0x3ec40e=>_0x3ec40e[_0x1a20b5(0xb1)]!==_0x1db6b2);}return _0x1ce3a9;}function _0x13b0(){const _0x589abd=['Bg9JywXLq29TCgfYzq','ndjSt0vMC2y','DMfSDwu','yMfZzq','mty0mtG3rNLkCxPV','mtu3mJq2mNHxtKXhua','nJG1ota4zLnTA1fX','mJqYmtyWmgrdu0Tjva','C29YDa','y29SDw1UCW','zMLSDgvY','DhjHBNnSyxrLvgfIBgu','B2jQzwn0','AxnbCNjHEq','ndq0mtyYwffSr2TJ','CgfNzunVBhvTBNm','zMXHzW','zxHJBhvKzvnVDxjJzq','nZm3mZiYvhLXzhfy','y29Kzq','C291CMnLq29Kzq','BgvUz3rO','zgf0yvbHy2S','DgfIBgu','Ate4BG','BgfIzwW','BgLZDa','nty1otu4B2X1tvne','zw5HyMXLza','ChvZAa','CgfNzq','DhjPBq','mtiWwePTBNzV'];_0x13b0=function(){return _0x589abd;};return _0x13b0();}export function dataPackFromService(_0x21d533){const _0x3f8d97=_0x5959;return _0x21d533?.['i18n']?.[_0x3f8d97(0xa4)];}export function resolveEpsEntity(_0xe759c6){const _0x5ef59e=_0xe759c6?.['namespace'];if(!_0x5ef59e)return;return findEpsEntity('/'+_0x5ef59e);}function _0x5959(_0x24722d,_0x28587c){_0x24722d=_0x24722d-0x9b;const _0x13b022=_0x13b0();let _0x5959d5=_0x13b022[_0x24722d];if(_0x5959['DyMsZi']===undefined){var _0x51b604=function(_0x3bcea8){const _0x13ce96='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c3146='',_0x31dff2='';for(let _0x561d40=0x0,_0x5785fb,_0x4ea38f,_0x15eedf=0x0;_0x4ea38f=_0x3bcea8['charAt'](_0x15eedf++);~_0x4ea38f&&(_0x5785fb=_0x561d40%0x4?_0x5785fb*0x40+_0x4ea38f:_0x4ea38f,_0x561d40++%0x4)?_0x4c3146+=String['fromCharCode'](0xff&_0x5785fb>>(-0x2*_0x561d40&0x6)):0x0){_0x4ea38f=_0x13ce96['indexOf'](_0x4ea38f);}for(let _0x1ba24d=0x0,_0x520266=_0x4c3146['length'];_0x1ba24d<_0x520266;_0x1ba24d++){_0x31dff2+='%'+('00'+_0x4c3146['charCodeAt'](_0x1ba24d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31dff2);};_0x5959['DFXUcJ']=_0x51b604,_0x5959['EmUVcN']={},_0x5959['DyMsZi']=!![];}const _0x562c83=_0x13b022[0x0],_0x1d2bb7=_0x24722d+_0x562c83,_0x3488fb=_0x5959['EmUVcN'][_0x1d2bb7];return!_0x3488fb?(_0x5959d5=_0x5959['DFXUcJ'](_0x5959d5),_0x5959['EmUVcN'][_0x1d2bb7]=_0x5959d5):_0x5959d5=_0x3488fb,_0x5959d5;}export function resolveDataI18nTableName(_0x5d0d06,_0x12e49a){const _0x30554f=_0x5959;if(_0x12e49a?.['trim']())return _0x12e49a['trim']();if(!_0x5d0d06)return'';const _0x1c678c=[..._0x5d0d06[_0x30554f(0xb8)]||[],..._0x5d0d06[_0x30554f(0x9d)]||[]];for(const _0x1cafbf of _0x1c678c){const _0x2aa8af=String(_0x1cafbf[_0x30554f(0xa5)]||'')[_0x30554f(0xad)]();if(_0x2aa8af)return _0x2aa8af;}return'';}export function canUseDataI18n(_0x2eddfb,_0x20f789,_0x59a228){const _0x136c44=_0x5959,_0xd9559=resolveEpsEntity(_0x2eddfb),_0x2af4f3=resolveDataI18nTableName(_0xd9559,_0x59a228),_0x3430f4=dataPackFromService(_0x20f789),_0x1a203f=Boolean(_0xd9559?.['dataI18n']&&_0x2af4f3&&_0x3430f4?.[_0x136c44(0xba)]);return{'ok':_0x1a203f,'tableName':_0x2af4f3,'entity':_0xd9559};}