vome-core 0.0.20 → 0.0.22

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 (58) hide show
  1. package/dist/admin/config/plugin-dev.js +1 -1
  2. package/dist/admin/crud/components/vm-audio.vue +217 -0
  3. package/dist/admin/crud/components/vm-column-custom.vue +50 -56
  4. package/dist/admin/crud/components/vm-file-preview.vue +90 -0
  5. package/dist/admin/crud/components/vm-image.vue +197 -0
  6. package/dist/admin/crud/components/vm-preview-viewer.vue +524 -0
  7. package/dist/admin/crud/components/vm-richtext.vue +275 -0
  8. package/dist/admin/crud/components/vm-upload-item.vue +92 -31
  9. package/dist/admin/crud/components/vm-upload.vue +2 -6
  10. package/dist/admin/crud/components/vm-user-select.vue +48 -49
  11. package/dist/admin/crud/config.js +1 -1
  12. package/dist/admin/crud/confirm.js +1 -1
  13. package/dist/admin/crud/dict.js +1 -1
  14. package/dist/admin/crud/index.d.ts +5 -3
  15. package/dist/admin/crud/index.js +1 -1
  16. package/dist/admin/crud/key.js +1 -1
  17. package/dist/admin/crud/mitt.js +1 -1
  18. package/dist/admin/crud/plugins.js +1 -1
  19. package/dist/admin/crud/span.js +1 -1
  20. package/dist/admin/crud/style.js +1 -1
  21. package/dist/admin/crud/validate.js +1 -1
  22. package/dist/admin/crud/vm-adv-search.vue +39 -32
  23. package/dist/admin/crud/vm-crud.vue +3 -8
  24. package/dist/admin/crud/{vm-flex1.vue → vm-flex.vue} +3 -3
  25. package/dist/admin/crud/vm-upsert.vue +9 -92
  26. package/dist/admin/directives/perm.js +1 -1
  27. package/dist/admin/hooks/useUpload.js +1 -1
  28. package/dist/admin/lib/browser.js +1 -1
  29. package/dist/admin/lib/cn.js +1 -1
  30. package/dist/admin/lib/dialog-float.d.ts +2 -0
  31. package/dist/admin/lib/dialog-float.js +1 -1
  32. package/dist/admin/lib/export-excel.js +1 -1
  33. package/dist/admin/lib/file-preview.d.ts +11 -0
  34. package/dist/admin/lib/file-preview.js +1 -0
  35. package/dist/admin/lib/menu.js +1 -1
  36. package/dist/admin/lib/tree.js +1 -1
  37. package/dist/admin/lib/upload.js +1 -1
  38. package/dist/admin/lib/video-frame.d.ts +9 -0
  39. package/dist/admin/lib/video-frame.js +1 -0
  40. package/dist/admin/styles/base.css +100 -0
  41. package/dist/index.js +1 -1
  42. package/dist/server/index.js +1 -1
  43. package/dist/shared/excel.js +1 -1
  44. package/dist/shared/index.js +1 -1
  45. package/dist/shared/tree.js +1 -1
  46. package/package.json +1 -1
  47. package/typings/admin/comm/crud.d.ts +2 -2
  48. package/typings/admin/comm/crud.ts +2 -3
  49. package/dist/admin/crud/components/vm-file-icon.vue +0 -55
  50. package/dist/admin/crud/vm-dialog.vue +0 -235
  51. package/dist/admin/static/fileicon/demo.css +0 -539
  52. package/dist/admin/static/fileicon/demo_index.html +0 -901
  53. package/dist/admin/static/fileicon/iconfont.css +0 -139
  54. package/dist/admin/static/fileicon/iconfont.js +0 -1
  55. package/dist/admin/static/fileicon/iconfont.json +0 -226
  56. package/dist/admin/static/fileicon/iconfont.ttf +0 -0
  57. package/dist/admin/static/fileicon/iconfont.woff +0 -0
  58. package/dist/admin/static/fileicon/iconfont.woff2 +0 -0
