vome-core 0.0.60 → 0.0.62

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 (40) hide show
  1. package/dist/admin/config/plugin-dev.d.ts +8 -0
  2. package/dist/admin/config/plugin-dev.js +1 -1
  3. package/dist/admin/crud/config.js +1 -1
  4. package/dist/admin/crud/confirm.js +1 -1
  5. package/dist/admin/crud/dict.js +1 -1
  6. package/dist/admin/crud/index.js +1 -1
  7. package/dist/admin/crud/key.js +1 -1
  8. package/dist/admin/crud/mitt.js +1 -1
  9. package/dist/admin/crud/plugins.js +1 -1
  10. package/dist/admin/crud/span.js +1 -1
  11. package/dist/admin/crud/style.js +1 -1
  12. package/dist/admin/crud/validate.js +1 -1
  13. package/dist/admin/directives/perm.js +1 -1
  14. package/dist/admin/hooks/useUpload.js +1 -1
  15. package/dist/admin/index.d.ts +1 -1
  16. package/dist/admin/index.js +6 -1
  17. package/dist/admin/lib/browser.js +1 -1
  18. package/dist/admin/lib/cn.js +1 -1
  19. package/dist/admin/lib/dialog-float.js +1 -1
  20. package/dist/admin/lib/export-excel.js +1 -1
  21. package/dist/admin/lib/file-preview.js +1 -1
  22. package/dist/admin/lib/import-excel.js +1 -1
  23. package/dist/admin/lib/json.js +1 -1
  24. package/dist/admin/lib/menu.js +1 -1
  25. package/dist/admin/lib/tree.js +1 -1
  26. package/dist/admin/lib/upload.js +1 -1
  27. package/dist/admin/lib/video-frame.js +1 -1
  28. package/dist/index.js +1 -1
  29. package/dist/server/index.js +1 -1
  30. package/dist/shared/excel.js +1 -1
  31. package/dist/shared/index.js +1 -1
  32. package/dist/shared/tree.js +1 -1
  33. package/dist/src/admin/config/plugin-dev.d.ts +52 -0
  34. package/dist/src/core/index.d.ts +1 -1
  35. package/dist/src/ext/index.d.ts +2 -2
  36. package/dist/src/ext/market-package.d.ts +8 -2
  37. package/dist/src/ext/market-runtime.d.ts +15 -1
  38. package/dist/src/ext/module-install-gate.d.ts +2 -1
  39. package/dist/src/server/index.d.ts +1 -1
  40. package/package.json +1 -1
