vome-core 0.0.17 → 0.0.19

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 (47) hide show
  1. package/dist/admin/api/client.js +2 -0
  2. package/dist/admin/config/plugin-dev.d.ts +7 -6
  3. package/dist/admin/config/plugin-dev.js +1 -1
  4. package/dist/admin/crud/config.js +1 -1
  5. package/dist/admin/crud/confirm.js +1 -1
  6. package/dist/admin/crud/dict.js +1 -1
  7. package/dist/admin/crud/index.js +1 -1
  8. package/dist/admin/crud/key.js +1 -1
  9. package/dist/admin/crud/mitt.js +1 -1
  10. package/dist/admin/crud/plugins.js +1 -1
  11. package/dist/admin/crud/span.js +1 -1
  12. package/dist/admin/crud/style.js +1 -1
  13. package/dist/admin/crud/validate.js +1 -1
  14. package/dist/admin/directives/perm.js +1 -1
  15. package/dist/admin/hooks/useUpload.js +1 -1
  16. package/dist/admin/hooks/useVome.d.ts +3 -1
  17. package/dist/admin/lib/browser.js +1 -1
  18. package/dist/admin/lib/cn.js +1 -1
  19. package/dist/admin/lib/dialog-float.js +1 -1
  20. package/dist/admin/lib/eps.d.ts +2 -11
  21. package/dist/admin/lib/eps.js +7 -33
  22. package/dist/admin/lib/menu.js +1 -1
  23. package/dist/admin/lib/tree.js +1 -1
  24. package/dist/admin/lib/upload.js +1 -1
  25. package/dist/admin/service/base.d.ts +2 -27
  26. package/dist/admin/service/base.js +1 -76
  27. package/dist/admin/service/index.d.ts +10 -16
  28. package/dist/admin/service/index.js +31 -259
  29. package/dist/client/base.d.ts +28 -0
  30. package/dist/client/base.js +77 -0
  31. package/dist/client/configure.d.ts +9 -0
  32. package/dist/client/configure.js +10 -0
  33. package/dist/client/eps.d.ts +12 -0
  34. package/dist/client/eps.js +42 -0
  35. package/dist/client/index.d.ts +4 -0
  36. package/dist/client/index.js +22 -0
  37. package/dist/client/service.d.ts +31 -0
  38. package/dist/client/service.js +299 -0
  39. package/dist/client/vite-plugin-eps.d.ts +42 -0
  40. package/dist/client/vite-plugin-eps.js +266 -0
  41. package/dist/index.js +1 -1
  42. package/dist/server/index.js +1 -1
  43. package/dist/shared/index.js +1 -1
  44. package/dist/shared/tree.js +1 -1
  45. package/dist/src/core/host-infra.d.ts +3 -3
  46. package/package.json +18 -4
  47. package/typings/admin/comm/eps.d.ts +48 -0
