vome-core 0.0.20 → 0.0.21

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 +413 -0
  6. package/dist/admin/crud/components/vm-preview-viewer.vue +520 -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(_0x3cc6fd,_0x1c690c){const _0x25c602=_0x1d7e,_0x546d00=_0x3cc6fd();while(!![]){try{const _0x5ea833=parseInt(_0x25c602(0x90))/0x1*(-parseInt(_0x25c602(0x92))/0x2)+parseInt(_0x25c602(0x9a))/0x3+-parseInt(_0x25c602(0x99))/0x4*(parseInt(_0x25c602(0x87))/0x5)+parseInt(_0x25c602(0x86))/0x6+-parseInt(_0x25c602(0x8f))/0x7+parseInt(_0x25c602(0x8c))/0x8+parseInt(_0x25c602(0x93))/0x9;if(_0x5ea833===_0x1c690c)break;else _0x546d00['push'](_0x546d00['shift']());}catch(_0x125fff){_0x546d00['push'](_0x546d00['shift']());}}}(_0x4405,0x37aa9));import*as _0x32672f from'xlsx';export function buildExcelBuffer(_0x24c52f,_0x14e45f,_0x5b9904){const _0x5c51fd=_0x1d7e,_0x51b225=_0x24c52f[_0x5c51fd(0x94)](_0x2d608e=>_0x2d608e['label']||_0x2d608e[_0x5c51fd(0x96)]),_0x189842=_0x14e45f[_0x5c51fd(0x94)](_0xdd9f10=>_0x24c52f['map'](_0x188b5f=>{const _0x1ca940=_0x5c51fd;if(_0x5b9904)return _0x5b9904(_0x188b5f[_0x1ca940(0x96)],_0xdd9f10);const _0x497028=_0xdd9f10[_0x188b5f[_0x1ca940(0x96)]];if(_0x497028==null)return'';return String(_0x497028);})),_0xbae401=_0x32672f[_0x5c51fd(0x95)][_0x5c51fd(0x88)]([_0x51b225,..._0x189842]),_0x534754=_0x32672f['utils'][_0x5c51fd(0x91)]();return _0x32672f[_0x5c51fd(0x95)][_0x5c51fd(0x8d)](_0x534754,_0xbae401,_0x5c51fd(0x98)),_0x32672f['write'](_0x534754,{'bookType':_0x5c51fd(0x89),'type':'array'});}export function excelFilename(_0x3bc765){const _0x4d533e=_0x1d7e;return _0x3bc765[_0x4d533e(0x8a)](_0x4d533e(0x97))?_0x3bc765:_0x3bc765+'.xlsx';}function _0x1d7e(_0x14a4c5,_0x214a9f){_0x14a4c5=_0x14a4c5-0x86;const _0x4405c1=_0x4405();let _0x1d7e34=_0x4405c1[_0x14a4c5];if(_0x1d7e['CiAxNX']===undefined){var _0x43771e=function(_0x1d682e){const _0x5864f5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32672f='',_0x24c52f='';for(let _0x14e45f=0x0,_0x5b9904,_0x51b225,_0x189842=0x0;_0x51b225=_0x1d682e['charAt'](_0x189842++);~_0x51b225&&(_0x5b9904=_0x14e45f%0x4?_0x5b9904*0x40+_0x51b225:_0x51b225,_0x14e45f++%0x4)?_0x32672f+=String['fromCharCode'](0xff&_0x5b9904>>(-0x2*_0x14e45f&0x6)):0x0){_0x51b225=_0x5864f5['indexOf'](_0x51b225);}for(let _0xbae401=0x0,_0x534754=_0x32672f['length'];_0xbae401<_0x534754;_0xbae401++){_0x24c52f+='%'+('00'+_0x32672f['charCodeAt'](_0xbae401)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x24c52f);};_0x1d7e['zgHWLG']=_0x43771e,_0x1d7e['OfeHLL']={},_0x1d7e['CiAxNX']=!![];}const _0x57623f=_0x4405c1[0x0],_0x242285=_0x14a4c5+_0x57623f,_0x1a2f12=_0x1d7e['OfeHLL'][_0x242285];return!_0x1a2f12?(_0x1d7e34=_0x1d7e['zgHWLG'](_0x1d7e34),_0x1d7e['OfeHLL'][_0x242285]=_0x1d7e34):_0x1d7e34=_0x1a2f12,_0x1d7e34;}function _0x4405(){const _0x3a6b8e=['u2HLzxqX','mtq2ogPqyMLRAq','mtm1mdG3mejXzM9juq','mtC2mJu0mMzQs1fruq','ndiXnwjLDgDivq','yw9Hx3rVx3nOzwv0','EgXZEa','zw5KC1DPDgG','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','mtq2mdbZs2DXwxy','yM9VA19HChbLBMrFC2HLzxq','yxr0ywnOBwvUDdSGzMLSzw5HBwuQpvvurI04jYC','mJm1mtyZnNPPyxfnrq','ndmXntu2ywH2yLz3','yM9VA19UzxC','mM1zufzlwa','ntaZmte5ogPOAKvlrW','BwfW','DxrPBhm','ChjVCa','lNHSC3G'];_0x4405=function(){return _0x3a6b8e;};return _0x4405();}export function excelResponseHeaders(_0x34e951){const _0xd0d10c=_0x1d7e,_0x20f1a8=excelFilename(_0x34e951);return{'Content-Type':_0xd0d10c(0x8b),'Content-Disposition':_0xd0d10c(0x8e)+encodeURIComponent(_0x20f1a8)};}
@@ -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(_0x2b765d,_0x508fed){var _0x3d4d24=_0x1b0e,_0x4d94af=_0x2b765d();while(!![]){try{var _0xf4fc3a=-parseInt(_0x3d4d24(0x133))/0x1*(-parseInt(_0x3d4d24(0x12d))/0x2)+-parseInt(_0x3d4d24(0x12e))/0x3+-parseInt(_0x3d4d24(0x132))/0x4*(parseInt(_0x3d4d24(0x130))/0x5)+-parseInt(_0x3d4d24(0x131))/0x6+parseInt(_0x3d4d24(0x12f))/0x7*(-parseInt(_0x3d4d24(0x135))/0x8)+parseInt(_0x3d4d24(0x12c))/0x9*(parseInt(_0x3d4d24(0x12b))/0xa)+parseInt(_0x3d4d24(0x134))/0xb;if(_0xf4fc3a===_0x508fed)break;else _0x4d94af['push'](_0x4d94af['shift']());}catch(_0x1bdc49){_0x4d94af['push'](_0x4d94af['shift']());}}}(_0xf9cb,0xcedd7));export{merge}from'../comm/merge';export{deepTree,flattenTree}from'./tree';export{RES_CODE}from'../routing/base';function _0x1b0e(_0x8e41b8,_0x156ad2){_0x8e41b8=_0x8e41b8-0x12b;var _0xf9cbbd=_0xf9cb();var _0x1b0e11=_0xf9cbbd[_0x8e41b8];if(_0x1b0e['oXIWYR']===undefined){var _0x3e4575=function(_0x5c9e35){var _0x3e45a1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4f30ba='',_0x476b16='';for(var _0x18c30f=0x0,_0x26232c,_0x1b861d,_0x29f6f6=0x0;_0x1b861d=_0x5c9e35['charAt'](_0x29f6f6++);~_0x1b861d&&(_0x26232c=_0x18c30f%0x4?_0x26232c*0x40+_0x1b861d:_0x1b861d,_0x18c30f++%0x4)?_0x4f30ba+=String['fromCharCode'](0xff&_0x26232c>>(-0x2*_0x18c30f&0x6)):0x0){_0x1b861d=_0x3e45a1['indexOf'](_0x1b861d);}for(var _0x3a1c23=0x0,_0x400d00=_0x4f30ba['length'];_0x3a1c23<_0x400d00;_0x3a1c23++){_0x476b16+='%'+('00'+_0x4f30ba['charCodeAt'](_0x3a1c23)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x476b16);};_0x1b0e['Txyzpr']=_0x3e4575,_0x1b0e['FTNqKF']={},_0x1b0e['oXIWYR']=!![];}var _0x1648c7=_0xf9cbbd[0x0],_0x116bf8=_0x8e41b8+_0x1648c7,_0x12dfc6=_0x1b0e['FTNqKF'][_0x116bf8];return!_0x12dfc6?(_0x1b0e11=_0x1b0e['Txyzpr'](_0x1b0e11),_0x1b0e['FTNqKF'][_0x116bf8]=_0x1b0e11):_0x1b0e11=_0x12dfc6,_0x1b0e11;}function _0xf9cb(){var _0x1b58e2=['mZe5mtjxC0fAALa','mZm0mfnysKjlCG','otK4mvv1DhD3za','mNHWDhbkvG','ndKXotKXm0HMwgLHBG','mZu3AerqBxLO','nwrzwLfitq','ndmWmdiYngniwgXxsa','mtm1nZG4ngnMAfLVsW','odqZndiYvfD4CNDI','mJC4nJm4mZzes0DlDwi'];_0xf9cb=function(){return _0x1b58e2;};return _0xf9cb();}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 _0x2d45f1=_0xff26;(function(_0x8cf14,_0x5800a8){const _0x32f94c=_0xff26,_0x4e1a07=_0x8cf14();while(!![]){try{const _0x3aa1f4=parseInt(_0x32f94c(0x77))/0x1*(-parseInt(_0x32f94c(0x69))/0x2)+parseInt(_0x32f94c(0x76))/0x3*(-parseInt(_0x32f94c(0x6b))/0x4)+-parseInt(_0x32f94c(0x7c))/0x5+parseInt(_0x32f94c(0x6c))/0x6*(parseInt(_0x32f94c(0x75))/0x7)+parseInt(_0x32f94c(0x73))/0x8*(-parseInt(_0x32f94c(0x78))/0x9)+-parseInt(_0x32f94c(0x6d))/0xa+parseInt(_0x32f94c(0x7d))/0xb*(parseInt(_0x32f94c(0x7a))/0xc);if(_0x3aa1f4===_0x5800a8)break;else _0x4e1a07['push'](_0x4e1a07['shift']());}catch(_0x33d2e0){_0x4e1a07['push'](_0x4e1a07['shift']());}}}(_0x1725,0x8a0d1));export function deepTree(_0x5d1bd0,_0x256db2=_0x2d45f1(0x74)){const _0x36288d=_0x2d45f1,_0x449564=new Map();for(const _0x252ccf of _0x5d1bd0){if(_0x252ccf['id']==null)continue;_0x449564[_0x36288d(0x70)](_0x252ccf['id'],{..._0x252ccf,'children':[]});}const _0x1c90ad=[];for(const _0xce5057 of _0x449564[_0x36288d(0x71)]()){const _0x310b70=_0xce5057['parentId'];_0x310b70!=null&&_0x310b70!==''&&_0x449564[_0x36288d(0x6a)](_0x310b70)?_0x449564['get'](_0x310b70)[_0x36288d(0x7b)][_0x36288d(0x6e)](_0xce5057):_0x1c90ad[_0x36288d(0x6e)](_0xce5057);}const _0x4d838c=_0x114af5=>{const _0x2bd6e3=_0x36288d;_0x114af5[_0x2bd6e3(0x79)]((_0x45a0ba,_0x2803d8)=>{const _0x1b56e4=_0x2bd6e3,_0x580481=_0x45a0ba['orderNum']??0x0,_0x6c239c=_0x2803d8[_0x1b56e4(0x6f)]??0x0,_0xcecf8c=_0x256db2==='desc'?_0x6c239c-_0x580481:_0x580481-_0x6c239c;return _0xcecf8c||Number(_0x45a0ba['id'])-Number(_0x2803d8['id']);});for(const _0x3f8818 of _0x114af5)if(_0x3f8818[_0x2bd6e3(0x7b)]?.[_0x2bd6e3(0x72)])_0x4d838c(_0x3f8818[_0x2bd6e3(0x7b)]);};return _0x4d838c(_0x1c90ad),_0x1c90ad;}function _0xff26(_0x1a46c6,_0x58d4e0){_0x1a46c6=_0x1a46c6-0x69;const _0x1725eb=_0x1725();let _0xff261b=_0x1725eb[_0x1a46c6];if(_0xff26['oTaCbx']===undefined){var _0x42aff8=function(_0x1bfbf2){const _0x469ed9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d1bd0='',_0x256db2='';for(let _0x449564=0x0,_0x1c90ad,_0x4d838c,_0x252ccf=0x0;_0x4d838c=_0x1bfbf2['charAt'](_0x252ccf++);~_0x4d838c&&(_0x1c90ad=_0x449564%0x4?_0x1c90ad*0x40+_0x4d838c:_0x4d838c,_0x449564++%0x4)?_0x5d1bd0+=String['fromCharCode'](0xff&_0x1c90ad>>(-0x2*_0x449564&0x6)):0x0){_0x4d838c=_0x469ed9['indexOf'](_0x4d838c);}for(let _0xce5057=0x0,_0x310b70=_0x5d1bd0['length'];_0xce5057<_0x310b70;_0xce5057++){_0x256db2+='%'+('00'+_0x5d1bd0['charCodeAt'](_0xce5057)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x256db2);};_0xff26['fluoOB']=_0x42aff8,_0xff26['KoFDFF']={},_0xff26['oTaCbx']=!![];}const _0x3e7b90=_0x1725eb[0x0],_0x2c3ec1=_0x1a46c6+_0x3e7b90,_0x3130f3=_0xff26['KoFDFF'][_0x2c3ec1];return!_0x3130f3?(_0xff261b=_0xff26['fluoOB'](_0xff261b),_0xff26['KoFDFF'][_0x2c3ec1]=_0xff261b):_0xff261b=_0x3130f3,_0xff261b;}export function flattenTree(_0x1215e4,_0x31e345,_0x90e6a8=0x0,_0x5b1bd5=[]){const _0x5393ec=_0x2d45f1;for(const _0x365d1b of _0x1215e4){const _0x3dd81c=_0x365d1b['children']||[];_0x5b1bd5[_0x5393ec(0x6e)]({..._0x365d1b,'depth':_0x90e6a8,'hasChildren':_0x3dd81c[_0x5393ec(0x72)]>0x0});if(_0x3dd81c[_0x5393ec(0x72)]&&_0x31e345[_0x5393ec(0x6a)](_0x365d1b['id']))flattenTree(_0x3dd81c,_0x31e345,_0x90e6a8+0x1,_0x5b1bd5);}return _0x5b1bd5;}function _0x1725(){const _0x201c9b=['y2HPBgrYzw4','mZC4mZi4nxbVB25JtG','ote3ody0mK53t0TgqG','nJHlyMrlq08','AgfZ','mZjmCNDryvO','nZi2ndHOs3vpsui','otK1otq3meDPtNfHzW','ChvZAa','B3jKzxjoDw0','C2v0','DMfSDwvZ','BgvUz3rO','mtu0mtG0C1vpEgfn','yxnJ','mJu5q0PPD2T2','nZi2nZjcALnHz0m','ndqYmwHtt2DWCW','mtm1D0rtrgLv','C29YDa','mZzLwwHrEwW'];_0x1725=function(){return _0x201c9b;};return _0x1725();}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vome-core",
3
- "version": "0.0.20",
3
+ "version": "0.0.21",
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>