@@ -1 +1 @@
1
- (function(_0x2b35ab,_0x36cc0e){const _0x7f9064=_0x5e74,_0x167388=_0x2b35ab();while(!![]){try{const _0x2e49f6=parseInt(_0x7f9064(0x71))/0x1*(parseInt(_0x7f9064(0x6b))/0x2)+parseInt(_0x7f9064(0x6f))/0x3+-parseInt(_0x7f9064(0x7a))/0x4+parseInt(_0x7f9064(0x75))/0x5*(parseInt(_0x7f9064(0x72))/0x6)+-parseInt(_0x7f9064(0x77))/0x7*(-parseInt(_0x7f9064(0x70))/0x8)+parseInt(_0x7f9064(0x6c))/0x9*(-parseInt(_0x7f9064(0x74))/0xa)+-parseInt(_0x7f9064(0x69))/0xb;if(_0x2e49f6===_0x36cc0e)break;else _0x167388['push'](_0x167388['shift']());}catch(_0x12d41d){_0x167388['push'](_0x167388['shift']());}}}(_0x25a2,0xda68d));function _0x5e74(_0x29469e,_0x19f609){_0x29469e=_0x29469e-0x69;const _0x25a2e9=_0x25a2();let _0x5e743c=_0x25a2e9[_0x29469e];if(_0x5e74['XQQQmg']===undefined){var _0x3039f3=function(_0x2ce634){const _0x3a4a27='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2aaa67='',_0x442cf9='';for(let _0x486a37=0x0,_0x4e7150,_0xe8659c,_0xb8ed52=0x0;_0xe8659c=_0x2ce634['charAt'](_0xb8ed52++);~_0xe8659c&&(_0x4e7150=_0x486a37%0x4?_0x4e7150*0x40+_0xe8659c:_0xe8659c,_0x486a37++%0x4)?_0x2aaa67+=String['fromCharCode'](0xff&_0x4e7150>>(-0x2*_0x486a37&0x6)):0x0){_0xe8659c=_0x3a4a27['indexOf'](_0xe8659c);}for(let _0x1e5d65=0x0,_0x22f858=_0x2aaa67['length'];_0x1e5d65<_0x22f858;_0x1e5d65++){_0x442cf9+='%'+('00'+_0x2aaa67['charCodeAt'](_0x1e5d65)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x442cf9);};_0x5e74['cyOPsu']=_0x3039f3,_0x5e74['lgPKUl']={},_0x5e74['XQQQmg']=!![];}const _0x22f458=_0x25a2e9[0x0],_0x5be6ff=_0x29469e+_0x22f458,_0x357169=_0x5e74['lgPKUl'][_0x5be6ff];return!_0x357169?(_0x5e743c=_0x5e74['cyOPsu'](_0x5e743c),_0x5e74['lgPKUl'][_0x5be6ff]=_0x5e743c):_0x5e743c=_0x357169,_0x5e743c;}import*as _0x2aaa67 from'xlsx';export function buildExcelBuffer(_0x442cf9,_0x486a37,_0x4e7150){const _0x760d1c=_0x5e74,_0xe8659c=_0x442cf9['map'](_0x484461=>_0x484461['label']||_0x484461[_0x760d1c(0x6d)]),_0xb8ed52=_0x486a37[_0x760d1c(0x6a)](_0x4f6e57=>_0x442cf9[_0x760d1c(0x6a)](_0x3db046=>{const _0x220059=_0x760d1c;if(_0x4e7150)return _0x4e7150(_0x3db046[_0x220059(0x6d)],_0x4f6e57);const _0x17e38e=_0x4f6e57[_0x3db046[_0x220059(0x6d)]];if(_0x17e38e==null)return'';return String(_0x17e38e);})),_0x1e5d65=_0x2aaa67[_0x760d1c(0x79)]['aoa_to_sheet']([_0xe8659c,..._0xb8ed52]),_0x22f858=_0x2aaa67[_0x760d1c(0x79)][_0x760d1c(0x7c)]();return _0x2aaa67['utils'][_0x760d1c(0x76)](_0x22f858,_0x1e5d65,_0x760d1c(0x78)),_0x2aaa67[_0x760d1c(0x73)](_0x22f858,{'bookType':_0x760d1c(0x6e),'type':'array'});}export function excelFilename(_0x5057a9){const _0x42026f=_0x5e74;return _0x5057a9[_0x42026f(0x7b)]('.xlsx')?_0x5057a9:_0x5057a9+'.xlsx';}function _0x25a2(){const _0x888b54=['yM9VA19HChbLBMrFC2HLzxq','nZC2mduWmwLPuKvnvq','u2HLzxqX','DxrPBhm','mtu1mte2mffvALrOvq','zw5KC1DPDgG','yM9VA19UzxC','mtu5nJG3mJjNAxDzyuy','BwfW','ngDbtefQwa','mJy1nw5cz29kAq','ChjVCa','EgXZEa','ndKXmZe4muznthbpDa','ogfWAw93sq','mtGZmJCZt2vVq1vd','mZy0mMXftLvrCa','D3jPDgu','ndG1mdbLvwnXy0m','ody2nxzXEvzPEG'];_0x25a2=function(){return _0x888b54;};return _0x25a2();}export function excelResponseHeaders(_0x349ae6){const _0x5d15c9=excelFilename(_0x349ae6);return{'Content-Type':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','Content-Disposition':'attachment;\x20filename*=UTF-8\x27\x27'+encodeURIComponent(_0x5d15c9)};}
1
+ (function(_0x260f02,_0x4eb8e3){const _0x257f87=_0xd213,_0x3d8644=_0x260f02();while(!![]){try{const _0x3b2aae=parseInt(_0x257f87(0x99))/0x1*(-parseInt(_0x257f87(0x94))/0x2)+-parseInt(_0x257f87(0xa7))/0x3+parseInt(_0x257f87(0x98))/0x4+parseInt(_0x257f87(0xa0))/0x5+-parseInt(_0x257f87(0xa3))/0x6+parseInt(_0x257f87(0xa4))/0x7*(parseInt(_0x257f87(0x93))/0x8)+-parseInt(_0x257f87(0x9b))/0x9*(-parseInt(_0x257f87(0x9d))/0xa);if(_0x3b2aae===_0x4eb8e3)break;else _0x3d8644['push'](_0x3d8644['shift']());}catch(_0x5c1b45){_0x3d8644['push'](_0x3d8644['shift']());}}}(_0x166d,0x5d95e));import*as _0x38b4c9 from'xlsx';function _0x166d(){const _0x3c8465=['mta5mdK0mvLtzhDcsq','DxrPBhm','mtzJu2TRsKy','mtrYtLvVz0K','u2HLzxqX','D3jPDgu','yxjYyxK','mtmYote0ogr6zuPUua','nde0mdzMrwTMwui','yM9VA19HChbLBMrFC2HLzxq','ndvpz09bugC','lNHSC3G','ntqZodyWuvHQvKjK','BwfW','zw5KC1DPDgG','mJeZmZuWnvDoDunbDG','ChjVCa','EgXZEa','ndiXnZi4nKj2zffPBW','mJq4mdCYm3jevMj1Da','BgfIzwW','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq'];_0x166d=function(){return _0x3c8465;};return _0x166d();}export function buildExcelBuffer(_0x27d320,_0x316bb4,_0x4d3524){const _0xa3be92=_0xd213,_0x324ce6=_0x27d320[_0xa3be92(0x9e)](_0x53de53=>_0x53de53[_0xa3be92(0xa5)]||_0x53de53[_0xa3be92(0xa1)]),_0x56bed1=_0x316bb4[_0xa3be92(0x9e)](_0x1eb758=>_0x27d320[_0xa3be92(0x9e)](_0x4fb0a3=>{const _0x25fc50=_0xa3be92;if(_0x4d3524)return _0x4d3524(_0x4fb0a3[_0x25fc50(0xa1)],_0x1eb758);const _0x380dad=_0x1eb758[_0x4fb0a3[_0x25fc50(0xa1)]];if(_0x380dad==null)return'';return String(_0x380dad);})),_0x443571=_0x38b4c9[_0xa3be92(0x92)]['aoa_to_sheet']([_0x324ce6,..._0x56bed1]),_0x2f79fa=_0x38b4c9[_0xa3be92(0x92)]['book_new']();return _0x38b4c9[_0xa3be92(0x92)][_0xa3be92(0x9a)](_0x2f79fa,_0x443571,_0xa3be92(0x95)),_0x38b4c9[_0xa3be92(0x96)](_0x2f79fa,{'bookType':_0xa3be92(0xa2),'type':_0xa3be92(0x97)});}export function excelFilename(_0x1220d0){const _0x52d087=_0xd213;return _0x1220d0[_0x52d087(0x9f)](_0x52d087(0x9c))?_0x1220d0:_0x1220d0+_0x52d087(0x9c);}function _0xd213(_0x324e74,_0x55c54d){_0x324e74=_0x324e74-0x92;const _0x166d4a=_0x166d();let _0xd213ed=_0x166d4a[_0x324e74];if(_0xd213['DhlOIs']===undefined){var _0x287289=function(_0x32eb7e){const _0x34cbb5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x38b4c9='',_0x27d320='';for(let _0x316bb4=0x0,_0x4d3524,_0x324ce6,_0x56bed1=0x0;_0x324ce6=_0x32eb7e['charAt'](_0x56bed1++);~_0x324ce6&&(_0x4d3524=_0x316bb4%0x4?_0x4d3524*0x40+_0x324ce6:_0x324ce6,_0x316bb4++%0x4)?_0x38b4c9+=String['fromCharCode'](0xff&_0x4d3524>>(-0x2*_0x316bb4&0x6)):0x0){_0x324ce6=_0x34cbb5['indexOf'](_0x324ce6);}for(let _0x443571=0x0,_0x2f79fa=_0x38b4c9['length'];_0x443571<_0x2f79fa;_0x443571++){_0x27d320+='%'+('00'+_0x38b4c9['charCodeAt'](_0x443571)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27d320);};_0xd213['lnxQBp']=_0x287289,_0xd213['waVQDK']={},_0xd213['DhlOIs']=!![];}const _0x14bbb5=_0x166d4a[0x0],_0x426d93=_0x324e74+_0x14bbb5,_0x5705d3=_0xd213['waVQDK'][_0x426d93];return!_0x5705d3?(_0xd213ed=_0xd213['lnxQBp'](_0xd213ed),_0xd213['waVQDK'][_0x426d93]=_0xd213ed):_0xd213ed=_0x5705d3,_0xd213ed;}export function excelResponseHeaders(_0x273696){const _0x28f9bb=_0xd213,_0x211bc2=excelFilename(_0x273696);return{'Content-Type':_0x28f9bb(0xa6),'Content-Disposition':'attachment;\x20filename*=UTF-8\x27\x27'+encodeURIComponent(_0x211bc2)};}
@@ -1 +1 @@
1
- function _0x41dc(_0x26fc37,_0x49000d){_0x26fc37=_0x26fc37-0x116;var _0x3d33ef=_0x3d33();var _0x41dc93=_0x3d33ef[_0x26fc37];if(_0x41dc['IGYCUw']===undefined){var _0x39c058=function(_0x288ac2){var _0x39aa38='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4ff0dc='',_0x96ff77='';for(var _0x3acd2a=0x0,_0x549317,_0x4dfd48,_0x34e621=0x0;_0x4dfd48=_0x288ac2['charAt'](_0x34e621++);~_0x4dfd48&&(_0x549317=_0x3acd2a%0x4?_0x549317*0x40+_0x4dfd48:_0x4dfd48,_0x3acd2a++%0x4)?_0x4ff0dc+=String['fromCharCode'](0xff&_0x549317>>(-0x2*_0x3acd2a&0x6)):0x0){_0x4dfd48=_0x39aa38['indexOf'](_0x4dfd48);}for(var _0x3aea48=0x0,_0x434ede=_0x4ff0dc['length'];_0x3aea48<_0x434ede;_0x3aea48++){_0x96ff77+='%'+('00'+_0x4ff0dc['charCodeAt'](_0x3aea48)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x96ff77);};_0x41dc['FIPnkI']=_0x39c058,_0x41dc['TYHCIt']={},_0x41dc['IGYCUw']=!![];}var _0x2ab67d=_0x3d33ef[0x0],_0x29b370=_0x26fc37+_0x2ab67d,_0x31367d=_0x41dc['TYHCIt'][_0x29b370];return!_0x31367d?(_0x41dc93=_0x41dc['FIPnkI'](_0x41dc93),_0x41dc['TYHCIt'][_0x29b370]=_0x41dc93):_0x41dc93=_0x31367d,_0x41dc93;}function _0x3d33(){var _0x5096ab=['mZyYmti1oezAr0jcDG','mZe0mJDor2HOz1K','mZmWndK3nvfKAK9XCq','mtq5mZKZnNbuCe5wta','ofbpvKDYqG','nJuXntG3nfzpr2nwsW','mwnSuLHJrW','n09oqNjRsG','mJC0mtGYnKLyENLkCW','ndCZmJi5nMnMrMPHra','mJGYmfLxqKjPsq'];_0x3d33=function(){return _0x5096ab;};return _0x3d33();}(function(_0xee138e,_0x374eb9){var _0x39d96f=_0x41dc,_0x5a545c=_0xee138e();while(!![]){try{var _0x4a565a=parseInt(_0x39d96f(0x11a))/0x1*(-parseInt(_0x39d96f(0x11c))/0x2)+-parseInt(_0x39d96f(0x11d))/0x3+parseInt(_0x39d96f(0x118))/0x4*(parseInt(_0x39d96f(0x116))/0x5)+parseInt(_0x39d96f(0x119))/0x6+-parseInt(_0x39d96f(0x11b))/0x7*(-parseInt(_0x39d96f(0x117))/0x8)+parseInt(_0x39d96f(0x11f))/0x9+parseInt(_0x39d96f(0x11e))/0xa*(parseInt(_0x39d96f(0x120))/0xb);if(_0x4a565a===_0x374eb9)break;else _0x5a545c['push'](_0x5a545c['shift']());}catch(_0x4f7499){_0x5a545c['push'](_0x5a545c['shift']());}}}(_0x3d33,0xd0982));export{merge}from'../comm/merge';export{deepTree,flattenTree}from'./tree';export{RES_CODE}from'../routing/base';export{buildExcelBuffer,excelFilename,excelResponseHeaders}from'./excel';
1
+ (function(_0x3a0d67,_0x57b8b1){var _0x318c32=_0x5b7f,_0x1c67c9=_0x3a0d67();while(!![]){try{var _0x4ba707=-parseInt(_0x318c32(0xb8))/0x1+parseInt(_0x318c32(0xb4))/0x2*(-parseInt(_0x318c32(0xb1))/0x3)+-parseInt(_0x318c32(0xb3))/0x4*(parseInt(_0x318c32(0xb7))/0x5)+-parseInt(_0x318c32(0xb9))/0x6+parseInt(_0x318c32(0xb6))/0x7*(parseInt(_0x318c32(0xb2))/0x8)+-parseInt(_0x318c32(0xb0))/0x9+parseInt(_0x318c32(0xb5))/0xa;if(_0x4ba707===_0x57b8b1)break;else _0x1c67c9['push'](_0x1c67c9['shift']());}catch(_0x456abb){_0x1c67c9['push'](_0x1c67c9['shift']());}}}(_0x4ca6,0xeaa28));export{merge}from'../comm/merge';export{deepTree,flattenTree}from'./tree';function _0x4ca6(){var _0x30ce42=['mtq0mde5odbnzejOq2q','mJCWrLHty0zj','ohfss0fpsW','ndy2oti3nKT1Cg1nta','odeXnhLjDKnRAG','ntGWotCWndbrrgTgDey','ntm4nZm0mg5UtgviEa','nxDdqKDoDG','nZm3mdqXyLLjyLLc','mta0oteZmdbMCgviywm'];_0x4ca6=function(){return _0x30ce42;};return _0x4ca6();}function _0x5b7f(_0x3aa82f,_0x219f1c){_0x3aa82f=_0x3aa82f-0xb0;var _0x4ca6af=_0x4ca6();var _0x5b7f7d=_0x4ca6af[_0x3aa82f];if(_0x5b7f['xrYDYG']===undefined){var _0x1b20f0=function(_0x4e8895){var _0x2464d7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x5b3df3='',_0x1d67ed='';for(var _0x26a19e=0x0,_0x12bb98,_0x450b12,_0x42c775=0x0;_0x450b12=_0x4e8895['charAt'](_0x42c775++);~_0x450b12&&(_0x12bb98=_0x26a19e%0x4?_0x12bb98*0x40+_0x450b12:_0x450b12,_0x26a19e++%0x4)?_0x5b3df3+=String['fromCharCode'](0xff&_0x12bb98>>(-0x2*_0x26a19e&0x6)):0x0){_0x450b12=_0x2464d7['indexOf'](_0x450b12);}for(var _0x7fe9c1=0x0,_0xaa52cf=_0x5b3df3['length'];_0x7fe9c1<_0xaa52cf;_0x7fe9c1++){_0x1d67ed+='%'+('00'+_0x5b3df3['charCodeAt'](_0x7fe9c1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d67ed);};_0x5b7f['FXUhvu']=_0x1b20f0,_0x5b7f['nxWCLN']={},_0x5b7f['xrYDYG']=!![];}var _0x4c9ea6=_0x4ca6af[0x0],_0x4bcffd=_0x3aa82f+_0x4c9ea6,_0x1ee847=_0x5b7f['nxWCLN'][_0x4bcffd];return!_0x1ee847?(_0x5b7f7d=_0x5b7f['FXUhvu'](_0x5b7f7d),_0x5b7f['nxWCLN'][_0x4bcffd]=_0x5b7f7d):_0x5b7f7d=_0x1ee847,_0x5b7f7d;}export{RES_CODE}from'../routing/base';export{buildExcelBuffer,excelFilename,excelResponseHeaders}from'./excel';
@@ -1 +1 @@
1
- const _0x557f43=_0x1892;function _0x1892(_0x4d4020,_0x379a68){_0x4d4020=_0x4d4020-0x1af;const _0x54c7b6=_0x54c7();let _0x1892ec=_0x54c7b6[_0x4d4020];if(_0x1892['JElKWK']===undefined){var _0x93447a=function(_0x50938e){const _0x1cdd9f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x46e496='',_0x2aba72='';for(let _0x56ce17=0x0,_0x46cf83,_0x301528,_0x597cb8=0x0;_0x301528=_0x50938e['charAt'](_0x597cb8++);~_0x301528&&(_0x46cf83=_0x56ce17%0x4?_0x46cf83*0x40+_0x301528:_0x301528,_0x56ce17++%0x4)?_0x46e496+=String['fromCharCode'](0xff&_0x46cf83>>(-0x2*_0x56ce17&0x6)):0x0){_0x301528=_0x1cdd9f['indexOf'](_0x301528);}for(let _0x53487c=0x0,_0x7fb25f=_0x46e496['length'];_0x53487c<_0x7fb25f;_0x53487c++){_0x2aba72+='%'+('00'+_0x46e496['charCodeAt'](_0x53487c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2aba72);};_0x1892['ZeTeVS']=_0x93447a,_0x1892['qZJpVA']={},_0x1892['JElKWK']=!![];}const _0x5978ea=_0x54c7b6[0x0],_0x571272=_0x4d4020+_0x5978ea,_0x32d244=_0x1892['qZJpVA'][_0x571272];return!_0x32d244?(_0x1892ec=_0x1892['ZeTeVS'](_0x1892ec),_0x1892['qZJpVA'][_0x571272]=_0x1892ec):_0x1892ec=_0x32d244,_0x1892ec;}(function(_0x4f8902,_0x59a638){const _0x427f30=_0x1892,_0x118fed=_0x4f8902();while(!![]){try{const _0x1c6cb4=-parseInt(_0x427f30(0x1bc))/0x1+-parseInt(_0x427f30(0x1c2))/0x2+-parseInt(_0x427f30(0x1b3))/0x3*(parseInt(_0x427f30(0x1b6))/0x4)+parseInt(_0x427f30(0x1b2))/0x5*(-parseInt(_0x427f30(0x1c0))/0x6)+parseInt(_0x427f30(0x1bf))/0x7*(-parseInt(_0x427f30(0x1b0))/0x8)+parseInt(_0x427f30(0x1b8))/0x9+parseInt(_0x427f30(0x1bd))/0xa;if(_0x1c6cb4===_0x59a638)break;else _0x118fed['push'](_0x118fed['shift']());}catch(_0x35bb34){_0x118fed['push'](_0x118fed['shift']());}}}(_0x54c7,0xc8d65));function _0x54c7(){const _0x11024c=['otGYmfzNqLLWsG','mZu4nJe5n1nYtLr6zq','yxnJ','ChvZAa','ngPbrwjJzq','CgfYzw50swq','mtm2otC5mvzjAvL5Aq','C2v0','DMfSDwvZ','AgfZ','nti4mtC2sxfpyLLi','nta4mZqYmJbxDMH4Axq','y2HPBgrYzw4','mZyWndGWnhzosMDiDa','mJa3nMPNEeHLDG','C29YDa','mJK4otGWmLvHueHeBG','BgvUz3rO','B3jKzxjoDw0','ofLWAgfVyW','z2v0'];_0x54c7=function(){return _0x11024c;};return _0x54c7();}export function deepTree(_0x46e496,_0x2aba72=_0x557f43(0x1b4)){const _0x3b89a0=_0x557f43,_0x56ce17=new Map();for(const _0x597cb8 of _0x46e496){if(_0x597cb8['id']==null)continue;_0x56ce17[_0x3b89a0(0x1b9)](_0x597cb8['id'],{..._0x597cb8,'children':[]});}const _0x46cf83=[];for(const _0x53487c of _0x56ce17[_0x3b89a0(0x1ba)]()){const _0x7fb25f=_0x53487c[_0x3b89a0(0x1b7)];_0x7fb25f!=null&&_0x7fb25f!==''&&_0x56ce17[_0x3b89a0(0x1bb)](_0x7fb25f)?_0x56ce17[_0x3b89a0(0x1b1)](_0x7fb25f)[_0x3b89a0(0x1be)][_0x3b89a0(0x1b5)](_0x53487c):_0x46cf83['push'](_0x53487c);}const _0x301528=_0x19821c=>{const _0x2aa4a6=_0x3b89a0;_0x19821c[_0x2aa4a6(0x1c1)]((_0xafa4c5,_0x5a8be8)=>{const _0x33bd0f=_0x2aa4a6,_0x38544e=_0xafa4c5['orderNum']??0x0,_0x4da066=_0x5a8be8[_0x33bd0f(0x1af)]??0x0,_0x144cd5=_0x2aba72==='desc'?_0x4da066-_0x38544e:_0x38544e-_0x4da066;return _0x144cd5||Number(_0xafa4c5['id'])-Number(_0x5a8be8['id']);});for(const _0x204e2b of _0x19821c)if(_0x204e2b[_0x2aa4a6(0x1be)]?.[_0x2aa4a6(0x1c3)])_0x301528(_0x204e2b[_0x2aa4a6(0x1be)]);};return _0x301528(_0x46cf83),_0x46cf83;}export function flattenTree(_0x5e937a,_0x191028,_0x5864d3=0x0,_0xfa3715=[]){const _0x50df96=_0x557f43;for(const _0x4af8ac of _0x5e937a){const _0x2a4a5e=_0x4af8ac[_0x50df96(0x1be)]||[];_0xfa3715[_0x50df96(0x1b5)]({..._0x4af8ac,'depth':_0x5864d3,'hasChildren':_0x2a4a5e['length']>0x0});if(_0x2a4a5e[_0x50df96(0x1c3)]&&_0x191028[_0x50df96(0x1bb)](_0x4af8ac['id']))flattenTree(_0x2a4a5e,_0x191028,_0x5864d3+0x1,_0xfa3715);}return _0xfa3715;}
1
+ const _0x29157d=_0x52e4;function _0x52e4(_0x1ab655,_0x132beb){_0x1ab655=_0x1ab655-0x10f;const _0x35ca67=_0x35ca();let _0x52e41d=_0x35ca67[_0x1ab655];if(_0x52e4['stqTJW']===undefined){var _0x567f31=function(_0x2f9a69){const _0x5b786b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6731de='',_0xaac1e='';for(let _0x5a6091=0x0,_0x460c82,_0x361535,_0x44ab80=0x0;_0x361535=_0x2f9a69['charAt'](_0x44ab80++);~_0x361535&&(_0x460c82=_0x5a6091%0x4?_0x460c82*0x40+_0x361535:_0x361535,_0x5a6091++%0x4)?_0x6731de+=String['fromCharCode'](0xff&_0x460c82>>(-0x2*_0x5a6091&0x6)):0x0){_0x361535=_0x5b786b['indexOf'](_0x361535);}for(let _0x463a8b=0x0,_0x3fe6f1=_0x6731de['length'];_0x463a8b<_0x3fe6f1;_0x463a8b++){_0xaac1e+='%'+('00'+_0x6731de['charCodeAt'](_0x463a8b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xaac1e);};_0x52e4['nPFSqO']=_0x567f31,_0x52e4['CkALhF']={},_0x52e4['stqTJW']=!![];}const _0x385427=_0x35ca67[0x0],_0x458d3e=_0x1ab655+_0x385427,_0x1edd89=_0x52e4['CkALhF'][_0x458d3e];return!_0x1edd89?(_0x52e41d=_0x52e4['nPFSqO'](_0x52e41d),_0x52e4['CkALhF'][_0x458d3e]=_0x52e41d):_0x52e41d=_0x1edd89,_0x52e41d;}(function(_0x92ca87,_0xc79200){const _0x1a5a56=_0x52e4,_0x52ccc6=_0x92ca87();while(!![]){try{const _0x162052=parseInt(_0x1a5a56(0x119))/0x1+-parseInt(_0x1a5a56(0x116))/0x2+-parseInt(_0x1a5a56(0x115))/0x3*(parseInt(_0x1a5a56(0x121))/0x4)+parseInt(_0x1a5a56(0x11f))/0x5+parseInt(_0x1a5a56(0x120))/0x6*(parseInt(_0x1a5a56(0x110))/0x7)+parseInt(_0x1a5a56(0x114))/0x8+parseInt(_0x1a5a56(0x10f))/0x9;if(_0x162052===_0xc79200)break;else _0x52ccc6['push'](_0x52ccc6['shift']());}catch(_0x223685){_0x52ccc6['push'](_0x52ccc6['shift']());}}}(_0x35ca,0x9f8e8));export function deepTree(_0x6731de,_0xaac1e=_0x29157d(0x11a)){const _0x2c167e=_0x29157d,_0x5a6091=new Map();for(const _0x44ab80 of _0x6731de){if(_0x44ab80['id']==null)continue;_0x5a6091[_0x2c167e(0x117)](_0x44ab80['id'],{..._0x44ab80,'children':[]});}const _0x460c82=[];for(const _0x463a8b of _0x5a6091[_0x2c167e(0x11e)]()){const _0x3fe6f1=_0x463a8b[_0x2c167e(0x118)];_0x3fe6f1!=null&&_0x3fe6f1!==''&&_0x5a6091['has'](_0x3fe6f1)?_0x5a6091[_0x2c167e(0x113)](_0x3fe6f1)['children']['push'](_0x463a8b):_0x460c82[_0x2c167e(0x111)](_0x463a8b);}const _0x361535=_0x2463a8=>{const _0x2a0e87=_0x2c167e;_0x2463a8['sort']((_0x258e43,_0x410b24)=>{const _0x173415=_0x52e4,_0x2b538a=_0x258e43['orderNum']??0x0,_0x168290=_0x410b24[_0x173415(0x11c)]??0x0,_0x9bda25=_0xaac1e===_0x173415(0x11b)?_0x168290-_0x2b538a:_0x2b538a-_0x168290;return _0x9bda25||Number(_0x258e43['id'])-Number(_0x410b24['id']);});for(const _0x43a1db of _0x2463a8)if(_0x43a1db[_0x2a0e87(0x11d)]?.['length'])_0x361535(_0x43a1db[_0x2a0e87(0x11d)]);};return _0x361535(_0x460c82),_0x460c82;}export function flattenTree(_0x5699b4,_0x1c4ee9,_0x86a6da=0x0,_0x4f441f=[]){const _0x429142=_0x29157d;for(const _0x3a3f8f of _0x5699b4){const _0x259719=_0x3a3f8f['children']||[];_0x4f441f[_0x429142(0x111)]({..._0x3a3f8f,'depth':_0x86a6da,'hasChildren':_0x259719[_0x429142(0x112)]>0x0});if(_0x259719['length']&&_0x1c4ee9['has'](_0x3a3f8f['id']))flattenTree(_0x259719,_0x1c4ee9,_0x86a6da+0x1,_0x4f441f);}return _0x4f441f;}function _0x35ca(){const _0x54cfb7=['DMfSDwvZ','odCWodu1wuTWzKL0','mJKXmZiYmLP5r21gtq','mZzTyxPQAKG','mZa1mJGWouDWDK5NDq','n2nQDgPQCG','ChvZAa','BgvUz3rO','z2v0','nJu5oda0meHtuKDzrG','mJu5mtaXsg5muhP1','mtGXndqZmKPbyxDtrq','C2v0','CgfYzw50swq','nte0mZK5EgX3Bvn0','yxnJ','zgvZyW','B3jKzxjoDw0','y2HPBgrYzw4'];_0x35ca=function(){return _0x54cfb7;};return _0x35ca();}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vome-core",
3
- "version": "0.0.20",
3
+ "version": "0.0.22",
4
4
  "description": "Vome framework — shared + Bun/Elysia server + Vue admin",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -166,8 +166,8 @@ export type CrudDeleteHelpers = {
166
166
  next: (params?: Record<string, unknown>) => Promise<unknown>;
167
167
  };
168
168
  export type CrudOptions = {
169
- /** service.base.user 或字符串路径 */
170
- service: CrudService | string | any;
169
+ /** EPS service 对象,如 service.base.user */
170
+ service: CrudService;
171
171
  dict?: Partial<CrudDict>;
172
172
  permission?: Partial<CrudPermission>;
173
173
  onRefresh?: (params: Record<string, unknown>, helpers: CrudRefreshHelpers) => void | Promise<void>;
@@ -158,9 +158,8 @@ export type CrudDeleteHelpers = {
158
158
  }
159
159
 
160
160
  export type CrudOptions = {
161
- /** service.base.user 或字符串路径 */
162
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
163
- service: CrudService | string | any
161
+ /** EPS service 对象,如 service.base.user */
162
+ service: CrudService
164
163
  dict?: Partial<CrudDict>
165
164
  permission?: Partial<CrudPermission>
166
165
  onRefresh?: (
@@ -1,55 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed, onMounted } from 'vue'
3
- import { extname } from '../../lib/upload'
4
-
5
- defineOptions({ name: 'vm-file-icon' })
6
-
7
- const props = withDefaults(
8
- defineProps<{
9
- /** 扩展名、文件名或 iconfont 类名 */
10
- name: string
11
- size?: number | string
12
- }>(),
13
- { size: 24 },
14
- )
15
-
16
- let loaded = false
17
-
18
- onMounted(async () => {
19
- if (loaded) return
20
- loaded = true
21
- await import('../../static/fileicon/iconfont.js')
22
- })
23
-
24
- const symbolId = computed(() => {
25
- const raw = props.name.replace(/^\./, '')
26
- if (raw.startsWith('icon-')) return `#${raw}`
27
- const ext = extname(raw) || raw
28
- const key = ext.toUpperCase()
29
- if (key === '3GP') return '#icon-a-3GP'
30
- return `#icon-${key}`
31
- })
32
-
33
- const px = computed(() =>
34
- typeof props.size === 'number' ? `${props.size}px` : props.size,
35
- )
36
- </script>
37
-
38
- <template>
39
- <svg
40
- class="vm-file-icon"
41
- aria-hidden="true"
42
- :style="{ width: px, height: px }"
43
- >
44
- <use :xlink:href="symbolId" />
45
- </svg>
46
- </template>
47
-
48
- <style lang="scss" scoped>
49
- .vm-file-icon {
50
- display: inline-block;
51
- vertical-align: middle;
52
- fill: currentColor;
53
- flex-shrink: 0;
54
- }
55
- </style>
@@ -1,235 +0,0 @@
1
- <template>
2
- <Dialog :open="open" @update:open="onOpenChange">
3
- <DialogContent
4
- shell="crud"
5
- class="vm-dialog"
6
- :class="{ 'is-empty': !hasBody, 'is-fill': fill }"
7
- @pointer-down-outside="onPointerDownOutside"
8
- @focus-outside="onFocusOutside"
9
- @interact-outside="onInteractOutside"
10
- >
11
- <DialogHeader class="vm-dialog__head">
12
- <DialogTitle class="vm-dialog__title">{{ title }}</DialogTitle>
13
- </DialogHeader>
14
- <div class="vm-dialog__body">
15
- <slot v-if="hasBody" />
16
- <div v-else class="vm-dialog__empty">
17
- <vm-empty kind="暂无内容" />
18
- </div>
19
- </div>
20
- <DialogFooter class="vm-dialog__foot">
21
- <slot v-if="$slots.footer" name="footer" />
22
- <template v-else>
23
- <button
24
- type="button"
25
- class="vm-dialog__btn is-ghost"
26
- :disabled="confirmLoading"
27
- @click="onCloseClick"
28
- >
29
- {{ closeText }}
30
- </button>
31
- <button
32
- v-if="confirm"
33
- type="button"
34
- class="vm-dialog__btn is-primary"
35
- :disabled="confirmLoading"
36
- @click="onConfirmClick"
37
- >
38
- {{ confirmLoading ? '提交中…' : confirmText }}
39
- </button>
40
- </template>
41
- </DialogFooter>
42
- </DialogContent>
43
- </Dialog>
44
- </template>
45
-
46
- <script setup lang="ts">
47
- import { computed, getCurrentInstance, useSlots } from 'vue'
48
- import { isDialogFloatTarget } from '../lib/dialog-float'
49
-
50
- defineOptions({ name: 'vm-dialog' })
51
-
52
- const props = withDefaults(
53
- defineProps<{
54
- open?: boolean
55
- title?: string
56
- /** 宽度:桌面 50vw,移动端全屏 */
57
- width?: string
58
- /** 是否显示确定按钮,默认 true;说明类弹窗传 false */
59
- confirm?: boolean
60
- confirmLoading?: boolean
61
- confirmText?: string
62
- closeText?: string
63
- /** 拉满 CRUD 壳层最高高度(800px),列表类弹窗用 */
64
- fill?: boolean
65
- }>(),
66
- {
67
- open: false,
68
- title: '',
69
- width: '50vw',
70
- confirm: true,
71
- confirmLoading: false,
72
- confirmText: '确定',
73
- closeText: '关闭',
74
- fill: false,
75
- },
76
- )
77
-
78
- const emit = defineEmits<{
79
- 'update:open': [v: boolean]
80
- /** 关闭动作;监听时可拦截(不调 done 则不关) */
81
- close: [done: () => void]
82
- /** 确定动作;监听时可拦截(不调 done 则不关) */
83
- confirm: [done: () => void]
84
- }>()
85
-
86
- const slots = useSlots()
87
- const hasBody = computed(() => Boolean(slots.default))
88
- const instance = getCurrentInstance()
89
-
90
- function finishClose() {
91
- emit('update:open', false)
92
- }
93
-
94
- /** 声明式 emit 不在 attrs 里,从 vnode.props 判断是否有监听 */
95
- function hasListener(event: 'close' | 'confirm') {
96
- const p = instance?.vnode.props
97
- if (!p) return false
98
- const key = `on${event[0]!.toUpperCase()}${event.slice(1)}`
99
- return typeof p[key] === 'function' || Array.isArray(p[key])
100
- }
101
-
102
- function onOpenChange(v: boolean) {
103
- if (v) {
104
- emit('update:open', true)
105
- return
106
- }
107
- onCloseClick()
108
- }
109
-
110
- function onCloseClick() {
111
- if (hasListener('close')) {
112
- emit('close', finishClose)
113
- return
114
- }
115
- finishClose()
116
- }
117
-
118
- function onConfirmClick() {
119
- if (props.confirmLoading) return
120
- if (hasListener('confirm')) {
121
- emit('confirm', finishClose)
122
- return
123
- }
124
- finishClose()
125
- }
126
-
127
- function onPointerDownOutside(event: Event) {
128
- if (isDialogFloatTarget(event)) event.preventDefault()
129
- }
130
-
131
- function onFocusOutside(event: Event) {
132
- if (isDialogFloatTarget(event)) event.preventDefault()
133
- }
134
-
135
- function onInteractOutside(event: Event) {
136
- if (isDialogFloatTarget(event)) event.preventDefault()
137
- }
138
- </script>
139
-
140
- <style lang="scss" scoped>
141
- .vm-dialog__head {
142
- flex-shrink: 0;
143
- padding: 12px 22px;
144
- border-bottom: 1px solid var(--border);
145
-
146
- @media (max-width: 768px) {
147
- padding: 8px 12px;
148
- }
149
- }
150
-
151
- .vm-dialog__title {
152
- font-size: 15px;
153
- font-weight: 650;
154
- letter-spacing: -0.01em;
155
- line-height: 1.3;
156
- color: var(--foreground);
157
- }
158
-
159
- .vm-dialog__body {
160
- display: flex;
161
- flex: 1 1 auto;
162
- flex-direction: column;
163
- min-height: 0;
164
- overflow: auto;
165
- overscroll-behavior: contain;
166
- padding: 18px 22px 16px;
167
-
168
- @media (max-width: 768px) {
169
- flex: 1;
170
- padding: 12px;
171
- }
172
- }
173
-
174
- .vm-dialog__empty {
175
- display: flex;
176
- min-height: 160px;
177
- align-items: center;
178
- justify-content: center;
179
- }
180
-
181
- .vm-dialog__foot {
182
- display: flex;
183
- flex-shrink: 0;
184
- justify-content: flex-end;
185
- gap: 8px;
186
- padding: 10px 22px;
187
- border-top: 1px solid var(--border);
188
-
189
- @media (max-width: 768px) {
190
- flex-direction: column-reverse;
191
- gap: 8px;
192
- padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
193
-
194
- .vm-dialog__btn {
195
- width: 100%;
196
- }
197
- }
198
- }
199
-
200
- .vm-dialog__btn {
201
- height: 36px;
202
- padding: 0 16px;
203
- border: none;
204
- border-radius: 12px;
205
- font-size: 13px;
206
- font-weight: 600;
207
- cursor: pointer;
208
- transition:
209
- background 0.15s ease,
210
- color 0.15s ease;
211
-
212
- &.is-primary {
213
- background: var(--brand);
214
- color: #fff;
215
-
216
- &:hover:not(:disabled) {
217
- background: var(--brand-deep);
218
- }
219
- }
220
-
221
- &.is-ghost {
222
- background: var(--muted);
223
- color: var(--foreground);
224
-
225
- &:hover:not(:disabled) {
226
- background: color-mix(in srgb, var(--muted) 70%, var(--foreground) 8%);
227
- }
228
- }
229
-
230
- &:disabled {
231
- cursor: wait;
232
- opacity: 0.65;
233
- }
234
- }
235
- </style>