@@ -1 +1 @@
1
- function _0x1f66(){var _0x36c4a6=['nJq1mtaYDw1SEgXA','mZKWmtG1DLHKu1vU','mJq1mJaYnezetvL0zq','ntqZmZrVCgLYCvK','mtiWmde5nxvqv3HAza','ntGYD25lqvHW','mtu4ode5nZbZCfzwuKm','ouT0ANLWAG','nwLOAhzira','mJqYmtm1nNfztfDhuW'];_0x1f66=function(){return _0x36c4a6;};return _0x1f66();}(function(_0x1f4671,_0x17d4eb){var _0x10b553=_0x4966,_0x2dc224=_0x1f4671();while(!![]){try{var _0x53ea50=-parseInt(_0x10b553(0x15f))/0x1+parseInt(_0x10b553(0x168))/0x2+parseInt(_0x10b553(0x162))/0x3+parseInt(_0x10b553(0x167))/0x4*(parseInt(_0x10b553(0x166))/0x5)+parseInt(_0x10b553(0x163))/0x6*(parseInt(_0x10b553(0x161))/0x7)+-parseInt(_0x10b553(0x160))/0x8*(-parseInt(_0x10b553(0x165))/0x9)+-parseInt(_0x10b553(0x164))/0xa;if(_0x53ea50===_0x17d4eb)break;else _0x2dc224['push'](_0x2dc224['shift']());}catch(_0x36384a){_0x2dc224['push'](_0x2dc224['shift']());}}}(_0x1f66,0x63d9e));function _0x4966(_0x1e9eec,_0x6786bf){_0x1e9eec=_0x1e9eec-0x15f;var _0x1f662d=_0x1f66();var _0x496692=_0x1f662d[_0x1e9eec];if(_0x4966['GdCGsh']===undefined){var _0x430ae2=function(_0x52e92c){var _0x4e1324='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x101745='',_0x20bf80='';for(var _0x18f1f4=0x0,_0x427d52,_0x4701fa,_0x52f90c=0x0;_0x4701fa=_0x52e92c['charAt'](_0x52f90c++);~_0x4701fa&&(_0x427d52=_0x18f1f4%0x4?_0x427d52*0x40+_0x4701fa:_0x4701fa,_0x18f1f4++%0x4)?_0x101745+=String['fromCharCode'](0xff&_0x427d52>>(-0x2*_0x18f1f4&0x6)):0x0){_0x4701fa=_0x4e1324['indexOf'](_0x4701fa);}for(var _0x5b9326=0x0,_0x418dd8=_0x101745['length'];_0x5b9326<_0x418dd8;_0x5b9326++){_0x20bf80+='%'+('00'+_0x101745['charCodeAt'](_0x5b9326)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20bf80);};_0x4966['SKagmo']=_0x430ae2,_0x4966['YQsZQC']={},_0x4966['GdCGsh']=!![];}var _0xd735fc=_0x1f662d[0x0],_0x258982=_0x1e9eec+_0xd735fc,_0x301c26=_0x4966['YQsZQC'][_0x258982];return!_0x301c26?(_0x496692=_0x4966['SKagmo'](_0x496692),_0x4966['YQsZQC'][_0x258982]=_0x496692):_0x496692=_0x301c26,_0x496692;}import{clsx}from'clsx';import{twMerge}from'tailwind-merge';export function cn(..._0x101745){return twMerge(clsx(_0x101745));}
1
+ function _0x43e5(_0x1ded5a,_0x55b591){_0x1ded5a=_0x1ded5a-0x174;var _0x39922d=_0x3992();var _0x43e59a=_0x39922d[_0x1ded5a];if(_0x43e5['oLzMxK']===undefined){var _0x3b0641=function(_0x2b6934){var _0xcc17a0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xa048cf='',_0x5bb47d='';for(var _0x5b2505=0x0,_0x4b71dd,_0x5eb369,_0x27054c=0x0;_0x5eb369=_0x2b6934['charAt'](_0x27054c++);~_0x5eb369&&(_0x4b71dd=_0x5b2505%0x4?_0x4b71dd*0x40+_0x5eb369:_0x5eb369,_0x5b2505++%0x4)?_0xa048cf+=String['fromCharCode'](0xff&_0x4b71dd>>(-0x2*_0x5b2505&0x6)):0x0){_0x5eb369=_0xcc17a0['indexOf'](_0x5eb369);}for(var _0x3259a2=0x0,_0x2e1af1=_0xa048cf['length'];_0x3259a2<_0x2e1af1;_0x3259a2++){_0x5bb47d+='%'+('00'+_0xa048cf['charCodeAt'](_0x3259a2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5bb47d);};_0x43e5['RnbiEN']=_0x3b0641,_0x43e5['PDwIxj']={},_0x43e5['oLzMxK']=!![];}var _0x56f077=_0x39922d[0x0],_0x5a4e1d=_0x1ded5a+_0x56f077,_0x2e22f0=_0x43e5['PDwIxj'][_0x5a4e1d];return!_0x2e22f0?(_0x43e59a=_0x43e5['RnbiEN'](_0x43e59a),_0x43e5['PDwIxj'][_0x5a4e1d]=_0x43e59a):_0x43e59a=_0x2e22f0,_0x43e59a;}(function(_0x5121e4,_0x12aa3e){var _0x5cbf55=_0x43e5,_0x4e1ca1=_0x5121e4();while(!![]){try{var _0x157ec7=parseInt(_0x5cbf55(0x177))/0x1+-parseInt(_0x5cbf55(0x17b))/0x2*(-parseInt(_0x5cbf55(0x178))/0x3)+-parseInt(_0x5cbf55(0x174))/0x4*(-parseInt(_0x5cbf55(0x175))/0x5)+-parseInt(_0x5cbf55(0x17d))/0x6+-parseInt(_0x5cbf55(0x176))/0x7*(-parseInt(_0x5cbf55(0x17c))/0x8)+-parseInt(_0x5cbf55(0x179))/0x9+-parseInt(_0x5cbf55(0x17a))/0xa;if(_0x157ec7===_0x12aa3e)break;else _0x4e1ca1['push'](_0x4e1ca1['shift']());}catch(_0x4f582f){_0x4e1ca1['push'](_0x4e1ca1['shift']());}}}(_0x3992,0xebb3a));import{clsx}from'clsx';function _0x3992(){var _0x17d9b3=['mtC1otG1nMnVrNHrzW','ovPttxrsEa','ntC3mduZEMHYAvvT','mZuXntaWmtbsBeHzrui','nZq5mZCWEgjSsgDs','mtiWCeT2txDT','mJeWnJeZmNnsAe5WEG','nZyXntq5mKDWBgPRvW','nvjez0Tyta','ntaZmdj2C1DXCMu'];_0x3992=function(){return _0x17d9b3;};return _0x3992();}import{twMerge}from'tailwind-merge';export function cn(..._0xa048cf){return twMerge(clsx(_0xa048cf));}
@@ -1 +1 @@
1
- const _0x865911=_0x23ac;(function(_0x371857,_0x577195){const _0x410280=_0x23ac,_0x395da7=_0x371857();while(!![]){try{const _0x266532=-parseInt(_0x410280(0x1c4))/0x1*(-parseInt(_0x410280(0x1c2))/0x2)+parseInt(_0x410280(0x1bb))/0x3*(parseInt(_0x410280(0x1ba))/0x4)+-parseInt(_0x410280(0x1bc))/0x5+parseInt(_0x410280(0x1bd))/0x6*(parseInt(_0x410280(0x1b9))/0x7)+-parseInt(_0x410280(0x1b7))/0x8+-parseInt(_0x410280(0x1c0))/0x9+parseInt(_0x410280(0x1be))/0xa;if(_0x266532===_0x577195)break;else _0x395da7['push'](_0x395da7['shift']());}catch(_0x4eb0a5){_0x395da7['push'](_0x395da7['shift']());}}}(_0x3da4,0x3ddbb));export const DIALOG_FLOAT_CLASS=_0x865911(0x1c1);function _0x3da4(){const _0x3f0d40=['mtu5nde0nejICwHvrG','y2XVC2vZDa','ndLjrKHUthO','mta5mZuYwNv6BfPN','ndHrsLLKBK0','mJi4ndu0nxHJsKvXBa','mtyXntHSufLZt1q','nduXmtKXmgXIuLHpyW','zgv0ywLS','mZa4odyXmuX0s1fkzW','DM0TzgLHBg9NlwzSB2f0','mZu3ogzwBKnSDG','B3jPz2LUywXfDMvUDa','mtKZz0rKEuPj','DgfYz2v0','CgfYzw50rwXLBwvUDa'];_0x3da4=function(){return _0x3f0d40;};return _0x3da4();}function _0x23ac(_0xf02749,_0x46fcbe){_0xf02749=_0xf02749-0x1b7;const _0x3da433=_0x3da4();let _0x23ac3b=_0x3da433[_0xf02749];if(_0x23ac['fqZSIe']===undefined){var _0x9b01f=function(_0x3e6cf2){const _0x5ded1b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4bd437='',_0x70b893='';for(let _0x5c8087=0x0,_0x791b4c,_0x10427b,_0x502cde=0x0;_0x10427b=_0x3e6cf2['charAt'](_0x502cde++);~_0x10427b&&(_0x791b4c=_0x5c8087%0x4?_0x791b4c*0x40+_0x10427b:_0x10427b,_0x5c8087++%0x4)?_0x4bd437+=String['fromCharCode'](0xff&_0x791b4c>>(-0x2*_0x5c8087&0x6)):0x0){_0x10427b=_0x5ded1b['indexOf'](_0x10427b);}for(let _0x58d804=0x0,_0x4b2c3d=_0x4bd437['length'];_0x58d804<_0x4b2c3d;_0x58d804++){_0x70b893+='%'+('00'+_0x4bd437['charCodeAt'](_0x58d804)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x70b893);};_0x23ac['oaXswq']=_0x9b01f,_0x23ac['Rijjjs']={},_0x23ac['fqZSIe']=!![];}const _0x1736bf=_0x3da433[0x0],_0x2fdb7e=_0xf02749+_0x1736bf,_0x249b4c=_0x23ac['Rijjjs'][_0x2fdb7e];return!_0x249b4c?(_0x23ac3b=_0x23ac['oaXswq'](_0x23ac3b),_0x23ac['Rijjjs'][_0x2fdb7e]=_0x23ac3b):_0x23ac3b=_0x249b4c,_0x23ac3b;}export function isDialogFloatTarget(_0x4bd437){const _0x472ed6=_0x865911,_0x70b893=_0x4bd437[_0x472ed6(0x1bf)],_0x5c8087=_0x70b893?.[_0x472ed6(0x1c3)]?.[_0x472ed6(0x1c5)]??_0x4bd437[_0x472ed6(0x1c5)];if(!_0x5c8087)return![];const _0x791b4c=_0x5c8087 instanceof Element?_0x5c8087:_0x5c8087[_0x472ed6(0x1c6)];return Boolean(_0x791b4c?.[_0x472ed6(0x1b8)]('.'+DIALOG_FLOAT_CLASS));}
1
+ (function(_0x42792a,_0x3a1827){const _0x546e5f=_0x3b55,_0x4f6b6b=_0x42792a();while(!![]){try{const _0x4a6669=-parseInt(_0x546e5f(0x12e))/0x1*(-parseInt(_0x546e5f(0x12d))/0x2)+parseInt(_0x546e5f(0x125))/0x3+parseInt(_0x546e5f(0x121))/0x4+parseInt(_0x546e5f(0x122))/0x5+-parseInt(_0x546e5f(0x126))/0x6+parseInt(_0x546e5f(0x128))/0x7*(-parseInt(_0x546e5f(0x123))/0x8)+-parseInt(_0x546e5f(0x129))/0x9*(-parseInt(_0x546e5f(0x124))/0xa);if(_0x4a6669===_0x3a1827)break;else _0x4f6b6b['push'](_0x4f6b6b['shift']());}catch(_0x38f4dd){_0x4f6b6b['push'](_0x4f6b6b['shift']());}}}(_0x1e85,0x50042));function _0x3b55(_0x2df2a4,_0x52dfcb){_0x2df2a4=_0x2df2a4-0x120;const _0x1e85c5=_0x1e85();let _0x3b5598=_0x1e85c5[_0x2df2a4];if(_0x3b55['EJwhRo']===undefined){var _0x2580f9=function(_0x54e957){const _0x189e49='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53414b='',_0x303e5d='';for(let _0x33140e=0x0,_0x1c4088,_0x1823d2,_0x4c73ac=0x0;_0x1823d2=_0x54e957['charAt'](_0x4c73ac++);~_0x1823d2&&(_0x1c4088=_0x33140e%0x4?_0x1c4088*0x40+_0x1823d2:_0x1823d2,_0x33140e++%0x4)?_0x53414b+=String['fromCharCode'](0xff&_0x1c4088>>(-0x2*_0x33140e&0x6)):0x0){_0x1823d2=_0x189e49['indexOf'](_0x1823d2);}for(let _0x35b0ad=0x0,_0x45bb71=_0x53414b['length'];_0x35b0ad<_0x45bb71;_0x35b0ad++){_0x303e5d+='%'+('00'+_0x53414b['charCodeAt'](_0x35b0ad)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x303e5d);};_0x3b55['GoaNJc']=_0x2580f9,_0x3b55['RIozqq']={},_0x3b55['EJwhRo']=!![];}const _0x2047e6=_0x1e85c5[0x0],_0x700a77=_0x2df2a4+_0x2047e6,_0x1338a7=_0x3b55['RIozqq'][_0x700a77];return!_0x1338a7?(_0x3b5598=_0x3b55['GoaNJc'](_0x3b5598),_0x3b55['RIozqq'][_0x700a77]=_0x3b5598):_0x3b5598=_0x1338a7,_0x3b5598;}function _0x1e85(){const _0x1ef869=['nZKWodGWwvPZAvzp','mxzZqvjQsq','y2XVC2vZDa','mtiXmJiZmNjJwvDqwa','mZi3ntvUr0vLDgi','odHJt2Lrs20','mty3mhn4rMjvsW','mJq3ntmZz0jdtgL0','mtK3oti5mLrWrhbrua','zgv0ywLS','mZu1mdyXEhnxwffh','mJmWnJD3wuDxALK','CgfYzw50rwXLBwvUDa','DgfYz2v0','B3jPz2LUywXfDMvUDa'];_0x1e85=function(){return _0x1ef869;};return _0x1e85();}export const DIALOG_FLOAT_CLASS='vm-dialog-float';export function isDialogFloatTarget(_0x53414b){const _0x2af407=_0x3b55,_0x303e5d=_0x53414b[_0x2af407(0x127)],_0x33140e=_0x303e5d?.[_0x2af407(0x12c)]?.['target']??_0x53414b[_0x2af407(0x12b)];if(!_0x33140e)return![];const _0x1c4088=_0x33140e instanceof Element?_0x33140e:_0x33140e[_0x2af407(0x12a)];return Boolean(_0x1c4088?.[_0x2af407(0x120)]('.'+DIALOG_FLOAT_CLASS));}
@@ -1,11 +1,2 @@
1
- export type EpsSide = 'admin' | 'app';
2
- /** 拉取 EPS(默认 admin);公开接口失败不弹 toast */
3
- export declare function loadEps(force?: boolean, side?: EpsSide): Promise<any>;
4
- /** 并行拉取 admin + app */
5
- export declare function loadAllEps(force?: boolean): Promise<{
6
- admin: any;
7
- app: any;
8
- }>;
9
- export declare function getEps(side?: EpsSide): any;
10
- /** 按 prefix 找实体描述,如 /admin/base/user */
11
- export declare function findEpsEntity(prefix: string, side?: EpsSide): any;
1
+ export { loadEps, loadAllEps, getEps, findEpsEntity, type EpsSide, } from '../../client';
2
+ import '../api/client';
@@ -1,33 +1,7 @@
1
- import { request } from "../api/client";
2
- const EPS_URL = {
3
- admin: "/admin/base/open/eps",
4
- app: "/app/base/open/eps"
5
- };
6
- const cache = {
7
- admin: null,
8
- app: null
9
- };
10
- export async function loadEps(force = false, side = "admin") {
11
- if (cache[side] && !force)
12
- return cache[side];
13
- cache[side] = await request(EPS_URL[side], { toast: false }) || {};
14
- return cache[side];
15
- }
16
- export async function loadAllEps(force = false) {
17
- await Promise.all([loadEps(force, "admin"), loadEps(force, "app")]);
18
- return { admin: cache.admin, app: cache.app };
19
- }
20
- export function getEps(side = "admin") {
21
- return cache[side];
22
- }
23
- export function findEpsEntity(prefix, side = "admin") {
24
- const map = cache[side];
25
- if (!map)
26
- return;
27
- for (const list of Object.values(map)) {
28
- const hit = list.find((e) => e.prefix === prefix || e.prefix === prefix.replace(/\/$/, ""));
29
- if (hit)
30
- return hit;
31
- }
32
- return;
33
- }
1
+ export {
2
+ loadEps,
3
+ loadAllEps,
4
+ getEps,
5
+ findEpsEntity
6
+ } from "../../client";
7
+ import"../api/client";
@@ -1 +1 @@
1
- (function(_0x9439a,_0x48720){const _0x236e1a=_0x38be,_0x40db3e=_0x9439a();while(!![]){try{const _0x12557f=parseInt(_0x236e1a(0xd1))/0x1*(-parseInt(_0x236e1a(0xc7))/0x2)+parseInt(_0x236e1a(0xd7))/0x3*(parseInt(_0x236e1a(0xca))/0x4)+parseInt(_0x236e1a(0xcb))/0x5+-parseInt(_0x236e1a(0xd2))/0x6*(-parseInt(_0x236e1a(0xc9))/0x7)+-parseInt(_0x236e1a(0xcc))/0x8+parseInt(_0x236e1a(0xd6))/0x9+parseInt(_0x236e1a(0xcf))/0xa*(-parseInt(_0x236e1a(0xc6))/0xb);if(_0x12557f===_0x48720)break;else _0x40db3e['push'](_0x40db3e['shift']());}catch(_0x13a49){_0x40db3e['push'](_0x40db3e['shift']());}}}(_0x5a70,0xe2769));function _0x38be(_0x30f5b4,_0x550a0e){_0x30f5b4=_0x30f5b4-0xc6;const _0x5a708c=_0x5a70();let _0x38be82=_0x5a708c[_0x30f5b4];if(_0x38be['WqukwD']===undefined){var _0x276b9f=function(_0x49c91a){const _0x52af0c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27921d='',_0x14f29f='';for(let _0x9a641a=0x0,_0x4bb13c,_0x3719ec,_0x57b216=0x0;_0x3719ec=_0x49c91a['charAt'](_0x57b216++);~_0x3719ec&&(_0x4bb13c=_0x9a641a%0x4?_0x4bb13c*0x40+_0x3719ec:_0x3719ec,_0x9a641a++%0x4)?_0x27921d+=String['fromCharCode'](0xff&_0x4bb13c>>(-0x2*_0x9a641a&0x6)):0x0){_0x3719ec=_0x52af0c['indexOf'](_0x3719ec);}for(let _0x6fef2c=0x0,_0x519de1=_0x27921d['length'];_0x6fef2c<_0x519de1;_0x6fef2c++){_0x14f29f+='%'+('00'+_0x27921d['charCodeAt'](_0x6fef2c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14f29f);};_0x38be['qobxfs']=_0x276b9f,_0x38be['aNEjhA']={},_0x38be['WqukwD']=!![];}const _0x415363=_0x5a708c[0x0],_0x3d4a7c=_0x30f5b4+_0x415363,_0x5a72d5=_0x38be['aNEjhA'][_0x3d4a7c];return!_0x5a72d5?(_0x38be82=_0x38be['qobxfs'](_0x38be82),_0x38be['aNEjhA'][_0x3d4a7c]=_0x38be82):_0x38be82=_0x5a72d5,_0x38be82;}export function filterShowMenus(_0x27921d){const _0x262307=_0x38be;if(!Array[_0x262307(0xd4)](_0x27921d)||!_0x27921d[_0x262307(0xd0)])return[];return _0x27921d[_0x262307(0xd8)](_0x14f29f=>_0x14f29f&&_0x14f29f[_0x262307(0xd5)]!==![])[_0x262307(0xc8)](_0x9a641a=>({..._0x9a641a,'children':_0x9a641a['children']?.[_0x262307(0xd0)]?filterShowMenus(_0x9a641a[_0x262307(0xcd)]):undefined}))[_0x262307(0xd8)](_0x4bb13c=>{const _0x5056f8=_0x262307,_0x3719ec=Number(_0x4bb13c[_0x5056f8(0xd3)]);return _0x3719ec===0x0||_0x3719ec===0x1&&_0x4bb13c[_0x5056f8(0xce)]||(_0x4bb13c[_0x5056f8(0xcd)]?.[_0x5056f8(0xd0)]??0x0)>0x0;});}function _0x5a70(){const _0x441934=['BgvUz3rO','mJzJtNDIswW','nNzcz0Pmua','DhLWzq','AxnbCNjHEq','AxntAg93','mteYmde4ndf4ze1pwuK','ndqWmdq5CxvzDfbi','zMLSDgvY','nJe1odC5yvvNs0Pq','mtiXnZK2txHlyLvi','BwfW','mti4odG1ntrXwhjVq1m','mZzQALbUtw4','mJGXoduZnxfXBMvMua','odaYndu2mgzwvhrRCG','y2HPBgrYzw4','CM91DgvY','mJyWsurNwhfS'];_0x5a70=function(){return _0x441934;};return _0x5a70();}
1
+ (function(_0xbf81f6,_0x144e6f){const _0x1fd1fb=_0x21dc,_0x559e89=_0xbf81f6();while(!![]){try{const _0x1a2d4f=parseInt(_0x1fd1fb(0xa6))/0x1*(-parseInt(_0x1fd1fb(0x99))/0x2)+parseInt(_0x1fd1fb(0x9c))/0x3+parseInt(_0x1fd1fb(0xa2))/0x4+-parseInt(_0x1fd1fb(0x9f))/0x5*(-parseInt(_0x1fd1fb(0x97))/0x6)+parseInt(_0x1fd1fb(0x9a))/0x7*(parseInt(_0x1fd1fb(0x9d))/0x8)+parseInt(_0x1fd1fb(0xa3))/0x9*(parseInt(_0x1fd1fb(0xa4))/0xa)+-parseInt(_0x1fd1fb(0x98))/0xb;if(_0x1a2d4f===_0x144e6f)break;else _0x559e89['push'](_0x559e89['shift']());}catch(_0x36e256){_0x559e89['push'](_0x559e89['shift']());}}}(_0x3a06,0xc278e));function _0x21dc(_0x48c3c5,_0x53ab08){_0x48c3c5=_0x48c3c5-0x97;const _0x3a0689=_0x3a06();let _0x21dc4d=_0x3a0689[_0x48c3c5];if(_0x21dc['JiOsjg']===undefined){var _0x25aff5=function(_0x8c87d){const _0x100a3d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36f031='',_0x8447b6='';for(let _0x256f78=0x0,_0x2e9d29,_0x42ad15,_0x49cfe0=0x0;_0x42ad15=_0x8c87d['charAt'](_0x49cfe0++);~_0x42ad15&&(_0x2e9d29=_0x256f78%0x4?_0x2e9d29*0x40+_0x42ad15:_0x42ad15,_0x256f78++%0x4)?_0x36f031+=String['fromCharCode'](0xff&_0x2e9d29>>(-0x2*_0x256f78&0x6)):0x0){_0x42ad15=_0x100a3d['indexOf'](_0x42ad15);}for(let _0x9b914a=0x0,_0x50cb8f=_0x36f031['length'];_0x9b914a<_0x50cb8f;_0x9b914a++){_0x8447b6+='%'+('00'+_0x36f031['charCodeAt'](_0x9b914a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8447b6);};_0x21dc['mGDjxR']=_0x25aff5,_0x21dc['DBlmWy']={},_0x21dc['JiOsjg']=!![];}const _0xde1bb8=_0x3a0689[0x0],_0xc7556b=_0x48c3c5+_0xde1bb8,_0x5d1a1c=_0x21dc['DBlmWy'][_0xc7556b];return!_0x5d1a1c?(_0x21dc4d=_0x21dc['mGDjxR'](_0x21dc4d),_0x21dc['DBlmWy'][_0xc7556b]=_0x21dc4d):_0x21dc4d=_0x5d1a1c,_0x21dc4d;}export function filterShowMenus(_0x36f031){const _0xf96889=_0x21dc;if(!Array[_0xf96889(0x9b)](_0x36f031)||!_0x36f031[_0xf96889(0xa5)])return[];return _0x36f031[_0xf96889(0xa0)](_0x8447b6=>_0x8447b6&&_0x8447b6['isShow']!==![])['map'](_0x256f78=>({..._0x256f78,'children':_0x256f78[_0xf96889(0xa1)]?.[_0xf96889(0xa5)]?filterShowMenus(_0x256f78[_0xf96889(0xa1)]):undefined}))['filter'](_0x2e9d29=>{const _0x22e451=_0xf96889,_0x42ad15=Number(_0x2e9d29[_0x22e451(0x9e)]);return _0x42ad15===0x0||_0x42ad15===0x1&&_0x2e9d29['router']||(_0x2e9d29['children']?.['length']??0x0)>0x0;});}function _0x3a06(){const _0x306d3e=['mZqXnJe3odDct2zSsgu','mJqXnfPIEKL1Bq','odG2odCZnfjQqxnwqG','AxnbCNjHEq','mZmXodyYmvzuB1rqsW','ogrSsMnyva','DhLWzq','mte1odvIs015AM0','zMLSDgvY','y2HPBgrYzw4','mZu2odGWogTdrxDfCq','mJu3mtKZuxfkEwn1','mJiWwNLzqur3','BgvUz3rO','mta1mvzzC0vxuW','mZmWnM53swrjCW'];_0x3a06=function(){return _0x306d3e;};return _0x3a06();}
@@ -1 +1 @@
1
- function _0x58fb(_0x5410c9,_0x157cc2){_0x5410c9=_0x5410c9-0x134;var _0x1196b7=_0x1196();var _0x58fb3f=_0x1196b7[_0x5410c9];if(_0x58fb['yKylSO']===undefined){var _0x412370=function(_0x38ac19){var _0x20ec6a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x50161c='',_0x4799bb='';for(var _0x7400d4=0x0,_0x4e65f9,_0x49a279,_0x5ce3d6=0x0;_0x49a279=_0x38ac19['charAt'](_0x5ce3d6++);~_0x49a279&&(_0x4e65f9=_0x7400d4%0x4?_0x4e65f9*0x40+_0x49a279:_0x49a279,_0x7400d4++%0x4)?_0x50161c+=String['fromCharCode'](0xff&_0x4e65f9>>(-0x2*_0x7400d4&0x6)):0x0){_0x49a279=_0x20ec6a['indexOf'](_0x49a279);}for(var _0x2030a2=0x0,_0x123458=_0x50161c['length'];_0x2030a2<_0x123458;_0x2030a2++){_0x4799bb+='%'+('00'+_0x50161c['charCodeAt'](_0x2030a2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4799bb);};_0x58fb['HuqwPz']=_0x412370,_0x58fb['nQjryw']={},_0x58fb['yKylSO']=!![];}var _0x5d6e16=_0x1196b7[0x0],_0x12cab0=_0x5410c9+_0x5d6e16,_0x52fa47=_0x58fb['nQjryw'][_0x12cab0];return!_0x52fa47?(_0x58fb3f=_0x58fb['HuqwPz'](_0x58fb3f),_0x58fb['nQjryw'][_0x12cab0]=_0x58fb3f):_0x58fb3f=_0x52fa47,_0x58fb3f;}(function(_0x251bb9,_0x3df1b6){var _0x3a449c=_0x58fb,_0x429cb7=_0x251bb9();while(!![]){try{var _0x2da6c2=parseInt(_0x3a449c(0x138))/0x1+-parseInt(_0x3a449c(0x13c))/0x2*(parseInt(_0x3a449c(0x137))/0x3)+-parseInt(_0x3a449c(0x135))/0x4+-parseInt(_0x3a449c(0x13b))/0x5*(-parseInt(_0x3a449c(0x134))/0x6)+parseInt(_0x3a449c(0x136))/0x7+-parseInt(_0x3a449c(0x139))/0x8+parseInt(_0x3a449c(0x13a))/0x9;if(_0x2da6c2===_0x3df1b6)break;else _0x429cb7['push'](_0x429cb7['shift']());}catch(_0x47351a){_0x429cb7['push'](_0x429cb7['shift']());}}}(_0x1196,0xd0ee0));export{deepTree,flattenTree}from'../../shared/tree';function _0x1196(){var _0x5725ee=['mLbLz0nKsa','nMTSv3vTva','nJe0ndaWnfLAA2TJqG','mteZntGZmZnSwxDkq0u','ndm1ndG5m0vuCg1nva','odu4mZGXug5eve1j','ndq1mdG1nNzUwLf6BG','odG4nJi2n0LgCNzfrq','ndy1nZaXmhjnuNvmsq'];_0x1196=function(){return _0x5725ee;};return _0x1196();}
1
+ function _0x2108(){var _0x43b48f=['mJC4mtnSDw92BNi','nM1kyKrRCG','mtG2nZmWDLPAyNnQ','mtuZndmWntzqwg5xwfe','oti2ntbKD2jqDMK','mZG1swTsCND1','mta4mtq0BuXqEK5N','mJi4mtu1DfbjtwP3','mJG0uwf6tu1h','mtf1seTtDuG','nZy4ANHSALzp','nJy4nZi4mLrdrNHnwG'];_0x2108=function(){return _0x43b48f;};return _0x2108();}(function(_0x3f40b7,_0x356402){var _0x479b5a=_0x5a9a,_0x38e616=_0x3f40b7();while(!![]){try{var _0x330713=-parseInt(_0x479b5a(0xd8))/0x1*(-parseInt(_0x479b5a(0xdf))/0x2)+parseInt(_0x479b5a(0xdb))/0x3*(parseInt(_0x479b5a(0xd7))/0x4)+-parseInt(_0x479b5a(0xd6))/0x5*(-parseInt(_0x479b5a(0xdc))/0x6)+-parseInt(_0x479b5a(0xda))/0x7+parseInt(_0x479b5a(0xd9))/0x8*(parseInt(_0x479b5a(0xd5))/0x9)+-parseInt(_0x479b5a(0xdd))/0xa*(-parseInt(_0x479b5a(0xe0))/0xb)+-parseInt(_0x479b5a(0xde))/0xc;if(_0x330713===_0x356402)break;else _0x38e616['push'](_0x38e616['shift']());}catch(_0x3c255e){_0x38e616['push'](_0x38e616['shift']());}}}(_0x2108,0xc00c0));function _0x5a9a(_0x229a6d,_0x1196d7){_0x229a6d=_0x229a6d-0xd5;var _0x2108ee=_0x2108();var _0x5a9aca=_0x2108ee[_0x229a6d];if(_0x5a9a['nbcMBx']===undefined){var _0x5949c0=function(_0x4c6fb1){var _0x2739de='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x48c271='',_0x3f21b7='';for(var _0x43a31d=0x0,_0x311245,_0x12bc80,_0x52a5c9=0x0;_0x12bc80=_0x4c6fb1['charAt'](_0x52a5c9++);~_0x12bc80&&(_0x311245=_0x43a31d%0x4?_0x311245*0x40+_0x12bc80:_0x12bc80,_0x43a31d++%0x4)?_0x48c271+=String['fromCharCode'](0xff&_0x311245>>(-0x2*_0x43a31d&0x6)):0x0){_0x12bc80=_0x2739de['indexOf'](_0x12bc80);}for(var _0x437ec3=0x0,_0x4301a6=_0x48c271['length'];_0x437ec3<_0x4301a6;_0x437ec3++){_0x3f21b7+='%'+('00'+_0x48c271['charCodeAt'](_0x437ec3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f21b7);};_0x5a9a['RGdfpJ']=_0x5949c0,_0x5a9a['ahQqYx']={},_0x5a9a['nbcMBx']=!![];}var _0x4cb66b=_0x2108ee[0x0],_0x4f0b07=_0x229a6d+_0x4cb66b,_0x4120a5=_0x5a9a['ahQqYx'][_0x4f0b07];return!_0x4120a5?(_0x5a9aca=_0x5a9a['RGdfpJ'](_0x5a9aca),_0x5a9a['ahQqYx'][_0x4f0b07]=_0x5a9aca):_0x5a9aca=_0x4120a5,_0x5a9aca;}export{deepTree,flattenTree}from'../../shared/tree';
@@ -1 +1 @@
1
- const _0x47ad7f=_0x34b3;(function(_0x100da3,_0x1c178c){const _0x6e08ae=_0x34b3,_0x22f81a=_0x100da3();while(!![]){try{const _0x28eb61=parseInt(_0x6e08ae(0xb2))/0x1+parseInt(_0x6e08ae(0x96))/0x2+parseInt(_0x6e08ae(0x8e))/0x3*(parseInt(_0x6e08ae(0xa6))/0x4)+parseInt(_0x6e08ae(0xb1))/0x5+parseInt(_0x6e08ae(0x74))/0x6*(parseInt(_0x6e08ae(0x8c))/0x7)+parseInt(_0x6e08ae(0x82))/0x8*(parseInt(_0x6e08ae(0xbd))/0x9)+parseInt(_0x6e08ae(0x89))/0xa*(-parseInt(_0x6e08ae(0xb4))/0xb);if(_0x28eb61===_0x1c178c)break;else _0x22f81a['push'](_0x22f81a['shift']());}catch(_0x5dfd7e){_0x22f81a['push'](_0x22f81a['shift']());}}}(_0x561c,0x3469a));export const DEFAULT_UPLOAD_RULES=[{'name':'图片','type':'image','color':_0x47ad7f(0x84),'exts':[_0x47ad7f(0xbf),'jpg',_0x47ad7f(0x73),_0x47ad7f(0xaf),_0x47ad7f(0x7c),_0x47ad7f(0xa0),_0x47ad7f(0x7a),_0x47ad7f(0x8f)]},{'name':'视频','type':_0x47ad7f(0x78),'color':_0x47ad7f(0x86),'exts':[_0x47ad7f(0xae),_0x47ad7f(0xb5),_0x47ad7f(0x76),_0x47ad7f(0xa9),_0x47ad7f(0x9d),'rm',_0x47ad7f(0x87),'swf','flv','mp4',_0x47ad7f(0xa3)]},{'name':'音频','type':'audio','color':_0x47ad7f(0x86),'exts':['mp3',_0x47ad7f(0xb9),_0x47ad7f(0x98),_0x47ad7f(0x94),_0x47ad7f(0xb6),_0x47ad7f(0x75),'ra',_0x47ad7f(0x91),_0x47ad7f(0xab),_0x47ad7f(0x8b)]},{'name':'文档','type':_0x47ad7f(0x77),'color':'#53B7F4','exts':[_0x47ad7f(0x92),'docx',_0x47ad7f(0xc3),_0x47ad7f(0xb3),'dotx','dotm']},{'name':'表格','type':_0x47ad7f(0xba),'color':_0x47ad7f(0x7f),'exts':[_0x47ad7f(0xa4),_0x47ad7f(0xbe),_0x47ad7f(0x9f),_0x47ad7f(0xbc),_0x47ad7f(0x83),'xltm']},{'name':'演示','type':'ppt','color':'#F56C6C','exts':[_0x47ad7f(0xc0),_0x47ad7f(0xbb),_0x47ad7f(0x9a),_0x47ad7f(0x9c),_0x47ad7f(0x9b),_0x47ad7f(0xa1),_0x47ad7f(0x80),_0x47ad7f(0x95),_0x47ad7f(0xb7),_0x47ad7f(0xaa)]},{'name':_0x47ad7f(0x99),'type':_0x47ad7f(0x9e),'color':'#8f3500','exts':[_0x47ad7f(0x9e)]},{'name':_0x47ad7f(0x7e),'type':_0x47ad7f(0x81),'color':_0x47ad7f(0x79),'exts':[_0x47ad7f(0x81),_0x47ad7f(0x8a),'7z',_0x47ad7f(0xc2),'gz']},{'name':'文件','type':_0x47ad7f(0x7b),'color':_0x47ad7f(0xad),'exts':[]}];export function extname(_0x57b95d=''){const _0x4b5e70=_0x47ad7f,_0x36f47e=String(_0x57b95d)['split']('?')[0x0]?.[_0x4b5e70(0x8d)](/\.([^.]+)$/);return _0x36f47e?_0x36f47e[0x1]['toLowerCase']():'';}export function filename(_0x2a9dba=''){const _0x2396af=_0x47ad7f,_0x549873=String(_0x2a9dba)[_0x2396af(0x7d)]('?')[0x0]?.['split']('/')['pop']()||'',_0x330e50=extname(_0x549873);return _0x330e50?_0x549873[_0x2396af(0xa5)](0x0,-(_0x330e50['length']+0x1)):_0x549873;}export function fileRule(_0xd04dce,_0x3f9801=DEFAULT_UPLOAD_RULES){const _0xbbfdda=_0x47ad7f;if(_0xd04dce?.[_0xbbfdda(0xac)](_0xbbfdda(0xa7)))return _0x3f9801[_0xbbfdda(0x90)](_0x36af19=>_0x36af19[_0xbbfdda(0x88)]===_0xbbfdda(0x85));const _0x1f9d37=extname(_0xd04dce||''),_0x1c91b7=_0x3f9801[_0xbbfdda(0x90)](_0x18cb23=>_0x18cb23[_0xbbfdda(0xa8)]['includes'](_0x1f9d37));return _0x1c91b7||_0x3f9801[_0xbbfdda(0x90)](_0x3baf3b=>_0x3baf3b[_0xbbfdda(0x88)]==='file');}export function getFileType(_0x446700,_0x3e7e37=DEFAULT_UPLOAD_RULES){const _0xec7168=_0x47ad7f;return fileRule(_0x446700,_0x3e7e37)[_0xec7168(0x88)];}function _0x561c(){const _0x35f6dc=['mJa1ndu5nxj6Ae9yuW','mZeYnJq5CMXoDejK','zg90','mtu5nur5z0zeAG','D212','zMXHyW','zhb0','AM9PBG','D2f2','zxHJzwW','Chb0Ea','EgX0','mtq3ndqYnxHIyMffzG','EgXZEa','yM1W','Chb0','BwfW','DgfY','zg9JBq','ANbLzW','otqZmZG2rLHYCer6','BwLKAq','BxbN','D29Yza','DMLKzw8','i0zgqZC1nW','C3zN','zMLSzq','DgLM','C3bSAxq','5y6l57YP5yYf','iZuZrdm5qW','Cg90Ea','CMfY','oezOvMHXAa','EgX0Ea','iZy3qZiZqq','Aw1Hz2u','iZGYnMfLyW','CMfT','DhLWzq','odC0nJbWvufbEK4','EMLW','y2rH','n1jNDfPowq','Bwf0y2G','mtaYtgzuAhjJ','D2vICa','zMLUza','yxbL','zg9J','CMvWBgfJzq','BxaY','Cg90Bq','mJq1mZq4EhDPvNnA','zMLSDgvY','D21H','uerg','Chb0Bq','ChbZBq','ChbZEa','Bw92','CgrM','EgXZBq','z2LM','ChbZ','Dg9tDhjPBMC','m2DW','EgXZ','C2XPy2u','mZCXmJrbDgv1vhu','zgf0ytPPBwfNzs8','zxH0CW','BxbLzW','zhbZ','ywfJ','Aw5JBhvKzxm','iZKWotm5oq','yxzP','Cg5N','BgvUz3rO'];_0x561c=function(){return _0x35f6dc;};return _0x561c();}export function getUploadRule(_0x2236c3,_0x14285a=DEFAULT_UPLOAD_RULES){const _0x596491=_0x47ad7f;return _0x14285a[_0x596491(0x90)](_0x606d79=>_0x606d79[_0x596491(0x88)]===_0x2236c3)||_0x14285a[_0x14285a[_0x596491(0xb0)]-0x1];}export function getUrls(_0x2ab98f){const _0x156c82=_0x47ad7f;return _0x2ab98f[_0x156c82(0xc1)](_0x47917d=>String(_0x47917d['url']||'')[_0x156c82(0x93)](/,/g,encodeURIComponent(',')));}function _0x34b3(_0xb48b85,_0x364605){_0xb48b85=_0xb48b85-0x73;const _0x561c14=_0x561c();let _0x34b3f9=_0x561c14[_0xb48b85];if(_0x34b3['Jwvmzf']===undefined){var _0x32dc04=function(_0x550ca1){const _0x420119='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x57b95d='',_0x36f47e='';for(let _0x2a9dba=0x0,_0x549873,_0x330e50,_0xd04dce=0x0;_0x330e50=_0x550ca1['charAt'](_0xd04dce++);~_0x330e50&&(_0x549873=_0x2a9dba%0x4?_0x549873*0x40+_0x330e50:_0x330e50,_0x2a9dba++%0x4)?_0x57b95d+=String['fromCharCode'](0xff&_0x549873>>(-0x2*_0x2a9dba&0x6)):0x0){_0x330e50=_0x420119['indexOf'](_0x330e50);}for(let _0x3f9801=0x0,_0x1f9d37=_0x57b95d['length'];_0x3f9801<_0x1f9d37;_0x3f9801++){_0x36f47e+='%'+('00'+_0x57b95d['charCodeAt'](_0x3f9801)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36f47e);};_0x34b3['qHinQp']=_0x32dc04,_0x34b3['xWtzSB']={},_0x34b3['Jwvmzf']=!![];}const _0xad548b=_0x561c14[0x0],_0x2c2b11=_0xb48b85+_0xad548b,_0x36c95f=_0x34b3['xWtzSB'][_0x2c2b11];return!_0x36c95f?(_0x34b3f9=_0x34b3['qHinQp'](_0x34b3f9),_0x34b3['xWtzSB'][_0x2c2b11]=_0x34b3f9):_0x34b3f9=_0x36c95f,_0x34b3f9;}export function pathJoin(..._0x4a490a){const _0x25fd1e=_0x47ad7f;return _0x4a490a[_0x25fd1e(0xc1)](_0x156ab8=>_0x156ab8[_0x25fd1e(0x93)](/(^\/+|\/+$)/g,''))[_0x25fd1e(0x97)](Boolean)[_0x25fd1e(0xb8)]('/');}export function uploadUid(){const _0x4037bf=_0x47ad7f;return Date['now']()+'_'+Math['random']()[_0x4037bf(0xa2)](0x24)[_0x4037bf(0xa5)](0x2,0x9);}
1
+ const _0x54d517=_0x5ac3;(function(_0x2c833e,_0x14d1ba){const _0x654e4d=_0x5ac3,_0x4674b2=_0x2c833e();while(!![]){try{const _0xb98f3c=parseInt(_0x654e4d(0xc4))/0x1*(-parseInt(_0x654e4d(0xd1))/0x2)+parseInt(_0x654e4d(0xe8))/0x3+-parseInt(_0x654e4d(0xdd))/0x4+parseInt(_0x654e4d(0xfa))/0x5+parseInt(_0x654e4d(0xc9))/0x6+-parseInt(_0x654e4d(0x100))/0x7*(-parseInt(_0x654e4d(0xfd))/0x8)+-parseInt(_0x654e4d(0xc1))/0x9;if(_0xb98f3c===_0x14d1ba)break;else _0x4674b2['push'](_0x4674b2['shift']());}catch(_0x3f7ae1){_0x4674b2['push'](_0x4674b2['shift']());}}}(_0xdfe6,0x65bb4));function _0xdfe6(){const _0x85b0f6=['DgLM','yxzP','iZuZrdm5qW','zg9JEa','Dg9mB3DLCKnHC2u','BwLKAq','zg90','C3DM','DgfY','Cg90Ea','Chb0Bq','EgX0','iZy3qZiZqq','D2f2','iZHMmZuWma','mZq5nJqXnwXlDKjyEq','ChbZEa','CMfY','mJy3mZCXmMTQs2POsW','zMLSDgvY','C2XPy2u','mtrHvML1wgi','zxHJzwW','CMfT','EMLW','yM1W','BxbLzW','CgrM','zMXHyW','ywfJ','Chb0Ea','EgXZ','zMLUza','C3bSAxq','mtaYmZGWnZzwqMv3DMq','zMLSzq','BwfW','mxztBfHUBW','CMvWBgfJzq','D21H','yxbL','DxjS','mZe2nZm0nMvnveDeAa','BgvUz3rO','iZGYnMfLyW','ANbLzW','i0y1nKm2qW','BxaZ','yxvKAw8','AM9PBG','mZe4odm2Ag5yuLDy','iZuZqJDgna','Bwf0y2G','BxbN','EgX0Ea','Cg9W','EgX0Bq','ANbN','zg9J','Bw92','zg90Ea','D212','mJu5mdK5nLvzA2jruG','zhbZ','EgXZBq','BxaY','Dg9tDhjPBMC','Chb0','Aw1Hz2u','CMfUzg9T','5y6l57YP5yYf','i0zgqZC1nW','D29Yza','mtm5nZq2m2zIww1xBW','DMLKzw8','DhLWzq'];_0xdfe6=function(){return _0x85b0f6;};return _0xdfe6();}export const DEFAULT_UPLOAD_RULES=[{'name':'图片','type':_0x54d517(0xe3),'color':_0x54d517(0xf7),'exts':[_0x54d517(0xb8),_0x54d517(0xd8),_0x54d517(0xcc),'png',_0x54d517(0xeb),'gif','svg','webp']},{'name':'视频','type':_0x54d517(0xe9),'color':_0x54d517(0xcb),'exts':[_0x54d517(0xec),_0x54d517(0xdc),_0x54d517(0xd4),_0x54d517(0xb9),_0x54d517(0xda),'rm',_0x54d517(0x102),_0x54d517(0xf2),'flv','mp4','3gp']},{'name':'音频','type':_0x54d517(0xcf),'color':_0x54d517(0xcb),'exts':[_0x54d517(0xce),_0x54d517(0xf8),_0x54d517(0xc6),_0x54d517(0xe0),_0x54d517(0xbb),_0x54d517(0xf0),'ra',_0x54d517(0xc7),_0x54d517(0xbc),'cda']},{'name':'文档','type':_0x54d517(0xe7),'color':_0x54d517(0xd2),'exts':[_0x54d517(0xd9),_0x54d517(0xee),'docm',_0x54d517(0xf1),_0x54d517(0xdb),'dotm']},{'name':'表格','type':_0x54d517(0x101),'color':_0x54d517(0xed),'exts':[_0x54d517(0xbe),'xlsx',_0x54d517(0xdf),_0x54d517(0xf6),_0x54d517(0xd5),_0x54d517(0xd7)]},{'name':'演示','type':'ppt','color':_0x54d517(0xcd),'exts':[_0x54d517(0xe2),_0x54d517(0xbd),_0x54d517(0xf5),_0x54d517(0xfb),'ppsm','pps',_0x54d517(0xf4),'potm','dpt',_0x54d517(0xde)]},{'name':'PDF','type':_0x54d517(0xba),'color':_0x54d517(0xf9),'exts':[_0x54d517(0xba)]},{'name':_0x54d517(0xe5),'type':_0x54d517(0xfc),'color':_0x54d517(0xe6),'exts':[_0x54d517(0xfc),_0x54d517(0xb7),'7z',_0x54d517(0xf3),'gz']},{'name':'文件','type':_0x54d517(0xc2),'color':'#909399','exts':[]}];export function extname(_0xb5cecc=''){const _0x36ccf4=_0x54d517,_0x171965=String(_0xb5cecc)[_0x36ccf4(0xc0)]('?')[0x0]?.[_0x36ccf4(0xd3)](/\.([^.]+)$/);return _0x171965?_0x171965[0x1][_0x36ccf4(0xef)]():'';}export function filename(_0xea572d=''){const _0x472e0e=_0x54d517,_0x1b5fea=String(_0xea572d)[_0x472e0e(0xc0)]('?')[0x0]?.['split']('/')[_0x472e0e(0xd6)]()||'',_0x37d939=extname(_0x1b5fea);return _0x37d939?_0x1b5fea['slice'](0x0,-(_0x37d939[_0x472e0e(0xca)]+0x1)):_0x1b5fea;}export function fileRule(_0x1ea112,_0xd6b7ef=DEFAULT_UPLOAD_RULES){const _0x4b077e=_0x54d517;if(_0x1ea112?.['includes']('data:image/'))return _0xd6b7ef['find'](_0x96fd3b=>_0x96fd3b['type']===_0x4b077e(0xe3));const _0x2d07b7=extname(_0x1ea112||''),_0x402a1c=_0xd6b7ef[_0x4b077e(0xbf)](_0x67eea0=>_0x67eea0['exts']['includes'](_0x2d07b7));return _0x402a1c||_0xd6b7ef[_0x4b077e(0xbf)](_0x4a29bc=>_0x4a29bc[_0x4b077e(0xea)]===_0x4b077e(0xc2));}export function getFileType(_0xb61617,_0x2e583d=DEFAULT_UPLOAD_RULES){return fileRule(_0xb61617,_0x2e583d)['type'];}function _0x5ac3(_0x306ec5,_0x5bb2d4){_0x306ec5=_0x306ec5-0xb7;const _0xdfe610=_0xdfe6();let _0x5ac32d=_0xdfe610[_0x306ec5];if(_0x5ac3['GQlSUQ']===undefined){var _0x2ec7b3=function(_0xe6f71a){const _0x33df54='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb5cecc='',_0x171965='';for(let _0xea572d=0x0,_0x1b5fea,_0x37d939,_0x1ea112=0x0;_0x37d939=_0xe6f71a['charAt'](_0x1ea112++);~_0x37d939&&(_0x1b5fea=_0xea572d%0x4?_0x1b5fea*0x40+_0x37d939:_0x37d939,_0xea572d++%0x4)?_0xb5cecc+=String['fromCharCode'](0xff&_0x1b5fea>>(-0x2*_0xea572d&0x6)):0x0){_0x37d939=_0x33df54['indexOf'](_0x37d939);}for(let _0xd6b7ef=0x0,_0x2d07b7=_0xb5cecc['length'];_0xd6b7ef<_0x2d07b7;_0xd6b7ef++){_0x171965+='%'+('00'+_0xb5cecc['charCodeAt'](_0xd6b7ef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x171965);};_0x5ac3['SDoIRh']=_0x2ec7b3,_0x5ac3['wMejDA']={},_0x5ac3['GQlSUQ']=!![];}const _0x4cc2be=_0xdfe610[0x0],_0x1b6f94=_0x306ec5+_0x4cc2be,_0x140302=_0x5ac3['wMejDA'][_0x1b6f94];return!_0x140302?(_0x5ac32d=_0x5ac3['SDoIRh'](_0x5ac32d),_0x5ac3['wMejDA'][_0x1b6f94]=_0x5ac32d):_0x5ac32d=_0x140302,_0x5ac32d;}export function getUploadRule(_0x2df438,_0x23ca6e=DEFAULT_UPLOAD_RULES){const _0x1326b8=_0x54d517;return _0x23ca6e[_0x1326b8(0xbf)](_0x495dff=>_0x495dff[_0x1326b8(0xea)]===_0x2df438)||_0x23ca6e[_0x23ca6e[_0x1326b8(0xca)]-0x1];}export function getUrls(_0x3a607f){const _0x375192=_0x54d517;return _0x3a607f['map'](_0x3822fd=>String(_0x3822fd[_0x375192(0xc8)]||'')[_0x375192(0xc5)](/,/g,encodeURIComponent(',')));}export function pathJoin(..._0x940c51){const _0x27d743=_0x54d517;return _0x940c51[_0x27d743(0xc3)](_0x3e8cd4=>_0x3e8cd4[_0x27d743(0xc5)](/(^\/+|\/+$)/g,''))[_0x27d743(0xfe)](Boolean)[_0x27d743(0xd0)]('/');}export function uploadUid(){const _0x3b146c=_0x54d517;return Date['now']()+'_'+Math[_0x3b146c(0xe4)]()[_0x3b146c(0xe1)](0x24)[_0x3b146c(0xff)](0x2,0x9);}
@@ -1,27 +1,2 @@
1
- /** BaseService:namespace + request + 标准 CRUD */
2
- export declare class BaseService {
3
- namespace?: string;
4
- constructor(namespace?: string);
5
- request(options?: ServiceRequestOptions): Promise<unknown>;
6
- page(data?: Record<string, unknown>): Promise<{
7
- list: Record<string, unknown>[];
8
- pagination: {
9
- page: number;
10
- size: number;
11
- total: number;
12
- };
13
- }>;
14
- list(data?: Record<string, unknown>): Promise<Record<string, unknown>[]>;
15
- info(params: {
16
- id: number | string;
17
- }): Promise<Record<string, unknown>>;
18
- add(data: Record<string, unknown> | Record<string, unknown>[]): Promise<unknown>;
19
- update(data: Record<string, unknown> | Record<string, unknown>[]): Promise<unknown>;
20
- delete(data: {
21
- ids: Array<number | string>;
22
- force?: boolean;
23
- } | Array<number | string> | Array<Record<string, unknown>>): Promise<unknown>;
24
- restore(data: {
25
- ids: Array<number | string>;
26
- }): Promise<unknown>;
27
- }
1
+ /** @deprecated 请从 vome-core/client 或本目录 index 使用 BaseService */
2
+ export { BaseService } from '../../client';
@@ -1,76 +1 @@
1
- import { request } from "../api/client";
2
- function stripTimeMeta(data) {
3
- if (Array.isArray(data))
4
- return data.map((item) => stripTimeMeta(item));
5
- if (data && typeof data === "object") {
6
- const out = { ...data };
7
- delete out.createTime;
8
- delete out.updateTime;
9
- return out;
10
- }
11
- return data;
12
- }
13
-
14
- export class BaseService {
15
- namespace;
16
- constructor(namespace) {
17
- if (namespace)
18
- this.namespace = namespace.replace(/^\//, "");
19
- }
20
- async request(options = {}) {
21
- let url = options.url || "";
22
- if (url && !/^https?:\/\//.test(url)) {
23
- if (this.namespace) {
24
- const ns = this.namespace.startsWith("/") ? this.namespace : `/${this.namespace}`;
25
- url = url.startsWith("/") ? `${ns}${url}` : `${ns}/${url}`;
26
- }
27
- if (!url.startsWith("/"))
28
- url = `/${url}`;
29
- }
30
- const method = (options.method || "GET").toUpperCase();
31
- if (method === "GET") {
32
- const params = options.params || {};
33
- const q = new URLSearchParams;
34
- for (const [k, v] of Object.entries(params)) {
35
- if (v == null)
36
- continue;
37
- q.set(k, String(v));
38
- }
39
- const qs = q.toString();
40
- return request(qs ? `${url}?${qs}` : url);
41
- }
42
- return request(url, {
43
- method,
44
- body: JSON.stringify(stripTimeMeta(options.data ?? {}))
45
- });
46
- }
47
- page(data = {}) {
48
- return this.request({ url: "/page", method: "POST", data });
49
- }
50
- list(data = {}) {
51
- return this.request({
52
- url: "/list",
53
- method: "POST",
54
- data
55
- });
56
- }
57
- info(params) {
58
- return this.request({
59
- url: "/info",
60
- method: "GET",
61
- params
62
- });
63
- }
64
- add(data) {
65
- return this.request({ url: "/add", method: "POST", data });
66
- }
67
- update(data) {
68
- return this.request({ url: "/update", method: "POST", data });
69
- }
70
- delete(data) {
71
- return this.request({ url: "/delete", method: "POST", data });
72
- }
73
- restore(data) {
74
- return this.request({ url: "/restore", method: "POST", data });
75
- }
76
- }
1
+ export { BaseService } from "../../client";
@@ -1,18 +1,12 @@
1
- import { BaseService } from './base';
2
- type ServiceRoot = Eps.Service & {
3
- request: BaseService['request'];
1
+ import { BaseService, createEpsService, resolveService, serviceOf, type CreateEpsOptions, type ServiceLeaf, type ServiceTree } from '../../client';
2
+ /** 与历史一致:默认挂在 admin */
3
+ export declare const service: ServiceTree & {
4
+ request: BaseService["request"];
4
5
  };
5
- /**
6
- * Proxy:任意模块读 service.xxx 都落到 globalThis 根上。
7
- * 避免 Vite 多实例下 `export const service = serviceRoot` 绑到不同对象。
8
- */
9
- export declare const service: ServiceRoot;
10
- /** 从 EPS 全量重建 service 树(无写死业务路由) */
11
- export declare function createEps(force?: boolean): Promise<any>;
6
+ /** 兼容 createEps() / createEps(true) */
7
+ export declare function createEps(forceOrOpts?: boolean | CreateEpsOptions): Promise<ServiceTree & {
8
+ request: BaseService["request"];
9
+ }>;
12
10
  export declare function setServicePerms(perms: string[], isSuper?: boolean): void;
13
- export declare function resolveService(path: string): ServiceLeaf | undefined;
14
- export declare function serviceOf(prefix: string): ServiceLeaf;
15
- /** @deprecated 请用 service.base.xxx */
16
- export declare function createEpsService(prefix: string): ServiceLeaf;
17
- export { BaseService };
18
- export type { ServiceLeaf, ServiceTree } from '../../../typings/admin/comm/service';
11
+ export { BaseService, createEpsService, resolveService, serviceOf, };
12
+ export type { ServiceLeaf, ServiceTree, CreateEpsOptions };
@@ -1,263 +1,35 @@
1
- import { loadEps } from "../lib/eps";
2
- import { BaseService } from "./base";
3
- const SIDE_ID = "admin";
4
- function toCamel(str) {
5
- return str.replace(/([^-])(?:-+([^-]))/g, (_m, a, b) => a + String(b).toUpperCase());
1
+ import { request } from "../api/client";
2
+ import {
3
+ BaseService,
4
+ bindEpsHotReload,
5
+ configureClient,
6
+ createEps as createEpsClient,
7
+ createEpsService,
8
+ getService,
9
+ resolveService,
10
+ serviceOf,
11
+ setServicePerms as setServicePermsClient
12
+ } from "../../client";
13
+ configureClient({ request });
14
+ bindEpsHotReload("admin");
15
+ export const service = getService("admin");
16
+ export async function createEps(forceOrOpts = false) {
17
+ if (typeof forceOrOpts === "boolean") {
18
+ return createEpsClient({ force: forceOrOpts, side: "admin", requireRoot: "base" });
19
+ }
20
+ return createEpsClient({
21
+ side: "admin",
22
+ requireRoot: "base",
23
+ ...forceOrOpts
24
+ });
6
25
  }
7
- function methodName(path) {
8
- return path.replace(/^\//, "").replace(/[:,\s/-]/g, "");
9
- }
10
- function isValidName(name) {
11
- return Boolean(name) && !["{", "}", ":"].some((c) => name.includes(c));
12
- }
13
- function resolvePermCode(prefix, action) {
14
- const parts = prefix.replace(/^\//, "").split("/").filter(Boolean);
15
- const module = parts[1] || parts[0] || "base";
16
- let resource = parts.slice(2).join(":");
17
- if (resource === module) {
18
- resource = module;
19
- } else if (resource.startsWith(`${module}:`)) {
20
- resource = resource.slice(module.length + 1);
21
- }
22
- const head = `${module}-`;
23
- if (resource.startsWith(head))
24
- resource = resource.slice(head.length);
25
- resource = resource.replace(/-/g, ":");
26
- if (!resource)
27
- resource = module;
28
- return `${module}:${resource}:${action}`;
29
- }
30
- function prefixToParts(prefix) {
31
- const raw = prefix.replace(/^\//, "");
32
- return raw.replace(new RegExp(`^${SIDE_ID}/?`), "").split("/").filter(Boolean).map(toCamel);
33
- }
34
- function bindCrud(leaf, base) {
35
- const proto = BaseService.prototype;
36
- for (const name of [
37
- "request",
38
- "page",
39
- "list",
40
- "info",
41
- "add",
42
- "update",
43
- "delete",
44
- "restore"
45
- ]) {
46
- const fn = proto[name];
47
- if (typeof fn === "function") {
48
- leaf[name] = fn.bind(base);
49
- }
50
- }
51
- }
52
- function bindApis(leaf, base, apis) {
53
- leaf.permission ||= {};
54
- for (const api of apis) {
55
- const name = methodName(api.path);
56
- if (!isValidName(name) || /[-:]/g.test(name))
57
- continue;
58
- const method = (api.method || "get").toLowerCase();
59
- leaf[name] = function(data) {
60
- return this.request({
61
- url: api.path.startsWith("/") ? api.path : `/${api.path}`,
62
- method,
63
- [method === "post" ? "data" : "params"]: data
64
- });
65
- }.bind(base);
66
- leaf.permission[name] = api.perms?.[0] || resolvePermCode(`/${leaf.namespace}`, name);
67
- }
68
- }
69
- function createLeaf(namespace, apis = []) {
70
- const ns = namespace.replace(/^\//, "");
71
- const base = new BaseService(ns);
72
- const leaf = base;
73
- leaf.namespace = ns;
74
- leaf.permission = {};
75
- leaf._permission = {};
76
- bindCrud(leaf, base);
77
- bindApis(leaf, base, apis);
78
- return leaf;
79
- }
80
- function attachLeaf(tree, prefix, apis = []) {
81
- const raw = prefix.replace(/^\//, "");
82
- const arr = prefixToParts(prefix);
83
- if (!arr.length)
84
- return;
85
- let node = tree;
86
- for (let i = 0;i < arr.length; i++) {
87
- const key = arr[i];
88
- const isLast = i === arr.length - 1;
89
- if (!isLast) {
90
- const cur = node[key];
91
- if (!cur || typeof cur !== "object" || "namespace" in cur) {
92
- node[key] = {};
93
- }
94
- node = node[key];
95
- continue;
96
- }
97
- const leaf = createLeaf(raw, apis);
98
- node[key] = leaf;
99
- return leaf;
100
- }
101
- return;
102
- }
103
- function buildFromEps(map) {
104
- const root = getOrCreateRoot();
105
- const list = Object.values(map).flat();
106
- for (const e of list) {
107
- if (!e?.prefix)
108
- continue;
109
- const leaf = attachLeaf(root, e.prefix, e.api || []);
110
- if (leaf) {
111
- const op = e.pageQueryOp;
112
- if (op) {
113
- leaf.search = {
114
- fieldEq: op.fieldEq,
115
- fieldLike: op.fieldLike,
116
- fieldArray: op.fieldArray,
117
- fieldRange: op.fieldRange,
118
- keyWordLikeFields: op.keyWordLikeFields
119
- };
120
- }
121
- }
122
- }
123
- }
124
- function normalizeEpsMap(input) {
125
- if (!input || typeof input !== "object")
126
- return {};
127
- const m = input;
128
- if ("code" in m && "data" in m && m.data && typeof m.data === "object" && !Array.isArray(m.data)) {
129
- return m.data;
130
- }
131
- return input;
132
- }
133
- function countPrefixedEntities(map) {
134
- return Object.values(map).flat().filter((e) => e && typeof e === "object" && Boolean(e.prefix)).length;
135
- }
136
- const SERVICE_ROOT_KEY = Symbol.for("vome.admin.service.root");
137
- const EPS_PROMISE_KEY = Symbol.for("vome.admin.service.eps");
138
- function createServiceRoot() {
139
- const root = new BaseService;
140
- return {
141
- request: root.request.bind(root)
142
- };
143
- }
144
- function getOrCreateRoot() {
145
- const g = globalThis;
146
- if (!g[SERVICE_ROOT_KEY]) {
147
- g[SERVICE_ROOT_KEY] = createServiceRoot();
148
- }
149
- return g[SERVICE_ROOT_KEY];
150
- }
151
- function resetServiceModules() {
152
- const root = getOrCreateRoot();
153
- for (const key of Object.keys(root)) {
154
- if (key === "request")
155
- continue;
156
- delete root[key];
157
- }
158
- }
159
- export const service = new Proxy({}, {
160
- get(_t, prop, _r) {
161
- const root = getOrCreateRoot();
162
- const val = Reflect.get(root, prop, root);
163
- return typeof val === "function" ? val.bind(root) : val;
164
- },
165
- set(_t, prop, value) {
166
- return Reflect.set(getOrCreateRoot(), prop, value);
167
- },
168
- has(_t, prop) {
169
- return Reflect.has(getOrCreateRoot(), prop);
170
- },
171
- ownKeys() {
172
- return Reflect.ownKeys(getOrCreateRoot());
173
- },
174
- getOwnPropertyDescriptor(_t, prop) {
175
- const desc = Reflect.getOwnPropertyDescriptor(getOrCreateRoot(), prop);
176
- if (desc)
177
- desc.configurable = true;
178
- return desc;
179
- }
180
- });
181
- export async function createEps(force = false) {
182
- const g = globalThis;
183
- if (!force && g[EPS_PROMISE_KEY])
184
- return g[EPS_PROMISE_KEY];
185
- const run = (async () => {
186
- const raw = await loadEps(force) || {};
187
- const map = normalizeEpsMap(raw);
188
- const n = countPrefixedEntities(map);
189
- if (!n) {
190
- throw new Error("[vome-eps] empty or invalid — enable vome.eps and check GET /admin/base/open/eps (expect module map with prefix)");
191
- }
192
- resetServiceModules();
193
- buildFromEps(map);
194
- const root = getOrCreateRoot();
195
- const base = root.base;
196
- if (!base || typeof base !== "object") {
197
- throw new Error("[vome-eps] mount failed: service.base missing after EPS apply");
198
- }
199
- return root;
200
- })();
201
- g[EPS_PROMISE_KEY] = run;
202
- try {
203
- return await run;
204
- } catch (e) {
205
- g[EPS_PROMISE_KEY] = null;
206
- throw e;
207
- }
208
- }
209
- if (undefined) {}
210
26
  export function setServicePerms(perms, isSuper = false) {
211
- const list = perms || [];
212
- const root = getOrCreateRoot();
213
- function deep(d) {
214
- if (!d || typeof d !== "object")
215
- return;
216
- const obj = d;
217
- if (obj.permission && obj.namespace) {
218
- obj._permission = {};
219
- for (const key of Object.keys(obj.permission)) {
220
- if (isSuper) {
221
- obj._permission[key] = true;
222
- continue;
223
- }
224
- const code = obj.permission[key];
225
- obj._permission[key] = list.includes(code) || list.some((p) => p.replace(/:/g, "/").includes(`${obj.namespace.replace(/^admin\//, "")}/${key}`));
226
- }
227
- return;
228
- }
229
- for (const k of Object.keys(obj)) {
230
- if (k === "request")
231
- continue;
232
- deep(obj[k]);
233
- }
234
- }
235
- deep(root);
236
- }
237
- export function resolveService(path) {
238
- const parts = path.replace(/^\//, "").split(".").filter(Boolean);
239
- let cur = getOrCreateRoot();
240
- for (const p of parts) {
241
- if (!cur || typeof cur !== "object")
242
- return;
243
- cur = cur[p];
244
- }
245
- if (cur && typeof cur === "object" && "namespace" in cur) {
246
- return cur;
247
- }
248
- return;
249
- }
250
- export function serviceOf(prefix) {
251
- const raw = prefix.replace(/\/$/, "");
252
- const path = prefixToParts(raw).join(".");
253
- const hit = resolveService(path);
254
- if (!hit) {
255
- throw new Error(`[vome-eps] service missing: ${prefix} (await createEps first)`);
256
- }
257
- return hit;
258
- }
259
- export function createEpsService(prefix) {
260
- return serviceOf(prefix);
27
+ return setServicePermsClient(perms, isSuper, "admin");
261
28
  }
262
29
 
263
- export { BaseService };
30
+ export {
31
+ BaseService,
32
+ createEpsService,
33
+ resolveService,
34
+ serviceOf
35
+ };
@@ -0,0 +1,28 @@
1
+ import type { ServiceRequestOptions } from '../../typings/admin/comm/service';
2
+ /** BaseService:namespace + request + 标准 CRUD */
3
+ export declare class BaseService {
4
+ namespace?: string;
5
+ constructor(namespace?: string);
6
+ request(options?: ServiceRequestOptions): Promise<unknown>;
7
+ page(data?: Record<string, unknown>): Promise<{
8
+ list: Record<string, unknown>[];
9
+ pagination: {
10
+ page: number;
11
+ size: number;
12
+ total: number;
13
+ };
14
+ }>;
15
+ list(data?: Record<string, unknown>): Promise<Record<string, unknown>[]>;
16
+ info(params: {
17
+ id: number | string;
18
+ }): Promise<Record<string, unknown>>;
19
+ add(data: Record<string, unknown> | Record<string, unknown>[]): Promise<unknown>;
20
+ update(data: Record<string, unknown> | Record<string, unknown>[]): Promise<unknown>;
21
+ delete(data: {
22
+ ids: Array<number | string>;
23
+ force?: boolean;
24
+ } | Array<number | string> | Array<Record<string, unknown>>): Promise<unknown>;
25
+ restore(data: {
26
+ ids: Array<number | string>;
27
+ }): Promise<unknown>;
28
+ }