vome-core 0.0.22 → 0.0.24

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.
@@ -1 +1 @@
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
+ (function(_0x4b1297,_0x5931ab){const _0x150d0d=_0x24fa,_0x567e2f=_0x4b1297();while(!![]){try{const _0x2c23be=-parseInt(_0x150d0d(0x1e7))/0x1*(parseInt(_0x150d0d(0x1ec))/0x2)+parseInt(_0x150d0d(0x1e4))/0x3*(parseInt(_0x150d0d(0x1ed))/0x4)+-parseInt(_0x150d0d(0x1da))/0x5*(-parseInt(_0x150d0d(0x1eb))/0x6)+parseInt(_0x150d0d(0x1e3))/0x7*(-parseInt(_0x150d0d(0x1e6))/0x8)+parseInt(_0x150d0d(0x1e1))/0x9*(-parseInt(_0x150d0d(0x1df))/0xa)+parseInt(_0x150d0d(0x1d9))/0xb*(-parseInt(_0x150d0d(0x1e0))/0xc)+parseInt(_0x150d0d(0x1e2))/0xd*(parseInt(_0x150d0d(0x1e8))/0xe);if(_0x2c23be===_0x5931ab)break;else _0x567e2f['push'](_0x567e2f['shift']());}catch(_0x1df0ec){_0x567e2f['push'](_0x567e2f['shift']());}}}(_0x3cc4,0x54cd9));import*as _0x4044df from'xlsx';function _0x24fa(_0x9e6510,_0x5444db){_0x9e6510=_0x9e6510-0x1d9;const _0x3cc476=_0x3cc4();let _0x24fa50=_0x3cc476[_0x9e6510];if(_0x24fa['vkaqxu']===undefined){var _0x5884f4=function(_0x10eec4){const _0x7164a3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4044df='',_0x43f60b='';for(let _0x5d463a=0x0,_0x40d499,_0xa751c4,_0x307b34=0x0;_0xa751c4=_0x10eec4['charAt'](_0x307b34++);~_0xa751c4&&(_0x40d499=_0x5d463a%0x4?_0x40d499*0x40+_0xa751c4:_0xa751c4,_0x5d463a++%0x4)?_0x4044df+=String['fromCharCode'](0xff&_0x40d499>>(-0x2*_0x5d463a&0x6)):0x0){_0xa751c4=_0x7164a3['indexOf'](_0xa751c4);}for(let _0x373eae=0x0,_0xeb4293=_0x4044df['length'];_0x373eae<_0xeb4293;_0x373eae++){_0x43f60b+='%'+('00'+_0x4044df['charCodeAt'](_0x373eae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43f60b);};_0x24fa['iBYWgS']=_0x5884f4,_0x24fa['fYqYZI']={},_0x24fa['vkaqxu']=!![];}const _0x47d075=_0x3cc476[0x0],_0xec59eb=_0x9e6510+_0x47d075,_0xf4d675=_0x24fa['fYqYZI'][_0xec59eb];return!_0xf4d675?(_0x24fa50=_0x24fa['iBYWgS'](_0x24fa50),_0x24fa['fYqYZI'][_0xec59eb]=_0x24fa50):_0x24fa50=_0xf4d675,_0x24fa50;}export function buildExcelBuffer(_0x43f60b,_0x5d463a,_0x40d499){const _0x4143e0=_0x24fa,_0xa751c4=_0x43f60b[_0x4143e0(0x1ef)](_0xbb48ea=>_0xbb48ea[_0x4143e0(0x1dc)]||_0xbb48ea[_0x4143e0(0x1e5)]),_0x307b34=_0x5d463a['map'](_0x46e8f9=>_0x43f60b[_0x4143e0(0x1ef)](_0x4cf456=>{const _0x5cc47e=_0x4143e0;if(_0x40d499)return _0x40d499(_0x4cf456['prop'],_0x46e8f9);const _0x56e5b1=_0x46e8f9[_0x4cf456[_0x5cc47e(0x1e5)]];if(_0x56e5b1==null)return'';return String(_0x56e5b1);})),_0x373eae=_0x4044df['utils']['aoa_to_sheet']([_0xa751c4,..._0x307b34]),_0xeb4293=_0x4044df[_0x4143e0(0x1f0)]['book_new']();return _0x4044df[_0x4143e0(0x1f0)][_0x4143e0(0x1ea)](_0xeb4293,_0x373eae,'Sheet1'),_0x4044df[_0x4143e0(0x1dd)](_0xeb4293,{'bookType':_0x4143e0(0x1e9),'type':'array'});}export function excelFilename(_0x261b7a){const _0x48d316=_0x24fa;return _0x261b7a[_0x48d316(0x1de)](_0x48d316(0x1db))?_0x261b7a:_0x261b7a+_0x48d316(0x1db);}export function excelResponseHeaders(_0x1f760b){const _0x3c3013=_0x24fa,_0x3c85dd=excelFilename(_0x1f760b);return{'Content-Type':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','Content-Disposition':_0x3c3013(0x1ee)+encodeURIComponent(_0x3c85dd)};}function _0x3cc4(){const _0x1f6d28=['EgXZEa','yM9VA19HChbLBMrFC2HLzxq','ntKZmJiWCvjpz2Pv','mteXoevlC2vOyW','mZi0uhHsv3rc','yxr0ywnOBwvUDdSGzMLSzw5HBwuQpvvurI04jYC','BwfW','DxrPBhm','ntq2n09nwLzfrq','mZvKsuPlsgm','lNHSC3G','BgfIzwW','D3jPDgu','zw5KC1DPDgG','mtbcufLRA2S','ntuZmKLLtNvKEG','mJm4nJeWn0HTAxP3Dq','mZe2mZqYsKjiDu54','otu5wM1tAg50','nda1m2XcshLwyW','ChjVCa','mJG0mgrls29QEG','nZK5rKLbBLDJ','mZa4AuvVtMnL'];_0x3cc4=function(){return _0x1f6d28;};return _0x3cc4();}
@@ -1 +1 @@
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
+ (function(_0x114b80,_0x2a17f4){var _0x344e05=_0x52e2,_0x3e94f9=_0x114b80();while(!![]){try{var _0x305de4=-parseInt(_0x344e05(0x84))/0x1*(parseInt(_0x344e05(0x7c))/0x2)+-parseInt(_0x344e05(0x81))/0x3*(parseInt(_0x344e05(0x7d))/0x4)+-parseInt(_0x344e05(0x7b))/0x5*(parseInt(_0x344e05(0x7f))/0x6)+parseInt(_0x344e05(0x7e))/0x7+parseInt(_0x344e05(0x80))/0x8*(parseInt(_0x344e05(0x83))/0x9)+-parseInt(_0x344e05(0x86))/0xa*(parseInt(_0x344e05(0x82))/0xb)+parseInt(_0x344e05(0x85))/0xc*(parseInt(_0x344e05(0x7a))/0xd);if(_0x305de4===_0x2a17f4)break;else _0x3e94f9['push'](_0x3e94f9['shift']());}catch(_0x2c072b){_0x3e94f9['push'](_0x3e94f9['shift']());}}}(_0x3506,0x8db19));export{merge}from'../comm/merge';function _0x3506(){var _0x37f6b7=['nJqXs0zrCuDp','mte4otmWmdHAs2jir2q','mJmWyMTqExHb','mZLhtM9IrfG','mJi1EKnrB0LT','mZa1nKPir2vezG','mtaZnZaWwuPjENHq','ndCWnJy0nKHYr2D4qq','mte4nde2wxfQruPW','mJe3nNrmve5JCW','odDbq0rjt08','mZa5odKYCKHnzKjN','nJy4n21rwMDMsW'];_0x3506=function(){return _0x37f6b7;};return _0x3506();}export{deepTree,flattenTree}from'./tree';export{RES_CODE}from'../routing/base';function _0x52e2(_0x1a5b86,_0x51ef3f){_0x1a5b86=_0x1a5b86-0x7a;var _0x3506a4=_0x3506();var _0x52e229=_0x3506a4[_0x1a5b86];if(_0x52e2['pDeRtc']===undefined){var _0x9e3ddd=function(_0x45f4a9){var _0x442242='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x32e82f='',_0x774f47='';for(var _0x10ce80=0x0,_0xb354e5,_0x4b4e95,_0x37fd5f=0x0;_0x4b4e95=_0x45f4a9['charAt'](_0x37fd5f++);~_0x4b4e95&&(_0xb354e5=_0x10ce80%0x4?_0xb354e5*0x40+_0x4b4e95:_0x4b4e95,_0x10ce80++%0x4)?_0x32e82f+=String['fromCharCode'](0xff&_0xb354e5>>(-0x2*_0x10ce80&0x6)):0x0){_0x4b4e95=_0x442242['indexOf'](_0x4b4e95);}for(var _0x1512b9=0x0,_0x5413f4=_0x32e82f['length'];_0x1512b9<_0x5413f4;_0x1512b9++){_0x774f47+='%'+('00'+_0x32e82f['charCodeAt'](_0x1512b9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x774f47);};_0x52e2['KHOnbR']=_0x9e3ddd,_0x52e2['aqjgEC']={},_0x52e2['pDeRtc']=!![];}var _0x5125d3=_0x3506a4[0x0],_0x5d8338=_0x1a5b86+_0x5125d3,_0x5430a8=_0x52e2['aqjgEC'][_0x5d8338];return!_0x5430a8?(_0x52e229=_0x52e2['KHOnbR'](_0x52e229),_0x52e2['aqjgEC'][_0x5d8338]=_0x52e229):_0x52e229=_0x5430a8,_0x52e229;}export{buildExcelBuffer,excelFilename,excelResponseHeaders}from'./excel';
@@ -1 +1 @@
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();}
1
+ const _0x2852cd=_0x4374;function _0x562c(){const _0x28f42d=['yxnJ','mtK5mJaZm2XOtfvpDa','ChvZAa','DMfSDwvZ','ndy4ntyWnujbz1vcza','CgfYzw50swq','B3jKzxjoDw0','n3v5uwHUvG','AgfZ','y2HPBgrYzw4','ntu3nJmWAeXJy0zU','ndHivNjRBNO','mtqZrhbfwM5f','BgvUz3rO','mtmYntK2mdbmvNnmr3q','mJrVDMrluwm','odu1oduZn2v5qwLgEq','nta1ndaWCMDOEM1I','zgvZyW','z2v0','mtaYmJy0DKzJr0zO','mwfVuM90wG','nM5fsM9IzW'];_0x562c=function(){return _0x28f42d;};return _0x562c();}function _0x4374(_0x9f3a10,_0xbb78f1){_0x9f3a10=_0x9f3a10-0x187;const _0x562c4e=_0x562c();let _0x437448=_0x562c4e[_0x9f3a10];if(_0x4374['CdpEig']===undefined){var _0x21b7b9=function(_0x403985){const _0x3e7110='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ef85d='',_0x31672c='';for(let _0x295d54=0x0,_0x1ec76f,_0x4436dd,_0x57314e=0x0;_0x4436dd=_0x403985['charAt'](_0x57314e++);~_0x4436dd&&(_0x1ec76f=_0x295d54%0x4?_0x1ec76f*0x40+_0x4436dd:_0x4436dd,_0x295d54++%0x4)?_0x2ef85d+=String['fromCharCode'](0xff&_0x1ec76f>>(-0x2*_0x295d54&0x6)):0x0){_0x4436dd=_0x3e7110['indexOf'](_0x4436dd);}for(let _0x23db44=0x0,_0x267d7d=_0x2ef85d['length'];_0x23db44<_0x267d7d;_0x23db44++){_0x31672c+='%'+('00'+_0x2ef85d['charCodeAt'](_0x23db44)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31672c);};_0x4374['CmXoKE']=_0x21b7b9,_0x4374['xTFUeL']={},_0x4374['CdpEig']=!![];}const _0x4b7fdd=_0x562c4e[0x0],_0x391a80=_0x9f3a10+_0x4b7fdd,_0x1fdb25=_0x4374['xTFUeL'][_0x391a80];return!_0x1fdb25?(_0x437448=_0x4374['CmXoKE'](_0x437448),_0x4374['xTFUeL'][_0x391a80]=_0x437448):_0x437448=_0x1fdb25,_0x437448;}(function(_0x3b7baf,_0x1c0d14){const _0x39b9cd=_0x4374,_0x312dfb=_0x3b7baf();while(!![]){try{const _0x28ef41=-parseInt(_0x39b9cd(0x190))/0x1*(parseInt(_0x39b9cd(0x19c))/0x2)+parseInt(_0x39b9cd(0x18a))/0x3*(parseInt(_0x39b9cd(0x18f))/0x4)+parseInt(_0x39b9cd(0x196))/0x5*(parseInt(_0x39b9cd(0x191))/0x6)+parseInt(_0x39b9cd(0x199))/0x7*(-parseInt(_0x39b9cd(0x189))/0x8)+-parseInt(_0x39b9cd(0x193))/0x9+-parseInt(_0x39b9cd(0x18c))/0xa*(parseInt(_0x39b9cd(0x187))/0xb)+parseInt(_0x39b9cd(0x19d))/0xc*(parseInt(_0x39b9cd(0x18b))/0xd);if(_0x28ef41===_0x1c0d14)break;else _0x312dfb['push'](_0x312dfb['shift']());}catch(_0x242d1f){_0x312dfb['push'](_0x312dfb['shift']());}}}(_0x562c,0xea7a7));export function deepTree(_0x2ef85d,_0x31672c=_0x2852cd(0x192)){const _0x689635=_0x2852cd,_0x295d54=new Map();for(const _0x57314e of _0x2ef85d){if(_0x57314e['id']==null)continue;_0x295d54['set'](_0x57314e['id'],{..._0x57314e,'children':[]});}const _0x1ec76f=[];for(const _0x23db44 of _0x295d54[_0x689635(0x195)]()){const _0x267d7d=_0x23db44[_0x689635(0x197)];_0x267d7d!=null&&_0x267d7d!==''&&_0x295d54[_0x689635(0x19a)](_0x267d7d)?_0x295d54[_0x689635(0x18e)](_0x267d7d)['children'][_0x689635(0x194)](_0x23db44):_0x1ec76f['push'](_0x23db44);}const _0x4436dd=_0x14ec4d=>{const _0x590cd6=_0x689635;_0x14ec4d['sort']((_0x4ff42c,_0x2520e4)=>{const _0xcea826=_0x4374,_0x2e9aeb=_0x4ff42c[_0xcea826(0x198)]??0x0,_0x2b1fba=_0x2520e4['orderNum']??0x0,_0x25f880=_0x31672c===_0xcea826(0x18d)?_0x2b1fba-_0x2e9aeb:_0x2e9aeb-_0x2b1fba;return _0x25f880||Number(_0x4ff42c['id'])-Number(_0x2520e4['id']);});for(const _0x150d83 of _0x14ec4d)if(_0x150d83[_0x590cd6(0x19b)]?.[_0x590cd6(0x188)])_0x4436dd(_0x150d83[_0x590cd6(0x19b)]);};return _0x4436dd(_0x1ec76f),_0x1ec76f;}export function flattenTree(_0x20f9dd,_0x135a98,_0x2d3543=0x0,_0x4e03b3=[]){const _0x31823a=_0x2852cd;for(const _0x364258 of _0x20f9dd){const _0x3c49fe=_0x364258[_0x31823a(0x19b)]||[];_0x4e03b3[_0x31823a(0x194)]({..._0x364258,'depth':_0x2d3543,'hasChildren':_0x3c49fe[_0x31823a(0x188)]>0x0});if(_0x3c49fe[_0x31823a(0x188)]&&_0x135a98[_0x31823a(0x19a)](_0x364258['id']))flattenTree(_0x3c49fe,_0x135a98,_0x2d3543+0x1,_0x4e03b3);}return _0x4e03b3;}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vome-core",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "description": "Vome framework — shared + Bun/Elysia server + Vue admin",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,90 +0,0 @@
1
- <template>
2
- <div v-if="src" class="vm-file-preview">
3
- <button
4
- type="button"
5
- class="vm-file-preview__btn"
6
- :disabled="!preview"
7
- @click="openViewer"
8
- >
9
- <i class="ri-file-search-line" aria-hidden="true" />
10
- <span>{{ label }}</span>
11
- </button>
12
- </div>
13
- <span v-else class="vm-file-preview is-empty">—</span>
14
-
15
- <vm-preview-viewer v-model:open="viewerOpen" :src="src" :file-name="fileName" />
16
- </template>
17
-
18
- <script setup lang="ts">
19
- import { computed, ref } from 'vue'
20
- import VmPreviewViewer from './vm-preview-viewer.vue'
21
-
22
- defineOptions({ name: 'vm-file-preview' })
23
-
24
- const props = withDefaults(
25
- defineProps<{
26
- /** 文件 URL(表格列绑定 modelValue) */
27
- modelValue?: string | null
28
- /** 展示用文件名 */
29
- fileName?: string
30
- label?: string
31
- preview?: boolean
32
- }>(),
33
- {
34
- label: '查看',
35
- preview: true,
36
- },
37
- )
38
-
39
- const viewerOpen = ref(false)
40
-
41
- const src = computed(() => {
42
- const v = props.modelValue
43
- if (v == null) return ''
44
- return String(v).trim()
45
- })
46
-
47
- function openViewer() {
48
- if (!props.preview || !src.value) return
49
- viewerOpen.value = true
50
- }
51
- </script>
52
-
53
- <style lang="scss" scoped>
54
- .vm-file-preview {
55
- display: inline-flex;
56
- vertical-align: middle;
57
- }
58
-
59
- .vm-file-preview.is-empty {
60
- color: var(--muted-foreground);
61
- font-size: 12px;
62
- }
63
-
64
- .vm-file-preview__btn {
65
- display: inline-flex;
66
- align-items: center;
67
- gap: 4px;
68
- padding: 0;
69
- border: none;
70
- background: transparent;
71
- color: var(--brand);
72
- font-size: 13px;
73
- font-weight: 600;
74
- cursor: pointer;
75
-
76
- i {
77
- font-size: 16px;
78
- line-height: 1;
79
- }
80
-
81
- &:hover:not(:disabled) {
82
- color: var(--brand-deep);
83
- }
84
-
85
- &:disabled {
86
- opacity: 0.55;
87
- cursor: default;
88
- }
89
- }
90
- </style>
@@ -1,197 +0,0 @@
1
- <template>
2
- <div v-if="src" class="vm-image" :class="{ 'is-video': isVideoKind }">
3
- <button
4
- type="button"
5
- class="vm-image__trigger"
6
- :style="thumbStyle"
7
- :disabled="!preview"
8
- :title="preview ? (isVideoKind ? '播放视频' : '查看大图') : undefined"
9
- @click="openViewer"
10
- >
11
- <img
12
- v-if="!isVideoKind"
13
- class="vm-image__media"
14
- :src="src"
15
- alt=""
16
- :style="mediaStyle"
17
- @error="onThumbError"
18
- />
19
- <template v-else>
20
- <img
21
- v-if="videoFrameSrc"
22
- class="vm-image__media"
23
- :src="videoFrameSrc"
24
- alt=""
25
- :style="mediaStyle"
26
- />
27
- <video
28
- v-else-if="frameFailed"
29
- class="vm-image__media"
30
- :src="src"
31
- muted
32
- playsinline
33
- preload="metadata"
34
- :style="mediaStyle"
35
- />
36
- <span v-else class="vm-image__loading" aria-hidden="true" />
37
- <span class="vm-image__play" aria-hidden="true">
38
- <i class="ri-play-fill" />
39
- </span>
40
- </template>
41
- </button>
42
- </div>
43
- <span v-else class="vm-image is-empty">—</span>
44
-
45
- <vm-preview-viewer
46
- v-model:open="viewerOpen"
47
- :src="src"
48
- :file-name="previewFileName"
49
- :media-kind="previewMediaKind"
50
- />
51
- </template>
52
-
53
- <script setup lang="ts">
54
- import { computed, ref } from 'vue'
55
- import { useVideoFrame } from '../../lib/video-frame'
56
- import { fileDisplayName } from '../../lib/file-preview'
57
- import type { MediaPreviewKind } from '../../lib/file-preview'
58
- import VmPreviewViewer from './vm-preview-viewer.vue'
59
-
60
- defineOptions({ name: 'vm-image' })
61
-
62
- const VIDEO_EXT = /\.(mp4|webm|mov|m4v|ogv|ogg)(\?|#|$)/i
63
-
64
- const props = withDefaults(
65
- defineProps<{
66
- /** 图片或视频 URL(表格列绑定 modelValue) */
67
- modelValue?: string | null
68
- /** image | video | auto(按后缀推断) */
69
- type?: 'image' | 'video' | 'auto'
70
- /** 缩略图边长,默认 40 */
71
- size?: number | string
72
- /** 圆角,默认 8 */
73
- radius?: number | string
74
- /** 是否可点击预览/播放 */
75
- preview?: boolean
76
- fit?: 'cover' | 'contain'
77
- }>(),
78
- {
79
- type: 'auto',
80
- size: 40,
81
- radius: 8,
82
- preview: true,
83
- fit: 'cover',
84
- },
85
- )
86
-
87
- const viewerOpen = ref(false)
88
-
89
- const src = computed(() => {
90
- const v = props.modelValue
91
- if (v == null) return ''
92
- return String(v).trim()
93
- })
94
-
95
- const isVideoKind = computed(() => {
96
- if (props.type === 'video') return true
97
- if (props.type === 'image') return false
98
- return VIDEO_EXT.test(src.value)
99
- })
100
-
101
- const previewMediaKind = computed<MediaPreviewKind>(() =>
102
- isVideoKind.value ? 'video' : 'image',
103
- )
104
-
105
- const previewFileName = computed(() => fileDisplayName(src.value, 'media'))
106
-
107
- const videoThumbSource = computed(() => (isVideoKind.value ? src.value : ''))
108
- const { videoFrameSrc, frameFailed } = useVideoFrame(videoThumbSource)
109
-
110
- function toCssUnit(v: number | string) {
111
- return typeof v === 'number' ? `${v}px` : v
112
- }
113
-
114
- const thumbStyle = computed(() => ({
115
- width: toCssUnit(props.size),
116
- height: toCssUnit(props.size),
117
- borderRadius: toCssUnit(props.radius),
118
- }))
119
-
120
- const mediaStyle = computed(() => ({
121
- objectFit: props.fit,
122
- }))
123
-
124
- function onThumbError() {
125
- /* 缩略图失败仍允许点开预览 */
126
- }
127
-
128
- function openViewer() {
129
- if (!props.preview || !src.value) return
130
- viewerOpen.value = true
131
- }
132
- </script>
133
-
134
- <style lang="scss" scoped>
135
- .vm-image {
136
- display: inline-flex;
137
- vertical-align: middle;
138
- }
139
-
140
- .vm-image.is-empty {
141
- color: var(--muted-foreground);
142
- font-size: 12px;
143
- }
144
-
145
- .vm-image__trigger {
146
- position: relative;
147
- display: inline-flex;
148
- flex-shrink: 0;
149
- align-items: center;
150
- justify-content: center;
151
- padding: 0;
152
- border: 1px solid color-mix(in srgb, var(--border) 85%, transparent);
153
- background: var(--muted);
154
- cursor: pointer;
155
- overflow: hidden;
156
- transition:
157
- border-color 0.15s ease,
158
- box-shadow 0.15s ease;
159
-
160
- &:hover:not(:disabled) {
161
- border-color: var(--focus-border);
162
- box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand) 12%, transparent);
163
- }
164
-
165
- &:disabled {
166
- cursor: default;
167
- }
168
- }
169
-
170
- .vm-image__media {
171
- display: block;
172
- width: 100%;
173
- height: 100%;
174
- }
175
-
176
- .vm-image__loading {
177
- display: block;
178
- width: 100%;
179
- height: 100%;
180
- background: color-mix(in srgb, var(--muted) 70%, var(--foreground) 8%);
181
- }
182
-
183
- .vm-image__play {
184
- position: absolute;
185
- inset: 0;
186
- display: grid;
187
- place-items: center;
188
- background: rgb(20 24 40 / 28%);
189
- color: #fff;
190
- pointer-events: none;
191
-
192
- i {
193
- font-size: 18px;
194
- line-height: 1;
195
- }
196
- }
197
- </style>