vome-core 0.0.57 → 0.0.59

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 (37) hide show
  1. package/dist/admin/config/plugin-dev.js +1 -1
  2. package/dist/admin/crud/config.js +1 -1
  3. package/dist/admin/crud/confirm.js +1 -1
  4. package/dist/admin/crud/dict.js +1 -1
  5. package/dist/admin/crud/index.js +1 -1
  6. package/dist/admin/crud/key.js +1 -1
  7. package/dist/admin/crud/mitt.js +1 -1
  8. package/dist/admin/crud/plugins.js +1 -1
  9. package/dist/admin/crud/span.js +1 -1
  10. package/dist/admin/crud/style.js +1 -1
  11. package/dist/admin/crud/validate.js +1 -1
  12. package/dist/admin/directives/perm.js +1 -1
  13. package/dist/admin/hooks/useUpload.js +1 -1
  14. package/dist/admin/lib/browser.js +1 -1
  15. package/dist/admin/lib/cn.js +1 -1
  16. package/dist/admin/lib/dialog-float.js +1 -1
  17. package/dist/admin/lib/export-excel.js +1 -1
  18. package/dist/admin/lib/file-preview.js +1 -1
  19. package/dist/admin/lib/import-excel.js +1 -1
  20. package/dist/admin/lib/json.js +1 -1
  21. package/dist/admin/lib/menu.js +1 -1
  22. package/dist/admin/lib/tree.js +1 -1
  23. package/dist/admin/lib/upload.js +1 -1
  24. package/dist/admin/lib/video-frame.js +1 -1
  25. package/dist/index.js +1 -1
  26. package/dist/server/index.js +1 -1
  27. package/dist/shared/excel.js +1 -1
  28. package/dist/shared/index.js +1 -1
  29. package/dist/shared/tree.js +1 -1
  30. package/dist/src/core/index.d.ts +2 -2
  31. package/dist/src/ext/index.d.ts +3 -1
  32. package/dist/src/ext/market-seat.d.ts +33 -0
  33. package/dist/src/ext/module-install-gate.d.ts +2 -0
  34. package/dist/src/server/index.d.ts +2 -2
  35. package/dist/typings/ext/market-seat.d.ts +39 -0
  36. package/dist/typings/ext/module.d.ts +7 -0
  37. package/package.json +1 -1
