vome-core 0.3.67 → 0.3.69
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/api/client.d.ts +50 -0
- package/dist/admin/components/ui/avatar/index.d.ts +3 -0
- package/dist/admin/components/ui/avatar/index.js +1 -1
- package/dist/admin/components/ui/badge/index.d.ts +6 -0
- package/dist/admin/components/ui/button/index.d.ts +7 -0
- package/dist/admin/components/ui/checkbox/index.d.ts +1 -0
- package/dist/admin/components/ui/checkbox/index.js +1 -1
- package/dist/admin/components/ui/dialog/index.d.ts +10 -0
- package/dist/admin/components/ui/dialog/index.js +1 -1
- package/dist/admin/components/ui/dropdown-menu/index.d.ts +15 -0
- package/dist/admin/components/ui/dropdown-menu/index.js +1 -1
- package/dist/admin/components/ui/input/index.d.ts +1 -0
- package/dist/admin/components/ui/input/index.js +1 -1
- package/dist/admin/components/ui/label/index.d.ts +1 -0
- package/dist/admin/components/ui/label/index.js +1 -1
- package/dist/admin/components/ui/scroll-area/index.d.ts +2 -0
- package/dist/admin/components/ui/scroll-area/index.js +1 -1
- package/dist/admin/components/ui/select/index.d.ts +11 -0
- package/dist/admin/components/ui/select/index.js +1 -1
- package/dist/admin/components/ui/separator/index.d.ts +1 -0
- package/dist/admin/components/ui/separator/index.js +1 -1
- package/dist/admin/components/ui/sheet/index.d.ts +8 -0
- package/dist/admin/components/ui/sheet/index.js +1 -1
- package/dist/admin/components/ui/sonner/index.d.ts +1 -0
- package/dist/admin/components/ui/sonner/index.js +1 -1
- package/dist/admin/components/ui/table/index.d.ts +9 -0
- package/dist/admin/components/ui/table/index.js +1 -1
- package/dist/admin/components/ui/tabs/index.d.ts +4 -0
- package/dist/admin/components/ui/tabs/index.js +1 -1
- package/dist/admin/components/ui/tooltip/index.d.ts +4 -0
- package/dist/admin/components/ui/tooltip/index.js +1 -1
- package/dist/admin/crud/auto-fields.d.ts +68 -0
- package/dist/admin/crud/auto-fields.js +1 -1
- package/dist/admin/crud/config.d.ts +5 -0
- package/dist/admin/crud/config.js +1 -1
- package/dist/admin/crud/confirm.d.ts +19 -0
- package/dist/admin/crud/confirm.js +1 -1
- package/dist/admin/crud/crud-page-request.d.ts +21 -0
- package/dist/admin/crud/crud-page-request.js +1 -1
- package/dist/admin/crud/data-i18n.d.ts +62 -0
- package/dist/admin/crud/data-i18n.js +1 -1
- package/dist/admin/crud/dict.d.ts +4 -0
- package/dist/admin/crud/dict.js +1 -1
- package/dist/admin/crud/export-fetch.d.ts +22 -0
- package/dist/admin/crud/export-fetch.js +1 -1
- package/dist/admin/crud/index.d.ts +60 -0
- package/dist/admin/crud/json-kv.d.ts +9 -0
- package/dist/admin/crud/key.d.ts +22 -0
- package/dist/admin/crud/key.js +1 -1
- package/dist/admin/crud/paging.d.ts +2 -0
- package/dist/admin/crud/plugins.d.ts +63 -0
- package/dist/admin/crud/plugins.js +1 -1
- package/dist/admin/crud/registry.d.ts +3 -0
- package/dist/admin/crud/span.d.ts +17 -0
- package/dist/admin/crud/span.js +1 -1
- package/dist/admin/crud/style.d.ts +82 -0
- package/dist/admin/crud/style.js +1 -1
- package/dist/admin/crud/useCrud.d.ts +26 -0
- package/dist/admin/crud/validate.d.ts +7 -0
- package/dist/admin/crud/validate.js +1 -1
- package/dist/admin/directives/perm.d.ts +3 -0
- package/dist/admin/directives/perm.js +1 -1
- package/dist/admin/hooks/useBrowser.d.ts +6 -0
- package/dist/admin/hooks/useUpload.d.ts +8 -0
- package/dist/admin/hooks/useUpload.js +1 -1
- package/dist/admin/hooks/useVome.d.ts +10 -0
- package/dist/admin/index.d.ts +31 -1
- package/dist/admin/lib/browser.d.ts +3 -0
- package/dist/admin/lib/browser.js +1 -1
- package/dist/admin/lib/cn.d.ts +2 -0
- package/dist/admin/lib/cn.js +1 -1
- package/dist/admin/lib/compress-image.d.ts +12 -0
- package/dist/admin/lib/dialog-float.d.ts +8 -0
- package/dist/admin/lib/dialog-float.js +1 -1
- package/dist/admin/lib/eps.d.ts +2 -0
- package/dist/admin/lib/export-excel.d.ts +9 -0
- package/dist/admin/lib/export-excel.js +1 -1
- package/dist/admin/lib/file-preview.d.ts +9 -0
- package/dist/admin/lib/import-excel.d.ts +21 -0
- package/dist/admin/lib/import-excel.js +1 -1
- package/dist/admin/lib/json.d.ts +11 -0
- package/dist/admin/lib/json.js +1 -1
- package/dist/admin/lib/menu.d.ts +3 -0
- package/dist/admin/lib/menu.js +1 -1
- package/dist/admin/lib/micro-locale.d.ts +5 -0
- package/dist/admin/lib/micro-locale.js +1 -1
- package/dist/admin/lib/micro-theme.d.ts +14 -0
- package/dist/admin/lib/micro-theme.js +1 -1
- package/dist/admin/lib/module.d.ts +21 -0
- package/dist/admin/lib/scarce-assets.d.ts +5 -0
- package/dist/admin/lib/shell.d.ts +8 -0
- package/dist/admin/lib/shell.js +1 -1
- package/dist/admin/lib/theme-color-options.d.ts +15 -0
- package/dist/admin/lib/theme-color-options.js +1 -1
- package/dist/admin/lib/tree.d.ts +2 -0
- package/dist/admin/lib/tree.js +1 -1
- package/dist/admin/lib/upload.d.ts +17 -0
- package/dist/admin/lib/upload.js +1 -1
- package/dist/admin/lib/video-frame.d.ts +6 -0
- package/dist/admin/lib/video-frame.js +1 -1
- package/dist/admin/router/create.d.ts +16 -0
- package/dist/admin/router/create.js +1 -1
- package/dist/admin/router/guards.d.ts +6 -0
- package/dist/admin/router/guards.js +1 -1
- package/dist/admin/router/index.d.ts +5 -1
- package/dist/admin/router/menu-routes.d.ts +13 -0
- package/dist/admin/service/index.d.ts +11 -1
- package/dist/admin/stores/app.d.ts +1 -0
- package/dist/admin/stores/tags.d.ts +1 -0
- package/dist/admin/stores/user.d.ts +1 -0
- package/dist/ai/index.js +1 -1
- package/dist/client/admin-vendor.d.ts +13 -1
- package/dist/client/ai-model-registry.d.ts +16 -0
- package/dist/client/ai-model-registry.js +1 -1
- package/dist/client/base.d.ts +28 -0
- package/dist/client/base.js +1 -1
- package/dist/client/configure.d.ts +33 -0
- package/dist/client/configure.js +1 -1
- package/dist/client/dict.d.ts +31 -0
- package/dist/client/dict.js +1 -1
- package/dist/client/eps-payload.d.ts +3 -0
- package/dist/client/eps-payload.js +1 -1
- package/dist/client/eps.d.ts +17 -0
- package/dist/client/eps.js +1 -1
- package/dist/client/index.d.ts +7 -1
- package/dist/client/index.js +1 -1
- package/dist/client/locale-change.d.ts +16 -0
- package/dist/client/locale-change.js +1 -1
- package/dist/client/locale-store.d.ts +61 -0
- package/dist/client/locale-store.js +1 -1
- package/dist/client/path.d.ts +6 -0
- package/dist/client/path.js +1 -0
- package/dist/client/service.d.ts +29 -0
- package/dist/client/service.js +1 -1
- package/dist/client/vite-admin.d.ts +40 -1
- package/dist/client/vite-admin.js +1 -1
- package/dist/client/vite-auto-import.d.ts +2 -1
- package/dist/client/vite-auto-import.js +1 -1
- package/dist/client/vite-micro-proxy.d.ts +20 -1
- package/dist/client/vite-micro-proxy.js +1 -1
- package/dist/client/vite-plugin-eps.d.ts +20 -1
- package/dist/client/vite-plugin-eps.js +1 -1
- package/dist/client/vite-resolve.d.ts +16 -1
- package/dist/client/vite-resolve.js +1 -1
- package/dist/config/index.js +1 -1
- package/dist/index.js +1 -1
- package/dist/orm/entity-cache.d.ts +1 -1
- package/dist/orm/service.d.ts +5 -5
- 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/package.json +3 -3
package/dist/admin/index.d.ts
CHANGED
|
@@ -1 +1,31 @@
|
|
|
1
|
-
export {}
|
|
1
|
+
export { resolveView, listViewsTree, viewPathToName, registerViews, VIEWS_RESCAN_EVENT, } from './lib/module';
|
|
2
|
+
export type { ViewsTreeNode } from '../../typings/admin/vome/module';
|
|
3
|
+
export type { BrowserInfo, BrowserScreen } from '../../typings/admin/vome/browser';
|
|
4
|
+
export { useBrowser } from './hooks/useBrowser';
|
|
5
|
+
export { useUpload } from './hooks/useUpload';
|
|
6
|
+
export { useVome } from './hooks/useVome';
|
|
7
|
+
/** CRUD 组件走自动引入;此处只再导出 composable / 工具,避免桶导入拖入全部 SFC */
|
|
8
|
+
export { useCrud, useTable, useUpsert, useSearch, useImport, useCore, CRUD_KEY, } from './crud/useCrud';
|
|
9
|
+
export { Plugins, toTree, setFocus, setRules, setAuto, buildAutoSearchItems, } from './crud/plugins';
|
|
10
|
+
export { buildAutoUpsertItems, buildAutoTableColumns, mergeByProp, pinOpColumnsLast, mapDictOptions, dictFirstValue, resolveFormItemValue, } from './crud/auto-fields';
|
|
11
|
+
export { setCrudConfig, getCrudConfig, getCrudStyle, setCrudTranslator, crudLocaleRev, crudT, crudLabel, crudFormat, } from './crud/style';
|
|
12
|
+
export { resolveCrudComponent, registerCrudComponent } from './crud/registry';
|
|
13
|
+
export { vmConfirm } from './crud/confirm';
|
|
14
|
+
export type { ConfirmDialogComponents } from './crud/confirm';
|
|
15
|
+
export { deepTree, flattenTree } from './lib/tree';
|
|
16
|
+
export { configureAdminShellHooks, runAdminShellLogoutCleanup } from './lib/shell';
|
|
17
|
+
export type { AdminShellHooks } from './lib/shell';
|
|
18
|
+
export { getScarceSvgUrl, listScarceKinds, SCARCE_PAGE_NOT_FOUND } from './lib/scarce-assets';
|
|
19
|
+
export { setupAdminRouterGuards, resetMenuRoutesFlag, ensureMenuRoutes, syncMenuRoutes, createAdminRouter, } from './router';
|
|
20
|
+
export type { MenuRouteShell, AdminRouterPages, AdminRouterResult, } from './router';
|
|
21
|
+
export { useAppStore } from './stores/app';
|
|
22
|
+
export { useUserStore } from './stores/user';
|
|
23
|
+
export { useTagsStore } from './stores/tags';
|
|
24
|
+
export { api, request, apiUrl, isAiStreamResult, getAccessToken, getRefreshToken, setTokens, clearTokens, formatApiMessage, } from './api/client';
|
|
25
|
+
export type { AiClientStreamResult, AiClientStreamChunk } from './api/client';
|
|
26
|
+
export { service, createEps, setServicePerms, resolveService, serviceOf, BaseService, } from './service';
|
|
27
|
+
export { vPerm } from './directives/perm';
|
|
28
|
+
export { cn } from './lib/cn';
|
|
29
|
+
export { preventDialogOutsideClose, isDialogFloatTarget, DIALOG_FLOAT_CLASS } from './lib/dialog-float';
|
|
30
|
+
export { hasJsonContent, prettyJson, textOfJson, parseJsonInput } from './lib/json';
|
|
31
|
+
export type { JsonParseResult } from './lib/json';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const _0x3fe50d=_0x4097;(function(_0x35384c,_0x3f51a0){const _0x5511e9=_0x4097,_0x35463d=_0x35384c();while(!![]){try{const _0x1bdea6=-parseInt(_0x5511e9(0x1c2))/0x1*(-parseInt(_0x5511e9(0x1d1))/0x2)+-parseInt(_0x5511e9(0x1c4))/0x3*(-parseInt(_0x5511e9(0x1ce))/0x4)+-parseInt(_0x5511e9(0x1d0))/0x5+parseInt(_0x5511e9(0x1c5))/0x6+-parseInt(_0x5511e9(0x1c9))/0x7*(parseInt(_0x5511e9(0x1cc))/0x8)+-parseInt(_0x5511e9(0x1c8))/0x9+-parseInt(_0x5511e9(0x1c3))/0xa;if(_0x1bdea6===_0x3f51a0)break;else _0x35463d['push'](_0x35463d['shift']());}catch(_0x15fa45){_0x35463d['push'](_0x35463d['shift']());}}}(_0x5c1b,0x98ba3));const SSR_FALLBACK={'height':0x0,'width':0x780,'type':_0x3fe50d(0x1d3),'screen':_0x3fe50d(0x1cf),'isMini':![]};function _0x5c1b(){const _0x29d442=['BxnPzq','nJG4mtu4ouXlv1LxqW','mJK3mJG5m2rmrhDXqW','Dg9mB3DLCKnHC2u','DxnLCKfNzw50','oeTyAKTsAa','DgvZDa','otCYoffiueH0zG','zNvSBa','mZu4mZqZmfzStunLwq','mtbusMzUzuK','Bwf0y2G','B3rOzxi','zg9JDw1LBNrfBgvTzw50','mJm1mZmWr1fbB0vv','ntyWmdeXmerbENbKvW','otmZwhrSDhfM','nJK1mtuXnNL2DhLiwq','Dw5KzwzPBMvK'];_0x5c1b=function(){return _0x29d442;};return _0x5c1b();}function _0x4097(_0x1d4f09,_0x4c7e20){_0x1d4f09=_0x1d4f09-0x1c2;const _0x5c1bb6=_0x5c1b();let _0x40977d=_0x5c1bb6[_0x1d4f09];if(_0x4097['VXnudR']===undefined){var _0x4654f3=function(_0x17f819){const _0x4043a3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58765a='',_0x6b2b56='';for(let _0x371092=0x0,_0x15df7f,_0x19085b,_0x41ddcd=0x0;_0x19085b=_0x17f819['charAt'](_0x41ddcd++);~_0x19085b&&(_0x15df7f=_0x371092%0x4?_0x15df7f*0x40+_0x19085b:_0x19085b,_0x371092++%0x4)?_0x58765a+=String['fromCharCode'](0xff&_0x15df7f>>(-0x2*_0x371092&0x6)):0x0){_0x19085b=_0x4043a3['indexOf'](_0x19085b);}for(let _0x37b20c=0x0,_0x5c8754=_0x58765a['length'];_0x37b20c<_0x5c8754;_0x37b20c++){_0x6b2b56+='%'+('00'+_0x58765a['charCodeAt'](_0x37b20c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6b2b56);};_0x4097['HvaLux']=_0x4654f3,_0x4097['PQKmnY']={},_0x4097['VXnudR']=!![];}const _0x21dce8=_0x5c1bb6[0x0],_0xc12333=_0x1d4f09+_0x21dce8,_0x2294e0=_0x4097['PQKmnY'][_0xc12333];return!_0x2294e0?(_0x40977d=_0x4097['HvaLux'](_0x40977d),_0x4097['PQKmnY'][_0xc12333]=_0x40977d):_0x40977d=_0x2294e0,_0x40977d;}export function getBrowser(){const _0x1adf21=_0x3fe50d;if(typeof document===_0x1adf21(0x1c6)||typeof navigator==='undefined')return{...SSR_FALLBACK};const {clientHeight:_0x58765a,clientWidth:_0x6b2b56}=document[_0x1adf21(0x1d4)],_0x371092=navigator[_0x1adf21(0x1cb)][_0x1adf21(0x1ca)]();let _0x15df7f=(_0x371092[_0x1adf21(0x1d2)](/firefox|chrome|safari|opera/g)||['other'])[0x0];if((_0x371092[_0x1adf21(0x1d2)](/msie|trident/g)||[])[0x0])_0x15df7f=_0x1adf21(0x1c7);let _0x19085b='full';if(_0x6b2b56<0x300)_0x19085b='xs';else{if(_0x6b2b56<0x3e0)_0x19085b='sm';else{if(_0x6b2b56<0x4b0)_0x19085b='md';else{if(_0x6b2b56<0x780)_0x19085b='xl';}}}const _0x41ddcd=!/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i[_0x1adf21(0x1cd)](_0x371092);return{'height':_0x58765a,'width':_0x6b2b56,'type':_0x15df7f,'screen':_0x19085b,'isMini':_0x19085b==='xs'||!_0x41ddcd};}
|
package/dist/admin/lib/cn.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x103f(){var _0x5b02f9=['mtuYohvNyuLdtG','mtC4mgH6vwjWrG','mJmZmJK4owDsvhbXsG','mZCZnZe1weLbDgzb','mtjjCeLxDvm','mZy1otDTtK94AuO','mKDXrLj1qW','nJiYotmYAwLPAhHO','mZu1nJKWsK5Yverx','mtiYnJyYmLfoEgTTza','mtuZm3jvv1byCa'];_0x103f=function(){return _0x5b02f9;};return _0x103f();}(function(_0x2781c0,_0x439105){var _0x20ed71=_0x37cc,_0x44328b=_0x2781c0();while(!![]){try{var _0x27b17e=parseInt(_0x20ed71(0xc6))/0x1*(parseInt(_0x20ed71(0xc4))/0x2)+-parseInt(_0x20ed71(0xc5))/0x3+parseInt(_0x20ed71(0xc2))/0x4*(parseInt(_0x20ed71(0xc1))/0x5)+parseInt(_0x20ed71(0xc7))/0x6+-parseInt(_0x20ed71(0xc8))/0x7*(parseInt(_0x20ed71(0xc9))/0x8)+parseInt(_0x20ed71(0xc0))/0x9+parseInt(_0x20ed71(0xbf))/0xa*(-parseInt(_0x20ed71(0xc3))/0xb);if(_0x27b17e===_0x439105)break;else _0x44328b['push'](_0x44328b['shift']());}catch(_0xd1948c){_0x44328b['push'](_0x44328b['shift']());}}}(_0x103f,0x314aa));import{clsx}from'clsx';import{twMerge}from'tailwind-merge';function _0x37cc(_0x1de3a5,_0x26a8f7){_0x1de3a5=_0x1de3a5-0xbf;var _0x103f7e=_0x103f();var _0x37cc06=_0x103f7e[_0x1de3a5];if(_0x37cc['dVcOgg']===undefined){var _0x3c6cef=function(_0x1de151){var _0x4307d3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x57edc6='',_0xace527='';for(var _0x59afe7=0x0,_0x172ba9,_0x4a2a2a,_0x47d3e6=0x0;_0x4a2a2a=_0x1de151['charAt'](_0x47d3e6++);~_0x4a2a2a&&(_0x172ba9=_0x59afe7%0x4?_0x172ba9*0x40+_0x4a2a2a:_0x4a2a2a,_0x59afe7++%0x4)?_0x57edc6+=String['fromCharCode'](0xff&_0x172ba9>>(-0x2*_0x59afe7&0x6)):0x0){_0x4a2a2a=_0x4307d3['indexOf'](_0x4a2a2a);}for(var _0x2abfdb=0x0,_0x4e4be2=_0x57edc6['length'];_0x2abfdb<_0x4e4be2;_0x2abfdb++){_0xace527+='%'+('00'+_0x57edc6['charCodeAt'](_0x2abfdb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xace527);};_0x37cc['uDdHHT']=_0x3c6cef,_0x37cc['eQMAXw']={},_0x37cc['dVcOgg']=!![];}var _0x1c7cd2=_0x103f7e[0x0],_0x518916=_0x1de3a5+_0x1c7cd2,_0x21f85e=_0x37cc['eQMAXw'][_0x518916];return!_0x21f85e?(_0x37cc06=_0x37cc['uDdHHT'](_0x37cc06),_0x37cc['eQMAXw'][_0x518916]=_0x37cc06):_0x37cc06=_0x21f85e,_0x37cc06;}export function cn(..._0x57edc6){return twMerge(clsx(_0x57edc6));}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** 是否走浏览器压缩(按 MIME;svg / 非图片否) */
|
|
2
|
+
export declare function isCompressibleImage(type: string): boolean;
|
|
3
|
+
export type CompressImageOptions = {
|
|
4
|
+
/** 0–100,来自 browser-image-compression */
|
|
5
|
+
onProgress?: (percent: number) => void;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* 浏览器端压缩图片(browser-image-compression)。
|
|
9
|
+
* 不可压类型 / 失败时返回原 File。
|
|
10
|
+
* 依赖由 dist/admin/vendor 预打包;本文件须加入 obfuscate skip。
|
|
11
|
+
*/
|
|
12
|
+
export declare function compressImage(file: File, opts?: CompressImageOptions): Promise<File>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Dialog 内 Teleport 浮层统一标记:点浮层时勿关闭宿主 Dialog */
|
|
2
|
+
export declare const DIALOG_FLOAT_CLASS = "vm-dialog-float";
|
|
3
|
+
/** 触发框与 Teleport / Popper 浮层之间的间距(px) */
|
|
4
|
+
export declare const POPUP_TRIGGER_GAP = 2;
|
|
5
|
+
/** 判断 pointer/focus/interact-outside 是否落在 Dialog 浮层上 */
|
|
6
|
+
export declare function isDialogFloatTarget(event: Event): boolean;
|
|
7
|
+
/** CRUD Dialog:点击内部 Teleport 浮层时不关闭宿主弹窗 */
|
|
8
|
+
export declare function preventDialogOutsideClose(event: Event): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const _0x5a9ca2=_0x28d0;(function(_0x386dd6,_0x4a8030){const _0x4bb25f=_0x28d0,_0x4c5064=_0x386dd6();while(!![]){try{const _0x4616a4=-parseInt(_0x4bb25f(0xff))/0x1+parseInt(_0x4bb25f(0xfb))/0x2*(-parseInt(_0x4bb25f(0xf5))/0x3)+parseInt(_0x4bb25f(0xf4))/0x4+-parseInt(_0x4bb25f(0xfc))/0x5*(parseInt(_0x4bb25f(0x103))/0x6)+-parseInt(_0x4bb25f(0xf9))/0x7*(parseInt(_0x4bb25f(0xf6))/0x8)+-parseInt(_0x4bb25f(0xfa))/0x9+-parseInt(_0x4bb25f(0xf7))/0xa*(-parseInt(_0x4bb25f(0xf3))/0xb);if(_0x4616a4===_0x4a8030)break;else _0x4c5064['push'](_0x4c5064['shift']());}catch(_0x86ffc2){_0x4c5064['push'](_0x4c5064['shift']());}}}(_0x4ff4,0xa1add));export const DIALOG_FLOAT_CLASS=_0x5a9ca2(0xfe);export const POPUP_TRIGGER_GAP=0x2;export function isDialogFloatTarget(_0x4636a7){const _0x24045a=_0x5a9ca2,_0x39c3cf=_0x4636a7[_0x24045a(0xf8)],_0x51aa03=_0x39c3cf?.[_0x24045a(0xfd)]?.[_0x24045a(0x102)]??_0x4636a7['target'];if(!_0x51aa03)return![];const _0x233e4a=_0x51aa03 instanceof Element?_0x51aa03:_0x51aa03[_0x24045a(0x100)];return Boolean(_0x233e4a?.[_0x24045a(0x101)]('.'+DIALOG_FLOAT_CLASS));}function _0x28d0(_0x49569d,_0x4d4f7a){_0x49569d=_0x49569d-0xf3;const _0x4ff46f=_0x4ff4();let _0x28d0e0=_0x4ff46f[_0x49569d];if(_0x28d0['CUfeyA']===undefined){var _0x4fe6b0=function(_0x278fbf){const _0xae5102='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4636a7='',_0x39c3cf='';for(let _0x51aa03=0x0,_0x233e4a,_0x2b7f72,_0x3b948e=0x0;_0x2b7f72=_0x278fbf['charAt'](_0x3b948e++);~_0x2b7f72&&(_0x233e4a=_0x51aa03%0x4?_0x233e4a*0x40+_0x2b7f72:_0x2b7f72,_0x51aa03++%0x4)?_0x4636a7+=String['fromCharCode'](0xff&_0x233e4a>>(-0x2*_0x51aa03&0x6)):0x0){_0x2b7f72=_0xae5102['indexOf'](_0x2b7f72);}for(let _0x1391ae=0x0,_0x13c8ae=_0x4636a7['length'];_0x1391ae<_0x13c8ae;_0x1391ae++){_0x39c3cf+='%'+('00'+_0x4636a7['charCodeAt'](_0x1391ae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39c3cf);};_0x28d0['XsCxKy']=_0x4fe6b0,_0x28d0['wjscEo']={},_0x28d0['CUfeyA']=!![];}const _0x3577ea=_0x4ff46f[0x0],_0x4f3d71=_0x49569d+_0x3577ea,_0x2789c2=_0x28d0['wjscEo'][_0x4f3d71];return!_0x2789c2?(_0x28d0e0=_0x28d0['XsCxKy'](_0x28d0e0),_0x28d0['wjscEo'][_0x4f3d71]=_0x28d0e0):_0x28d0e0=_0x2789c2,_0x28d0e0;}function _0x4ff4(){const _0x489240=['mJeXnJe3mgHTyvLszq','mLrVu0nAzq','mtv6tM1Oz24','B3jPz2LUywXfDMvUDa','DM0TzgLHBg9NlwzSB2f0','nZGXmtmWwvrsqNvo','CgfYzw50rwXLBwvUDa','y2XVC2vZDa','DgfYz2v0','mJiWmtCXmMnMrfzUvq','mZu5mZDpz01qr2y','mtGZnJmWoezNt05rvW','mJmYntq4nKXVzenRBG','offWy0vYua','mtiYmtbbrM5OvwO','zgv0ywLS','nJi1ndK4m1bAwufrCW'];_0x4ff4=function(){return _0x489240;};return _0x4ff4();}export function preventDialogOutsideClose(_0x2b7f72){if(isDialogFloatTarget(_0x2b7f72))_0x2b7f72['preventDefault']();}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CrudColumn } from '../../../typings/admin/comm/crud';
|
|
2
|
+
export { buildExcelBuffer, excelFilename, excelResponseHeaders, toExcelUint8Array, } from '../../shared/excel';
|
|
3
|
+
export type { ExcelColumn } from '../../shared/excel';
|
|
4
|
+
/** 可导出的数据列(排除 selection / op 等) */
|
|
5
|
+
export declare function pickExportColumns(columns: CrudColumn[]): CrudColumn[];
|
|
6
|
+
export declare function flattenExportRows(rows: Record<string, unknown>[], tree?: boolean): Record<string, unknown>[];
|
|
7
|
+
/** 浏览器触发 xlsx 下载(勿对 ArrayBuffer 用 Uint8Array.from,会得到空缓冲) */
|
|
8
|
+
export declare function downloadExcelBuffer(buffer: Uint8Array | ArrayBuffer, filename: string): void;
|
|
9
|
+
export declare function exportCrudExcel(columns: CrudColumn[], rows: Record<string, unknown>[], filename: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x36ae83,_0x17ba8f){const _0x5542b1=_0x4e93,_0x4aeee6=_0x36ae83();while(!![]){try{const _0x2cfec5=parseInt(_0x5542b1(0xcc))/0x1+-parseInt(_0x5542b1(0xc1))/0x2*(parseInt(_0x5542b1(0xe3))/0x3)+parseInt(_0x5542b1(0xc6))/0x4*(-parseInt(_0x5542b1(0xe0))/0x5)+-parseInt(_0x5542b1(0xd4))/0x6+-parseInt(_0x5542b1(0xdc))/0x7*(-parseInt(_0x5542b1(0xd5))/0x8)+parseInt(_0x5542b1(0xd0))/0x9*(-parseInt(_0x5542b1(0xcb))/0xa)+parseInt(_0x5542b1(0xd6))/0xb*(parseInt(_0x5542b1(0xde))/0xc);if(_0x2cfec5===_0x17ba8f)break;else _0x4aeee6['push'](_0x4aeee6['shift']());}catch(_0x151bb5){_0x4aeee6['push'](_0x4aeee6['shift']());}}}(_0x58df,0x4b93c));import{toValue}from'vue';import{buildExcelBuffer,excelFilename,toExcelUint8Array}from'../../shared/excel';function _0x58df(){const _0x5ba38a=['ywrK','mZy3otmWoerYzMzlsa','mtyWCevoB1He','mti5mtG0mJjZv1vHEhi','BgfIzwW','C2vSzwn0Aw9U','y2HPBgrYzw4','DhLWzq','AxnbCNjHEq','ote0mdz2v01sAxe','zM9YBwf0DgvY','mtj3y0PNre4','AgLKzgvU','mJu2mdu1nxniwKnUDW','y2XPy2S','y3jLyxrLrwXLBwvUDa','mtiZBgrWyxr6','AhjLzG','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','zMLUza','mtm5nZbAtuj6EM8','y3jLyxrLt2jQzwn0vvjm','AM9PBG','zMLSDgvY','zg93BMXVywq','nfbAv0fsCW','ChjVCa','Aw5KzxG','zgLJDa','BgvUz3rO','nte2nZb1wLDAwwK','mZiXodG1q3fJy3Lj','CMv2B2TLt2jQzwn0vvjm','zxHWyw5K','DMfSDwu','nJnnrgzPy1a','C29Tzq','BwfW'];_0x58df=function(){return _0x5ba38a;};return _0x58df();}import{flattenTree}from'./tree';export{buildExcelBuffer,excelFilename,excelResponseHeaders,toExcelUint8Array}from'../../shared/excel';export function pickExportColumns(_0x5425c1){const _0x3836cb=_0x4e93;return _0x5425c1[_0x3836cb(0xc4)](_0x17d475=>Boolean(_0x17d475[_0x3836cb(0xc7)])&&_0x17d475[_0x3836cb(0xda)]!==_0x3836cb(0xd8)&&_0x17d475[_0x3836cb(0xda)]!=='op'&&_0x17d475[_0x3836cb(0xda)]!==_0x3836cb(0xce)&&_0x17d475[_0x3836cb(0xda)]!==_0x3836cb(0xc8)&&!_0x17d475[_0x3836cb(0xdf)]);}function _0x4e93(_0x2f36f0,_0x498003){_0x2f36f0=_0x2f36f0-0xc1;const _0x58df91=_0x58df();let _0x4e93b0=_0x58df91[_0x2f36f0];if(_0x4e93['NFAwxE']===undefined){var _0x4ec5f5=function(_0x290d84){const _0x39cfb0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5425c1='',_0x17d475='';for(let _0x24807e=0x0,_0x5337fc,_0x2091dc,_0x64734e=0x0;_0x2091dc=_0x290d84['charAt'](_0x64734e++);~_0x2091dc&&(_0x5337fc=_0x24807e%0x4?_0x5337fc*0x40+_0x2091dc:_0x2091dc,_0x24807e++%0x4)?_0x5425c1+=String['fromCharCode'](0xff&_0x5337fc>>(-0x2*_0x24807e&0x6)):0x0){_0x2091dc=_0x39cfb0['indexOf'](_0x2091dc);}for(let _0x21cd79=0x0,_0x5f1bca=_0x5425c1['length'];_0x21cd79<_0x5f1bca;_0x21cd79++){_0x17d475+='%'+('00'+_0x5425c1['charCodeAt'](_0x21cd79)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17d475);};_0x4e93['ewzrXH']=_0x4ec5f5,_0x4e93['yltlSg']={},_0x4e93['NFAwxE']=!![];}const _0x3fd305=_0x58df91[0x0],_0x5db9d8=_0x2f36f0+_0x3fd305,_0x3f4148=_0x4e93['yltlSg'][_0x5db9d8];return!_0x3f4148?(_0x4e93b0=_0x4e93['ewzrXH'](_0x4e93b0),_0x4e93['yltlSg'][_0x5db9d8]=_0x4e93b0):_0x4e93b0=_0x3f4148,_0x4e93b0;}function formatExportCell(_0x24807e,_0x5337fc){const _0x22dcc8=_0x4e93;if(!_0x24807e['prop'])return'';const _0x2091dc=_0x5337fc[_0x24807e[_0x22dcc8(0xc7)]];if(_0x24807e[_0x22dcc8(0xdd)])return _0x24807e['formatter'](_0x5337fc,_0x2091dc);const _0x64734e=_0x24807e[_0x22dcc8(0xc9)]==null?[]:toValue(_0x24807e['dict']);if(Array[_0x22dcc8(0xdb)](_0x64734e)&&_0x64734e[_0x22dcc8(0xca)]&&_0x2091dc!=null&&_0x2091dc!==''){const _0x21cd79=Array[_0x22dcc8(0xdb)](_0x2091dc)?_0x2091dc:[_0x2091dc],_0x5f1bca=_0x21cd79[_0x22dcc8(0xd2)](_0x4ce713=>{const _0x4eb239=_0x22dcc8,_0x630f8e=_0x64734e[_0x4eb239(0xe6)](_0xb01e4f=>_0xb01e4f[_0x4eb239(0xcf)]===_0x4ce713||String(_0xb01e4f[_0x4eb239(0xcf)])===String(_0x4ce713));return _0x630f8e?.['label'];})['filter'](Boolean);if(_0x5f1bca[_0x22dcc8(0xca)])return _0x5f1bca[_0x22dcc8(0xc3)]('、');}if(_0x2091dc==null)return'';return String(_0x2091dc);}export function flattenExportRows(_0x430e32,_0x8956f2){const _0x1c8d5d=_0x4e93;if(!_0x8956f2)return _0x430e32;const _0x4a1049=_0x430e32[_0x1c8d5d(0xd1)](_0x10baa2=>Array[_0x1c8d5d(0xdb)](_0x10baa2[_0x1c8d5d(0xd9)])&&_0x10baa2[_0x1c8d5d(0xd9)][_0x1c8d5d(0xca)]);if(!_0x4a1049)return _0x430e32;const _0x648bd4=new Set(),_0x21aca3=_0x6d7e59=>{const _0x128d27=_0x1c8d5d;for(const _0x1a0f54 of _0x6d7e59){if(_0x1a0f54['id']!=null)_0x648bd4[_0x128d27(0xd3)](_0x1a0f54['id']);const _0x2b3647=_0x1a0f54[_0x128d27(0xd9)];Array[_0x128d27(0xdb)](_0x2b3647)&&_0x2b3647['length']&&_0x21aca3(_0x2b3647);}};return _0x21aca3(_0x430e32),flattenTree(_0x430e32,_0x648bd4);}function crudColumnsToExcel(_0x354f76){const _0x3f3f20=_0x4e93;return pickExportColumns(_0x354f76)[_0x3f3f20(0xd2)](_0x2faddd=>({'prop':_0x2faddd[_0x3f3f20(0xc7)],'label':_0x2faddd[_0x3f3f20(0xd7)]||_0x2faddd[_0x3f3f20(0xc7)]}));}export function downloadExcelBuffer(_0x5a0643,_0x22d24a){const _0x30a93d=_0x4e93,_0x481f03=toExcelUint8Array(_0x5a0643),_0x4c6109=new Blob([_0x481f03],{'type':_0x30a93d(0xe5)}),_0x509b3a=URL[_0x30a93d(0xc2)](_0x4c6109),_0x42a549=document[_0x30a93d(0xe2)]('a');_0x42a549[_0x30a93d(0xe4)]=_0x509b3a,_0x42a549[_0x30a93d(0xc5)]=excelFilename(_0x22d24a),_0x42a549[_0x30a93d(0xe1)](),URL[_0x30a93d(0xcd)](_0x509b3a);}export function exportCrudExcel(_0xab18a7,_0xf1f91f,_0x31e7fc){const _0x2a14a8=pickExportColumns(_0xab18a7),_0x3eda3e=crudColumnsToExcel(_0x2a14a8),_0xcfe90=buildExcelBuffer(_0x3eda3e,_0xf1f91f,(_0x14e566,_0x1ba9eb)=>{const _0x38abd5=_0x4e93,_0x214dd0=_0x2a14a8[_0x38abd5(0xe6)](_0x4694b0=>_0x4694b0['prop']===_0x14e566);return _0x214dd0?formatExportCell(_0x214dd0,_0x1ba9eb):String(_0x1ba9eb[_0x14e566]??'');});downloadExcelBuffer(_0xcfe90,_0x31e7fc);}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type FilePreviewKind = 'pdf' | 'excel' | 'text' | 'office' | 'unsupported';
|
|
2
|
+
export type MediaPreviewKind = FilePreviewKind | 'image' | 'video' | 'audio';
|
|
3
|
+
/** 按 URL / 文件名推断预览类型(含图片 / 音视频) */
|
|
4
|
+
export declare function getMediaPreviewKind(path?: string): MediaPreviewKind;
|
|
5
|
+
export declare function fileDisplayName(path?: string, fallback?: string): string;
|
|
6
|
+
export declare function fetchFileText(url: string): Promise<string>;
|
|
7
|
+
/** Excel 首表 → HTML 表格 */
|
|
8
|
+
export declare function loadExcelPreviewHtml(url: string): Promise<string>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type ImportResult = {
|
|
2
|
+
inserted: number;
|
|
3
|
+
updated: number;
|
|
4
|
+
failed: Array<{
|
|
5
|
+
row: number;
|
|
6
|
+
message: string;
|
|
7
|
+
}>;
|
|
8
|
+
};
|
|
9
|
+
type ImportPreview = {
|
|
10
|
+
headers: string[];
|
|
11
|
+
rows: Record<string, unknown>[];
|
|
12
|
+
};
|
|
13
|
+
/** 本地解析 xlsx 供导入弹窗预览 */
|
|
14
|
+
export declare function parseImportExcelPreview(file: File): Promise<ImportPreview>;
|
|
15
|
+
/** GET /importTemplate → 下载实体导入模板 */
|
|
16
|
+
export declare function downloadImportTemplate(namespace: string, filename?: string): Promise<void>;
|
|
17
|
+
/** POST /import multipart file */
|
|
18
|
+
export declare function uploadImportExcel(namespace: string, file: File): Promise<ImportResult>;
|
|
19
|
+
/** POST /import JSON `{ rows }`(业务改写行后直传,跳过再拼 File) */
|
|
20
|
+
export declare function uploadImportRows(namespace: string, rows: Record<string, unknown>[]): Promise<ImportResult>;
|
|
21
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x26bcf3=_0x2811;function _0x2811(_0xfdb20d,_0xffbc51){_0xfdb20d=_0xfdb20d-0x1ab;const _0xadfe9c=_0xadfe();let _0x2811cf=_0xadfe9c[_0xfdb20d];if(_0x2811['bdjmPi']===undefined){var _0x19fda2=function(_0x5dc888){const _0x3f2edf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d8186='',_0x18e8ad='';for(let _0x4a40c5=0x0,_0x106d2b,_0x4d5dff,_0x5f2183=0x0;_0x4d5dff=_0x5dc888['charAt'](_0x5f2183++);~_0x4d5dff&&(_0x106d2b=_0x4a40c5%0x4?_0x106d2b*0x40+_0x4d5dff:_0x4d5dff,_0x4a40c5++%0x4)?_0x5d8186+=String['fromCharCode'](0xff&_0x106d2b>>(-0x2*_0x4a40c5&0x6)):0x0){_0x4d5dff=_0x3f2edf['indexOf'](_0x4d5dff);}for(let _0x464688=0x0,_0xfbc3d6=_0x5d8186['length'];_0x464688<_0xfbc3d6;_0x464688++){_0x18e8ad+='%'+('00'+_0x5d8186['charCodeAt'](_0x464688)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18e8ad);};_0x2811['ECMrpb']=_0x19fda2,_0x2811['TdarNc']={},_0x2811['bdjmPi']=!![];}const _0x58f76d=_0xadfe9c[0x0],_0x153dd7=_0xfdb20d+_0x58f76d,_0x52b96b=_0x2811['TdarNc'][_0x153dd7];return!_0x52b96b?(_0x2811cf=_0x2811['ECMrpb'](_0x2811cf),_0x2811['TdarNc'][_0x153dd7]=_0x2811cf):_0x2811cf=_0x52b96b,_0x2811cf;}(function(_0x3b4294,_0x588727){const _0x40981b=_0x2811,_0x20350c=_0x3b4294();while(!![]){try{const _0x53e257=parseInt(_0x40981b(0x1c7))/0x1*(parseInt(_0x40981b(0x1c4))/0x2)+parseInt(_0x40981b(0x1c5))/0x3*(-parseInt(_0x40981b(0x1b2))/0x4)+-parseInt(_0x40981b(0x1ac))/0x5*(-parseInt(_0x40981b(0x1c2))/0x6)+parseInt(_0x40981b(0x1c3))/0x7*(parseInt(_0x40981b(0x1bc))/0x8)+-parseInt(_0x40981b(0x1ba))/0x9+-parseInt(_0x40981b(0x1af))/0xa+-parseInt(_0x40981b(0x1be))/0xb*(-parseInt(_0x40981b(0x1c8))/0xc);if(_0x53e257===_0x588727)break;else _0x20350c['push'](_0x20350c['shift']());}catch(_0x4f26fc){_0x20350c['push'](_0x20350c['shift']());}}}(_0xadfe,0x427fb));import{apiUrl,getAccessToken}from'../api/client';import{crudFormat,crudLabel}from'../crud/style';import{downloadExcelBuffer}from'./export-excel';import{parseExcelBuffer}from'../../shared/excel';function authHeaders(_0x5d8186){const _0x57b104=_0x2811,_0x18e8ad=new Headers(_0x5d8186),_0x4a40c5=getAccessToken();if(_0x4a40c5)_0x18e8ad[_0x57b104(0x1bf)](_0x57b104(0x1b8),'Bearer\x20'+_0x4a40c5);return _0x18e8ad;}function resolveNamespace(_0x106d2b){const _0x49a89d=_0x2811;if(!_0x106d2b)return'';return _0x106d2b[_0x49a89d(0x1b0)]('/')?_0x106d2b:'/'+_0x106d2b;}function headersFromRows(_0x4d5dff){const _0x2d2a52=_0x2811,_0x5f2183=[],_0x464688=new Set();for(const _0xfbc3d6 of _0x4d5dff){for(const _0x3107f8 of Object[_0x2d2a52(0x1ab)](_0xfbc3d6)){if(_0x464688[_0x2d2a52(0x1b4)](_0x3107f8))continue;_0x464688[_0x2d2a52(0x1b1)](_0x3107f8),_0x5f2183[_0x2d2a52(0x1c1)](_0x3107f8);}}return _0x5f2183;}export async function parseImportExcelPreview(_0x2beff2){const _0x5b918b=_0x2811,_0x4e5812=new Uint8Array(await _0x2beff2[_0x5b918b(0x1b7)]()),_0x47458e=parseExcelBuffer(_0x4e5812);return{'headers':headersFromRows(_0x47458e),'rows':_0x47458e};}function _0xadfe(){const _0x4103d7=['y29Kzq','AgfZ','BwvZC2fNzq','zgf0yq','yxjYyxLcDwzMzxi','yxv0Ag9YAxPHDgLVBG','C3rYAw5NAwz5','nJmWmda5twDesNfp','Aw1WB3j0vhbS','mZjpBMzoA1i','C3rHDhvZ','mJa0nZf0u01huve','C2v0','l2LTCg9YDa','ChvZAa','mtG5ndy4nMrbquryqq','mJCZmZe1y0Piuurh','mK1qDxzNCG','mti5AgzLvfDP','l2LTCg9YDfrLBxbSyxrL','mZu3mZLsrvjjBeO','mJm4ohrhufDvDa','zg93BMXVywruCgXgywLSu3rHDhvZ','yxbWBgLJyxrPB24VANnVBG','A2v5CW','nuHrDwj0vq','ue9tva','yxbWzw5K','ndKXmdi1mfj0uKrXCq','C3rHCNrZv2L0Aa','ywrK','nde1mLfstKnNDa'];_0xadfe=function(){return _0x4103d7;};return _0xadfe();}export async function downloadImportTemplate(_0x122c29,_0x2955ff=crudLabel(_0x26bcf3(0x1bb))){const _0x2b7b1d=_0x26bcf3,_0x5288e1=apiUrl(resolveNamespace(_0x122c29)+_0x2b7b1d(0x1c6)),_0x4f2d57=await fetch(_0x5288e1,{'headers':authHeaders()});if(!_0x4f2d57['ok']){const _0x377cdf=await _0x4f2d57['text']();throw new Error(_0x377cdf||crudFormat(crudLabel(_0x2b7b1d(0x1c9)),_0x4f2d57[_0x2b7b1d(0x1bd)]));}const _0xbae25a=new Uint8Array(await _0x4f2d57['arrayBuffer']());downloadExcelBuffer(_0xbae25a,_0x2955ff);}export async function uploadImportExcel(_0x1a9c3a,_0xd3f1d4){const _0x491d86=_0x26bcf3,_0x5a72ee=apiUrl(resolveNamespace(_0x1a9c3a)+_0x491d86(0x1c0)),_0x1ac7d3=new FormData();_0x1ac7d3[_0x491d86(0x1ae)]('file',_0xd3f1d4);const _0x2739cb=await fetch(_0x5a72ee,{'method':_0x491d86(0x1ad),'headers':authHeaders(),'body':_0x1ac7d3});return parseImportResponse(_0x2739cb);}export async function uploadImportRows(_0x22d30a,_0xa8c701){const _0x40836d=_0x26bcf3,_0x16591f=apiUrl(resolveNamespace(_0x22d30a)+_0x40836d(0x1c0)),_0x1e4cc6=await fetch(_0x16591f,{'method':_0x40836d(0x1ad),'headers':authHeaders({'content-type':_0x40836d(0x1ca)}),'body':JSON[_0x40836d(0x1b9)]({'rows':_0xa8c701})});return parseImportResponse(_0x1e4cc6);}async function parseImportResponse(_0x15941c){const _0x10ad4a=_0x26bcf3,_0x5c4b9e=await _0x15941c['text']();let _0x5b1ecd=null;try{_0x5b1ecd=_0x5c4b9e?JSON['parse'](_0x5c4b9e):null;}catch{}if(_0x5b1ecd?.[_0x10ad4a(0x1b3)]===0x3e8&&_0x5b1ecd[_0x10ad4a(0x1b6)])return _0x5b1ecd[_0x10ad4a(0x1b6)];throw new Error(_0x5b1ecd?.[_0x10ad4a(0x1b5)]||_0x5c4b9e||crudFormat(crudLabel('importFailStatus'),_0x15941c[_0x10ad4a(0x1bd)]));}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare function textOfJson(v: unknown): string;
|
|
2
|
+
export declare function prettyJson(raw: unknown, empty?: string): string;
|
|
3
|
+
export declare function hasJsonContent(raw: unknown): boolean;
|
|
4
|
+
export type JsonParseResult = {
|
|
5
|
+
ok: true;
|
|
6
|
+
value: unknown;
|
|
7
|
+
} | {
|
|
8
|
+
ok: false;
|
|
9
|
+
error: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function parseJsonInput(raw: string): JsonParseResult;
|
package/dist/admin/lib/json.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x2916ee,_0xe2e3b8){const _0x5be8dd=_0x5d13,_0x55505d=_0x2916ee();while(!![]){try{const _0x5410d2=-parseInt(_0x5be8dd(0x177))/0x1*(-parseInt(_0x5be8dd(0x174))/0x2)+parseInt(_0x5be8dd(0x175))/0x3*(-parseInt(_0x5be8dd(0x171))/0x4)+-parseInt(_0x5be8dd(0x172))/0x5*(parseInt(_0x5be8dd(0x179))/0x6)+parseInt(_0x5be8dd(0x176))/0x7*(-parseInt(_0x5be8dd(0x17b))/0x8)+parseInt(_0x5be8dd(0x16e))/0x9*(parseInt(_0x5be8dd(0x17a))/0xa)+parseInt(_0x5be8dd(0x180))/0xb+parseInt(_0x5be8dd(0x17c))/0xc*(parseInt(_0x5be8dd(0x16f))/0xd);if(_0x5410d2===_0xe2e3b8)break;else _0x55505d['push'](_0x55505d['shift']());}catch(_0x320bb7){_0x55505d['push'](_0x55505d['shift']());}}}(_0x1d63,0xb5b78));import{crudLabel}from'../crud/style';function _0x1d63(){const _0x54cd71=['B2jQzwn0','DhjPBq','ndqZnZaZn05ktwvOAW','ANnVBKvTChr5','CgfYC2u','owPfquP2tq','mJq3q0L2BwfR','C3rYAw5N','odG4sgDmvgDR','mJvoDuXtt3i','ANnVBKvYCM9Y','mtqYt2Xdq2nO','mteWnZniBeHNzLK','mtaWmdK2nuPNzKPwDa','mty5mJfhA2PwDw0','C3rYAw5NAwz5','mti0ndqWnK5lqMvQrW','mZC4mtC5meTUrKr4Dq','mJrtrw9KEgG','nJyXmte2uxbQrefI','BwvZC2fNzq'];_0x1d63=function(){return _0x54cd71;};return _0x1d63();}export function textOfJson(_0x245a5a){const _0x8c1ddd=_0x5d13;if(_0x245a5a==null)return'';if(typeof _0x245a5a===_0x8c1ddd(0x170))return _0x245a5a;try{return JSON[_0x8c1ddd(0x178)](_0x245a5a);}catch{return String(_0x245a5a);}}function _0x5d13(_0x58f9bd,_0x4b279c){_0x58f9bd=_0x58f9bd-0x16e;const _0x1d63c3=_0x1d63();let _0x5d1306=_0x1d63c3[_0x58f9bd];if(_0x5d13['JMQDcR']===undefined){var _0x45f5ca=function(_0x5610b0){const _0x44126e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x245a5a='',_0x28c00c='';for(let _0x1c18d1=0x0,_0x4c0efd,_0x10aaa5,_0x399e45=0x0;_0x10aaa5=_0x5610b0['charAt'](_0x399e45++);~_0x10aaa5&&(_0x4c0efd=_0x1c18d1%0x4?_0x4c0efd*0x40+_0x10aaa5:_0x10aaa5,_0x1c18d1++%0x4)?_0x245a5a+=String['fromCharCode'](0xff&_0x4c0efd>>(-0x2*_0x1c18d1&0x6)):0x0){_0x10aaa5=_0x44126e['indexOf'](_0x10aaa5);}for(let _0x16b667=0x0,_0x121a9d=_0x245a5a['length'];_0x16b667<_0x121a9d;_0x16b667++){_0x28c00c+='%'+('00'+_0x245a5a['charCodeAt'](_0x16b667)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x28c00c);};_0x5d13['AvjEMk']=_0x45f5ca,_0x5d13['BKvwRU']={},_0x5d13['JMQDcR']=!![];}const _0x183bc7=_0x1d63c3[0x0],_0x1018e0=_0x58f9bd+_0x183bc7,_0x59f5c0=_0x5d13['BKvwRU'][_0x1018e0];return!_0x59f5c0?(_0x5d1306=_0x5d13['AvjEMk'](_0x5d1306),_0x5d13['BKvwRU'][_0x1018e0]=_0x5d1306):_0x5d1306=_0x59f5c0,_0x5d1306;}export function prettyJson(_0x28c00c,_0x1c18d1){const _0x3b95f4=_0x5d13,_0x4c0efd=_0x1c18d1??crudLabel(_0x3b95f4(0x181)),_0x10aaa5=textOfJson(_0x28c00c)[_0x3b95f4(0x17f)]();if(!_0x10aaa5)return _0x4c0efd;try{return JSON[_0x3b95f4(0x178)](JSON[_0x3b95f4(0x182)](_0x10aaa5),null,0x2);}catch{if(typeof _0x28c00c===_0x3b95f4(0x17e)&&_0x28c00c!==null)try{return JSON[_0x3b95f4(0x178)](_0x28c00c,null,0x2);}catch{}return _0x10aaa5;}}export function hasJsonContent(_0x399e45){const _0xc3b3e0=_0x5d13;return Boolean(textOfJson(_0x399e45)[_0xc3b3e0(0x17f)]());}export function parseJsonInput(_0x16b667){const _0x147f46=_0x5d13,_0x121a9d=_0x16b667[_0x147f46(0x17f)]();if(!_0x121a9d)return{'ok':!![],'value':null};try{return{'ok':!![],'value':JSON[_0x147f46(0x182)](_0x121a9d)};}catch(_0x151c62){return{'ok':![],'error':_0x151c62 instanceof Error?_0x151c62[_0x147f46(0x17d)]:crudLabel(_0x147f46(0x173))};}}
|
package/dist/admin/lib/menu.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x13c8(_0x18a51f,_0x5ba15a){_0x18a51f=_0x18a51f-0x19d;const _0x2b2ea5=_0x2b2e();let _0x13c84e=_0x2b2ea5[_0x18a51f];if(_0x13c8['lDrvhi']===undefined){var _0xf790f8=function(_0x3f958a){const _0x436c4a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x46254f='',_0x52b285='';for(let _0x545182=0x0,_0x296a11,_0x3aa589,_0x258ed4=0x0;_0x3aa589=_0x3f958a['charAt'](_0x258ed4++);~_0x3aa589&&(_0x296a11=_0x545182%0x4?_0x296a11*0x40+_0x3aa589:_0x3aa589,_0x545182++%0x4)?_0x46254f+=String['fromCharCode'](0xff&_0x296a11>>(-0x2*_0x545182&0x6)):0x0){_0x3aa589=_0x436c4a['indexOf'](_0x3aa589);}for(let _0xd97f67=0x0,_0x1bc50f=_0x46254f['length'];_0xd97f67<_0x1bc50f;_0xd97f67++){_0x52b285+='%'+('00'+_0x46254f['charCodeAt'](_0xd97f67)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52b285);};_0x13c8['HSBXnx']=_0xf790f8,_0x13c8['EmhNHr']={},_0x13c8['lDrvhi']=!![];}const _0x4873c2=_0x2b2ea5[0x0],_0x3e060d=_0x18a51f+_0x4873c2,_0x2760b5=_0x13c8['EmhNHr'][_0x3e060d];return!_0x2760b5?(_0x13c84e=_0x13c8['HSBXnx'](_0x13c84e),_0x13c8['EmhNHr'][_0x3e060d]=_0x13c84e):_0x13c84e=_0x2760b5,_0x13c84e;}(function(_0x2e1247,_0x3f7a26){const _0xdd60e8=_0x13c8,_0xf64198=_0x2e1247();while(!![]){try{const _0xf24621=-parseInt(_0xdd60e8(0x1a3))/0x1+parseInt(_0xdd60e8(0x1ab))/0x2*(-parseInt(_0xdd60e8(0x1ac))/0x3)+parseInt(_0xdd60e8(0x1a0))/0x4*(-parseInt(_0xdd60e8(0x1a9))/0x5)+-parseInt(_0xdd60e8(0x1a4))/0x6+parseInt(_0xdd60e8(0x1a7))/0x7+-parseInt(_0xdd60e8(0x1a1))/0x8*(parseInt(_0xdd60e8(0x1a2))/0x9)+parseInt(_0xdd60e8(0x19f))/0xa;if(_0xf24621===_0x3f7a26)break;else _0xf64198['push'](_0xf64198['shift']());}catch(_0x366c2a){_0xf64198['push'](_0xf64198['shift']());}}}(_0x2b2e,0x6eef2));function _0x2b2e(){const _0x406841=['y2HPBgrYzw4','mJeWotjUwMzWrvm','mta4D0jszwHw','AxntAg93','BgvUz3rO','mtK0otqWmtbkrMffBNu','mJu0mtK2DhLeqLHj','mtC2ogjYzgHura','mZCZnunnqNHJDG','nJq5odu3BKHKtKXS','mtqYota1nKHwu0nktW','CM91DgvY','zMLSDgvY','nti3oduYnvD2v3nrsG','AxnbCNjHEq','nZbutfjHthu'];_0x2b2e=function(){return _0x406841;};return _0x2b2e();}export function filterShowMenus(_0x46254f){const _0x564fd6=_0x13c8;if(!Array[_0x564fd6(0x1a8)](_0x46254f)||!_0x46254f[_0x564fd6(0x19e)])return[];return _0x46254f['filter'](_0x52b285=>_0x52b285&&_0x52b285[_0x564fd6(0x19d)]!==![])['map'](_0x545182=>({..._0x545182,'children':_0x545182[_0x564fd6(0x1aa)]?.[_0x564fd6(0x19e)]?filterShowMenus(_0x545182['children']):undefined}))[_0x564fd6(0x1a6)](_0x296a11=>{const _0xf8a39e=_0x564fd6,_0x3aa589=Number(_0x296a11['type']);return _0x3aa589===0x0||_0x3aa589===0x1&&_0x296a11[_0xf8a39e(0x1a5)]||(_0x296a11[_0xf8a39e(0x1aa)]?.[_0xf8a39e(0x19e)]??0x0)>0x0;});}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** 宿主 → 无界子应用语种同步(与 micro-theme 同模式) */
|
|
2
|
+
export declare const MICRO_LOCALE_EVENT = "vome-host-locale";
|
|
3
|
+
export declare const HOST_LOCALE_KEY = "vome_admin_locale";
|
|
4
|
+
export declare function hasMicroLocaleListeners(): boolean;
|
|
5
|
+
export declare function readHostLocale(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function _0x2090(_0x4bbb39,_0x2e58bd){_0x4bbb39=_0x4bbb39-0xf9;const _0x373c54=_0x373c();let _0x20909d=_0x373c54[_0x4bbb39];if(_0x2090['DLIcqm']===undefined){var _0x1bfe83=function(_0x1910d7){const _0xaf5d44='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e9677='',_0x342f51='';for(let _0xfb5513=0x0,_0x2434d7,_0x38da0f,_0x5425fe=0x0;_0x38da0f=_0x1910d7['charAt'](_0x5425fe++);~_0x38da0f&&(_0x2434d7=_0xfb5513%0x4?_0x2434d7*0x40+_0x38da0f:_0x38da0f,_0xfb5513++%0x4)?_0x1e9677+=String['fromCharCode'](0xff&_0x2434d7>>(-0x2*_0xfb5513&0x6)):0x0){_0x38da0f=_0xaf5d44['indexOf'](_0x38da0f);}for(let _0x416566=0x0,_0xdd1883=_0x1e9677['length'];_0x416566<_0xdd1883;_0x416566++){_0x342f51+='%'+('00'+_0x1e9677['charCodeAt'](_0x416566)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x342f51);};_0x2090['HkHiiH']=_0x1bfe83,_0x2090['TxGPiX']={},_0x2090['DLIcqm']=!![];}const _0x2c4454=_0x373c54[0x0],_0xc1c6db=_0x4bbb39+_0x2c4454,_0x4e0fbf=_0x2090['TxGPiX'][_0xc1c6db];return!_0x4e0fbf?(_0x20909d=_0x2090['HkHiiH'](_0x20909d),_0x2090['TxGPiX'][_0xc1c6db]=_0x20909d):_0x20909d=_0x4e0fbf,_0x20909d;}function _0x373c(){const _0x17116e=['n0HpuwjSuW','z2v0sxrLBq','ntG5nZqYne5RDervwG','mZm1mtC2mMjkrMHcqq','mtq5m1fxCMrVuW','mtjrs1HcrNO','ndCYnZCYvMrOCKPv','ndyZmZGXnLfqDe15Dq','mtbtzffsyNi','nduYmtq0mfzIqNHcDG','BgvUz3rO','yxbWrxzLBNrpyMPnyxa','DMfSDwvZ','C2L6zq','mtmWnenxs1zfwG','ota2mZy2u3Lergfe','DM9Tzv9Hzg1PBL9SB2nHBgu','x3D1AMLLx2fSBf9LDMvUDa','x19xvuPjrv9jtKPfq1q'];_0x373c=function(){return _0x17116e;};return _0x373c();}const _0x14bf37=_0x2090;(function(_0x57370b,_0x2543be){const _0xcf2a3e=_0x2090,_0xbe7bdf=_0x57370b();while(!![]){try{const _0x3b9794=-parseInt(_0xcf2a3e(0xfe))/0x1*(-parseInt(_0xcf2a3e(0x108))/0x2)+parseInt(_0xcf2a3e(0xff))/0x3*(parseInt(_0xcf2a3e(0x100))/0x4)+-parseInt(_0xcf2a3e(0x103))/0x5+parseInt(_0xcf2a3e(0x109))/0x6*(parseInt(_0xcf2a3e(0xfa))/0x7)+parseInt(_0xcf2a3e(0xfc))/0x8+-parseInt(_0xcf2a3e(0xfd))/0x9*(parseInt(_0xcf2a3e(0x102))/0xa)+-parseInt(_0xcf2a3e(0x101))/0xb;if(_0x3b9794===_0x2543be)break;else _0xbe7bdf['push'](_0xbe7bdf['shift']());}catch(_0x3d12ba){_0xbe7bdf['push'](_0xbe7bdf['shift']());}}}(_0x373c,0x9b645));export const MICRO_LOCALE_EVENT='vome-host-locale';export const HOST_LOCALE_KEY=_0x14bf37(0x10a);const WUJIE_ALL_EVENT=_0x14bf37(0x10b);export function hasMicroLocaleListeners(){const _0xe89394=_0x14bf37;try{const _0x1e9677=window[_0xe89394(0xf9)]?.[_0xe89394(0x105)];if(!_0x1e9677?.[_0xe89394(0x107)])return![];for(const _0x342f51 of _0x1e9677[_0xe89394(0x106)]()){const _0xfb5513=_0x342f51[MICRO_LOCALE_EVENT],_0x2434d7=_0x342f51[WUJIE_ALL_EVENT];if((_0xfb5513?.[_0xe89394(0x104)]??0x0)>0x0||(_0x2434d7?.[_0xe89394(0x104)]??0x0)>0x0)return!![];}}catch{}return![];}export function readHostLocale(){const _0x97bd50=_0x14bf37;try{return localStorage[_0x97bd50(0xfb)](HOST_LOCALE_KEY)?.['trim']()||'zh-CN';}catch{return'zh-CN';}}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** 宿主 ↔ 无界子应用主题同步 */
|
|
2
|
+
export declare const MICRO_THEME_EVENT = "vome-host-theme";
|
|
3
|
+
/** 子应用 → 宿主:请求切换亮暗 */
|
|
4
|
+
export declare const MICRO_SET_THEME_EVENT = "vome-set-host-theme";
|
|
5
|
+
/** 是否有子应用监听主题(无则跳过 emit,避免「事件订阅数量为空」) */
|
|
6
|
+
export declare function hasMicroThemeListeners(): boolean;
|
|
7
|
+
export declare const MICRO_THEME_VARS: readonly ["--brand", "--brand-soft", "--brand-deep", "--background", "--foreground", "--card", "--card-foreground", "--popover", "--popover-foreground", "--primary", "--primary-foreground", "--secondary", "--secondary-foreground", "--muted", "--muted-foreground", "--accent", "--accent-foreground", "--destructive", "--danger", "--danger-soft", "--warning", "--warning-soft", "--success", "--success-soft", "--border", "--input", "--ring", "--focus-border"];
|
|
8
|
+
export type HostThemeSnapshot = {
|
|
9
|
+
dark: boolean;
|
|
10
|
+
themeId: string;
|
|
11
|
+
tokens: Record<string, string>;
|
|
12
|
+
};
|
|
13
|
+
/** 采集当前 documentElement 上的主题 token(含 inline + .dark) */
|
|
14
|
+
export declare function snapshotHostTheme(): HostThemeSnapshot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x58a895=_0x5bc3;function _0x5bc3(_0x15cc07,_0x439c65){_0x15cc07=_0x15cc07-0x1d6;const _0x238a41=_0x238a();let _0x5bc35a=_0x238a41[_0x15cc07];if(_0x5bc3['jMHDRr']===undefined){var _0x15f816=function(_0xa0c48c){const _0x30a0e8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b7599='',_0x35e787='';for(let _0x1b068a=0x0,_0x3ec5ad,_0x49c38f,_0x42222c=0x0;_0x49c38f=_0xa0c48c['charAt'](_0x42222c++);~_0x49c38f&&(_0x3ec5ad=_0x1b068a%0x4?_0x3ec5ad*0x40+_0x49c38f:_0x49c38f,_0x1b068a++%0x4)?_0x4b7599+=String['fromCharCode'](0xff&_0x3ec5ad>>(-0x2*_0x1b068a&0x6)):0x0){_0x49c38f=_0x30a0e8['indexOf'](_0x49c38f);}for(let _0x4d91d4=0x0,_0xc7ab3d=_0x4b7599['length'];_0x4d91d4<_0xc7ab3d;_0x4d91d4++){_0x35e787+='%'+('00'+_0x4b7599['charCodeAt'](_0x4d91d4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x35e787);};_0x5bc3['YcuCXW']=_0x15f816,_0x5bc3['zSxybY']={},_0x5bc3['jMHDRr']=!![];}const _0x1df67c=_0x238a41[0x0],_0x5846cc=_0x15cc07+_0x1df67c,_0x574e81=_0x5bc3['zSxybY'][_0x5846cc];return!_0x574e81?(_0x5bc35a=_0x5bc3['YcuCXW'](_0x5bc35a),_0x5bc3['zSxybY'][_0x5846cc]=_0x5bc35a):_0x5bc35a=_0x574e81,_0x5bc35a;}function _0x238a(){const _0x1a07e0=['ls1ZzwnVBMrHCNK','ls1Kyw5NzxiTC29MDa','ls1ZDwnJzxnZ','DhjPBq','DM9Tzs1OB3n0lxrOzw1L','ls1MB2n1CY1IB3jKzxi','mte2mti4nJvMqvnvuKW','ls1WB3bVDMvYlwzVCMvNCM91BMq','ls1ICMfUzc1ZB2z0','x19xvuPjrv9jtKPfq1q','ls1WCMLTyxj5lwzVCMvNCM91BMq','mZGXndC3nM1Rs1HKCq','ntbMwxbMtei','nK5IvKH4ra','mtm2ntyWnKXXAefvrW','zgfYAW','otq5mdCWCgDmBLrh','ls1TDxrLza','x3D1AMLLx2fSBf9LDMvUDa','mtjcvfnMAu0','ls13yxjUAw5NlxnVzNq','BgvUz3rO','ls13yxjUAw5N','BgLNAhq','ls1WCMLTyxj5','zg9JDw1LBNrfBgvTzw50','mtHYzgH5qLm','ls1IB3jKzxi','ls1YAw5N','DgHLBwu','ls1WB3bVDMvY','DMfSDwvZ','ntuWmdf1wxLuCgK','y2XHC3nmAxn0','ls1JyxjK','ls1ICMfUzc1KzwvW','ls1Kzxn0CNvJDgL2zq','mtyZmuXlwuXHwq','mJe1mZu2BerRv0nx','z2v0uhjVCgvYDhLwywX1zq','ls1Hy2nLBNq','mti5nJb2CgPpzKq','C2L6zq','ls1ZDwnJzxnZlxnVzNq','ls1MB3jLz3jVDw5K'];_0x238a=function(){return _0x1a07e0;};return _0x238a();}(function(_0x22622c,_0x4817eb){const _0x20cc6c=_0x5bc3,_0xccc775=_0x22622c();while(!![]){try{const _0x55ae9c=parseInt(_0x20cc6c(0x1ee))/0x1*(-parseInt(_0x20cc6c(0x1db))/0x2)+-parseInt(_0x20cc6c(0x1e8))/0x3*(-parseInt(_0x20cc6c(0x1f4))/0x4)+parseInt(_0x20cc6c(0x1de))/0x5+-parseInt(_0x20cc6c(0x1d9))/0x6+parseInt(_0x20cc6c(0x1f3))/0x7*(parseInt(_0x20cc6c(0x1f7))/0x8)+-parseInt(_0x20cc6c(0x1dc))/0x9*(parseInt(_0x20cc6c(0x1da))/0xa)+-parseInt(_0x20cc6c(0x201))/0xb*(-parseInt(_0x20cc6c(0x1e1))/0xc);if(_0x55ae9c===_0x4817eb)break;else _0xccc775['push'](_0xccc775['shift']());}catch(_0x567e91){_0xccc775['push'](_0xccc775['shift']());}}}(_0x238a,0x5e5fa));export const MICRO_THEME_EVENT=_0x58a895(0x1ff);export const MICRO_SET_THEME_EVENT='vome-set-host-theme';const WUJIE_ALL_EVENT=_0x58a895(0x1e0);export function hasMicroThemeListeners(){const _0x285241=_0x58a895;try{const _0x4b7599=window[_0x285241(0x1d7)]?.['appEventObjMap'];if(!_0x4b7599?.[_0x285241(0x1f8)])return![];for(const _0x35e787 of _0x4b7599[_0x285241(0x1ed)]()){const _0x1b068a=_0x35e787[MICRO_THEME_EVENT],_0x3ec5ad=_0x35e787[WUJIE_ALL_EVENT];if((_0x1b068a?.[_0x285241(0x1e3)]??0x0)>0x0||(_0x3ec5ad?.[_0x285241(0x1e3)]??0x0)>0x0)return!![];}}catch{}return![];}export const MICRO_THEME_VARS=['--brand',_0x58a895(0x1d6),_0x58a895(0x1f1),'--background',_0x58a895(0x1fa),_0x58a895(0x1f0),'--card-foreground',_0x58a895(0x1ec),_0x58a895(0x202),_0x58a895(0x1e6),_0x58a895(0x1d8),_0x58a895(0x1fb),'--secondary-foreground',_0x58a895(0x1df),'--muted-foreground',_0x58a895(0x1f6),'--accent-foreground',_0x58a895(0x1f2),'--danger',_0x58a895(0x1fc),_0x58a895(0x1e4),_0x58a895(0x1e2),_0x58a895(0x1fd),_0x58a895(0x1f9),_0x58a895(0x1e9),'--input',_0x58a895(0x1ea),_0x58a895(0x200)];export function snapshotHostTheme(){const _0x2bc787=_0x58a895,_0x49c38f=document[_0x2bc787(0x1e7)],_0x42222c=getComputedStyle(_0x49c38f),_0x4d91d4={};for(const _0xc7ab3d of MICRO_THEME_VARS){const _0x24b41a=_0x42222c[_0x2bc787(0x1f5)](_0xc7ab3d)[_0x2bc787(0x1fe)]();if(_0x24b41a)_0x4d91d4[_0xc7ab3d]=_0x24b41a;}return{'dark':_0x49c38f[_0x2bc787(0x1ef)]['contains'](_0x2bc787(0x1dd)),'themeId':_0x49c38f['dataset'][_0x2bc787(0x1eb)]||_0x2bc787(0x1e5),'tokens':_0x4d91d4};}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ViewLoader, ViewsTreeNode } from '../../../typings/admin/vome/module';
|
|
2
|
+
/** 视图重扫事件:保存 views 触发 HMR 后派发,选择器监听刷新 */
|
|
3
|
+
export declare const VIEWS_RESCAN_EVENT = "vome:views-rescan";
|
|
4
|
+
/** 宿主注册业务视图 glob(包内无法扫描宿主 modules) */
|
|
5
|
+
export declare function registerViews(files: Record<string, () => Promise<{
|
|
6
|
+
default: import('vue').Component;
|
|
7
|
+
}>>): void;
|
|
8
|
+
/** 解析菜单 viewPath,如 modules/base/views/menu */
|
|
9
|
+
export declare function resolveView(viewPath: string | null | undefined): ViewLoader | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* viewPath → 页面组件 name
|
|
12
|
+
* modules/base/views/role → base-role
|
|
13
|
+
* modules/user/views/info → user-info
|
|
14
|
+
*/
|
|
15
|
+
export declare function viewPathToName(viewPath: string | null | undefined): string | undefined;
|
|
16
|
+
export declare function listViews(): string[];
|
|
17
|
+
/**
|
|
18
|
+
* 将扁平 viewPath 建成多列树(展示从 modules/ 后分段)
|
|
19
|
+
* modules/base/views/menu → base > views > menu
|
|
20
|
+
*/
|
|
21
|
+
export declare function listViewsTree(): ViewsTreeNode[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type AdminShellHooks = {
|
|
2
|
+
resetMenuRoutes?: () => void;
|
|
3
|
+
onLogoutCleanup?: () => void | Promise<void>;
|
|
4
|
+
};
|
|
5
|
+
export declare function configureAdminShellHooks(next: AdminShellHooks): void;
|
|
6
|
+
export declare function getAdminShellHooks(): AdminShellHooks;
|
|
7
|
+
/** logout 时执行 router 注册的清理(WS 断开、菜单路由标记重置等) */
|
|
8
|
+
export declare function runAdminShellLogoutCleanup(): void;
|
package/dist/admin/lib/shell.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x1d4ff4=_0x3c00;(function(_0x2a973d,_0x4265e0){const _0x5a3b66=_0x3c00,_0x25e69a=_0x2a973d();while(!![]){try{const _0x551612=-parseInt(_0x5a3b66(0xcd))/0x1+-parseInt(_0x5a3b66(0xc4))/0x2*(-parseInt(_0x5a3b66(0xca))/0x3)+parseInt(_0x5a3b66(0xc8))/0x4*(-parseInt(_0x5a3b66(0xc2))/0x5)+-parseInt(_0x5a3b66(0xc1))/0x6+-parseInt(_0x5a3b66(0xc9))/0x7*(-parseInt(_0x5a3b66(0xcb))/0x8)+parseInt(_0x5a3b66(0xc5))/0x9+-parseInt(_0x5a3b66(0xc6))/0xa;if(_0x551612===_0x4265e0)break;else _0x25e69a['push'](_0x25e69a['shift']());}catch(_0x2fc1d9){_0x25e69a['push'](_0x25e69a['shift']());}}}(_0xa581,0x5d63c));function _0x3c00(_0x30b6c7,_0x20cbe7){_0x30b6c7=_0x30b6c7-0xc1;const _0xa58147=_0xa581();let _0x3c00ed=_0xa58147[_0x30b6c7];if(_0x3c00['TsgTjD']===undefined){var _0x1bde8e=function(_0x2c367d){const _0x1b4f80='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5bfdc1='',_0x8dd02='';for(let _0x4e4625=0x0,_0xc24f82,_0x1df1a2,_0xe9f15d=0x0;_0x1df1a2=_0x2c367d['charAt'](_0xe9f15d++);~_0x1df1a2&&(_0xc24f82=_0x4e4625%0x4?_0xc24f82*0x40+_0x1df1a2:_0x1df1a2,_0x4e4625++%0x4)?_0x5bfdc1+=String['fromCharCode'](0xff&_0xc24f82>>(-0x2*_0x4e4625&0x6)):0x0){_0x1df1a2=_0x1b4f80['indexOf'](_0x1df1a2);}for(let _0x38a74c=0x0,_0x284d6a=_0x5bfdc1['length'];_0x38a74c<_0x284d6a;_0x38a74c++){_0x8dd02+='%'+('00'+_0x5bfdc1['charCodeAt'](_0x38a74c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8dd02);};_0x3c00['pNgxAo']=_0x1bde8e,_0x3c00['NFwanj']={},_0x3c00['TsgTjD']=!![];}const _0x22a13c=_0xa58147[0x0],_0x484a86=_0x30b6c7+_0x22a13c,_0x14a30a=_0x3c00['NFwanj'][_0x484a86];return!_0x14a30a?(_0x3c00ed=_0x3c00['pNgxAo'](_0x3c00ed),_0x3c00['NFwanj'][_0x484a86]=_0x3c00ed):_0x3c00ed=_0x14a30a,_0x3c00ed;}const SHELL_KEY=Symbol[_0x1d4ff4(0xce)]('vome.admin.shell');function slot(){const _0x5bfdc1=globalThis;return!_0x5bfdc1[SHELL_KEY]&&(_0x5bfdc1[SHELL_KEY]={'hooks':{}}),_0x5bfdc1[SHELL_KEY];}export function configureAdminShellHooks(_0x8dd02){const _0x463cf4=_0x1d4ff4,_0x4e4625=slot();_0x4e4625[_0x463cf4(0xcc)]={..._0x4e4625[_0x463cf4(0xcc)],..._0x8dd02};}function _0xa581(){const _0x12288f=['mJbWwhzvEgS','B25mB2DVDxrdBgvHBNvW','mJK2nNjUu3rgtq','nJG3mJq5oxHJzLjqAa','mZe4ndm3mgfKrfPutq','CMvZzxrnzw51uM91DgvZ','mte4nte2D3b5y3nr','mJqZmZyYug1Hs29K','mJKXr1zPD3Dh','mtuYruTSAePU','Ag9VA3m','ntmWntG5C2fwEhzK','zM9Y','mtmWnZCWmefQyNPusa'];_0xa581=function(){return _0x12288f;};return _0xa581();}export function getAdminShellHooks(){const _0x1b6ddb=_0x1d4ff4;return slot()[_0x1b6ddb(0xcc)];}export function runAdminShellLogoutCleanup(){const _0x3bb269=_0x1d4ff4,_0xc24f82=getAdminShellHooks();_0xc24f82[_0x3bb269(0xc3)]?.(),_0xc24f82[_0x3bb269(0xc7)]?.();}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type VmColorThemeOption = {
|
|
2
|
+
key: string;
|
|
3
|
+
label: string;
|
|
4
|
+
/** 当前模式下预览色(读 CSS 变量计算值) */
|
|
5
|
+
value: string;
|
|
6
|
+
};
|
|
7
|
+
export type ThemeColorDef = {
|
|
8
|
+
/** CSS 变量名(不含 `--`) */
|
|
9
|
+
key: string;
|
|
10
|
+
label: string;
|
|
11
|
+
};
|
|
12
|
+
/** admin 模版默认 token(label 经 crudLabel 解析) */
|
|
13
|
+
export declare const ADMIN_THEME_COLOR_DEFS: ThemeColorDef[];
|
|
14
|
+
/** 从宿主 :root 读取 CSS 变量,生成取色器主题列表 */
|
|
15
|
+
export declare function resolveCssThemeColorOptions(defs: ThemeColorDef[], root?: HTMLElement | null): VmColorThemeOption[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x4b1f68=_0x77e3;(function(_0x1d13d4,_0x3136a6){const _0x2a946f=_0x77e3,_0x11c3f2=_0x1d13d4();while(!![]){try{const _0x77a089=-parseInt(_0x2a946f(0x109))/0x1+-parseInt(_0x2a946f(0x110))/0x2+-parseInt(_0x2a946f(0x112))/0x3+-parseInt(_0x2a946f(0x118))/0x4*(-parseInt(_0x2a946f(0x106))/0x5)+parseInt(_0x2a946f(0x11d))/0x6+-parseInt(_0x2a946f(0x10c))/0x7*(-parseInt(_0x2a946f(0x122))/0x8)+parseInt(_0x2a946f(0x10a))/0x9;if(_0x77a089===_0x3136a6)break;else _0x11c3f2['push'](_0x11c3f2['shift']());}catch(_0x4a9b0a){_0x11c3f2['push'](_0x11c3f2['shift']());}}}(_0x258e,0x200b6));function _0x77e3(_0x3a7df5,_0x59a411){_0x3a7df5=_0x3a7df5-0x102;const _0x258e41=_0x258e();let _0x77e3a6=_0x258e41[_0x3a7df5];if(_0x77e3['qwSOia']===undefined){var _0x4f0e6a=function(_0x2772a3){const _0x21df70='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4106b9='',_0x1a1cad='';for(let _0x2699e2=0x0,_0x1f1c07,_0x824ccd,_0x2c73df=0x0;_0x824ccd=_0x2772a3['charAt'](_0x2c73df++);~_0x824ccd&&(_0x1f1c07=_0x2699e2%0x4?_0x1f1c07*0x40+_0x824ccd:_0x824ccd,_0x2699e2++%0x4)?_0x4106b9+=String['fromCharCode'](0xff&_0x1f1c07>>(-0x2*_0x2699e2&0x6)):0x0){_0x824ccd=_0x21df70['indexOf'](_0x824ccd);}for(let _0xa7cd82=0x0,_0x30eae9=_0x4106b9['length'];_0xa7cd82<_0x30eae9;_0xa7cd82++){_0x1a1cad+='%'+('00'+_0x4106b9['charCodeAt'](_0xa7cd82)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a1cad);};_0x77e3['rTJFMx']=_0x4f0e6a,_0x77e3['kLtsQa']={},_0x77e3['qwSOia']=!![];}const _0x7fe82b=_0x258e41[0x0],_0xc384cd=_0x3a7df5+_0x7fe82b,_0x25474e=_0x77e3['kLtsQa'][_0xc384cd];return!_0x25474e?(_0x77e3a6=_0x77e3['rTJFMx'](_0x77e3a6),_0x77e3['kLtsQa'][_0xc384cd]=_0x77e3a6):_0x77e3a6=_0x25474e,_0x77e3a6;}import{crudLabel}from'../crud/style';const THEME_LABEL_KEY={'brand':_0x4b1f68(0x10b),'brand-soft':_0x4b1f68(0x11f),'brand-deep':_0x4b1f68(0x115),'primary':_0x4b1f68(0x10d),'secondary':_0x4b1f68(0x114),'accent':_0x4b1f68(0x108),'destructive':'themeDestructive','danger':_0x4b1f68(0x121),'warning':_0x4b1f68(0x120),'success':_0x4b1f68(0x11e),'background':'themeBackground','foreground':_0x4b1f68(0x117),'card':_0x4b1f68(0x107),'muted':'themeMuted','muted-foreground':_0x4b1f68(0x113),'border':_0x4b1f68(0x102),'ring':_0x4b1f68(0x10f),'sidebar':_0x4b1f68(0x119)};function _0x258e(){const _0x5ea2e1=['DgHLBwvxyxjUAw5N','DgHLBwveyw5Nzxi','mteYuK1hs2Db','DgHLBwvcB3jKzxi','DhjPBq','BgfIzwW','z2v0uhjVCgvYDhLwywX1zq','ntyZnJeWq1fAEfD3','DgHLBwvdyxjK','DgHLBwvby2nLBNq','mtK0mteXy0TdBfPw','mJaYndy3nMTUBeXvBG','DgHLBwvcCMfUza','mZK1mJjJzxzQt3y','DgHLBwvqCMLTyxj5','Dw5KzwzPBMvK','DgHLBwvsAw5N','mJKWmdKWCxDSzLDg','AgfZ','mJmWodmYCg9lsujS','DgHLBwvnDxrLzezVCMvNCM91BMq','DgHLBwvtzwnVBMrHCNK','DgHLBwvcCMfUzerLzxa','BwfW','DgHLBwvgB3jLz3jVDw5K','nfvjqLHWwG','DgHLBwvtAwrLyMfY','zg9JDw1LBNrfBgvTzw50','DgvZDa','CMvWBgfJzq','nZGZnZq0tLPAAgnj','DgHLBwvtDwnJzxnZ','DgHLBwvcCMfUzfnVzNq'];_0x258e=function(){return _0x5ea2e1;};return _0x258e();}export const ADMIN_THEME_COLOR_DEFS=Object['keys'](THEME_LABEL_KEY)[_0x4b1f68(0x116)](_0x4106b9=>({'key':_0x4106b9,get 'label'(){return crudLabel(THEME_LABEL_KEY[_0x4106b9]);}}));const COLOR_VALUE_RE=/^(#([0-9a-f]{3,8})|(rgb|rgba|hsl|hsla|oklch|lab|lch)\()/i;function isColorValue(_0x1a1cad){const _0x22763d=_0x4b1f68,_0x2699e2=String(_0x1a1cad||'')[_0x22763d(0x103)]();if(!_0x2699e2)return![];if(COLOR_VALUE_RE[_0x22763d(0x11b)](_0x2699e2))return!![];return![];}export function resolveCssThemeColorOptions(_0x1f1c07,_0x824ccd){const _0x4e1d8f=_0x4b1f68;if(typeof document===_0x4e1d8f(0x10e))return[];const _0x2c73df=_0x824ccd??document[_0x4e1d8f(0x11a)],_0xa7cd82=getComputedStyle(_0x2c73df),_0x30eae9=[],_0x31ec72=new Set();for(const _0x297301 of _0x1f1c07){const _0x4d4d04=String(_0x297301['key']||'')[_0x4e1d8f(0x103)]()[_0x4e1d8f(0x11c)](/^--/,'');if(!_0x4d4d04||_0x31ec72[_0x4e1d8f(0x111)](_0x4d4d04))continue;const _0x1a0e74=_0xa7cd82[_0x4e1d8f(0x105)]('--'+_0x4d4d04)[_0x4e1d8f(0x103)]();if(!_0x1a0e74||!isColorValue(_0x1a0e74))continue;_0x31ec72['add'](_0x4d4d04),_0x30eae9['push']({'key':_0x4d4d04,'label':_0x297301[_0x4e1d8f(0x104)]||crudLabel(THEME_LABEL_KEY[_0x4d4d04]||_0x4d4d04)||_0x4d4d04,'value':_0x1a0e74});}return _0x30eae9;}
|
package/dist/admin/lib/tree.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1b20f0,_0x22ca6f){var _0x474a0b=_0x4730,_0xbb38d0=_0x1b20f0();while(!![]){try{var _0x2f454d=parseInt(_0x474a0b(0x10c))/0x1+-parseInt(_0x474a0b(0x10f))/0x2+parseInt(_0x474a0b(0x10e))/0x3+-parseInt(_0x474a0b(0x10b))/0x4+parseInt(_0x474a0b(0x10d))/0x5*(-parseInt(_0x474a0b(0x108))/0x6)+-parseInt(_0x474a0b(0x10a))/0x7*(-parseInt(_0x474a0b(0x110))/0x8)+-parseInt(_0x474a0b(0x109))/0x9;if(_0x2f454d===_0x22ca6f)break;else _0xbb38d0['push'](_0xbb38d0['shift']());}catch(_0x4378e4){_0xbb38d0['push'](_0xbb38d0['shift']());}}}(_0x18df,0xcfa6d));export{deepTree,flattenTree}from'../../shared/tree';function _0x4730(_0x553e01,_0x4cf0e9){_0x553e01=_0x553e01-0x108;var _0x18df07=_0x18df();var _0x473075=_0x18df07[_0x553e01];if(_0x4730['MqKIzV']===undefined){var _0x413a4f=function(_0x15925c){var _0x2bdc3b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4f881c='',_0x59ef49='';for(var _0x2c51c0=0x0,_0x4301d5,_0x2e9351,_0x2c4da1=0x0;_0x2e9351=_0x15925c['charAt'](_0x2c4da1++);~_0x2e9351&&(_0x4301d5=_0x2c51c0%0x4?_0x4301d5*0x40+_0x2e9351:_0x2e9351,_0x2c51c0++%0x4)?_0x4f881c+=String['fromCharCode'](0xff&_0x4301d5>>(-0x2*_0x2c51c0&0x6)):0x0){_0x2e9351=_0x2bdc3b['indexOf'](_0x2e9351);}for(var _0x48f7d5=0x0,_0x1be054=_0x4f881c['length'];_0x48f7d5<_0x1be054;_0x48f7d5++){_0x59ef49+='%'+('00'+_0x4f881c['charCodeAt'](_0x48f7d5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59ef49);};_0x4730['LDGJDK']=_0x413a4f,_0x4730['OctLuP']={},_0x4730['MqKIzV']=!![];}var _0x360226=_0x18df07[0x0],_0x5482a2=_0x553e01+_0x360226,_0x25fc7a=_0x4730['OctLuP'][_0x5482a2];return!_0x25fc7a?(_0x473075=_0x4730['LDGJDK'](_0x473075),_0x4730['OctLuP'][_0x5482a2]=_0x473075):_0x473075=_0x25fc7a,_0x473075;}function _0x18df(){var _0x150e52=['mZy4yMnbrvPq','mZyYmZm0zwDRyNnP','mtC3mdq3mZDYzgnlqKG','mtm3mJq5vxnxBLnK','mtu4odqWvePjAxfR','mtuWnZi1nwnrDu9rtq','mtb4wejbCwq','mJa2nZC0n2rVu09zDq','mJqWnda4y3LzsMf3'];_0x18df=function(){return _0x150e52;};return _0x18df();}
|