@@ -1 +1 @@
1
- function _0x1a69(_0x58e86b,_0xca10e){_0x58e86b=_0x58e86b-0xc6;const _0x18c516=_0x18c5();let _0x1a69fc=_0x18c516[_0x58e86b];if(_0x1a69['XRALXy']===undefined){var _0x4ed661=function(_0x9b2d58){const _0x14bfb1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56d383='',_0x4d22eb='';for(let _0xd0b2d5=0x0,_0x5bda71,_0x568152,_0x4fb360=0x0;_0x568152=_0x9b2d58['charAt'](_0x4fb360++);~_0x568152&&(_0x5bda71=_0xd0b2d5%0x4?_0x5bda71*0x40+_0x568152:_0x568152,_0xd0b2d5++%0x4)?_0x56d383+=String['fromCharCode'](0xff&_0x5bda71>>(-0x2*_0xd0b2d5&0x6)):0x0){_0x568152=_0x14bfb1['indexOf'](_0x568152);}for(let _0x489c4a=0x0,_0x49d3c7=_0x56d383['length'];_0x489c4a<_0x49d3c7;_0x489c4a++){_0x4d22eb+='%'+('00'+_0x56d383['charCodeAt'](_0x489c4a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d22eb);};_0x1a69['dZlNtF']=_0x4ed661,_0x1a69['rmEzdI']={},_0x1a69['XRALXy']=!![];}const _0x19bf5b=_0x18c516[0x0],_0xa038e7=_0x58e86b+_0x19bf5b,_0x1930bd=_0x1a69['rmEzdI'][_0xa038e7];return!_0x1930bd?(_0x1a69fc=_0x1a69['dZlNtF'](_0x1a69fc),_0x1a69['rmEzdI'][_0xa038e7]=_0x1a69fc):_0x1a69fc=_0x1930bd,_0x1a69fc;}const _0x5b5841=_0x1a69;(function(_0x19dbbc,_0x2cbf71){const _0x48fbba=_0x1a69,_0x5c0def=_0x19dbbc();while(!![]){try{const _0x53d711=parseInt(_0x48fbba(0xcb))/0x1+-parseInt(_0x48fbba(0xe0))/0x2*(-parseInt(_0x48fbba(0xe3))/0x3)+-parseInt(_0x48fbba(0xdd))/0x4+parseInt(_0x48fbba(0xd2))/0x5*(parseInt(_0x48fbba(0xd7))/0x6)+-parseInt(_0x48fbba(0xd5))/0x7*(parseInt(_0x48fbba(0xe8))/0x8)+parseInt(_0x48fbba(0xdc))/0x9*(parseInt(_0x48fbba(0xc7))/0xa)+parseInt(_0x48fbba(0xe6))/0xb*(-parseInt(_0x48fbba(0xcf))/0xc);if(_0x53d711===_0x2cbf71)break;else _0x5c0def['push'](_0x5c0def['shift']());}catch(_0x5e8b0a){_0x5c0def['push'](_0x5c0def['shift']());}}}(_0x18c5,0xb16bc));import*as _0x56d383 from'xlsx';export const IMPORT_SKIP_FIELDS=['id',_0x5b5841(0xe1),_0x5b5841(0xde),'deletedAt',_0x5b5841(0xda)];export function isImportSkipField(_0x4d22eb){const _0x430199=_0x5b5841;return IMPORT_SKIP_FIELDS[_0x430199(0xdf)](_0x4d22eb);}export function buildExcelBuffer(_0xd0b2d5,_0x5bda71,_0x568152){const _0x4db3c1=_0x5b5841,_0x4fb360=_0xd0b2d5[_0x4db3c1(0xd4)](_0x4661a4=>_0x4661a4[_0x4db3c1(0xc9)]||_0x4661a4['prop']),_0x489c4a=_0x5bda71[_0x4db3c1(0xd4)](_0x1dd933=>_0xd0b2d5['map'](_0x2a14c9=>{const _0x4009b1=_0x4db3c1;if(_0x568152)return _0x568152(_0x2a14c9['prop'],_0x1dd933);const _0x42a767=_0x1dd933[_0x2a14c9[_0x4009b1(0xca)]];if(_0x42a767==null)return'';return String(_0x42a767);})),_0x49d3c7=_0x56d383[_0x4db3c1(0xd8)][_0x4db3c1(0xcc)]([_0x4fb360,..._0x489c4a]),_0x277adb=_0x56d383[_0x4db3c1(0xd8)]['book_new']();return _0x56d383[_0x4db3c1(0xd8)][_0x4db3c1(0xd1)](_0x277adb,_0x49d3c7,'Sheet1'),_0x56d383[_0x4db3c1(0xe4)](_0x277adb,{'bookType':_0x4db3c1(0xcd),'type':_0x4db3c1(0xce)});}function _0x18c5(){const _0x29021f=['Aw5JBhvKzxm','mtaXmda3oejPCfLQEa','y3jLyxrLvgLTzq','yxr0ywnOBwvUDdSGzMLSzw5HBwuQpvvurI04jYC','m1HRvezUsW','D3jPDgu','z2v0','mJe3ndq4vuHnwK9X','ChvZAa','ota0mtG0s2PHAvvR','lNHSC3G','mZa3mtmWv3nLwevO','zw5KC1DPDgG','BgfIzwW','ChjVCa','mZu2odGWB1bYz3Pg','yw9Hx3rVx3nOzwv0','EgXZEa','yxjYyxK','mZG0v0zftKjp','C2HLzxrFDg9FANnVBG','yM9VA19HChbLBMrFC2HLzxq','mtvlshPTrM4','C3rYAw5N','BwfW','nJnwCvvKBee','DhjPBq','mJuXode4mMfgsLj0uW','DxrPBhm','C2v0','DgvUyw50swq','BgvUz3rO','mJm0zwrRvw5b','mJe3mJe5nMHJuLznBq','DxbKyxrLvgLTzq'];_0x18c5=function(){return _0x29021f;};return _0x18c5();}export function buildImportTemplateBuffer(_0x54f45c){return buildExcelBuffer(_0x54f45c,[]);}export function parseExcelBuffer(_0x1924c9,_0x505c56){const _0x31d3e7=_0x5b5841,_0x230411=_0x56d383['read'](_0x1924c9,{'type':_0x31d3e7(0xce),'cellDates':!![]}),_0x59aa41=_0x230411['SheetNames'][0x0];if(!_0x59aa41)return[];const _0x34efe2=_0x230411['Sheets'][_0x59aa41];if(!_0x34efe2)return[];const _0x3a7497=_0x56d383[_0x31d3e7(0xd8)][_0x31d3e7(0xd0)](_0x34efe2,{'header':0x1,'defval':'','raw':![]});if(!_0x3a7497[_0x31d3e7(0xdb)])return[];const _0x3a97fb=(_0x3a7497[0x0]||[])[_0x31d3e7(0xd4)](_0x1e66c8=>String(_0x1e66c8??'')[_0x31d3e7(0xd6)]()),_0x510483=new Map();if(_0x505c56?.[_0x31d3e7(0xdb)])for(const _0x49ed47 of _0x505c56){_0x510483[_0x31d3e7(0xd9)](_0x49ed47[_0x31d3e7(0xc9)]['trim'](),_0x49ed47[_0x31d3e7(0xca)]),_0x510483[_0x31d3e7(0xd9)](_0x49ed47[_0x31d3e7(0xca)],_0x49ed47['prop']);}const _0x317711=_0x3a97fb[_0x31d3e7(0xd4)](_0x53631e=>{const _0x28f2f0=_0x31d3e7;if(!_0x53631e)return'';return _0x510483[_0x28f2f0(0xe5)](_0x53631e)||_0x53631e;}),_0x2659dc=[];for(let _0x280ef8=0x1;_0x280ef8<_0x3a7497[_0x31d3e7(0xdb)];_0x280ef8++){const _0xb2061d=_0x3a7497[_0x280ef8]||[],_0x5329f7={};let _0x279190=!![];for(let _0xf3d25d=0x0;_0xf3d25d<_0x317711[_0x31d3e7(0xdb)];_0xf3d25d++){const _0x393a8a=_0x317711[_0xf3d25d];if(!_0x393a8a)continue;let _0x1c15c2=_0xb2061d[_0xf3d25d];if(_0x1c15c2==null||_0x1c15c2===''){_0x5329f7[_0x393a8a]=_0x1c15c2==null?null:'';continue;}_0x279190=![],typeof _0x1c15c2===_0x31d3e7(0xd3)?_0x5329f7[_0x393a8a]=_0x1c15c2['trim']():_0x5329f7[_0x393a8a]=_0x1c15c2;}if(!_0x279190)_0x2659dc[_0x31d3e7(0xe7)](_0x5329f7);}return _0x2659dc;}export function excelFilename(_0x45dfa6){const _0x2bff29=_0x5b5841;return _0x45dfa6[_0x2bff29(0xc8)](_0x2bff29(0xc6))?_0x45dfa6:_0x45dfa6+_0x2bff29(0xc6);}export function excelResponseHeaders(_0x2c3ebe){const _0x50733d=_0x5b5841,_0x53269d=excelFilename(_0x2c3ebe);return{'Content-Type':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','Content-Disposition':_0x50733d(0xe2)+encodeURIComponent(_0x53269d)};}
1
+ const _0x462af1=_0x206f;(function(_0xf9ba86,_0x272e3c){const _0x2c8a8e=_0x206f,_0x484155=_0xf9ba86();while(!![]){try{const _0x14b829=parseInt(_0x2c8a8e(0x17a))/0x1*(-parseInt(_0x2c8a8e(0x177))/0x2)+-parseInt(_0x2c8a8e(0x173))/0x3*(-parseInt(_0x2c8a8e(0x15f))/0x4)+parseInt(_0x2c8a8e(0x15e))/0x5*(-parseInt(_0x2c8a8e(0x178))/0x6)+-parseInt(_0x2c8a8e(0x176))/0x7*(-parseInt(_0x2c8a8e(0x165))/0x8)+parseInt(_0x2c8a8e(0x15d))/0x9*(parseInt(_0x2c8a8e(0x17d))/0xa)+-parseInt(_0x2c8a8e(0x161))/0xb+parseInt(_0x2c8a8e(0x16b))/0xc;if(_0x14b829===_0x272e3c)break;else _0x484155['push'](_0x484155['shift']());}catch(_0x2a0e87){_0x484155['push'](_0x484155['shift']());}}}(_0x3e22,0x9d64f));import*as _0x3b086d from'xlsx';export const IMPORT_SKIP_FIELDS=['id',_0x462af1(0x164),_0x462af1(0x160),'deletedAt',_0x462af1(0x163)];export function isImportSkipField(_0x4a6a2a){const _0x5d7aa7=_0x462af1;return IMPORT_SKIP_FIELDS[_0x5d7aa7(0x162)](_0x4a6a2a);}export function buildExcelBuffer(_0x30aff2,_0x51d2a3,_0x3bcd65){const _0x5d2ad4=_0x462af1,_0x38ef31=_0x30aff2[_0x5d2ad4(0x167)](_0x432b09=>_0x432b09['label']||_0x432b09[_0x5d2ad4(0x16d)]),_0x3977c2=_0x51d2a3[_0x5d2ad4(0x167)](_0x3031ae=>_0x30aff2[_0x5d2ad4(0x167)](_0x5a613e=>{const _0x90ac05=_0x5d2ad4;if(_0x3bcd65)return _0x3bcd65(_0x5a613e['prop'],_0x3031ae);const _0x2d92e3=_0x3031ae[_0x5a613e[_0x90ac05(0x16d)]];if(_0x2d92e3==null)return'';return String(_0x2d92e3);})),_0x339976=_0x3b086d[_0x5d2ad4(0x170)][_0x5d2ad4(0x16e)]([_0x38ef31,..._0x3977c2]),_0x19a3ef=_0x3b086d[_0x5d2ad4(0x170)][_0x5d2ad4(0x15b)]();return _0x3b086d['utils'][_0x5d2ad4(0x172)](_0x19a3ef,_0x339976,'Sheet1'),_0x3b086d[_0x5d2ad4(0x174)](_0x19a3ef,{'bookType':_0x5d2ad4(0x179),'type':'array'});}export function buildImportTemplateBuffer(_0x2ef42c){return buildExcelBuffer(_0x2ef42c,[]);}function _0x3e22(){const _0x3b926b=['DxrPBhm','zw5KC1DPDgG','yM9VA19HChbLBMrFC2HLzxq','mJaWntvOAwDKq1m','D3jPDgu','ChvZAa','mtuZmty3tMruzgX5','nta3nZG2tKXLEKri','mJm4mte0mMHtz0z0zW','EgXZEa','nvbrrLbOqG','CMvHza','BgvUz3rO','mZiWC0rPAfLf','yM9VA19UzxC','C2HLzxrFDg9FANnVBG','mtm2mtqZBvnwD2Di','nuL2B09YBW','ntu2DxjOAuLP','DxbKyxrLvgLTzq','mtiZntiXotDcCwvXs0W','Aw5JBhvKzxm','DgvUyw50swq','y3jLyxrLvgLTzq','ofPtCfnfuq','lNHSC3G','BwfW','u2HLzxrZ','DhjPBq','u2HLzxroyw1LCW','mJm5oduZmtjPCefVshC','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','ChjVCa','yw9Hx3rVx3nOzwv0','C3rYAw5N'];_0x3e22=function(){return _0x3b926b;};return _0x3e22();}export function parseExcelBuffer(_0x1b98e8,_0x5a885d){const _0x1debd5=_0x462af1,_0x1bff15=_0x3b086d[_0x1debd5(0x17b)](_0x1b98e8,{'type':'array','cellDates':!![]}),_0x2c5d08=_0x1bff15[_0x1debd5(0x16a)][0x0];if(!_0x2c5d08)return[];const _0x4913e7=_0x1bff15[_0x1debd5(0x168)][_0x2c5d08];if(!_0x4913e7)return[];const _0x5914cc=_0x3b086d[_0x1debd5(0x170)][_0x1debd5(0x15c)](_0x4913e7,{'header':0x1,'defval':'','raw':![]});if(!_0x5914cc['length'])return[];const _0xa16436=(_0x5914cc[0x0]||[])[_0x1debd5(0x167)](_0x162d12=>String(_0x162d12??'')[_0x1debd5(0x169)]()),_0x350d14=new Map();if(_0x5a885d?.[_0x1debd5(0x17c)])for(const _0x21d1b5 of _0x5a885d){_0x350d14['set'](_0x21d1b5['label'][_0x1debd5(0x169)](),_0x21d1b5['prop']),_0x350d14['set'](_0x21d1b5[_0x1debd5(0x16d)],_0x21d1b5[_0x1debd5(0x16d)]);}const _0x49f20c=_0xa16436[_0x1debd5(0x167)](_0x17927b=>{if(!_0x17927b)return'';return _0x350d14['get'](_0x17927b)||_0x17927b;}),_0x48838d=[];for(let _0x14f8db=0x1;_0x14f8db<_0x5914cc[_0x1debd5(0x17c)];_0x14f8db++){const _0x15521c=_0x5914cc[_0x14f8db]||[],_0x367190={};let _0x160c5f=!![];for(let _0x1b95c3=0x0;_0x1b95c3<_0x49f20c[_0x1debd5(0x17c)];_0x1b95c3++){const _0x4521b7=_0x49f20c[_0x1b95c3];if(!_0x4521b7)continue;let _0x39d231=_0x15521c[_0x1b95c3];if(_0x39d231==null||_0x39d231===''){_0x367190[_0x4521b7]=_0x39d231==null?null:'';continue;}_0x160c5f=![],typeof _0x39d231===_0x1debd5(0x16f)?_0x367190[_0x4521b7]=_0x39d231[_0x1debd5(0x169)]():_0x367190[_0x4521b7]=_0x39d231;}if(!_0x160c5f)_0x48838d[_0x1debd5(0x175)](_0x367190);}return _0x48838d;}function _0x206f(_0x246321,_0x1a6b1b){_0x246321=_0x246321-0x15b;const _0x3e2228=_0x3e22();let _0x206fb0=_0x3e2228[_0x246321];if(_0x206f['yJaPei']===undefined){var _0xdd81d5=function(_0x2889eb){const _0x498541='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3b086d='',_0x4a6a2a='';for(let _0x30aff2=0x0,_0x51d2a3,_0x3bcd65,_0x38ef31=0x0;_0x3bcd65=_0x2889eb['charAt'](_0x38ef31++);~_0x3bcd65&&(_0x51d2a3=_0x30aff2%0x4?_0x51d2a3*0x40+_0x3bcd65:_0x3bcd65,_0x30aff2++%0x4)?_0x3b086d+=String['fromCharCode'](0xff&_0x51d2a3>>(-0x2*_0x30aff2&0x6)):0x0){_0x3bcd65=_0x498541['indexOf'](_0x3bcd65);}for(let _0x3977c2=0x0,_0x339976=_0x3b086d['length'];_0x3977c2<_0x339976;_0x3977c2++){_0x4a6a2a+='%'+('00'+_0x3b086d['charCodeAt'](_0x3977c2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a6a2a);};_0x206f['fvUrKh']=_0xdd81d5,_0x206f['RrCHWh']={},_0x206f['yJaPei']=!![];}const _0x48757e=_0x3e2228[0x0],_0x3241fc=_0x246321+_0x48757e,_0x44cc8f=_0x206f['RrCHWh'][_0x3241fc];return!_0x44cc8f?(_0x206fb0=_0x206f['fvUrKh'](_0x206fb0),_0x206f['RrCHWh'][_0x3241fc]=_0x206fb0):_0x206fb0=_0x44cc8f,_0x206fb0;}export function excelFilename(_0x4737f6){const _0x503c47=_0x462af1;return _0x4737f6[_0x503c47(0x171)](_0x503c47(0x166))?_0x4737f6:_0x4737f6+_0x503c47(0x166);}export function excelResponseHeaders(_0x46d16c){const _0x5d022a=_0x462af1,_0x5163e2=excelFilename(_0x46d16c);return{'Content-Type':_0x5d022a(0x16c),'Content-Disposition':'attachment;\x20filename*=UTF-8\x27\x27'+encodeURIComponent(_0x5163e2)};}
@@ -1 +1 @@
1
- function _0x11a7(){var _0x1cd5c8=['ndaWmdK3mtzbDM9rDMq','nZiXn3LfqMjNBW','otK5nZq2uwL2vvvm','ntu3neTtqxviyG','nZe4nZa2mfrSs0XZqW','mKP0wMj6qG','mJuXntvvBLftDKW','nJmYBu9Tuwvq','mJqZnwPkAhj1tq','mtnoBM9XqKq','mJeWnZa4nNjsEwvyDa','mtfnqKHcCgW','ndqXmMfXC01qqW'];_0x11a7=function(){return _0x1cd5c8;};return _0x11a7();}(function(_0x2de2b4,_0x5ddb8e){var _0x4ffe67=_0x2f1e,_0x189152=_0x2de2b4();while(!![]){try{var _0x6728b6=-parseInt(_0x4ffe67(0x77))/0x1+-parseInt(_0x4ffe67(0x7a))/0x2*(-parseInt(_0x4ffe67(0x72))/0x3)+-parseInt(_0x4ffe67(0x74))/0x4*(parseInt(_0x4ffe67(0x70))/0x5)+-parseInt(_0x4ffe67(0x78))/0x6*(parseInt(_0x4ffe67(0x76))/0x7)+-parseInt(_0x4ffe67(0x6f))/0x8*(parseInt(_0x4ffe67(0x7b))/0x9)+parseInt(_0x4ffe67(0x79))/0xa*(-parseInt(_0x4ffe67(0x73))/0xb)+-parseInt(_0x4ffe67(0x75))/0xc*(-parseInt(_0x4ffe67(0x71))/0xd);if(_0x6728b6===_0x5ddb8e)break;else _0x189152['push'](_0x189152['shift']());}catch(_0x2540f3){_0x189152['push'](_0x189152['shift']());}}}(_0x11a7,0x930b0));export{merge}from'../comm/merge';function _0x2f1e(_0x3f4864,_0xc62ff3){_0x3f4864=_0x3f4864-0x6f;var _0x11a7b8=_0x11a7();var _0x2f1ecc=_0x11a7b8[_0x3f4864];if(_0x2f1e['VGinFj']===undefined){var _0x18808=function(_0x4770c3){var _0x70a314='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x353a82='',_0x81df54='';for(var _0x4b7d31=0x0,_0x1a6d45,_0x9c7021,_0x26f2dd=0x0;_0x9c7021=_0x4770c3['charAt'](_0x26f2dd++);~_0x9c7021&&(_0x1a6d45=_0x4b7d31%0x4?_0x1a6d45*0x40+_0x9c7021:_0x9c7021,_0x4b7d31++%0x4)?_0x353a82+=String['fromCharCode'](0xff&_0x1a6d45>>(-0x2*_0x4b7d31&0x6)):0x0){_0x9c7021=_0x70a314['indexOf'](_0x9c7021);}for(var _0x133db3=0x0,_0x3af90e=_0x353a82['length'];_0x133db3<_0x3af90e;_0x133db3++){_0x81df54+='%'+('00'+_0x353a82['charCodeAt'](_0x133db3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x81df54);};_0x2f1e['MOZJMR']=_0x18808,_0x2f1e['BJRixL']={},_0x2f1e['VGinFj']=!![];}var _0x4f5ae1=_0x11a7b8[0x0],_0xcdf156=_0x3f4864+_0x4f5ae1,_0x2203e6=_0x2f1e['BJRixL'][_0xcdf156];return!_0x2203e6?(_0x2f1ecc=_0x2f1e['MOZJMR'](_0x2f1ecc),_0x2f1e['BJRixL'][_0xcdf156]=_0x2f1ecc):_0x2f1ecc=_0x2203e6,_0x2f1ecc;}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(_0x1f5647,_0x580e42){var _0x421552=_0x4379,_0x3b64cd=_0x1f5647();while(!![]){try{var _0x16922a=-parseInt(_0x421552(0x9e))/0x1+parseInt(_0x421552(0x9a))/0x2+parseInt(_0x421552(0x96))/0x3*(-parseInt(_0x421552(0x94))/0x4)+parseInt(_0x421552(0x97))/0x5*(-parseInt(_0x421552(0x9d))/0x6)+parseInt(_0x421552(0x98))/0x7*(-parseInt(_0x421552(0x95))/0x8)+parseInt(_0x421552(0x9b))/0x9*(-parseInt(_0x421552(0x9c))/0xa)+parseInt(_0x421552(0x99))/0xb;if(_0x16922a===_0x580e42)break;else _0x3b64cd['push'](_0x3b64cd['shift']());}catch(_0x4818ca){_0x3b64cd['push'](_0x3b64cd['shift']());}}}(_0x25ee,0xa8f44));export{merge}from'../comm/merge';function _0x25ee(){var _0x49c113=['mtq1ntC5mgTzqvPSwG','mZu4mKjOtuf0uq','nZG2odaXsuTKwevM','nZm1nda0whnVt2vd','mte5mK5MELzezW','mtHuD1PJA2O','mtm0nvDrtLPJua','ndq2ntn0q3P1z0K','mZK4mteWotbozuz6rNK','mtyWmZqYngzKt3forq','ndvVz0Xgvum'];_0x25ee=function(){return _0x49c113;};return _0x25ee();}function _0x4379(_0x97b1f7,_0x56376e){_0x97b1f7=_0x97b1f7-0x94;var _0x25ee7e=_0x25ee();var _0x43795f=_0x25ee7e[_0x97b1f7];if(_0x4379['NApxof']===undefined){var _0x97e072=function(_0x2ec521){var _0x1acc07='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3ebcd6='',_0x1495a4='';for(var _0x4b4e5c=0x0,_0x9b0391,_0x2a2804,_0xef2459=0x0;_0x2a2804=_0x2ec521['charAt'](_0xef2459++);~_0x2a2804&&(_0x9b0391=_0x4b4e5c%0x4?_0x9b0391*0x40+_0x2a2804:_0x2a2804,_0x4b4e5c++%0x4)?_0x3ebcd6+=String['fromCharCode'](0xff&_0x9b0391>>(-0x2*_0x4b4e5c&0x6)):0x0){_0x2a2804=_0x1acc07['indexOf'](_0x2a2804);}for(var _0x169d1d=0x0,_0xce0311=_0x3ebcd6['length'];_0x169d1d<_0xce0311;_0x169d1d++){_0x1495a4+='%'+('00'+_0x3ebcd6['charCodeAt'](_0x169d1d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1495a4);};_0x4379['ljvkcH']=_0x97e072,_0x4379['sUkDZM']={},_0x4379['NApxof']=!![];}var _0x1d9fe9=_0x25ee7e[0x0],_0x431ea7=_0x97b1f7+_0x1d9fe9,_0x4f5d35=_0x4379['sUkDZM'][_0x431ea7];return!_0x4f5d35?(_0x43795f=_0x4379['ljvkcH'](_0x43795f),_0x4379['sUkDZM'][_0x431ea7]=_0x43795f):_0x43795f=_0x4f5d35,_0x43795f;}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
- const _0x1bd868=_0x3146;function _0x1faf(){const _0x26b200=['mte4mMTMy2DoCa','mta2otGXnvb2BKDzBa','ntG3mfz3BuDqzW','mJeWotqYow9jrhfIuq','yxnJ','mtC5mtC3nKj1EejiEq','BgvUz3rO','B3jKzxjoDw0','mtC2nJK1mMPmzu90EG','z2v0','nZmXndqYDeTiBNHi','DMfSDwvZ','C29YDa','odaXmZnwtKvjAvi','mtzbvxrnExK','ChvZAa','AgfZ','y2HPBgrYzw4'];_0x1faf=function(){return _0x26b200;};return _0x1faf();}function _0x3146(_0x1d992b,_0x209fb8){_0x1d992b=_0x1d992b-0x17c;const _0x1faf8e=_0x1faf();let _0x314600=_0x1faf8e[_0x1d992b];if(_0x3146['HbvsEJ']===undefined){var _0x89d05f=function(_0x4f53c7){const _0x5dbcc9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b41b6='',_0x166fe0='';for(let _0x4825b7=0x0,_0x4ffb51,_0x2bb3ad,_0x5ec40a=0x0;_0x2bb3ad=_0x4f53c7['charAt'](_0x5ec40a++);~_0x2bb3ad&&(_0x4ffb51=_0x4825b7%0x4?_0x4ffb51*0x40+_0x2bb3ad:_0x2bb3ad,_0x4825b7++%0x4)?_0x4b41b6+=String['fromCharCode'](0xff&_0x4ffb51>>(-0x2*_0x4825b7&0x6)):0x0){_0x2bb3ad=_0x5dbcc9['indexOf'](_0x2bb3ad);}for(let _0x3ad06f=0x0,_0x21bb81=_0x4b41b6['length'];_0x3ad06f<_0x21bb81;_0x3ad06f++){_0x166fe0+='%'+('00'+_0x4b41b6['charCodeAt'](_0x3ad06f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x166fe0);};_0x3146['PhzpgQ']=_0x89d05f,_0x3146['eAbTqJ']={},_0x3146['HbvsEJ']=!![];}const _0x2584bd=_0x1faf8e[0x0],_0x404f87=_0x1d992b+_0x2584bd,_0x411757=_0x3146['eAbTqJ'][_0x404f87];return!_0x411757?(_0x314600=_0x3146['PhzpgQ'](_0x314600),_0x3146['eAbTqJ'][_0x404f87]=_0x314600):_0x314600=_0x411757,_0x314600;}(function(_0x3f5bdc,_0x545a52){const _0x4a6b52=_0x3146,_0x14f7de=_0x3f5bdc();while(!![]){try{const _0x33c99d=-parseInt(_0x4a6b52(0x18d))/0x1+parseInt(_0x4a6b52(0x18a))/0x2+-parseInt(_0x4a6b52(0x181))/0x3+parseInt(_0x4a6b52(0x188))/0x4+parseInt(_0x4a6b52(0x182))/0x5*(parseInt(_0x4a6b52(0x180))/0x6)+parseInt(_0x4a6b52(0x185))/0x7*(-parseInt(_0x4a6b52(0x17c))/0x8)+parseInt(_0x4a6b52(0x183))/0x9;if(_0x33c99d===_0x545a52)break;else _0x14f7de['push'](_0x14f7de['shift']());}catch(_0x1c3339){_0x14f7de['push'](_0x14f7de['shift']());}}}(_0x1faf,0x4f35c));export function deepTree(_0x4b41b6,_0x166fe0=_0x1bd868(0x184)){const _0x2b0f0e=_0x1bd868,_0x4825b7=new Map();for(const _0x5ec40a of _0x4b41b6){if(_0x5ec40a['id']==null)continue;_0x4825b7['set'](_0x5ec40a['id'],{..._0x5ec40a,'children':[]});}const _0x4ffb51=[];for(const _0x3ad06f of _0x4825b7[_0x2b0f0e(0x18b)]()){const _0x21bb81=_0x3ad06f['parentId'];_0x21bb81!=null&&_0x21bb81!==''&&_0x4825b7[_0x2b0f0e(0x17e)](_0x21bb81)?_0x4825b7[_0x2b0f0e(0x189)](_0x21bb81)[_0x2b0f0e(0x17f)][_0x2b0f0e(0x17d)](_0x3ad06f):_0x4ffb51[_0x2b0f0e(0x17d)](_0x3ad06f);}const _0x2bb3ad=_0x4cf3b2=>{const _0x33fbcd=_0x2b0f0e;_0x4cf3b2[_0x33fbcd(0x18c)]((_0x1b13fe,_0x2a7ee3)=>{const _0x4ad4ab=_0x33fbcd,_0x45d3b9=_0x1b13fe[_0x4ad4ab(0x187)]??0x0,_0x8123eb=_0x2a7ee3[_0x4ad4ab(0x187)]??0x0,_0x3edf5a=_0x166fe0==='desc'?_0x8123eb-_0x45d3b9:_0x45d3b9-_0x8123eb;return _0x3edf5a||Number(_0x1b13fe['id'])-Number(_0x2a7ee3['id']);});for(const _0x2cbc2f of _0x4cf3b2)if(_0x2cbc2f[_0x33fbcd(0x17f)]?.[_0x33fbcd(0x186)])_0x2bb3ad(_0x2cbc2f[_0x33fbcd(0x17f)]);};return _0x2bb3ad(_0x4ffb51),_0x4ffb51;}export function flattenTree(_0xd085a8,_0x278108,_0x47117a=0x0,_0x233eae=[]){const _0x53b7fc=_0x1bd868;for(const _0x425573 of _0xd085a8){const _0x5ecfb5=_0x425573[_0x53b7fc(0x17f)]||[];_0x233eae[_0x53b7fc(0x17d)]({..._0x425573,'depth':_0x47117a,'hasChildren':_0x5ecfb5[_0x53b7fc(0x186)]>0x0});if(_0x5ecfb5[_0x53b7fc(0x186)]&&_0x278108[_0x53b7fc(0x17e)](_0x425573['id']))flattenTree(_0x5ecfb5,_0x278108,_0x47117a+0x1,_0x233eae);}return _0x233eae;}
1
+ function _0x4bac(_0x5291cf,_0x81695d){_0x5291cf=_0x5291cf-0x18e;const _0x3b8d20=_0x3b8d();let _0x4bac24=_0x3b8d20[_0x5291cf];if(_0x4bac['XXZXoi']===undefined){var _0x29c8f5=function(_0x2ca849){const _0x10e459='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x405e8e='',_0x4687e7='';for(let _0x51730c=0x0,_0xd90daa,_0x2c77c0,_0x178d2e=0x0;_0x2c77c0=_0x2ca849['charAt'](_0x178d2e++);~_0x2c77c0&&(_0xd90daa=_0x51730c%0x4?_0xd90daa*0x40+_0x2c77c0:_0x2c77c0,_0x51730c++%0x4)?_0x405e8e+=String['fromCharCode'](0xff&_0xd90daa>>(-0x2*_0x51730c&0x6)):0x0){_0x2c77c0=_0x10e459['indexOf'](_0x2c77c0);}for(let _0x2f4eb9=0x0,_0x55a4d1=_0x405e8e['length'];_0x2f4eb9<_0x55a4d1;_0x2f4eb9++){_0x4687e7+='%'+('00'+_0x405e8e['charCodeAt'](_0x2f4eb9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4687e7);};_0x4bac['wgYWsN']=_0x29c8f5,_0x4bac['qFuAPC']={},_0x4bac['XXZXoi']=!![];}const _0x4fa940=_0x3b8d20[0x0],_0x272073=_0x5291cf+_0x4fa940,_0x4f3e9b=_0x4bac['qFuAPC'][_0x272073];return!_0x4f3e9b?(_0x4bac24=_0x4bac['wgYWsN'](_0x4bac24),_0x4bac['qFuAPC'][_0x272073]=_0x4bac24):_0x4bac24=_0x4f3e9b,_0x4bac24;}function _0x3b8d(){const _0x4f4a51=['DMfSDwvZ','z2v0','mteZnZqWmNHIs0r5qG','CgfYzw50swq','ndmWmZa1zNr2DxrJ','zgvZyW','muPHBMPzwq','C29YDa','BgvUz3rO','mtm3odG3mZbqt0fdr28','mtu0mJfKA2zTuKy','mtj5EgvHCge','nteXmZe4AgnfwLjv','mte3mZKZmfjxAwjUqW','mtu0ngTpz1rfrq','ChvZAa','B3jKzxjoDw0','AgfZ','mJC1nZu1mLvhr05KsG','C2v0'];_0x3b8d=function(){return _0x4f4a51;};return _0x3b8d();}(function(_0x2107eb,_0x209fcf){const _0x179b47=_0x4bac,_0x40f8f0=_0x2107eb();while(!![]){try{const _0x2b9d6b=-parseInt(_0x179b47(0x19c))/0x1*(parseInt(_0x179b47(0x18e))/0x2)+parseInt(_0x179b47(0x18f))/0x3+-parseInt(_0x179b47(0x194))/0x4+-parseInt(_0x179b47(0x19a))/0x5*(parseInt(_0x179b47(0x1a1))/0x6)+-parseInt(_0x179b47(0x1a0))/0x7*(parseInt(_0x179b47(0x190))/0x8)+parseInt(_0x179b47(0x198))/0x9+parseInt(_0x179b47(0x19f))/0xa;if(_0x2b9d6b===_0x209fcf)break;else _0x40f8f0['push'](_0x40f8f0['shift']());}catch(_0x2f2413){_0x40f8f0['push'](_0x40f8f0['shift']());}}}(_0x3b8d,0x567a5));export function deepTree(_0x405e8e,_0x4687e7='asc'){const _0x1e7746=_0x4bac,_0x51730c=new Map();for(const _0x178d2e of _0x405e8e){if(_0x178d2e['id']==null)continue;_0x51730c[_0x1e7746(0x195)](_0x178d2e['id'],{..._0x178d2e,'children':[]});}const _0xd90daa=[];for(const _0x2f4eb9 of _0x51730c[_0x1e7746(0x196)]()){const _0x55a4d1=_0x2f4eb9[_0x1e7746(0x199)];_0x55a4d1!=null&&_0x55a4d1!==''&&_0x51730c[_0x1e7746(0x193)](_0x55a4d1)?_0x51730c[_0x1e7746(0x197)](_0x55a4d1)['children'][_0x1e7746(0x191)](_0x2f4eb9):_0xd90daa[_0x1e7746(0x191)](_0x2f4eb9);}const _0x2c77c0=_0x2fdbb3=>{const _0x3e9723=_0x1e7746;_0x2fdbb3[_0x3e9723(0x19d)]((_0x197bb8,_0x57c322)=>{const _0xed0d1=_0x3e9723,_0x511fbe=_0x197bb8['orderNum']??0x0,_0x47acaa=_0x57c322[_0xed0d1(0x192)]??0x0,_0x2382a2=_0x4687e7===_0xed0d1(0x19b)?_0x47acaa-_0x511fbe:_0x511fbe-_0x47acaa;return _0x2382a2||Number(_0x197bb8['id'])-Number(_0x57c322['id']);});for(const _0x274290 of _0x2fdbb3)if(_0x274290['children']?.['length'])_0x2c77c0(_0x274290['children']);};return _0x2c77c0(_0xd90daa),_0xd90daa;}export function flattenTree(_0x3e9989,_0x589706,_0x25df6f=0x0,_0x33f0f1=[]){const _0x5e9987=_0x4bac;for(const _0x3eb876 of _0x3e9989){const _0x52e221=_0x3eb876['children']||[];_0x33f0f1[_0x5e9987(0x191)]({..._0x3eb876,'depth':_0x25df6f,'hasChildren':_0x52e221['length']>0x0});if(_0x52e221[_0x5e9987(0x19e)]&&_0x589706[_0x5e9987(0x193)](_0x3eb876['id']))flattenTree(_0x52e221,_0x589706,_0x25df6f+0x1,_0x33f0f1);}return _0x33f0f1;}
@@ -0,0 +1,52 @@
1
+ /** docsUrl → 官网后端 origin(主机前加 service.) */
2
+ export declare function serviceUrlFromDocs(docsUrl: string): string;
3
+ /** 席位 API 根(occupy / heartbeat / release) */
4
+ export declare function seatApiBaseFromDocs(docsUrl: string): string;
5
+ /** 联网安装签发 license */
6
+ export declare function licenseIssueUrlFromDocs(docsUrl: string): string;
7
+ export declare const pluginDev: {
8
+ readonly docsUrl: "https://vomekj.com";
9
+ /** 官网后端(由 docsUrl 派生) */
10
+ readonly serviceUrl: string;
11
+ readonly uploadUrl: "https://vomekj.com/plugins/upload";
12
+ /** 组织镜像:clone / 浏览优先 Gitee */
13
+ readonly mirrors: {
14
+ readonly prefer: "gitee";
15
+ readonly giteeOrg: "https://gitee.com/vomekj";
16
+ readonly githubOrg: "https://github.com/vomekj";
17
+ };
18
+ readonly scaffolds: {
19
+ readonly full: {
20
+ readonly key: "full";
21
+ readonly title: "前端 + 后端";
22
+ readonly desc: "完整业务模块脚手架(.vome:含 server 与 web),本地开发打包后发布。";
23
+ readonly repo: "vome-plugin-full";
24
+ readonly repoUrl: string;
25
+ readonly githubRepoUrl: string;
26
+ readonly downloadUrl: string;
27
+ readonly githubDownloadUrl: string;
28
+ };
29
+ readonly backend: {
30
+ readonly key: "backend";
31
+ readonly title: "纯后端";
32
+ readonly desc: "钩子 / 服务端插件脚手架(.vome:仅 server),适合上传、短信、支付等能力扩展。";
33
+ readonly repo: "vome-plugin-service";
34
+ readonly repoUrl: string;
35
+ readonly githubRepoUrl: string;
36
+ readonly downloadUrl: string;
37
+ readonly githubDownloadUrl: string;
38
+ };
39
+ readonly frontend: {
40
+ readonly key: "frontend";
41
+ readonly title: "纯前端";
42
+ readonly desc: "后台微应用脚手架(.vome:含 web/),以 wujie 挂载独立前端页面。";
43
+ readonly repo: "vome-plugin-front";
44
+ readonly repoUrl: string;
45
+ readonly githubRepoUrl: string;
46
+ readonly downloadUrl: string;
47
+ readonly githubDownloadUrl: string;
48
+ };
49
+ };
50
+ };
51
+ export type PluginDevConfig = typeof pluginDev;
52
+ export type PluginScaffoldKey = keyof typeof pluginDev.scaffolds;
@@ -15,7 +15,7 @@ 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, isSeatEnforced, isMarketSigEnforced, DEFAULT_SEAT_API_BASE, deriveHostIdentity, getHostIdentity, MARKET_SEAT_DEFAULTS, ensureSiteId, syncModuleSeat, syncAllModuleSeats, getModuleSeatStatus, listModuleSeatStatuses, isModuleSeatBlocked, assertModuleSeatActive, formatSeatDisplay, startMarketSeatHeartbeat, stopMarketSeatHeartbeat, bootstrapInstalledModules, } 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, MARKET_LIC_ENTRY, readZipMarketLicense, attachMarketLicense, assertModuleInstallAllowed, assertModuleDirAllowed, peekMarketPackage, installModuleFromZip, uninstallModuleFiles, isSeatEnforced, isMarketSigEnforced, DEFAULT_SEAT_API_BASE, DEFAULT_LICENSE_ISSUE_URL, fetchOfficialSignedLicense, deriveHostIdentity, getHostIdentity, MARKET_SEAT_DEFAULTS, ensureSiteId, syncModuleSeat, syncAllModuleSeats, getModuleSeatStatus, listModuleSeatStatuses, isModuleSeatBlocked, assertModuleSeatActive, formatSeatDisplay, startMarketSeatHeartbeat, stopMarketSeatHeartbeat, bootstrapInstalledModules, } from '../ext';
19
19
  export type { HostIdentity } from '../ext';
20
20
  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';
21
21
  export { defineAuthMacro } from '../auth';
@@ -12,11 +12,11 @@ export { ModuleRegistry, } from './module-registry';
12
12
  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
- export { hashZipEntries, readZipManifest, readMarketSig, sealVomeBuffer, verifySealedVome, } from './market-package';
15
+ export { hashZipEntries, readZipManifest, readMarketSig, sealVomeBuffer, verifySealedVome, MARKET_LIC_ENTRY, readZipMarketLicense, attachMarketLicense, } from './market-package';
16
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 { isSeatEnforced, isMarketSigEnforced, DEFAULT_SEAT_API_BASE, } from './market-runtime';
19
+ export { isSeatEnforced, isMarketSigEnforced, DEFAULT_SEAT_API_BASE, DEFAULT_LICENSE_ISSUE_URL, fetchOfficialSignedLicense, } from './market-runtime';
20
20
  export { deriveHostIdentity, getHostIdentity, } from './host-identity';
21
21
  export type { HostIdentity } from './host-identity';
22
22
  export { MARKET_SEAT_DEFAULTS, ensureSiteId, syncModuleSeat, syncAllModuleSeats, getModuleSeatStatus, listModuleSeatStatuses, isModuleSeatBlocked, assertModuleSeatActive, formatSeatDisplay, startMarketSeatHeartbeat, stopMarketSeatHeartbeat, bootstrapInstalledModules, } from './market-seat';
@@ -1,8 +1,10 @@
1
1
  import AdmZip from 'adm-zip';
2
2
  import type { KeyObject } from 'node:crypto';
3
3
  import type { ModuleManifest } from '../../typings/ext/module';
4
- import type { MarketPricing, MarketSigPayload } from '../../typings/ext/market';
5
- /** zip 内除 market.sig 外的条目做内容指纹 */
4
+ import type { MarketLicenseFile, MarketPricing, MarketSigPayload } from '../../typings/ext/market';
5
+ /** 随下载注入的永久 license(不参与内容指纹,安装时抽出) */
6
+ export declare const MARKET_LIC_ENTRY = "market.lic";
7
+ /** 对 zip 内除 market.sig / market.lic 外的条目做内容指纹 */
6
8
  export declare function hashZipEntries(zip: AdmZip): string;
7
9
  export declare function readZipManifest(zip: AdmZip): ModuleManifest;
8
10
  export type MarketSigFile = {
@@ -18,6 +20,10 @@ export declare function sealVomeBuffer(input: Buffer, opts: {
18
20
  pricing: MarketPricing;
19
21
  privateKey: string | Uint8Array | KeyObject;
20
22
  }): Buffer;
23
+ /** 读取包内随附 license(下载核销时注入) */
24
+ export declare function readZipMarketLicense(input: Buffer | AdmZip): MarketLicenseFile | null;
25
+ /** 签封后附加永久 license(不改 contentHash) */
26
+ export declare function attachMarketLicense(sealed: Buffer, license: MarketLicenseFile): Buffer;
21
27
  /**
22
28
  * 验签市场包。无 market.sig → 非市场包(null)。
23
29
  * 有签但失败 → 抛错。
@@ -1,5 +1,19 @@
1
- /** 官方席位 API 根(宿主勿再配 market.seatApiBase 开关);可用环境变量覆盖 */
1
+ import type { MarketLicenseFile } from '../../typings/ext/market';
2
+ /**
3
+ * 官方席位 API 根:由 pluginDev.docsUrl 派生
4
+ * (https://vomekj.com → https://service.vomekj.com/app/pluginStore/seat)
5
+ */
2
6
  export declare const DEFAULT_SEAT_API_BASE: string;
7
+ /**
8
+ * 官方联网 license 签发:同 docsUrl 派生
9
+ * (…/app/pluginStore/wallet/license/issue)
10
+ */
11
+ export declare const DEFAULT_LICENSE_ISSUE_URL: string;
12
+ /**
13
+ * 向官网拉取签名 license(只采信签名原文,不采信 boolean)
14
+ * proofLicense:已有永久 .lic 时用于无登录换发(带 nonce)
15
+ */
16
+ export declare function fetchOfficialSignedLicense(marketId: string, nonce: string, proofLicense?: MarketLicenseFile | null): Promise<MarketLicenseFile | null>;
3
17
  /**
4
18
  * 是否强制市场验签 + 席位占用。
5
19
  * 仅编译产物为 true;开发 watch 为 false。
@@ -2,9 +2,10 @@ import type { AssertModuleInstallOptions, InstallGateResult } from '../../typing
2
2
  import type { MarketSigFile } from './market-package';
3
3
  /**
4
4
  * 安装前强制门禁(写入 core):
5
+ * - 开发(未 SEAT_ENFORCE):不验签,放行
5
6
  * - 无市场签名 → 自研包,放行
6
7
  * - 签名 free → 放行
7
- * - 签名 paid → 须本地 .lic 或联网拉取「签名 license」验签通过(不采信 boolean)
8
+ * - 签名 paid → 包内 market.lic / 本地 .lic / 联网签发(验签通过后落盘)
8
9
  */
9
10
  export declare function assertModuleInstallAllowed(zipPathOrBuffer: string | Buffer, opts?: AssertModuleInstallOptions): Promise<InstallGateResult>;
10
11
  declare function readDirMarketSig(dir: string): MarketSigFile | null;
@@ -4,7 +4,7 @@
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, isSeatEnforced, isMarketSigEnforced, DEFAULT_SEAT_API_BASE, deriveHostIdentity, getHostIdentity, MARKET_SEAT_DEFAULTS, ensureSiteId, syncModuleSeat, syncAllModuleSeats, getModuleSeatStatus, listModuleSeatStatuses, isModuleSeatBlocked, assertModuleSeatActive, formatSeatDisplay, startMarketSeatHeartbeat, stopMarketSeatHeartbeat, bootstrapInstalledModules, } 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, MARKET_LIC_ENTRY, readZipMarketLicense, attachMarketLicense, assertModuleInstallAllowed, assertModuleDirAllowed, peekMarketPackage, installModuleFromZip, uninstallModuleFiles, isSeatEnforced, isMarketSigEnforced, DEFAULT_SEAT_API_BASE, DEFAULT_LICENSE_ISSUE_URL, fetchOfficialSignedLicense, deriveHostIdentity, getHostIdentity, MARKET_SEAT_DEFAULTS, ensureSiteId, syncModuleSeat, syncAllModuleSeats, getModuleSeatStatus, listModuleSeatStatuses, isModuleSeatBlocked, assertModuleSeatActive, formatSeatDisplay, startMarketSeatHeartbeat, stopMarketSeatHeartbeat, bootstrapInstalledModules, } from '../core';
8
8
  export type { HostIdentity } from '../core';
9
9
  export { buildExcelBuffer, buildImportTemplateBuffer, parseExcelBuffer, excelFilename, excelResponseHeaders, IMPORT_SKIP_FIELDS, isImportSkipField, } from '../shared/excel';
10
10
  export type { ExcelColumn, ExcelFormatCell } from '../shared/excel';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vome-core",
3
- "version": "0.0.60",
3
+ "version": "0.0.62",
4
4
  "description": "Vome framework — shared + Bun/Elysia server + Vue admin",
5
5
  "license": "MIT",
6
6
  "type": "module",