@@ -1 +1 @@
1
- const _0x16fc69=_0x1e4d;(function(_0x426491,_0x800203){const _0x3f6839=_0x1e4d,_0x4e6f88=_0x426491();while(!![]){try{const _0x56044a=-parseInt(_0x3f6839(0x116))/0x1+-parseInt(_0x3f6839(0x124))/0x2*(-parseInt(_0x3f6839(0x123))/0x3)+parseInt(_0x3f6839(0x11d))/0x4*(parseInt(_0x3f6839(0x110))/0x5)+parseInt(_0x3f6839(0x10d))/0x6+parseInt(_0x3f6839(0x115))/0x7*(parseInt(_0x3f6839(0x11b))/0x8)+-parseInt(_0x3f6839(0x129))/0x9+-parseInt(_0x3f6839(0x112))/0xa*(-parseInt(_0x3f6839(0x122))/0xb);if(_0x56044a===_0x800203)break;else _0x4e6f88['push'](_0x4e6f88['shift']());}catch(_0x502ded){_0x4e6f88['push'](_0x4e6f88['shift']());}}}(_0x1031,0x549d2));import*as _0x55a6e6 from'xlsx';export const IMPORT_SKIP_FIELDS=['id',_0x16fc69(0x113),_0x16fc69(0x10f),_0x16fc69(0x11c),_0x16fc69(0x117)];export function isImportSkipField(_0x4a678c){const _0x3222a8=_0x16fc69;return IMPORT_SKIP_FIELDS[_0x3222a8(0x11a)](_0x4a678c);}export function buildExcelBuffer(_0x36f0d6,_0x330638,_0x4e797e){const _0x1c5006=_0x16fc69,_0x1a1273=_0x36f0d6[_0x1c5006(0x128)](_0x4391b8=>_0x4391b8['label']||_0x4391b8[_0x1c5006(0x119)]),_0x29b328=_0x330638[_0x1c5006(0x128)](_0x324f05=>_0x36f0d6['map'](_0x4d37fa=>{const _0x56887e=_0x1c5006;if(_0x4e797e)return _0x4e797e(_0x4d37fa[_0x56887e(0x119)],_0x324f05);const _0x53ce76=_0x324f05[_0x4d37fa[_0x56887e(0x119)]];if(_0x53ce76==null)return'';return String(_0x53ce76);})),_0x24b8a6=_0x55a6e6[_0x1c5006(0x126)][_0x1c5006(0x11f)]([_0x1a1273,..._0x29b328]),_0x9d25f3=_0x55a6e6[_0x1c5006(0x126)]['book_new']();return _0x55a6e6[_0x1c5006(0x126)]['book_append_sheet'](_0x9d25f3,_0x24b8a6,'Sheet1'),_0x55a6e6[_0x1c5006(0x111)](_0x9d25f3,{'bookType':_0x1c5006(0x12b),'type':'array'});}export function buildImportTemplateBuffer(_0x4e8d0a){return buildExcelBuffer(_0x4e8d0a,[]);}export function parseExcelBuffer(_0x53a9e2,_0x8767a7){const _0x49b6c6=_0x16fc69,_0x4ab2b4=_0x55a6e6[_0x49b6c6(0x10e)](_0x53a9e2,{'type':_0x49b6c6(0x11e),'cellDates':!![]}),_0x825d5d=_0x4ab2b4['SheetNames'][0x0];if(!_0x825d5d)return[];const _0x2c8d9b=_0x4ab2b4['Sheets'][_0x825d5d];if(!_0x2c8d9b)return[];const _0x3be857=_0x55a6e6['utils']['sheet_to_json'](_0x2c8d9b,{'header':0x1,'defval':'','raw':![]});if(!_0x3be857[_0x49b6c6(0x125)])return[];const _0x189623=(_0x3be857[0x0]||[])['map'](_0x1ff4b1=>String(_0x1ff4b1??'')['trim']()),_0x2d9891=new Map();if(_0x8767a7?.[_0x49b6c6(0x125)])for(const _0x21d5ab of _0x8767a7){_0x2d9891[_0x49b6c6(0x114)](_0x21d5ab[_0x49b6c6(0x120)][_0x49b6c6(0x121)](),_0x21d5ab[_0x49b6c6(0x119)]),_0x2d9891['set'](_0x21d5ab[_0x49b6c6(0x119)],_0x21d5ab[_0x49b6c6(0x119)]);}const _0x224c87=_0x189623[_0x49b6c6(0x128)](_0x41dd43=>{if(!_0x41dd43)return'';return _0x2d9891['get'](_0x41dd43)||_0x41dd43;}),_0x113ba9=[];for(let _0x49187a=0x1;_0x49187a<_0x3be857[_0x49b6c6(0x125)];_0x49187a++){const _0x94a72a=_0x3be857[_0x49187a]||[],_0x37db36={};let _0x25c65b=!![];for(let _0x132641=0x0;_0x132641<_0x224c87[_0x49b6c6(0x125)];_0x132641++){const _0x1515ea=_0x224c87[_0x132641];if(!_0x1515ea)continue;let _0x296aff=_0x94a72a[_0x132641];if(_0x296aff==null||_0x296aff===''){_0x37db36[_0x1515ea]=_0x296aff==null?null:'';continue;}_0x25c65b=![],typeof _0x296aff==='string'?_0x37db36[_0x1515ea]=_0x296aff[_0x49b6c6(0x121)]():_0x37db36[_0x1515ea]=_0x296aff;}if(!_0x25c65b)_0x113ba9[_0x49b6c6(0x12c)](_0x37db36);}return _0x113ba9;}export function excelFilename(_0x101f32){const _0x4fc742=_0x16fc69;return _0x101f32[_0x4fc742(0x118)]('.xlsx')?_0x101f32:_0x101f32+'.xlsx';}function _0x1e4d(_0x376893,_0x58a6b9){_0x376893=_0x376893-0x10d;const _0x103108=_0x1031();let _0x1e4d04=_0x103108[_0x376893];if(_0x1e4d['SCmoQZ']===undefined){var _0x311ca7=function(_0x3d8c0e){const _0x423fac='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55a6e6='',_0x4a678c='';for(let _0x36f0d6=0x0,_0x330638,_0x4e797e,_0x1a1273=0x0;_0x4e797e=_0x3d8c0e['charAt'](_0x1a1273++);~_0x4e797e&&(_0x330638=_0x36f0d6%0x4?_0x330638*0x40+_0x4e797e:_0x4e797e,_0x36f0d6++%0x4)?_0x55a6e6+=String['fromCharCode'](0xff&_0x330638>>(-0x2*_0x36f0d6&0x6)):0x0){_0x4e797e=_0x423fac['indexOf'](_0x4e797e);}for(let _0x29b328=0x0,_0x24b8a6=_0x55a6e6['length'];_0x29b328<_0x24b8a6;_0x29b328++){_0x4a678c+='%'+('00'+_0x55a6e6['charCodeAt'](_0x29b328)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a678c);};_0x1e4d['QXpJvl']=_0x311ca7,_0x1e4d['twsrGp']={},_0x1e4d['SCmoQZ']=!![];}const _0xf5fbfb=_0x103108[0x0],_0x289df5=_0x376893+_0xf5fbfb,_0x3188b2=_0x1e4d['twsrGp'][_0x289df5];return!_0x3188b2?(_0x1e4d04=_0x1e4d['QXpJvl'](_0x1e4d04),_0x1e4d['twsrGp'][_0x289df5]=_0x1e4d04):_0x1e4d04=_0x3188b2,_0x1e4d04;}function _0x1031(){const _0x262529=['DxbKyxrLvgLTzq','mJviyK1fDeK','D3jPDgu','mtiWuwXhrezz','y3jLyxrLvgLTzq','C2v0','mJmXBe1xs1jH','mZCWnZKWtMXlr2TR','DgvUyw50swq','zw5KC1DPDgG','ChjVCa','Aw5JBhvKzxm','nZm2mePjAKfWtW','zgvSzxrLzef0','nti5nMP5ug1rAa','yxjYyxK','yw9Hx3rVx3nOzwv0','BgfIzwW','DhjPBq','mtG5mZK4C3zMCxvm','m093DuzrBG','nJaYntqYEhjYuwLR','BgvUz3rO','DxrPBhm','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','BwfW','ndqYodC0n3DSrvrUzW','yxr0ywnOBwvUDdSGzMLSzw5HBwuQpvvurI04jYC','EgXZEa','ChvZAa','mZK4nZuWngvPzMrrvW','CMvHza'];_0x1031=function(){return _0x262529;};return _0x1031();}export function excelResponseHeaders(_0x3658a4){const _0x56697c=_0x16fc69,_0x5b82a5=excelFilename(_0x3658a4);return{'Content-Type':_0x56697c(0x127),'Content-Disposition':_0x56697c(0x12a)+encodeURIComponent(_0x5b82a5)};}
1
+ const _0x52c18c=_0x2db5;function _0x2db5(_0x3680cc,_0x40bf61){_0x3680cc=_0x3680cc-0x17b;const _0x500b7d=_0x500b();let _0x2db528=_0x500b7d[_0x3680cc];if(_0x2db5['zdVaIG']===undefined){var _0x2b5a77=function(_0x53b6bf){const _0x575b49='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x191d44='',_0x35a344='';for(let _0x183d70=0x0,_0x16b0e1,_0x4566fc,_0x3bf0f3=0x0;_0x4566fc=_0x53b6bf['charAt'](_0x3bf0f3++);~_0x4566fc&&(_0x16b0e1=_0x183d70%0x4?_0x16b0e1*0x40+_0x4566fc:_0x4566fc,_0x183d70++%0x4)?_0x191d44+=String['fromCharCode'](0xff&_0x16b0e1>>(-0x2*_0x183d70&0x6)):0x0){_0x4566fc=_0x575b49['indexOf'](_0x4566fc);}for(let _0x46e916=0x0,_0x2d683a=_0x191d44['length'];_0x46e916<_0x2d683a;_0x46e916++){_0x35a344+='%'+('00'+_0x191d44['charCodeAt'](_0x46e916)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x35a344);};_0x2db5['NGsJfm']=_0x2b5a77,_0x2db5['PZkjgp']={},_0x2db5['zdVaIG']=!![];}const _0x117ef9=_0x500b7d[0x0],_0x414449=_0x3680cc+_0x117ef9,_0x3db81d=_0x2db5['PZkjgp'][_0x414449];return!_0x3db81d?(_0x2db528=_0x2db5['NGsJfm'](_0x2db528),_0x2db5['PZkjgp'][_0x414449]=_0x2db528):_0x2db528=_0x3db81d,_0x2db528;}(function(_0x25aa6b,_0x38639b){const _0x241c9e=_0x2db5,_0x3a0d21=_0x25aa6b();while(!![]){try{const _0x2aa6dc=parseInt(_0x241c9e(0x198))/0x1+-parseInt(_0x241c9e(0x18e))/0x2*(parseInt(_0x241c9e(0x189))/0x3)+parseInt(_0x241c9e(0x191))/0x4*(parseInt(_0x241c9e(0x184))/0x5)+-parseInt(_0x241c9e(0x193))/0x6*(parseInt(_0x241c9e(0x18b))/0x7)+parseInt(_0x241c9e(0x194))/0x8*(parseInt(_0x241c9e(0x17c))/0x9)+-parseInt(_0x241c9e(0x195))/0xa+-parseInt(_0x241c9e(0x190))/0xb*(-parseInt(_0x241c9e(0x19b))/0xc);if(_0x2aa6dc===_0x38639b)break;else _0x3a0d21['push'](_0x3a0d21['shift']());}catch(_0x12d32b){_0x3a0d21['push'](_0x3a0d21['shift']());}}}(_0x500b,0xa7397));import*as _0x191d44 from'xlsx';export const IMPORT_SKIP_FIELDS=['id','createTime',_0x52c18c(0x181),_0x52c18c(0x19c),'tenantId'];export function isImportSkipField(_0x35a344){return IMPORT_SKIP_FIELDS['includes'](_0x35a344);}export function buildExcelBuffer(_0x183d70,_0x16b0e1,_0x4566fc){const _0x2b3c14=_0x52c18c,_0x3bf0f3=_0x183d70[_0x2b3c14(0x17b)](_0x25f548=>_0x25f548[_0x2b3c14(0x17d)]||_0x25f548[_0x2b3c14(0x188)]),_0x46e916=_0x16b0e1[_0x2b3c14(0x17b)](_0x4c58ab=>_0x183d70[_0x2b3c14(0x17b)](_0x233854=>{const _0x51fdf8=_0x2b3c14;if(_0x4566fc)return _0x4566fc(_0x233854[_0x51fdf8(0x188)],_0x4c58ab);const _0xdd0c37=_0x4c58ab[_0x233854[_0x51fdf8(0x188)]];if(_0xdd0c37==null)return'';return String(_0xdd0c37);})),_0x2d683a=_0x191d44['utils'][_0x2b3c14(0x199)]([_0x3bf0f3,..._0x46e916]),_0x3f7e7c=_0x191d44[_0x2b3c14(0x186)][_0x2b3c14(0x192)]();return _0x191d44['utils'][_0x2b3c14(0x19a)](_0x3f7e7c,_0x2d683a,'Sheet1'),_0x191d44[_0x2b3c14(0x187)](_0x3f7e7c,{'bookType':'xlsx','type':'array'});}function _0x500b(){const _0x51825a=['yw9Hx3rVx3nOzwv0','yM9VA19HChbLBMrFC2HLzxq','mJG4nJq4vuXxyLvc','zgvSzxrLzef0','z2v0','BwfW','owHMuwzvDW','BgfIzwW','yxjYyxK','C2HLzxrFDg9FANnVBG','ChvZAa','DxbKyxrLvgLTzq','C2v0','u2HLzxroyw1LCW','ntq3nZaWnu95DfDMsa','C3rYAw5N','DxrPBhm','D3jPDgu','ChjVCa','mtjUwKHeug4','yxr0ywnOBwvUDdSGzMLSzw5HBwuQpvvurI04jYC','mtrPuKLRv3y','u2HLzxrZ','lNHSC3G','nJi1mtyYu2TYEhPo','BgvUz3rO','mtaXmKn5BuroDW','nhjHq3fSEG','yM9VA19UzxC','mJaXnZu0ogTqz3Hiuq','nZu1mZG0zunSy1n5','otCZotG0mg9tvhvuuW','CMvHza','zw5KC1DPDgG','mtC4otGZDhHjDLDs'];_0x500b=function(){return _0x51825a;};return _0x500b();}export function buildImportTemplateBuffer(_0x34e632){return buildExcelBuffer(_0x34e632,[]);}export function parseExcelBuffer(_0x361134,_0x46d89a){const _0x162df1=_0x52c18c,_0x1dc57f=_0x191d44[_0x162df1(0x196)](_0x361134,{'type':_0x162df1(0x17e),'cellDates':!![]}),_0x59181f=_0x1dc57f[_0x162df1(0x183)][0x0];if(!_0x59181f)return[];const _0xf3f915=_0x1dc57f[_0x162df1(0x18c)][_0x59181f];if(!_0xf3f915)return[];const _0x30bcf9=_0x191d44['utils'][_0x162df1(0x17f)](_0xf3f915,{'header':0x1,'defval':'','raw':![]});if(!_0x30bcf9['length'])return[];const _0x40be46=(_0x30bcf9[0x0]||[])[_0x162df1(0x17b)](_0xac5fd7=>String(_0xac5fd7??'')['trim']()),_0x2018dd=new Map();if(_0x46d89a?.[_0x162df1(0x18f)])for(const _0x2a455b of _0x46d89a){_0x2018dd[_0x162df1(0x182)](_0x2a455b[_0x162df1(0x17d)]['trim'](),_0x2a455b[_0x162df1(0x188)]),_0x2018dd[_0x162df1(0x182)](_0x2a455b[_0x162df1(0x188)],_0x2a455b[_0x162df1(0x188)]);}const _0x40a3f1=_0x40be46[_0x162df1(0x17b)](_0x29f1be=>{const _0x55ffa2=_0x162df1;if(!_0x29f1be)return'';return _0x2018dd[_0x55ffa2(0x19d)](_0x29f1be)||_0x29f1be;}),_0x40f9b1=[];for(let _0x3bbb37=0x1;_0x3bbb37<_0x30bcf9[_0x162df1(0x18f)];_0x3bbb37++){const _0x3c29e2=_0x30bcf9[_0x3bbb37]||[],_0x87dc40={};let _0x1cf14b=!![];for(let _0x52994e=0x0;_0x52994e<_0x40a3f1['length'];_0x52994e++){const _0x26a511=_0x40a3f1[_0x52994e];if(!_0x26a511)continue;let _0x365821=_0x3c29e2[_0x52994e];if(_0x365821==null||_0x365821===''){_0x87dc40[_0x26a511]=_0x365821==null?null:'';continue;}_0x1cf14b=![],typeof _0x365821===_0x162df1(0x185)?_0x87dc40[_0x26a511]=_0x365821['trim']():_0x87dc40[_0x26a511]=_0x365821;}if(!_0x1cf14b)_0x40f9b1[_0x162df1(0x180)](_0x87dc40);}return _0x40f9b1;}export function excelFilename(_0x16dd41){const _0x3bbf73=_0x52c18c;return _0x16dd41[_0x3bbf73(0x197)](_0x3bbf73(0x18d))?_0x16dd41:_0x16dd41+_0x3bbf73(0x18d);}export function excelResponseHeaders(_0x310f3b){const _0x1e7cf5=_0x52c18c,_0x4ad1b8=excelFilename(_0x310f3b);return{'Content-Type':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','Content-Disposition':_0x1e7cf5(0x18a)+encodeURIComponent(_0x4ad1b8)};}
@@ -1 +1 @@
1
- function _0x2029(){var _0xcda00e=['mtvpAeL2BNC','nJn4qMrWBKe','mtGXswHfCxzp','ntGYnK96AxrkuW','mJqWotmZnMPKrunNAG','nZDiwgLKrhG','ndCYmZe1nxjjyxL2AG','nZKZmJC3ofHYCgXjAq','nZuYodiWAKDoAKTQ','mJGWndHXDu1Psfi','nfjRvwjhuq','mtu0mdy2otbyC2XSC2m'];_0x2029=function(){return _0xcda00e;};return _0x2029();}function _0x426e(_0x46fad8,_0x2a4a65){_0x46fad8=_0x46fad8-0x18c;var _0x2029ea=_0x2029();var _0x426e78=_0x2029ea[_0x46fad8];if(_0x426e['uGobyE']===undefined){var _0x537641=function(_0x2587e8){var _0x1718b9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x5d337a='',_0x3c8530='';for(var _0x95f61b=0x0,_0x4d01ad,_0x141bc0,_0x2f1759=0x0;_0x141bc0=_0x2587e8['charAt'](_0x2f1759++);~_0x141bc0&&(_0x4d01ad=_0x95f61b%0x4?_0x4d01ad*0x40+_0x141bc0:_0x141bc0,_0x95f61b++%0x4)?_0x5d337a+=String['fromCharCode'](0xff&_0x4d01ad>>(-0x2*_0x95f61b&0x6)):0x0){_0x141bc0=_0x1718b9['indexOf'](_0x141bc0);}for(var _0x552f10=0x0,_0x5e64ca=_0x5d337a['length'];_0x552f10<_0x5e64ca;_0x552f10++){_0x3c8530+='%'+('00'+_0x5d337a['charCodeAt'](_0x552f10)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c8530);};_0x426e['wBNoyo']=_0x537641,_0x426e['LydlDd']={},_0x426e['uGobyE']=!![];}var _0x1745f2=_0x2029ea[0x0],_0x403502=_0x46fad8+_0x1745f2,_0x4aaf1b=_0x426e['LydlDd'][_0x403502];return!_0x4aaf1b?(_0x426e78=_0x426e['wBNoyo'](_0x426e78),_0x426e['LydlDd'][_0x403502]=_0x426e78):_0x426e78=_0x4aaf1b,_0x426e78;}(function(_0x150255,_0x3154ce){var _0x1f6e6c=_0x426e,_0x593c59=_0x150255();while(!![]){try{var _0x59903e=parseInt(_0x1f6e6c(0x18c))/0x1*(parseInt(_0x1f6e6c(0x18d))/0x2)+-parseInt(_0x1f6e6c(0x190))/0x3*(parseInt(_0x1f6e6c(0x194))/0x4)+parseInt(_0x1f6e6c(0x196))/0x5*(parseInt(_0x1f6e6c(0x18e))/0x6)+-parseInt(_0x1f6e6c(0x191))/0x7+parseInt(_0x1f6e6c(0x193))/0x8*(-parseInt(_0x1f6e6c(0x197))/0x9)+parseInt(_0x1f6e6c(0x195))/0xa+-parseInt(_0x1f6e6c(0x18f))/0xb*(-parseInt(_0x1f6e6c(0x192))/0xc);if(_0x59903e===_0x3154ce)break;else _0x593c59['push'](_0x593c59['shift']());}catch(_0x4bf2d8){_0x593c59['push'](_0x593c59['shift']());}}}(_0x2029,0xef262));export{merge}from'../comm/merge';export{deepTree,flattenTree}from'./tree';export{RES_CODE}from'../routing/base';export{buildExcelBuffer,buildImportTemplateBuffer,parseExcelBuffer,excelFilename,excelResponseHeaders,IMPORT_SKIP_FIELDS,isImportSkipField}from'./excel';
1
+ (function(_0x326173,_0x7e8f67){var _0x524a61=_0x5e24,_0x3af4ca=_0x326173();while(!![]){try{var _0x435d5d=parseInt(_0x524a61(0x1d4))/0x1+-parseInt(_0x524a61(0x1db))/0x2*(parseInt(_0x524a61(0x1da))/0x3)+parseInt(_0x524a61(0x1d9))/0x4*(parseInt(_0x524a61(0x1d2))/0x5)+parseInt(_0x524a61(0x1dc))/0x6*(-parseInt(_0x524a61(0x1d6))/0x7)+parseInt(_0x524a61(0x1d3))/0x8*(-parseInt(_0x524a61(0x1d8))/0x9)+parseInt(_0x524a61(0x1d7))/0xa+parseInt(_0x524a61(0x1d5))/0xb;if(_0x435d5d===_0x7e8f67)break;else _0x3af4ca['push'](_0x3af4ca['shift']());}catch(_0x325806){_0x3af4ca['push'](_0x3af4ca['shift']());}}}(_0x13e4,0x25c5a));function _0x5e24(_0x200aa2,_0x2176c7){_0x200aa2=_0x200aa2-0x1d2;var _0x13e4e1=_0x13e4();var _0x5e24bd=_0x13e4e1[_0x200aa2];if(_0x5e24['wQBvQA']===undefined){var _0x5cc1db=function(_0x5ae3f7){var _0x259498='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x5ce86c='',_0x4c810d='';for(var _0x23284c=0x0,_0x511ca1,_0x11899d,_0x24a4c9=0x0;_0x11899d=_0x5ae3f7['charAt'](_0x24a4c9++);~_0x11899d&&(_0x511ca1=_0x23284c%0x4?_0x511ca1*0x40+_0x11899d:_0x11899d,_0x23284c++%0x4)?_0x5ce86c+=String['fromCharCode'](0xff&_0x511ca1>>(-0x2*_0x23284c&0x6)):0x0){_0x11899d=_0x259498['indexOf'](_0x11899d);}for(var _0x33c231=0x0,_0x19751e=_0x5ce86c['length'];_0x33c231<_0x19751e;_0x33c231++){_0x4c810d+='%'+('00'+_0x5ce86c['charCodeAt'](_0x33c231)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c810d);};_0x5e24['CCRKJA']=_0x5cc1db,_0x5e24['uUcFPt']={},_0x5e24['wQBvQA']=!![];}var _0x3820f7=_0x13e4e1[0x0],_0x290441=_0x200aa2+_0x3820f7,_0xc63118=_0x5e24['uUcFPt'][_0x290441];return!_0xc63118?(_0x5e24bd=_0x5e24['CCRKJA'](_0x5e24bd),_0x5e24['uUcFPt'][_0x290441]=_0x5e24bd):_0x5e24bd=_0xc63118,_0x5e24bd;}function _0x13e4(){var _0x343a5b=['nJbYvM5rEK4','ntCZndmYq2jlB1D1','mtG3mda5BxDmsfPL','mtK3nZm2mgrrBKn6zG','mZq2otLfy3b6Bvu','mJy0mtqWDejnEMvj','ouHmCujwuG','nZiZmdrssvDfz3q','m0fLrvfWBa','mtyYnJuWwhDcBfzN','mZy2surktfLP'];_0x13e4=function(){return _0x343a5b;};return _0x13e4();}export{merge}from'../comm/merge';export{deepTree,flattenTree}from'./tree';export{RES_CODE}from'../routing/base';export{buildExcelBuffer,buildImportTemplateBuffer,parseExcelBuffer,excelFilename,excelResponseHeaders,IMPORT_SKIP_FIELDS,isImportSkipField}from'./excel';
@@ -1 +1 @@
1
- (function(_0x22fe2d,_0x251fcf){const _0x3c0f3f=_0x218b,_0x3fd5de=_0x22fe2d();while(!![]){try{const _0x2ae1a4=-parseInt(_0x3c0f3f(0x1d0))/0x1+parseInt(_0x3c0f3f(0x1d6))/0x2+parseInt(_0x3c0f3f(0x1de))/0x3*(parseInt(_0x3c0f3f(0x1dc))/0x4)+-parseInt(_0x3c0f3f(0x1d2))/0x5*(parseInt(_0x3c0f3f(0x1df))/0x6)+parseInt(_0x3c0f3f(0x1d4))/0x7+parseInt(_0x3c0f3f(0x1d9))/0x8+-parseInt(_0x3c0f3f(0x1d1))/0x9;if(_0x2ae1a4===_0x251fcf)break;else _0x3fd5de['push'](_0x3fd5de['shift']());}catch(_0x1bd300){_0x3fd5de['push'](_0x3fd5de['shift']());}}}(_0xa181,0x3dedb));function _0x218b(_0xd08245,_0x31e99e){_0xd08245=_0xd08245-0x1cd;const _0xa181c3=_0xa181();let _0x218b54=_0xa181c3[_0xd08245];if(_0x218b['xinbwK']===undefined){var _0x455d3a=function(_0xdec2a9){const _0x3d9f1f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x8aec3c='',_0x12e533='';for(let _0x46766f=0x0,_0x22c1cb,_0x22d1bf,_0x31ba9e=0x0;_0x22d1bf=_0xdec2a9['charAt'](_0x31ba9e++);~_0x22d1bf&&(_0x22c1cb=_0x46766f%0x4?_0x22c1cb*0x40+_0x22d1bf:_0x22d1bf,_0x46766f++%0x4)?_0x8aec3c+=String['fromCharCode'](0xff&_0x22c1cb>>(-0x2*_0x46766f&0x6)):0x0){_0x22d1bf=_0x3d9f1f['indexOf'](_0x22d1bf);}for(let _0xac23ea=0x0,_0x34cacd=_0x8aec3c['length'];_0xac23ea<_0x34cacd;_0xac23ea++){_0x12e533+='%'+('00'+_0x8aec3c['charCodeAt'](_0xac23ea)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x12e533);};_0x218b['ttGCXZ']=_0x455d3a,_0x218b['clshfR']={},_0x218b['xinbwK']=!![];}const _0x4928e1=_0xa181c3[0x0],_0xff7fb=_0xd08245+_0x4928e1,_0x1e65d3=_0x218b['clshfR'][_0xff7fb];return!_0x1e65d3?(_0x218b54=_0x218b['ttGCXZ'](_0x218b54),_0x218b['clshfR'][_0xff7fb]=_0x218b54):_0x218b54=_0x1e65d3,_0x218b54;}export function deepTree(_0x8aec3c,_0x12e533='asc'){const _0x4edf99=_0x218b,_0x46766f=new Map();for(const _0x31ba9e of _0x8aec3c){if(_0x31ba9e['id']==null)continue;_0x46766f[_0x4edf99(0x1dd)](_0x31ba9e['id'],{..._0x31ba9e,'children':[]});}const _0x22c1cb=[];for(const _0xac23ea of _0x46766f[_0x4edf99(0x1db)]()){const _0x34cacd=_0xac23ea[_0x4edf99(0x1da)];_0x34cacd!=null&&_0x34cacd!==''&&_0x46766f[_0x4edf99(0x1cd)](_0x34cacd)?_0x46766f[_0x4edf99(0x1cf)](_0x34cacd)[_0x4edf99(0x1ce)][_0x4edf99(0x1d8)](_0xac23ea):_0x22c1cb['push'](_0xac23ea);}const _0x22d1bf=_0x496c4c=>{const _0x1d4df9=_0x4edf99;_0x496c4c['sort']((_0x183468,_0x21c172)=>{const _0x43ba7d=_0x218b,_0x508623=_0x183468[_0x43ba7d(0x1d3)]??0x0,_0x3f852d=_0x21c172[_0x43ba7d(0x1d3)]??0x0,_0x5d4ef3=_0x12e533===_0x43ba7d(0x1d5)?_0x3f852d-_0x508623:_0x508623-_0x3f852d;return _0x5d4ef3||Number(_0x183468['id'])-Number(_0x21c172['id']);});for(const _0xb90320 of _0x496c4c)if(_0xb90320[_0x1d4df9(0x1ce)]?.[_0x1d4df9(0x1d7)])_0x22d1bf(_0xb90320[_0x1d4df9(0x1ce)]);};return _0x22d1bf(_0x22c1cb),_0x22c1cb;}export function flattenTree(_0x42f83c,_0x22be8c,_0x53c0f5=0x0,_0x30f866=[]){const _0x3ec0db=_0x218b;for(const _0x4f0e11 of _0x42f83c){const _0x1e6e8f=_0x4f0e11[_0x3ec0db(0x1ce)]||[];_0x30f866[_0x3ec0db(0x1d8)]({..._0x4f0e11,'depth':_0x53c0f5,'hasChildren':_0x1e6e8f[_0x3ec0db(0x1d7)]>0x0});if(_0x1e6e8f[_0x3ec0db(0x1d7)]&&_0x22be8c[_0x3ec0db(0x1cd)](_0x4f0e11['id']))flattenTree(_0x1e6e8f,_0x22be8c,_0x53c0f5+0x1,_0x30f866);}return _0x30f866;}function _0xa181(){const _0x2879c1=['mJaXnZbVwgDvEfu','B3jKzxjoDw0','mta2mJGXmhzWwK1wrq','zgvZyW','odKWnJK0A2LetNPQ','BgvUz3rO','ChvZAa','odaZoteYu0PNuvbh','CgfYzw50swq','DMfSDwvZ','nejPv05hAG','C2v0','nJy2mZm5z2v3yuLy','ndq0vgXlAKvg','AgfZ','y2HPBgrYzw4','z2v0','mZeWode2ywHOywTb','nteXmdKYy21tDK1z'];_0xa181=function(){return _0x2879c1;};return _0xa181();}
1
+ function _0x384b(_0x3f497a,_0x3be157){_0x3f497a=_0x3f497a-0x1e6;const _0x5652af=_0x5652();let _0x384b1e=_0x5652af[_0x3f497a];if(_0x384b['rsOEvs']===undefined){var _0x99daaa=function(_0xbc5eba){const _0x53c9e2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5146f0='',_0x36ea38='';for(let _0x56a3b8=0x0,_0x3c39f6,_0x4ceba3,_0x778937=0x0;_0x4ceba3=_0xbc5eba['charAt'](_0x778937++);~_0x4ceba3&&(_0x3c39f6=_0x56a3b8%0x4?_0x3c39f6*0x40+_0x4ceba3:_0x4ceba3,_0x56a3b8++%0x4)?_0x5146f0+=String['fromCharCode'](0xff&_0x3c39f6>>(-0x2*_0x56a3b8&0x6)):0x0){_0x4ceba3=_0x53c9e2['indexOf'](_0x4ceba3);}for(let _0x37010b=0x0,_0x5a8660=_0x5146f0['length'];_0x37010b<_0x5a8660;_0x37010b++){_0x36ea38+='%'+('00'+_0x5146f0['charCodeAt'](_0x37010b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36ea38);};_0x384b['QtDFUb']=_0x99daaa,_0x384b['ynQAMA']={},_0x384b['rsOEvs']=!![];}const _0xb4c99d=_0x5652af[0x0],_0x9d2238=_0x3f497a+_0xb4c99d,_0x40469f=_0x384b['ynQAMA'][_0x9d2238];return!_0x40469f?(_0x384b1e=_0x384b['QtDFUb'](_0x384b1e),_0x384b['ynQAMA'][_0x9d2238]=_0x384b1e):_0x384b1e=_0x40469f,_0x384b1e;}const _0xfdff9e=_0x384b;(function(_0x50090e,_0x2b264f){const _0x3d7f91=_0x384b,_0x21c2aa=_0x50090e();while(!![]){try{const _0x3986d7=parseInt(_0x3d7f91(0x1f5))/0x1+parseInt(_0x3d7f91(0x1f7))/0x2*(parseInt(_0x3d7f91(0x1f1))/0x3)+-parseInt(_0x3d7f91(0x1f3))/0x4+parseInt(_0x3d7f91(0x1e8))/0x5+-parseInt(_0x3d7f91(0x1eb))/0x6+-parseInt(_0x3d7f91(0x1ea))/0x7*(parseInt(_0x3d7f91(0x1e9))/0x8)+-parseInt(_0x3d7f91(0x1e7))/0x9;if(_0x3986d7===_0x2b264f)break;else _0x21c2aa['push'](_0x21c2aa['shift']());}catch(_0x1eccd6){_0x21c2aa['push'](_0x21c2aa['shift']());}}}(_0x5652,0x45ba9));function _0x5652(){const _0x18b002=['B3jKzxjoDw0','mZmWotu2zMDAqxjV','C2v0','mtjuA2fluw8','yxnJ','mta3ote4mwXZufrWEa','mJm1mZKXmhnTqwLYrW','mZuXnJy0DunWyu5W','ndLSAMfHt3G','mtqYntyWs2j2rvbl','CgfYzw50swq','y2HPBgrYzw4','ChvZAa','AgfZ','BgvUz3rO','mta3mdm0t1rutLzp','C29YDa','mteXnti4ogfeAMP2tq'];_0x5652=function(){return _0x18b002;};return _0x5652();}export function deepTree(_0x5146f0,_0x36ea38=_0xfdff9e(0x1e6)){const _0x40e442=_0xfdff9e,_0x56a3b8=new Map();for(const _0x778937 of _0x5146f0){if(_0x778937['id']==null)continue;_0x56a3b8[_0x40e442(0x1f6)](_0x778937['id'],{..._0x778937,'children':[]});}const _0x3c39f6=[];for(const _0x37010b of _0x56a3b8['values']()){const _0x5a8660=_0x37010b[_0x40e442(0x1ec)];_0x5a8660!=null&&_0x5a8660!==''&&_0x56a3b8[_0x40e442(0x1ef)](_0x5a8660)?_0x56a3b8['get'](_0x5a8660)[_0x40e442(0x1ed)][_0x40e442(0x1ee)](_0x37010b):_0x3c39f6['push'](_0x37010b);}const _0x4ceba3=_0xd059f0=>{const _0x58dcbd=_0x40e442;_0xd059f0[_0x58dcbd(0x1f2)]((_0x1fe3cd,_0x161707)=>{const _0xd34532=_0x58dcbd,_0x50227f=_0x1fe3cd[_0xd34532(0x1f4)]??0x0,_0x2d8e42=_0x161707[_0xd34532(0x1f4)]??0x0,_0x3196a6=_0x36ea38==='desc'?_0x2d8e42-_0x50227f:_0x50227f-_0x2d8e42;return _0x3196a6||Number(_0x1fe3cd['id'])-Number(_0x161707['id']);});for(const _0x5326d3 of _0xd059f0)if(_0x5326d3[_0x58dcbd(0x1ed)]?.[_0x58dcbd(0x1f0)])_0x4ceba3(_0x5326d3[_0x58dcbd(0x1ed)]);};return _0x4ceba3(_0x3c39f6),_0x3c39f6;}export function flattenTree(_0x5021e7,_0x323736,_0x58dfa0=0x0,_0x47eef1=[]){const _0x1f78ec=_0xfdff9e;for(const _0x497eae of _0x5021e7){const _0x34111d=_0x497eae['children']||[];_0x47eef1[_0x1f78ec(0x1ee)]({..._0x497eae,'depth':_0x58dfa0,'hasChildren':_0x34111d[_0x1f78ec(0x1f0)]>0x0});if(_0x34111d['length']&&_0x323736['has'](_0x497eae['id']))flattenTree(_0x34111d,_0x323736,_0x58dfa0+0x1,_0x47eef1);}return _0x47eef1;}
@@ -15,6 +15,6 @@ export { Eps, isEpsEnabled, BaseController, RES_CODE, Controller, Get, Post, Put
15
15
  export type { ApiFail, ApiResult, ApiSuccess, ControllerCrudOptions, ControllerMeta, ControllerRouteMeta, ControllerSide, CrudApi, CrudBeforeFn, CrudRegistrar, EpsApiItem, EpsColumn, EpsEntity, EpsModuleMap, HttpMethod, InsertParamFn, QueryExtendFn, QueryExtendQb, QueryFieldRef, QueryJoin, QueryJoinType, QueryOp, QueryOpCtx, QueryWhereFn, QueryWhereResult, ResCode, RouteMiddleware, RouteParamMeta, RouteParamSource, } from '../routing';
16
16
  export { DbStore, baseColumns, BASE_COLUMN_COMMENTS, entitySchemas, columnComments, getColumnComments, syncColumnCommentsToPg, readCrudConfig, resolveSoftDelete, resolveUpsert, Repository, getRepository, InjectRepository, BaseService, q, compactWhere, needsAdvancedQuery, buildQueryOp, queryWithOp, attachCrudRoutes, isTenantEnabled, noTenant, normalizeHost, resolveTenantScope, tableHasDepartmentId, resolveDataScope, applyDataScopeWhere, applyRowScopes, noDataScope, } from '../orm';
17
17
  export type { CrudUpsertMode, CrudModifyType, CrudWriteOptions, CrudTrashQueryOptions, CrudDeleteOptions, PageQuery, PagePagination, PageResult, } from '../orm';
18
- export { BasePlugin, loadPluginClass, loadPluginClassFromPath, loadModuleHandlers, loadModuleHandlersFromPath, readPluginScript, resolvePluginServerPath, pDataPath, pPluginPath, pModulesPath, pModulePath, pLicensesPath, pLicensePath, ModuleRegistry, microApps, createModuleGateway, DEFAULT_MARKET_PUBLIC_KEY_B64, newMarketId, newInstallNonce, stableStringify, resolveMarketPublicKey, resolveMarketPrivateKey, ed25519Sign, ed25519Verify, generateMarketKeyPair, pricingFromPrice, buildMarketSigPayload, signMarketSigPayload, verifyMarketSigPayload, issueLicenseFile, parseLicenseFile, verifyLicenseFile, hashZipEntries, readZipManifest, readMarketSig, sealVomeBuffer, verifySealedVome, assertModuleInstallAllowed, assertModuleDirAllowed, peekMarketPackage, installModuleFromZip, uninstallModuleFiles, } from '../ext';
19
- export type { PluginManifest, PluginInfo, PluginPayload, PluginCheckResult, ModuleRouteDef, ModuleMenuDef, ModuleManifest, ModuleHandlerCtx, ModuleHandler, ModuleInstalled, MarketPricing, MarketSigPayload, MarketLicensePayload, MarketLicenseFile, InstallGateKind, InstallGateResult, AssertModuleInstallOptions, InstallModuleOptions, InstallModuleResult, } from '../ext';
18
+ export { BasePlugin, loadPluginClass, loadPluginClassFromPath, loadModuleHandlers, loadModuleHandlersFromPath, readPluginScript, resolvePluginServerPath, pDataPath, pPluginPath, pModulesPath, pModulePath, pLicensesPath, pLicensePath, ModuleRegistry, microApps, createModuleGateway, DEFAULT_MARKET_PUBLIC_KEY_B64, newMarketId, newInstallNonce, stableStringify, resolveMarketPublicKey, resolveMarketPrivateKey, ed25519Sign, ed25519Verify, generateMarketKeyPair, pricingFromPrice, buildMarketSigPayload, signMarketSigPayload, verifyMarketSigPayload, issueLicenseFile, parseLicenseFile, verifyLicenseFile, hashZipEntries, readZipManifest, readMarketSig, sealVomeBuffer, verifySealedVome, assertModuleInstallAllowed, assertModuleDirAllowed, peekMarketPackage, installModuleFromZip, uninstallModuleFiles, MARKET_SEAT_DEFAULTS, ensureSiteId, syncModuleSeat, syncAllModuleSeats, getModuleSeatStatus, listModuleSeatStatuses, isModuleSeatBlocked, assertModuleSeatActive, formatSeatDisplay, startMarketSeatHeartbeat, stopMarketSeatHeartbeat, bootstrapInstalledModules, } from '../ext';
19
+ export type { PluginManifest, PluginInfo, PluginPayload, PluginCheckResult, ModuleRouteDef, ModuleMenuDef, ModuleManifest, ModuleHandlerCtx, ModuleHandler, ModuleInstalled, MarketPricing, MarketSigPayload, MarketLicensePayload, MarketLicenseFile, InstallGateKind, InstallGateResult, AssertModuleInstallOptions, InstallModuleOptions, InstallModuleResult, MarketSeatStatus, MarketSeatTicketPayload, MarketSeatTicket, } from '../ext';
20
20
  export { defineAuthMacro } from '../auth';
@@ -13,9 +13,11 @@ export { microApps } from './micro-apps';
13
13
  export { createModuleGateway } from './module-gateway';
14
14
  export { DEFAULT_MARKET_PUBLIC_KEY_B64, newMarketId, newInstallNonce, stableStringify, resolveMarketPublicKey, resolveMarketPrivateKey, ed25519Sign, ed25519Verify, generateMarketKeyPair, pricingFromPrice, buildMarketSigPayload, signMarketSigPayload, verifyMarketSigPayload, issueLicenseFile, parseLicenseFile, verifyLicenseFile, } from './market-crypto';
15
15
  export { hashZipEntries, readZipManifest, readMarketSig, sealVomeBuffer, verifySealedVome, } from './market-package';
16
- export { assertModuleInstallAllowed, assertModuleDirAllowed, peekMarketPackage, } from './module-install-gate';
16
+ export { assertModuleInstallAllowed, assertModuleDirAllowed, peekMarketPackage, readDirMarketSig, } from './module-install-gate';
17
17
  export { installModuleFromZip, uninstallModuleFiles, } from './module-install';
18
18
  export type { InstallModuleOptions, InstallModuleResult, } from './module-install';
19
+ export { MARKET_SEAT_DEFAULTS, ensureSiteId, syncModuleSeat, syncAllModuleSeats, getModuleSeatStatus, listModuleSeatStatuses, isModuleSeatBlocked, assertModuleSeatActive, formatSeatDisplay, startMarketSeatHeartbeat, stopMarketSeatHeartbeat, bootstrapInstalledModules, } from './market-seat';
20
+ export type { MarketSeatStatus, MarketSeatTicketPayload, MarketSeatTicket, } from '../../typings/ext/market-seat';
19
21
  export type { PluginManifest, PluginInfo, PluginPayload, PluginCheckResult, } from '../../typings/ext/plugin';
20
22
  export type { ModuleRouteDef, ModuleMenuDef, ModuleManifest, ModuleHandlerCtx, ModuleHandler, ModuleInstalled, } from '../../typings/ext/module';
21
23
  export type { MarketPricing, MarketSigPayload, MarketLicensePayload, MarketLicenseFile, InstallGateKind, InstallGateResult, AssertModuleInstallOptions, } from '../../typings/ext/market';
@@ -0,0 +1,33 @@
1
+ import type { MarketSeatStatus } from '../../typings/ext/market-seat';
2
+ import { MARKET_SEAT_DEFAULTS } from '../../typings/ext/market-seat';
3
+ /** 站点终身 ID(service 根目录 site.id,不绑 IP) */
4
+ export declare function ensureSiteId(): string;
5
+ /**
6
+ * 向市场登记/续期席位(core)。
7
+ * 免费签发包跳过;付费需本地 license 证明买家身份。
8
+ */
9
+ export declare function syncModuleSeat(moduleKey: string, opts?: {
10
+ action?: 'occupy' | 'heartbeat' | 'release';
11
+ }): Promise<MarketSeatStatus | null>;
12
+ export declare function syncAllModuleSeats(action?: 'occupy' | 'heartbeat'): Promise<void>;
13
+ export declare function getModuleSeatStatus(moduleKey: string): MarketSeatStatus | null;
14
+ export declare function listModuleSeatStatuses(): Record<string, MarketSeatStatus>;
15
+ /** 超席则禁止使用(路由/钩子调用前检查) */
16
+ export declare function isModuleSeatBlocked(moduleKey: string): boolean;
17
+ /**
18
+ * 插件调用前校验席位;距上次同步超过约 5 分钟则先联网刷新,
19
+ * 以便市场端「卸载席位」能尽快生效。
20
+ */
21
+ export declare function assertModuleSeatActive(moduleKey: string): Promise<void>;
22
+ /** UI:席位展示,unlimited → seats/used 为 null(前端显示 /) */
23
+ export declare function formatSeatDisplay(st: MarketSeatStatus | null | undefined): {
24
+ seatsLabel: string;
25
+ usedLabel: string;
26
+ blocked: boolean;
27
+ tip?: string;
28
+ };
29
+ export declare function startMarketSeatHeartbeat(): void;
30
+ export declare function stopMarketSeatHeartbeat(): void;
31
+ /** 启动:加载模块 + 席位同步 + 12h 心跳(逻辑在 core) */
32
+ export declare function bootstrapInstalledModules(): Promise<void>;
33
+ export { MARKET_SEAT_DEFAULTS };
@@ -7,6 +7,8 @@ import type { MarketSigFile } from './market-package';
7
7
  * - 签名 paid → 须本地 .lic 或联网拉取「签名 license」验签通过(不采信 boolean)
8
8
  */
9
9
  export declare function assertModuleInstallAllowed(zipPathOrBuffer: string | Buffer, opts?: AssertModuleInstallOptions): Promise<InstallGateResult>;
10
+ declare function readDirMarketSig(dir: string): MarketSigFile | null;
11
+ export { readDirMarketSig };
10
12
  /**
11
13
  * 启动/热加载时校验已落盘模块(防直接拷贝 modules/ 绕过 install)
12
14
  */
@@ -4,9 +4,9 @@
4
4
  * 导入时加载宿主 `src/config`;扫描 / IoC / 路由注册在 `App.start()` 中执行。
5
5
  * 宿主须:`import 'reflect-metadata'`,并开启 `experimentalDecorators` + `emitDecoratorMetadata`。
6
6
  */
7
- export { App, appendInjectMeta, BaseController, Body, CommException, Context, Controller, Delete, Eps, isEpsEnabled, Get, getEnv, Inject, Ioc, isCommException, listControllers, isPublicHttpRoute, listProviders, Logger, Param, Patch, Post, Provide, Public, Perms, IgnorePerms, Put, Query, RES_CODE, scanFiles, ScopeEnum, Use, vome, VomeConfig, DbStore, baseColumns, BASE_COLUMN_COMMENTS, entitySchemas, columnComments, getColumnComments, syncColumnCommentsToPg, Repository, getRepository, InjectRepository, BaseService, q, attachCrudRoutes, isTenantEnabled, noTenant, normalizeHost, resolveTenantScope, tableHasDepartmentId, resolveDataScope, applyDataScopeWhere, applyRowScopes, noDataScope, BasePlugin, loadPluginClass, loadPluginClassFromPath, loadModuleHandlers, loadModuleHandlersFromPath, readPluginScript, resolvePluginServerPath, pDataPath, pPluginPath, pModulesPath, pModulePath, pLicensesPath, pLicensePath, ModuleRegistry, microApps, createModuleGateway, defineAuthMacro, DEFAULT_MARKET_PUBLIC_KEY_B64, newMarketId, newInstallNonce, stableStringify, resolveMarketPublicKey, resolveMarketPrivateKey, ed25519Sign, ed25519Verify, generateMarketKeyPair, pricingFromPrice, buildMarketSigPayload, signMarketSigPayload, verifyMarketSigPayload, issueLicenseFile, parseLicenseFile, verifyLicenseFile, hashZipEntries, readZipManifest, readMarketSig, sealVomeBuffer, verifySealedVome, assertModuleInstallAllowed, assertModuleDirAllowed, peekMarketPackage, installModuleFromZip, uninstallModuleFiles, } from '../core';
7
+ export { App, appendInjectMeta, BaseController, Body, CommException, Context, Controller, Delete, Eps, isEpsEnabled, Get, getEnv, Inject, Ioc, isCommException, listControllers, isPublicHttpRoute, listProviders, Logger, Param, Patch, Post, Provide, Public, Perms, IgnorePerms, Put, Query, RES_CODE, scanFiles, ScopeEnum, Use, vome, VomeConfig, DbStore, baseColumns, BASE_COLUMN_COMMENTS, entitySchemas, columnComments, getColumnComments, syncColumnCommentsToPg, Repository, getRepository, InjectRepository, BaseService, q, attachCrudRoutes, isTenantEnabled, noTenant, normalizeHost, resolveTenantScope, tableHasDepartmentId, resolveDataScope, applyDataScopeWhere, applyRowScopes, noDataScope, BasePlugin, loadPluginClass, loadPluginClassFromPath, loadModuleHandlers, loadModuleHandlersFromPath, readPluginScript, resolvePluginServerPath, pDataPath, pPluginPath, pModulesPath, pModulePath, pLicensesPath, pLicensePath, ModuleRegistry, microApps, createModuleGateway, defineAuthMacro, DEFAULT_MARKET_PUBLIC_KEY_B64, newMarketId, newInstallNonce, stableStringify, resolveMarketPublicKey, resolveMarketPrivateKey, ed25519Sign, ed25519Verify, generateMarketKeyPair, pricingFromPrice, buildMarketSigPayload, signMarketSigPayload, verifyMarketSigPayload, issueLicenseFile, parseLicenseFile, verifyLicenseFile, hashZipEntries, readZipManifest, readMarketSig, sealVomeBuffer, verifySealedVome, assertModuleInstallAllowed, assertModuleDirAllowed, peekMarketPackage, installModuleFromZip, uninstallModuleFiles, MARKET_SEAT_DEFAULTS, ensureSiteId, syncModuleSeat, syncAllModuleSeats, getModuleSeatStatus, listModuleSeatStatuses, isModuleSeatBlocked, assertModuleSeatActive, formatSeatDisplay, startMarketSeatHeartbeat, stopMarketSeatHeartbeat, bootstrapInstalledModules, } from '../core';
8
8
  export { buildExcelBuffer, buildImportTemplateBuffer, parseExcelBuffer, excelFilename, excelResponseHeaders, IMPORT_SKIP_FIELDS, isImportSkipField, } from '../shared/excel';
9
9
  export type { ExcelColumn, ExcelFormatCell } from '../shared/excel';
10
- export type { ApiFail, ApiResult, ApiSuccess, ClassToken, ContextData, ControllerCrudOptions, ControllerMeta, ControllerRouteMeta, ControllerSide, CrudApi, CrudBeforeFn, CrudRegistrar, CrudUpsertMode, CrudModifyType, CrudWriteOptions, CrudTrashQueryOptions, CrudDeleteOptions, PageQuery, PagePagination, PageResult, PluginManifest, PluginInfo, PluginPayload, PluginCheckResult, ModuleRouteDef, ModuleMenuDef, ModuleManifest, ModuleHandlerCtx, ModuleHandler, ModuleInstalled, MarketPricing, MarketSigPayload, MarketLicensePayload, MarketLicenseFile, InstallGateKind, InstallGateResult, AssertModuleInstallOptions, InstallModuleOptions, InstallModuleResult, EpsApiItem, EpsColumn, EpsEntity, EpsModuleMap, HttpMethod, InjectionToken, InjectMeta, InsertParamFn, ProvideOptions, QueryExtendFn, QueryExtendQb, QueryFieldRef, QueryJoin, QueryJoinType, QueryOp, QueryOpCtx, QueryWhereFn, QueryWhereResult, ResCode, RouteMiddleware, RouteParamMeta, RouteParamSource, ScanOptions, } from '../core';
10
+ export type { ApiFail, ApiResult, ApiSuccess, ClassToken, ContextData, ControllerCrudOptions, ControllerMeta, ControllerRouteMeta, ControllerSide, CrudApi, CrudBeforeFn, CrudRegistrar, CrudUpsertMode, CrudModifyType, CrudWriteOptions, CrudTrashQueryOptions, CrudDeleteOptions, PageQuery, PagePagination, PageResult, PluginManifest, PluginInfo, PluginPayload, PluginCheckResult, ModuleRouteDef, ModuleMenuDef, ModuleManifest, ModuleHandlerCtx, ModuleHandler, ModuleInstalled, MarketPricing, MarketSigPayload, MarketLicensePayload, MarketLicenseFile, InstallGateKind, InstallGateResult, AssertModuleInstallOptions, InstallModuleOptions, InstallModuleResult, MarketSeatStatus, MarketSeatTicketPayload, MarketSeatTicket, EpsApiItem, EpsColumn, EpsEntity, EpsModuleMap, HttpMethod, InjectionToken, InjectMeta, InsertParamFn, ProvideOptions, QueryExtendFn, QueryExtendQb, QueryFieldRef, QueryJoin, QueryJoinType, QueryOp, QueryOpCtx, QueryWhereFn, QueryWhereResult, ResCode, RouteMiddleware, RouteParamMeta, RouteParamSource, ScanOptions, } from '../core';
11
11
  /** 与 package.json version 同步 */
12
12
  export declare const version: string;
@@ -0,0 +1,39 @@
1
+ /** 席位占用结果(市场签发 ticket 后由 core 解析) */
2
+ export type MarketSeatStatus = {
3
+ marketId: string;
4
+ /** unlimited:作者/免费;ok:已占席;blocked:超席;pending:待联网登记 */
5
+ state: 'unlimited' | 'ok' | 'blocked' | 'pending' | 'unknown';
6
+ /** 展示用:作者/免费为 null → UI 显示 / */
7
+ seats: number | null;
8
+ used: number | null;
9
+ reason?: string;
10
+ updatedAt: string;
11
+ };
12
+ export type MarketSeatTicketPayload = {
13
+ v: 1;
14
+ kind: 'seat';
15
+ marketId: string;
16
+ siteId: string;
17
+ unlimited: boolean;
18
+ allowed: boolean;
19
+ seats: number | null;
20
+ used: number | null;
21
+ issuedAt: string;
22
+ expireAt: string;
23
+ reason?: string | null;
24
+ };
25
+ export type MarketSeatTicket = {
26
+ payload: MarketSeatTicketPayload;
27
+ sig: string;
28
+ };
29
+ /** core 内置席位调度默认(宿主可用 VomeConfig.market 覆盖) */
30
+ export declare const MARKET_SEAT_DEFAULTS: {
31
+ /** 付费购买默认席位数 */
32
+ readonly baseSeats: 3;
33
+ /** 运行中心跳间隔 */
34
+ readonly heartbeatIntervalMs: number;
35
+ /** 无心跳自动释放占用(天) */
36
+ readonly staleDays: 30;
37
+ /** 签发 ticket 有效期(短) */
38
+ readonly ticketTtlMs: number;
39
+ };
@@ -49,4 +49,11 @@ export type ModuleInstalled = ModuleManifest & {
49
49
  hasServer: boolean;
50
50
  hasWeb: boolean;
51
51
  hasHook: boolean;
52
+ /** 席位展示(core 注入);作者/免费 seatsLabel/usedLabel 为 / */
53
+ seat?: {
54
+ seatsLabel: string;
55
+ usedLabel: string;
56
+ blocked: boolean;
57
+ tip?: string;
58
+ };
52
59
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vome-core",
3
- "version": "0.0.57",
3
+ "version": "0.0.59",
4
4
  "description": "Vome framework — shared + Bun/Elysia server + Vue admin",
5
5
  "license": "MIT",
6
6
  "type": "module",