anncic-api 3.7.18 → 3.7.19

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,51 @@
1
- var a0_0x1c0ba4=a0_0x16f1;(function(_0x2dad5a,_0x4a7e5e){var _0x16a3d8=a0_0x16f1,_0x47c7d3=_0x2dad5a();while(!![]){try{var _0x45ea28=parseInt(_0x16a3d8(0x1a3))/0x1+-parseInt(_0x16a3d8(0x1a7))/0x2+parseInt(_0x16a3d8(0x1a6))/0x3*(parseInt(_0x16a3d8(0x1b6))/0x4)+-parseInt(_0x16a3d8(0x1b4))/0x5*(parseInt(_0x16a3d8(0x1b1))/0x6)+parseInt(_0x16a3d8(0x1b9))/0x7*(-parseInt(_0x16a3d8(0x1b3))/0x8)+-parseInt(_0x16a3d8(0x1ad))/0x9+parseInt(_0x16a3d8(0x1b0))/0xa;if(_0x45ea28===_0x4a7e5e)break;else _0x47c7d3['push'](_0x47c7d3['shift']());}catch(_0x3a4b22){_0x47c7d3['push'](_0x47c7d3['shift']());}}}(a0_0x1afc,0xf1c70));function a0_0x1afc(){var _0x58d71d=['env','constructor','1545QtgaIE','577126fwqzNT','name','/runtime','json','appDir','{midway-bull}{','7467552JhUpDH','default','20mb','23186960KulIbY','558CVUsNq','search','60056FPxmgy','38535kDmZhv','zhiulanuiy7892387985hnoi','532hkvHhh','dhauo1234420123gg3234901','form','973RtoTVW','(((.+)+)+)+$','text','defineProperty','270d','toString','1481644OkOqDd'];a0_0x1afc=function(){return _0x58d71d;};return a0_0x1afc();}var a0_0x53cad8=(function(){var _0x5c00bf=!![];return function(_0x2f903f,_0x9198f1){var _0x15ea26=_0x5c00bf?function(){if(_0x9198f1){var _0x4b6b6b=_0x9198f1['apply'](_0x2f903f,arguments);return _0x9198f1=null,_0x4b6b6b;}}:function(){};return _0x5c00bf=![],_0x15ea26;};}()),a0_0x15b272=a0_0x53cad8(this,function(){var _0x4b01ad=a0_0x16f1;return a0_0x15b272[_0x4b01ad(0x1a2)]()['search']('(((.+)+)+)+$')[_0x4b01ad(0x1a2)]()[_0x4b01ad(0x1a5)](a0_0x15b272)[_0x4b01ad(0x1b2)](_0x4b01ad(0x1ba));});function a0_0x16f1(_0x30b7aa,_0x12c22b){var _0x1bd133=a0_0x1afc();return a0_0x16f1=function(_0x15b272,_0x53cad8){_0x15b272=_0x15b272-0x1a2;var _0x1afc29=_0x1bd133[_0x15b272];return _0x1afc29;},a0_0x16f1(_0x30b7aa,_0x12c22b);}a0_0x15b272();'use strict';Object[a0_0x1c0ba4(0x1bc)](exports,'__esModule',{'value':!![]}),exports[a0_0x1c0ba4(0x1ae)]=_0x8b7ed7=>{var _0x22bacc=a0_0x1c0ba4;return{'apitest':!![],'keys':_0x8b7ed7[_0x22bacc(0x1a8)],'anncicapi':{'requestKey':'_token','password':_0x22bacc(0x1b5),'devices':{'DEFAULT':{'secret':_0x22bacc(0x1b7),'checkcode':_0x22bacc(0x1b7)}}},'koa':{'proxy':!![]},'midwayLogger':{'default':{'maxSize':'1m','maxFiles':_0x22bacc(0x1bd),'dir':_0x8b7ed7[_0x22bacc(0x1ab)]+_0x22bacc(0x1a9)}},'bodyParser':{'enableTypes':[_0x22bacc(0x1aa),_0x22bacc(0x1b8),_0x22bacc(0x1bb),'xml'],'formLimit':'20mb','jsonLimit':_0x22bacc(0x1af),'textLimit':_0x22bacc(0x1af),'xmlLimit':'20mb','enable':!![]},'upload':{'tmpdir':_0x8b7ed7['appDir']+'/runtime/.upload','cleanTimeout':0x5265c00},'busboy':{'mode':'file','tmpdir':_0x8b7ed7['appDir']+'/runtime/.upload','cleanTimeout':0x5265c00},'bull':{'defaultQueueOptions':{'prefix':_0x22bacc(0x1ac)+_0x8b7ed7[_0x22bacc(0x1a8)]+':'+((_0x8b7ed7===null||_0x8b7ed7===void 0x0?void 0x0:_0x8b7ed7[_0x22bacc(0x1a4)])?_0x8b7ed7[_0x22bacc(0x1a4)]+':':'')+')'}}};};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = appinfo => {
4
+ return {
5
+ apitest: true,
6
+ keys: appinfo.name,
7
+ anncicapi: {
8
+ requestKey: "_token",
9
+ password: 'zhiulanuiy7892387985hnoi',
10
+ devices: {
11
+ DEFAULT: {
12
+ secret: 'dhauo1234420123gg3234901',
13
+ checkcode: 'dhauo1234420123gg3234901',
14
+ }
15
+ }
16
+ },
17
+ koa: {
18
+ proxy: true,
19
+ },
20
+ midwayLogger: {
21
+ default: {
22
+ maxSize: '1m',
23
+ maxFiles: '270d',
24
+ dir: `${appinfo.appDir}/runtime`,
25
+ }
26
+ },
27
+ bodyParser: {
28
+ enableTypes: ['json', 'form', 'text', 'xml'],
29
+ formLimit: '20mb',
30
+ jsonLimit: '20mb',
31
+ textLimit: '20mb',
32
+ xmlLimit: '20mb',
33
+ enable: true,
34
+ },
35
+ upload: {
36
+ tmpdir: `${appinfo.appDir}/runtime/.upload`,
37
+ cleanTimeout: 86400000,
38
+ },
39
+ busboy: {
40
+ mode: 'file',
41
+ tmpdir: `${appinfo.appDir}/runtime/.upload`,
42
+ cleanTimeout: 86400000,
43
+ },
44
+ bull: {
45
+ defaultQueueOptions: {
46
+ prefix: `{midway-bull}{${appinfo.name}:${(appinfo === null || appinfo === void 0 ? void 0 : appinfo.env) ? `${appinfo.env}:` : ''})`
47
+ },
48
+ },
49
+ };
50
+ };
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsa0JBQWUsT0FBTyxDQUFDLEVBQUU7SUFDckIsT0FBTztRQUNILE9BQU8sRUFBRSxJQUFJO1FBQ2IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ2xCLFNBQVMsRUFBRTtZQUNQLFVBQVUsRUFBRSxRQUFRO1lBQ3BCLFFBQVEsRUFBRSwwQkFBMEI7WUFDcEMsT0FBTyxFQUFFO2dCQUNMLE9BQU8sRUFBRTtvQkFDTCxNQUFNLEVBQUUsMEJBQTBCO29CQUNsQyxTQUFTLEVBQUUsMEJBQTBCO2lCQUN4QzthQUNKO1NBQ0o7UUFDRCxHQUFHLEVBQUU7WUFDRCxLQUFLLEVBQUUsSUFBSTtTQUNkO1FBQ0QsWUFBWSxFQUFFO1lBQ1YsT0FBTyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFFBQVEsRUFBRSxNQUFNO2dCQUNoQixHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxVQUFVO2FBQ25DO1NBQ0o7UUFDRCxVQUFVLEVBQUU7WUFDUixXQUFXLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUM7WUFDNUMsU0FBUyxFQUFFLE1BQU07WUFDakIsU0FBUyxFQUFFLE1BQU07WUFDakIsU0FBUyxFQUFFLE1BQU07WUFDakIsUUFBUSxFQUFFLE1BQU07WUFDaEIsTUFBTSxFQUFFLElBQUk7U0FDZjtRQUNELE1BQU0sRUFBRTtZQUNKLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLGtCQUFrQjtZQUMzQyxZQUFZLEVBQUUsUUFBUTtTQUN6QjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sa0JBQWtCO1lBQzNDLFlBQVksRUFBRSxRQUFRO1NBQ3pCO1FBQ0QsSUFBSSxFQUFDO1lBQ0QsbUJBQW1CLEVBQUU7Z0JBQ2pCLE1BQU0sRUFBRSxpQkFBaUIsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUc7YUFDcEY7U0FDSjtLQUNKLENBQUE7QUFDTCxDQUFDLENBQUMifQ==
@@ -1 +1,10 @@
1
- var a1_0x1b32cc=a1_0x55c8;function a1_0x1dfe(){var _0x5da9c1=['671344GdeqdQ','356812uqBkeR','defineProperty','3xBmLFO','search','2231754WEzkhj','16NIPWsF','constructor','20GBabUK','toString','1235745HSsYVZ','3043044YqoSVx','(((.+)+)+)+$','__esModule','2519741yskKjV','30665450qxcupr'];a1_0x1dfe=function(){return _0x5da9c1;};return a1_0x1dfe();}(function(_0x46bfd2,_0x14afba){var _0x5a1528=a1_0x55c8,_0x3b686a=_0x46bfd2();while(!![]){try{var _0x23fa5e=-parseInt(_0x5a1528(0x154))/0x1*(parseInt(_0x5a1528(0x152))/0x2)+-parseInt(_0x5a1528(0x15c))/0x3+-parseInt(_0x5a1528(0x151))/0x4*(parseInt(_0x5a1528(0x159))/0x5)+parseInt(_0x5a1528(0x156))/0x6+parseInt(_0x5a1528(0x15f))/0x7*(-parseInt(_0x5a1528(0x157))/0x8)+parseInt(_0x5a1528(0x15b))/0x9+parseInt(_0x5a1528(0x150))/0xa;if(_0x23fa5e===_0x14afba)break;else _0x3b686a['push'](_0x3b686a['shift']());}catch(_0x9d2e30){_0x3b686a['push'](_0x3b686a['shift']());}}}(a1_0x1dfe,0x9b05d));var a1_0xb768b=(function(){var _0xc3ca2=!![];return function(_0x22cb15,_0x5d08f1){var _0x34ae62=_0xc3ca2?function(){if(_0x5d08f1){var _0x27fdd6=_0x5d08f1['apply'](_0x22cb15,arguments);return _0x5d08f1=null,_0x27fdd6;}}:function(){};return _0xc3ca2=![],_0x34ae62;};}()),a1_0x4bf5c7=a1_0xb768b(this,function(){var _0x3becb2=a1_0x55c8;return a1_0x4bf5c7[_0x3becb2(0x15a)]()[_0x3becb2(0x155)](_0x3becb2(0x15d))[_0x3becb2(0x15a)]()[_0x3becb2(0x158)](a1_0x4bf5c7)['search'](_0x3becb2(0x15d));});a1_0x4bf5c7();'use strict';function a1_0x55c8(_0x36d953,_0x31eb67){var _0x4c6181=a1_0x1dfe();return a1_0x55c8=function(_0x4bf5c7,_0xb768b){_0x4bf5c7=_0x4bf5c7-0x150;var _0x1dfe8b=_0x4c6181[_0x4bf5c7];return _0x1dfe8b;},a1_0x55c8(_0x36d953,_0x31eb67);}Object[a1_0x1b32cc(0x153)](exports,a1_0x1b32cc(0x15e),{'value':!![]}),exports['default']=_0x1e4b87=>{return{'koa':{'proxy':![]}};};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = appinfo => {
4
+ return {
5
+ koa: {
6
+ proxy: false,
7
+ },
8
+ };
9
+ };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9jb25maWcubG9jYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxrQkFBZSxPQUFPLENBQUMsRUFBRTtJQUNyQixPQUFPO1FBQ0gsR0FBRyxFQUFFO1lBQ0QsS0FBSyxFQUFFLEtBQUs7U0FDZjtLQUNKLENBQUE7QUFDTCxDQUFDLENBQUEifQ==
@@ -1 +1,7 @@
1
- var a2_0x298e92=a2_0x5977;(function(_0x5c1414,_0x3c5788){var _0x282305=a2_0x5977,_0x1cbaec=_0x5c1414();while(!![]){try{var _0x3a3bcb=parseInt(_0x282305(0x1da))/0x1+parseInt(_0x282305(0x1dd))/0x2*(-parseInt(_0x282305(0x1d9))/0x3)+parseInt(_0x282305(0x1eb))/0x4*(-parseInt(_0x282305(0x1ec))/0x5)+-parseInt(_0x282305(0x1e9))/0x6*(parseInt(_0x282305(0x1e2))/0x7)+-parseInt(_0x282305(0x1e8))/0x8*(-parseInt(_0x282305(0x1e6))/0x9)+parseInt(_0x282305(0x1db))/0xa+-parseInt(_0x282305(0x1e3))/0xb*(-parseInt(_0x282305(0x1e7))/0xc);if(_0x3a3bcb===_0x3c5788)break;else _0x1cbaec['push'](_0x1cbaec['shift']());}catch(_0x40e699){_0x1cbaec['push'](_0x1cbaec['shift']());}}}(a2_0x1755,0x68bb1));var a2_0x976e24=(function(){var _0x37eab2=!![];return function(_0x33b0b1,_0xe8295f){var _0x26f966=_0x37eab2?function(){var _0x2bea59=a2_0x5977;if(_0xe8295f){var _0x20a05e=_0xe8295f[_0x2bea59(0x1e1)](_0x33b0b1,arguments);return _0xe8295f=null,_0x20a05e;}}:function(){};return _0x37eab2=![],_0x26f966;};}()),a2_0x410775=a2_0x976e24(this,function(){var _0x5ba90e=a2_0x5977;return a2_0x410775['toString']()[_0x5ba90e(0x1df)](_0x5ba90e(0x1ea))[_0x5ba90e(0x1e4)]()[_0x5ba90e(0x1e0)](a2_0x410775)['search'](_0x5ba90e(0x1ea));});a2_0x410775();function a2_0x1755(){var _0x24abd9=['227175RSODRr','6636250oigZCS','__esModule','50128vYxhPN','defineProperty','search','constructor','apply','4550oscxnY','1032988FyDEXv','toString','default','144oziPeo','168MKaStC','528wUNJxA','5928rIXAzb','(((.+)+)+)+$','1834652evjZAY','5vTGDvs','81JmBlyu'];a2_0x1755=function(){return _0x24abd9;};return a2_0x1755();}function a2_0x5977(_0x3839cd,_0x518706){var _0x172dfa=a2_0x1755();return a2_0x5977=function(_0x410775,_0x976e24){_0x410775=_0x410775-0x1d9;var _0x1755b6=_0x172dfa[_0x410775];return _0x1755b6;},a2_0x5977(_0x3839cd,_0x518706);}'use strict';Object[a2_0x298e92(0x1de)](exports,a2_0x298e92(0x1dc),{'value':!![]}),exports[a2_0x298e92(0x1e5)]={'apitest':![],'anncicapi':{}};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ apitest: false,
5
+ anncicapi: {},
6
+ };
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnByb2R1Y3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5wcm9kdWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsa0JBQWU7SUFDWCxPQUFPLEVBQUUsS0FBSztJQUNkLFNBQVMsRUFBQyxFQUVUO0NBQ0osQ0FBQSJ9
@@ -1 +1,292 @@
1
- function a3_0x1664(_0x3dda7a,_0x24477c){const _0x89c9c2=a3_0x26ad();return a3_0x1664=function(_0x786695,_0x4c3b33){_0x786695=_0x786695-0xd9;let _0x26ad03=_0x89c9c2[_0x786695];return _0x26ad03;},a3_0x1664(_0x3dda7a,_0x24477c);}const a3_0x4a4c12=a3_0x1664;(function(_0x30e7df,_0x20d755){const _0x49d2a6=a3_0x1664,_0x1c4051=_0x30e7df();while(!![]){try{const _0x31b230=-parseInt(_0x49d2a6(0x167))/0x1+-parseInt(_0x49d2a6(0x146))/0x2+-parseInt(_0x49d2a6(0x11c))/0x3*(-parseInt(_0x49d2a6(0x15d))/0x4)+parseInt(_0x49d2a6(0x13b))/0x5+-parseInt(_0x49d2a6(0x14d))/0x6*(-parseInt(_0x49d2a6(0x159))/0x7)+-parseInt(_0x49d2a6(0x16e))/0x8+-parseInt(_0x49d2a6(0x14a))/0x9*(-parseInt(_0x49d2a6(0x148))/0xa);if(_0x31b230===_0x20d755)break;else _0x1c4051['push'](_0x1c4051['shift']());}catch(_0x265817){_0x1c4051['push'](_0x1c4051['shift']());}}}(a3_0x26ad,0xb63b0));const a3_0x4c3b33=(function(){let _0x486612=!![];return function(_0x55eb3b,_0x56b25a){const _0x1fdfc9=_0x486612?function(){const _0x415a67=a3_0x1664;if(_0x56b25a){const _0x44867a=_0x56b25a[_0x415a67(0xfc)](_0x55eb3b,arguments);return _0x56b25a=null,_0x44867a;}}:function(){};return _0x486612=![],_0x1fdfc9;};}()),a3_0x786695=a3_0x4c3b33(this,function(){const _0x422df9=a3_0x1664;return a3_0x786695[_0x422df9(0x155)]()[_0x422df9(0x137)](_0x422df9(0x145))[_0x422df9(0x155)]()[_0x422df9(0x105)](a3_0x786695)[_0x422df9(0x137)](_0x422df9(0x145));});function a3_0x26ad(){const _0x4b7d80=['match','917120aystqq','length','文件不存在','@anncic-api/typeorm','clients','__metadata','prototype','11558232GdRbmc','443','target','getAppDir','loggerConfig','environment','apps-','isString','toLowerCase','attachment','./exception/ApiError','keys','connection','dir','join','handler','@anncic-api/validator','req','query','koa-send','upload','https://','MidwayConfigService','checksign','requestKey','forEach','CustomConfiguration','split','existsSync','registerMethodHandler','host','getOwnPropertyDescriptor','routerName','/app','path','midwayLogger','__decorate','dirs','request','proceed','lastIndexOf','filterConfig','createLogger','defineProperty','statSync','getClassMetadata','headers','apply','includes','device','Anncic-api\x20static-file\x20:\x20mkdir\x20','application','@midwayjs/cross-domain','routerOptions','Anncic-api\x20upload-tmpdir\x20:\x20mkdir\x20','App','constructor','@midwayjs/static-file','encrypted','staticFile','./types/action','string','isDevelopmentEnvironment','@anncic-api/event','MidwayDecoratorService','body','undefined','addObject','_matchedRouteMeta','app','substring','anncic-apihelper','Types','bodyXml','InterceptTargetTmp','getBaseDir','INTERCEPT_KEY','Inject','context','366GmLMVK','@midwayjs/koa','tmpdir','runtime','intercept','module','filepath','isNull','/apps','description','getAsync','./service/ApiService','tagName','function','isDirectory','readdirSync','defaultsDeep','log','parse','/basic','onReady','@midwayjs/core','basic','isFunction','@anncic-api/cache','Configuration','_UNKNOW_','search','_matchedRoute','anncic-api','./types/intercept','2688395PJFlcn','key','input','handlerActionRoute','config','@midwayjs/busboy','devices','hanlderApplications','decorator','ApiError','(((.+)+)+)+$','384648mBeIOa','apimit','1480940lKLsiU','MidwayLoggerService','63pDUbJn','args','object','19752wmBFVX','app.log','@anncic-api/core','REQUEST_OBJ_CTX_KEY','loggerService','DEFAULT','startsWith','anncicapi','toString','design:type','ACTION_ROUTE_KEY','http','2128bBxklc','APPSCONFIG_KEY','ApiService','270d','23788sOKVsm','method','metadata','ACTION_KEY','HEADERS_SIGNATURE','getConfiguration','MidwayEnvironmentService','decorate','http://'];a3_0x26ad=function(){return _0x4b7d80;};return a3_0x26ad();}a3_0x786695();'use strict';var __decorate=this&&this[a3_0x4a4c12(0xf1)]||function(_0x210f51,_0x7004d1,_0x408f99,_0x4b1f34){const _0x22cf37=a3_0x4a4c12;var _0x417981=arguments[_0x22cf37(0x168)],_0x5ea784=_0x417981<0x3?_0x7004d1:_0x4b1f34===null?_0x4b1f34=Object[_0x22cf37(0xec)](_0x7004d1,_0x408f99):_0x4b1f34,_0xdea66;if(typeof Reflect==='object'&&typeof Reflect[_0x22cf37(0x164)]==='function')_0x5ea784=Reflect['decorate'](_0x210f51,_0x7004d1,_0x408f99,_0x4b1f34);else{for(var _0x414ecb=_0x210f51['length']-0x1;_0x414ecb>=0x0;_0x414ecb--)if(_0xdea66=_0x210f51[_0x414ecb])_0x5ea784=(_0x417981<0x3?_0xdea66(_0x5ea784):_0x417981>0x3?_0xdea66(_0x7004d1,_0x408f99,_0x5ea784):_0xdea66(_0x7004d1,_0x408f99))||_0x5ea784;}return _0x417981>0x3&&_0x5ea784&&Object[_0x22cf37(0xf8)](_0x7004d1,_0x408f99,_0x5ea784),_0x5ea784;},__metadata=this&&this[a3_0x4a4c12(0x16c)]||function(_0x2f24fb,_0x5f48ce){const _0xfc75cd=a3_0x4a4c12;if(typeof Reflect===_0xfc75cd(0x14c)&&typeof Reflect[_0xfc75cd(0x15f)]===_0xfc75cd(0x129))return Reflect[_0xfc75cd(0x15f)](_0x2f24fb,_0x5f48ce);};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports[a3_0x4a4c12(0xe7)]=void 0x0;const core_1=require(a3_0x4a4c12(0x131)),core_2=require(a3_0x4a4c12(0x131)),ApiError_1=require(a3_0x4a4c12(0x178)),ApiService_1=require(a3_0x4a4c12(0x127)),intercept_1=require(a3_0x4a4c12(0x13a)),action_1=require(a3_0x4a4c12(0x109)),fs=require('fs'),path=require(a3_0x4a4c12(0xef)),koasend=require(a3_0x4a4c12(0xe0)),koa=require(a3_0x4a4c12(0x11d)),upload=require(a3_0x4a4c12(0x140)),staticFile=require(a3_0x4a4c12(0x106)),crossDomain=require(a3_0x4a4c12(0x101)),ConfigDefault=require('./config/config.default'),ConfigProduction=require('./config/config.production'),anncic=require(a3_0x4a4c12(0x14f)),anncicCache=require(a3_0x4a4c12(0x134)),anncicEvent=require(a3_0x4a4c12(0x10c)),anncicTypeorm=require(a3_0x4a4c12(0x16a)),anncicValidator=require(a3_0x4a4c12(0xdd)),anncicHelper=require(a3_0x4a4c12(0x114));let CustomConfiguration=class CustomConfiguration{async[a3_0x4a4c12(0x130)](){const _0x423b2a=a3_0x4a4c12;await this[_0x423b2a(0xf6)](),await this['loggerConfig'](),await this[_0x423b2a(0x13e)](),await this[_0x423b2a(0x142)]();}async[a3_0x4a4c12(0x13e)](){const _0x4f0233=a3_0x4a4c12,_0x4c1d86=this[_0x4f0233(0x13f)][_0x4f0233(0x162)](),_0x4a3b7c=(0x0,core_1[_0x4f0233(0xfa)])(intercept_1[_0x4f0233(0x119)],intercept_1[_0x4f0233(0x117)])||{};this[_0x4f0233(0x143)][_0x4f0233(0xea)](action_1[_0x4f0233(0x157)],_0x49d787=>{const _0x3c5a3c=_0x4f0233;var _0x278779;const _0x3aa363=(0x0,core_1[_0x3c5a3c(0xfa)])(action_1[_0x3c5a3c(0x15a)],action_1['AppsConfigTmp'])||{},_0x53b0f9=_0x49d787[_0x3c5a3c(0x15f)],_0x19dfda=(0x0,core_1[_0x3c5a3c(0xfa)])(action_1[_0x3c5a3c(0x160)],_0x49d787[_0x3c5a3c(0x170)])||{},_0x559ee6=((_0x278779=_0x19dfda===null||_0x19dfda===void 0x0?void 0x0:_0x19dfda[_0x3c5a3c(0x122)])===null||_0x278779===void 0x0?void 0x0:_0x278779[_0x3c5a3c(0x113)](0x0,_0x19dfda[_0x3c5a3c(0x122)][_0x3c5a3c(0xf5)]('.')))||'',_0x42be48=(_0x19dfda===null||_0x19dfda===void 0x0?void 0x0:_0x19dfda[_0x3c5a3c(0x121)])?(_0x3aa363===null||_0x3aa363===void 0x0?void 0x0:_0x3aa363[_0x19dfda[_0x3c5a3c(0x121)]])||{}:{};return{'before':async _0x2a351b=>{const _0x19761d=_0x3c5a3c;var _0x124466,_0x44e1a4,_0x3922b3,_0x1abd90;const _0x1dff7c=(_0x124466=_0x2a351b===null||_0x2a351b===void 0x0?void 0x0:_0x2a351b['target'])===null||_0x124466===void 0x0?void 0x0:_0x124466[core_2[_0x19761d(0x150)]],_0x1f6898=lodash[_0x19761d(0x12c)]({},_0x1dff7c[_0x19761d(0xf3)][_0x19761d(0x10e)]||_0x1dff7c['request'][((_0x44e1a4=_0x4c1d86===null||_0x4c1d86===void 0x0?void 0x0:_0x4c1d86['bodyXml'])===null||_0x44e1a4===void 0x0?void 0x0:_0x44e1a4[_0x19761d(0x13c)])||_0x19761d(0x10e)]||{},_0x1dff7c[_0x19761d(0xf3)]['query']||{});_0x1dff7c[_0x19761d(0x111)]={'module':(_0x42be48===null||_0x42be48===void 0x0?void 0x0:_0x42be48['name'])||'','routePath':''+_0x1dff7c[_0x19761d(0xef)],'routeName':_0x19dfda[_0x19761d(0x102)][_0x19761d(0x128)]+'@'+_0x53b0f9[_0x19761d(0xed)],'routeMethod':((_0x53b0f9===null||_0x53b0f9===void 0x0?void 0x0:_0x53b0f9['requestMethod'])||_0x1dff7c['method']||'')[_0x19761d(0x176)](),'routeDescription':(_0x53b0f9===null||_0x53b0f9===void 0x0?void 0x0:_0x53b0f9[_0x19761d(0x125)])||'','filemethod':_0x559ee6+'@'+(_0x53b0f9[_0x19761d(0x15e)]||'')};if(_0x1dff7c&&(_0x53b0f9===null||_0x53b0f9===void 0x0?void 0x0:_0x53b0f9[_0x19761d(0x147)]))try{const _0x1939dc=((_0x3922b3=_0x4c1d86===null||_0x4c1d86===void 0x0?void 0x0:_0x4c1d86[_0x19761d(0x154)])===null||_0x3922b3===void 0x0?void 0x0:_0x3922b3[_0x19761d(0xe5)])&&typeof(_0x1f6898===null||_0x1f6898===void 0x0?void 0x0:_0x1f6898[_0x4c1d86[_0x19761d(0x154)][_0x19761d(0xe5)]])=='string'?JSON[_0x19761d(0x12e)](base64_decode(_0x1f6898[_0x4c1d86[_0x19761d(0x154)][_0x19761d(0xe5)]])||'{}')||{}:((_0x1abd90=_0x1dff7c===null||_0x1dff7c===void 0x0?void 0x0:_0x1dff7c['request'])===null||_0x1abd90===void 0x0?void 0x0:_0x1abd90['headers'])||{};if(!this[_0x19761d(0x15b)][_0x19761d(0xe4)](_0x1939dc))throw new AnnError(ApiError_1['ApiError'][_0x19761d(0x161)]);for(const _0x30fb1d in _0x1939dc||{}){_0x1dff7c['headers'][_0x30fb1d]=_0x1939dc[_0x30fb1d];}}catch(_0x44437c){if(_0x44437c instanceof AnnError)throw _0x44437c;else throw new AnnError(ApiError_1[_0x19761d(0x144)][_0x19761d(0x136)]);}},'around':async _0x34578d=>{const _0x2d43a3=_0x3c5a3c;var _0x3d46c3,_0x409fa9,_0x5a90b7;const _0x513f40=(_0x3d46c3=_0x34578d===null||_0x34578d===void 0x0?void 0x0:_0x34578d[_0x2d43a3(0x170)])===null||_0x3d46c3===void 0x0?void 0x0:_0x3d46c3[core_2[_0x2d43a3(0x150)]];if(_0x513f40&&(_0x53b0f9===null||_0x53b0f9===void 0x0?void 0x0:_0x53b0f9[_0x2d43a3(0x147)])&&((_0x53b0f9===null||_0x53b0f9===void 0x0?void 0x0:_0x53b0f9[_0x2d43a3(0x120)])||typeof(_0x53b0f9===null||_0x53b0f9===void 0x0?void 0x0:_0x53b0f9['intercept'])==_0x2d43a3(0x10f))){if(((_0x409fa9=_0x513f40[_0x2d43a3(0xfb)])===null||_0x409fa9===void 0x0?void 0x0:_0x409fa9['device'])&&((_0x5a90b7=_0x4a3b7c===null||_0x4a3b7c===void 0x0?void 0x0:_0x4a3b7c[_0x513f40['headers'][_0x2d43a3(0xfe)]])===null||_0x5a90b7===void 0x0?void 0x0:_0x5a90b7[_0x2d43a3(0x168)])>0x0)for(const _0x132365 of _0x4a3b7c[_0x513f40['headers']['device']]||[]){if(core_1[_0x2d43a3(0x115)]['isClass'](_0x132365)){const _0x36e292=await _0x513f40['requestContext'][_0x2d43a3(0x126)](_0x132365);typeof(_0x36e292===null||_0x36e292===void 0x0?void 0x0:_0x36e292[_0x2d43a3(0x166)])==_0x2d43a3(0x129)?await _0x36e292[_0x2d43a3(0x166)](_0x513f40,typeof(_0x513f40===null||_0x513f40===void 0x0?void 0x0:_0x513f40[_0x2d43a3(0x15e)])==_0x2d43a3(0x10a)&&(_0x513f40===null||_0x513f40===void 0x0?void 0x0:_0x513f40[_0x2d43a3(0x138)])?_0x513f40[_0x2d43a3(0x15e)][_0x2d43a3(0x176)]()+'@'+(_0x513f40===null||_0x513f40===void 0x0?void 0x0:_0x513f40['_matchedRoute']):undefined,_0x53b0f9)&&await _0x36e292[_0x2d43a3(0xdc)](_0x513f40,typeof(_0x513f40===null||_0x513f40===void 0x0?void 0x0:_0x513f40[_0x2d43a3(0x15e)])==_0x2d43a3(0x10a)&&(_0x513f40===null||_0x513f40===void 0x0?void 0x0:_0x513f40['_matchedRoute'])?_0x513f40[_0x2d43a3(0x15e)]['toLowerCase']()+'@'+(_0x513f40===null||_0x513f40===void 0x0?void 0x0:_0x513f40[_0x2d43a3(0x138)]):undefined,_0x53b0f9):await _0x36e292[_0x2d43a3(0xdc)](_0x513f40,typeof(_0x513f40===null||_0x513f40===void 0x0?void 0x0:_0x513f40[_0x2d43a3(0x15e)])==_0x2d43a3(0x10a)&&(_0x513f40===null||_0x513f40===void 0x0?void 0x0:_0x513f40[_0x2d43a3(0x138)])?_0x513f40[_0x2d43a3(0x15e)]['toLowerCase']()+'@'+(_0x513f40===null||_0x513f40===void 0x0?void 0x0:_0x513f40['_matchedRoute']):undefined,_0x53b0f9);}else core_1[_0x2d43a3(0x115)][_0x2d43a3(0x133)](_0x132365)&&await _0x132365(_0x513f40,typeof(_0x513f40===null||_0x513f40===void 0x0?void 0x0:_0x513f40['method'])=='string'&&(_0x513f40===null||_0x513f40===void 0x0?void 0x0:_0x513f40[_0x2d43a3(0x138)])?_0x513f40['method'][_0x2d43a3(0x176)]()+'@'+(_0x513f40===null||_0x513f40===void 0x0?void 0x0:_0x513f40['_matchedRoute']):undefined,_0x53b0f9);}}return await _0x34578d[_0x2d43a3(0xf4)](..._0x34578d[_0x2d43a3(0x14b)]);},'afterThrow':(_0xd8482e,_0x1c7eb1)=>{throw _0x1c7eb1;}};});}async[a3_0x4a4c12(0x142)](){const _0x3c3b7e=a3_0x4a4c12,_0x40a767=this[_0x3c3b7e(0x13f)]['getConfiguration']();this[_0x3c3b7e(0x100)]['getApplications'](['koa'])[_0x3c3b7e(0xe6)](_0xd267a2=>{const _0x30838f=_0x3c3b7e;(_0xd267a2===null||_0xd267a2===void 0x0?void 0x0:_0xd267a2[_0x30838f(0x11b)])&&Object['defineProperties'](_0xd267a2[_0x30838f(0x11b)],{'hosturl':{'configurable':![],'get':function(){const _0x576e76=_0x30838f;var _0x4b4af0,_0x8bf097,_0x26b132,_0x116f3b;if((this===null||this===void 0x0?void 0x0:this[_0x576e76(0xeb)])&&!this[_0x576e76(0xeb)][_0x576e76(0x153)](_0x576e76(0x158))){let _0xe01bd4=this[_0x576e76(0xeb)][_0x576e76(0xe8)](':');return['80',_0x576e76(0x16f)][_0x576e76(0xfd)](_0xe01bd4===null||_0xe01bd4===void 0x0?void 0x0:_0xe01bd4[0x1])?''+(!!((_0x8bf097=(_0x4b4af0=this===null||this===void 0x0?void 0x0:this[_0x576e76(0xde)])===null||_0x4b4af0===void 0x0?void 0x0:_0x4b4af0[_0x576e76(0xd9)])===null||_0x8bf097===void 0x0?void 0x0:_0x8bf097['encrypted'])||(_0xe01bd4===null||_0xe01bd4===void 0x0?void 0x0:_0xe01bd4[0x1])==_0x576e76(0x16f)?_0x576e76(0xe2):_0x576e76(0x165))+_0xe01bd4[0x0]:''+(!!((_0x116f3b=(_0x26b132=this===null||this===void 0x0?void 0x0:this['req'])===null||_0x26b132===void 0x0?void 0x0:_0x26b132[_0x576e76(0xd9)])===null||_0x116f3b===void 0x0?void 0x0:_0x116f3b[_0x576e76(0x107)])?_0x576e76(0xe2):_0x576e76(0x165))+this[_0x576e76(0xeb)];}return'';}},'ok':{'value':function(_0x6a7e55,_0x5c654a,_0x34ec04=0x0){return{'code':_0x34ec04,'data':_0x6a7e55,'extra':_0x5c654a};}},'input':{'value':function(_0x17f517,_0x11bfdf){const _0x52a7f0=_0x30838f;var _0x30ed27;const _0x5e8259=lodash[_0x52a7f0(0x12c)]({},this[_0x52a7f0(0xf3)][_0x52a7f0(0x10e)]||this['request'][((_0x30ed27=_0x40a767===null||_0x40a767===void 0x0?void 0x0:_0x40a767[_0x52a7f0(0x116)])===null||_0x30ed27===void 0x0?void 0x0:_0x30ed27[_0x52a7f0(0x13c)])||_0x52a7f0(0x10e)]||{},this[_0x52a7f0(0xf3)][_0x52a7f0(0xdf)]||{});return _0x17f517?lodash['get'](_0x5e8259,_0x17f517,_0x11bfdf):_0x5e8259;}},'when':{'value':async function(_0x5c06df,_0x2dd010){const _0xdefc17=_0x30838f,_0x5cb78c=this['input'](_0x5c06df,null);if(!lodash[_0xdefc17(0x123)](_0x5cb78c))return await _0x2dd010(_0x5cb78c);}},'only':{'value':function(_0x592caf){const _0x3e07d7=_0x30838f,_0x3c8f48={};for(let _0x56ead9=0x0;_0x56ead9<_0x592caf['length'];_0x56ead9++){lodash['isArray'](_0x592caf[_0x56ead9])&&_0x592caf[_0x56ead9][_0x3e07d7(0x168)]>0x0&&lodash[_0x3e07d7(0x175)](_0x592caf[_0x56ead9][0x0])&&(_0x3c8f48[_0x592caf[_0x56ead9][0x0]]=this[_0x3e07d7(0x13d)](_0x592caf[_0x56ead9][0x0],_0x592caf[_0x56ead9][_0x3e07d7(0x168)]>0x1?_0x592caf[_0x56ead9][0x1]:null));}return _0x3c8f48;}},'koasend':{'value':async function(_0x4a3551,_0x24037d){const _0x38f1ea=_0x30838f;if(_0x4a3551&&!fs['existsSync'](_0x4a3551)&&!fs[_0x38f1ea(0xe9)](this[_0x38f1ea(0x112)][_0x38f1ea(0x171)]()+'/'+_0x4a3551))return _0x38f1ea(0x169);return _0x4a3551=fs[_0x38f1ea(0xe9)](_0x4a3551)?_0x4a3551:this[_0x38f1ea(0x112)][_0x38f1ea(0x171)]()+'/'+_0x4a3551,this[_0x38f1ea(0x177)](_0x24037d||_0x4a3551),await koasend(this,_0x4a3551);}}});});}async[a3_0x4a4c12(0x172)](){const _0x4511e1=a3_0x4a4c12;var _0x4f16d8;if(fs['existsSync'](this[_0x4511e1(0x112)]['getBaseDir']()+_0x4511e1(0x124))&&fs[_0x4511e1(0xf9)](this[_0x4511e1(0x112)][_0x4511e1(0x118)]()+_0x4511e1(0x124))[_0x4511e1(0x12a)]()){const _0xd4d333=this[_0x4511e1(0x13f)][_0x4511e1(0x162)](),_0x517a6b=((_0x4f16d8=_0xd4d333===null||_0xd4d333===void 0x0?void 0x0:_0xd4d333[_0x4511e1(0xf0)])===null||_0x4f16d8===void 0x0?void 0x0:_0x4f16d8[_0x4511e1(0x16b)])||{};!fs[_0x4511e1(0xe9)](this[_0x4511e1(0x112)][_0x4511e1(0x118)]()+_0x4511e1(0xee))&&(_0x517a6b[_0x4511e1(0x112)]={'lazyLoad':!![],'enableJSON':!![],'enableConsole':this[_0x4511e1(0x173)][_0x4511e1(0x10b)](),'fileLogName':_0x4511e1(0x14e),'dir':path[_0x4511e1(0xdb)](this['app'][_0x4511e1(0x171)](),'runtime',_0x4511e1(0x112))});!fs['existsSync'](this[_0x4511e1(0x112)][_0x4511e1(0x118)]()+_0x4511e1(0x12f))&&(_0x517a6b[_0x4511e1(0x132)]={'lazyLoad':!![],'enableJSON':!![],'enableConsole':this[_0x4511e1(0x173)][_0x4511e1(0x10b)](),'fileLogName':'basic.log','dir':path[_0x4511e1(0xdb)](this[_0x4511e1(0x112)][_0x4511e1(0x171)](),_0x4511e1(0x11f),_0x4511e1(0x132))});for(const _0x4eba5c of fs[_0x4511e1(0x12b)](this[_0x4511e1(0x112)][_0x4511e1(0x118)]()+_0x4511e1(0x124))){if(!fs[_0x4511e1(0xf9)](this['app']['getBaseDir']()+'/apps/'+_0x4eba5c)[_0x4511e1(0x12a)]())continue;!(_0x517a6b===null||_0x517a6b===void 0x0?void 0x0:_0x517a6b[_0x4eba5c])&&(_0x517a6b[_0x4eba5c]={'lazyLoad':!![],'enableJSON':!![],'enableConsole':this[_0x4511e1(0x173)]['isDevelopmentEnvironment'](),'fileLogName':_0x4eba5c+'.log','dir':path[_0x4511e1(0xdb)](this[_0x4511e1(0x112)][_0x4511e1(0x171)](),'runtime',_0x4511e1(0x174)+_0x4eba5c)}),this[_0x4511e1(0x151)][_0x4511e1(0xf7)](_0x4eba5c,_0x517a6b[_0x4eba5c]);}Object[_0x4511e1(0x179)](_0x517a6b)[_0x4511e1(0x168)]>0x0&&(!_0xd4d333[_0x4511e1(0xf0)]&&(_0xd4d333['midwayLogger']={'default':{'maxSize':'1m','maxFiles':_0x4511e1(0x15c),'dir':path['join'](this[_0x4511e1(0x112)][_0x4511e1(0x171)](),_0x4511e1(0x11f))}}),_0xd4d333['midwayLogger'][_0x4511e1(0x16b)]=_0x517a6b),this['config'][_0x4511e1(0x110)](_0xd4d333);}}async[a3_0x4a4c12(0xf6)](){const _0x289026=a3_0x4a4c12;var _0x4c3037,_0x592e15,_0x553777,_0x45e4de,_0x2ecfb2,_0x19cc52;const _0x2d3155=this['config'][_0x289026(0x162)]();((_0x592e15=(_0x4c3037=_0x2d3155===null||_0x2d3155===void 0x0?void 0x0:_0x2d3155[_0x289026(0x154)])===null||_0x4c3037===void 0x0?void 0x0:_0x4c3037[_0x289026(0x141)])===null||_0x592e15===void 0x0?void 0x0:_0x592e15[_0x289026(0x152)])&&Object['keys'](_0x2d3155[_0x289026(0x154)][_0x289026(0x141)])[_0x289026(0x168)]>0x1&&delete _0x2d3155[_0x289026(0x154)][_0x289026(0x141)]['DEFAULT'];if((_0x553777=_0x2d3155===null||_0x2d3155===void 0x0?void 0x0:_0x2d3155[_0x289026(0x108)])===null||_0x553777===void 0x0?void 0x0:_0x553777['dirs'])for(const _0x1e2c28 in _0x2d3155[_0x289026(0x108)][_0x289026(0xf2)]){((_0x45e4de=_0x2d3155[_0x289026(0x108)][_0x289026(0xf2)][_0x1e2c28])===null||_0x45e4de===void 0x0?void 0x0:_0x45e4de['dir'])&&typeof((_0x2ecfb2=_0x2d3155['staticFile'][_0x289026(0xf2)][_0x1e2c28])===null||_0x2ecfb2===void 0x0?void 0x0:_0x2ecfb2[_0x289026(0xda)])==_0x289026(0x10a)&&!fs[_0x289026(0xe9)](_0x2d3155[_0x289026(0x108)][_0x289026(0xf2)][_0x1e2c28][_0x289026(0xda)])&&(fs['mkdirSync'](_0x2d3155[_0x289026(0x108)][_0x289026(0xf2)][_0x1e2c28][_0x289026(0xda)],{'recursive':!![]}),console[_0x289026(0x12d)](_0x289026(0xff)+_0x2d3155[_0x289026(0x108)][_0x289026(0xf2)][_0x1e2c28]['dir']));}((_0x19cc52=_0x2d3155===null||_0x2d3155===void 0x0?void 0x0:_0x2d3155['upload'])===null||_0x19cc52===void 0x0?void 0x0:_0x19cc52[_0x289026(0x11e)])&&!fs[_0x289026(0xe9)](_0x2d3155['upload'][_0x289026(0x11e)])&&(fs['mkdirSync'](_0x2d3155['upload'][_0x289026(0x11e)],{'recursive':!![]}),console['log'](_0x289026(0x103)+_0x2d3155[_0x289026(0xe1)][_0x289026(0x11e)])),this['config'][_0x289026(0x110)](_0x2d3155);}};exports[a3_0x4a4c12(0xe7)]=CustomConfiguration,__decorate([(0x0,core_1[a3_0x4a4c12(0x104)])(),__metadata('design:type',Object)],CustomConfiguration[a3_0x4a4c12(0x16d)],'app',void 0x0),__decorate([(0x0,core_1['Inject'])(),__metadata(a3_0x4a4c12(0x156),core_2[a3_0x4a4c12(0xe3)])],CustomConfiguration[a3_0x4a4c12(0x16d)],a3_0x4a4c12(0x13f),void 0x0),__decorate([(0x0,core_1['Inject'])(),__metadata(a3_0x4a4c12(0x156),core_2[a3_0x4a4c12(0x10d)])],CustomConfiguration[a3_0x4a4c12(0x16d)],a3_0x4a4c12(0x143),void 0x0),__decorate([(0x0,core_1[a3_0x4a4c12(0x11a)])(),__metadata(a3_0x4a4c12(0x156),core_2['MidwayApplicationManager'])],CustomConfiguration[a3_0x4a4c12(0x16d)],a3_0x4a4c12(0x100),void 0x0),__decorate([(0x0,core_1[a3_0x4a4c12(0x11a)])(),__metadata(a3_0x4a4c12(0x156),core_2[a3_0x4a4c12(0x163)])],CustomConfiguration['prototype'],'environment',void 0x0),__decorate([(0x0,core_1[a3_0x4a4c12(0x11a)])(),__metadata(a3_0x4a4c12(0x156),core_1[a3_0x4a4c12(0x149)])],CustomConfiguration[a3_0x4a4c12(0x16d)],a3_0x4a4c12(0x151),void 0x0),__decorate([(0x0,core_1['Inject'])(),__metadata(a3_0x4a4c12(0x156),ApiService_1[a3_0x4a4c12(0x15b)])],CustomConfiguration[a3_0x4a4c12(0x16d)],a3_0x4a4c12(0x15b),void 0x0),exports[a3_0x4a4c12(0xe7)]=CustomConfiguration=__decorate([(0x0,core_1[a3_0x4a4c12(0x135)])({'imports':[koa,upload,staticFile,crossDomain,anncic,anncicCache,anncicEvent,anncicTypeorm,anncicValidator,anncicHelper],'namespace':a3_0x4a4c12(0x139),'conflictCheck':![],'importConfigs':[{'default':ConfigDefault,'production':ConfigProduction}]})],CustomConfiguration);
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CustomConfiguration = void 0;
13
+ const core_1 = require("@midwayjs/core");
14
+ const core_2 = require("@midwayjs/core");
15
+ const ApiError_1 = require("./exception/ApiError");
16
+ const ApiService_1 = require("./service/ApiService");
17
+ const intercept_1 = require("./types/intercept");
18
+ const action_1 = require("./types/action");
19
+ const fs = require("fs");
20
+ const path = require("path");
21
+ const koasend = require("koa-send");
22
+ const koa = require("@midwayjs/koa");
23
+ const upload = require("@midwayjs/busboy");
24
+ const staticFile = require("@midwayjs/static-file");
25
+ const crossDomain = require("@midwayjs/cross-domain");
26
+ const ConfigDefault = require("./config/config.default");
27
+ const ConfigProduction = require("./config/config.production");
28
+ const anncic = require("@anncic-api/core");
29
+ const anncicCache = require("@anncic-api/cache");
30
+ const anncicEvent = require("@anncic-api/event");
31
+ const anncicTypeorm = require("@anncic-api/typeorm");
32
+ const anncicValidator = require("@anncic-api/validator");
33
+ const anncicHelper = require("anncic-apihelper");
34
+ let CustomConfiguration = class CustomConfiguration {
35
+ async onReady() {
36
+ await this.filterConfig();
37
+ await this.loggerConfig();
38
+ await this.handlerActionRoute();
39
+ await this.hanlderApplications();
40
+ }
41
+ async handlerActionRoute() {
42
+ const allConfig = this.config.getConfiguration();
43
+ const intercepts = (0, core_1.getClassMetadata)(intercept_1.INTERCEPT_KEY, intercept_1.InterceptTargetTmp) || {};
44
+ this.decorator.registerMethodHandler(action_1.ACTION_ROUTE_KEY, options => {
45
+ var _a;
46
+ const moduleconftmp = (0, core_1.getClassMetadata)(action_1.APPSCONFIG_KEY, action_1.AppsConfigTmp) || {};
47
+ const metadata = options.metadata, actionMeta = (0, core_1.getClassMetadata)(action_1.ACTION_KEY, options.target) || {};
48
+ const filepath = ((_a = actionMeta === null || actionMeta === void 0 ? void 0 : actionMeta.filepath) === null || _a === void 0 ? void 0 : _a.substring(0, actionMeta.filepath.lastIndexOf('.'))) || '';
49
+ const actionConfig = (actionMeta === null || actionMeta === void 0 ? void 0 : actionMeta.module) ? ((moduleconftmp === null || moduleconftmp === void 0 ? void 0 : moduleconftmp[actionMeta.module]) || {}) : {};
50
+ return {
51
+ before: async (joinPoint) => {
52
+ var _a, _b, _c, _d;
53
+ const ctx = (_a = joinPoint === null || joinPoint === void 0 ? void 0 : joinPoint.target) === null || _a === void 0 ? void 0 : _a[core_2.REQUEST_OBJ_CTX_KEY], input = lodash.defaultsDeep({}, ctx.request.body || ctx.request[((_b = allConfig === null || allConfig === void 0 ? void 0 : allConfig.bodyXml) === null || _b === void 0 ? void 0 : _b.key) || 'body'] || {}, ctx.request.query || {});
54
+ ctx._matchedRouteMeta = {
55
+ module: (actionConfig === null || actionConfig === void 0 ? void 0 : actionConfig.name) || '',
56
+ routePath: `${ctx.path}`,
57
+ routeName: `${actionMeta.routerOptions.tagName}@${metadata.routerName}`,
58
+ routeMethod: ((metadata === null || metadata === void 0 ? void 0 : metadata.requestMethod) || ctx.method || '').toLowerCase(),
59
+ routeDescription: (metadata === null || metadata === void 0 ? void 0 : metadata.description) || '',
60
+ filemethod: `${filepath}@${metadata.method || ''}`,
61
+ };
62
+ if (ctx && (metadata === null || metadata === void 0 ? void 0 : metadata.apimit)) {
63
+ try {
64
+ const checkObjTmp = ((_c = allConfig === null || allConfig === void 0 ? void 0 : allConfig.anncicapi) === null || _c === void 0 ? void 0 : _c.requestKey) && typeof (input === null || input === void 0 ? void 0 : input[allConfig.anncicapi.requestKey]) == 'string' ? (JSON.parse(base64_decode(input[allConfig.anncicapi.requestKey]) || '{}') || {}) : (((_d = ctx === null || ctx === void 0 ? void 0 : ctx.request) === null || _d === void 0 ? void 0 : _d.headers) || {});
65
+ if (!this.ApiService.checksign(checkObjTmp)) {
66
+ throw new AnnError(ApiError_1.ApiError.HEADERS_SIGNATURE);
67
+ }
68
+ for (const checkKey in (checkObjTmp || {})) {
69
+ ctx.headers[checkKey] = checkObjTmp[checkKey];
70
+ }
71
+ }
72
+ catch (error) {
73
+ if (error instanceof AnnError) {
74
+ throw error;
75
+ }
76
+ else {
77
+ throw new AnnError(ApiError_1.ApiError._UNKNOW_);
78
+ }
79
+ }
80
+ }
81
+ },
82
+ around: async (joinPoint) => {
83
+ var _a, _b, _c;
84
+ const ctx = (_a = joinPoint === null || joinPoint === void 0 ? void 0 : joinPoint.target) === null || _a === void 0 ? void 0 : _a[core_2.REQUEST_OBJ_CTX_KEY];
85
+ if (ctx && (metadata === null || metadata === void 0 ? void 0 : metadata.apimit) && ((metadata === null || metadata === void 0 ? void 0 : metadata.intercept) || typeof (metadata === null || metadata === void 0 ? void 0 : metadata.intercept) == 'undefined')) {
86
+ if (((_b = ctx.headers) === null || _b === void 0 ? void 0 : _b.device) && ((_c = intercepts === null || intercepts === void 0 ? void 0 : intercepts[ctx.headers.device]) === null || _c === void 0 ? void 0 : _c.length) > 0) {
87
+ for (const intercept of (intercepts[ctx.headers.device] || [])) {
88
+ if (core_1.Types.isClass(intercept)) {
89
+ const instance = await ctx.requestContext.getAsync(intercept);
90
+ if (typeof (instance === null || instance === void 0 ? void 0 : instance.match) == 'function') {
91
+ if (await instance.match(ctx, (typeof (ctx === null || ctx === void 0 ? void 0 : ctx.method) == 'string' && (ctx === null || ctx === void 0 ? void 0 : ctx._matchedRoute)) ? `${ctx.method.toLowerCase()}@${ctx === null || ctx === void 0 ? void 0 : ctx._matchedRoute}` : undefined, metadata)) {
92
+ await instance.handler(ctx, (typeof (ctx === null || ctx === void 0 ? void 0 : ctx.method) == 'string' && (ctx === null || ctx === void 0 ? void 0 : ctx._matchedRoute)) ? `${ctx.method.toLowerCase()}@${ctx === null || ctx === void 0 ? void 0 : ctx._matchedRoute}` : undefined, metadata);
93
+ }
94
+ }
95
+ else {
96
+ await instance.handler(ctx, (typeof (ctx === null || ctx === void 0 ? void 0 : ctx.method) == 'string' && (ctx === null || ctx === void 0 ? void 0 : ctx._matchedRoute)) ? `${ctx.method.toLowerCase()}@${ctx === null || ctx === void 0 ? void 0 : ctx._matchedRoute}` : undefined, metadata);
97
+ }
98
+ }
99
+ else if (core_1.Types.isFunction(intercept)) {
100
+ await intercept(ctx, (typeof (ctx === null || ctx === void 0 ? void 0 : ctx.method) == 'string' && (ctx === null || ctx === void 0 ? void 0 : ctx._matchedRoute)) ? `${ctx.method.toLowerCase()}@${ctx === null || ctx === void 0 ? void 0 : ctx._matchedRoute}` : undefined, metadata);
101
+ }
102
+ }
103
+ }
104
+ }
105
+ return await joinPoint.proceed(...joinPoint.args);
106
+ },
107
+ afterThrow: (joinPoint, error) => {
108
+ throw error;
109
+ }
110
+ };
111
+ });
112
+ }
113
+ async hanlderApplications() {
114
+ const allConfig = this.config.getConfiguration();
115
+ this.application.getApplications(['koa']).forEach((app) => {
116
+ if (app === null || app === void 0 ? void 0 : app.context) {
117
+ Object.defineProperties(app.context, {
118
+ hosturl: {
119
+ configurable: false,
120
+ get: function () {
121
+ var _a, _b, _c, _d;
122
+ if ((this === null || this === void 0 ? void 0 : this.host) && !this.host.startsWith('http')) {
123
+ let hostArr = this.host.split(':');
124
+ if (['80', '443'].includes(hostArr === null || hostArr === void 0 ? void 0 : hostArr[1])) {
125
+ return `${(!!((_b = (_a = this === null || this === void 0 ? void 0 : this.req) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.encrypted) || (hostArr === null || hostArr === void 0 ? void 0 : hostArr[1]) == '443') ? 'https://' : 'http://'}${hostArr[0]}`;
126
+ }
127
+ else {
128
+ return `${!!((_d = (_c = this === null || this === void 0 ? void 0 : this.req) === null || _c === void 0 ? void 0 : _c.connection) === null || _d === void 0 ? void 0 : _d.encrypted) ? 'https://' : 'http://'}${this.host}`;
129
+ }
130
+ }
131
+ return ``;
132
+ }
133
+ },
134
+ ok: {
135
+ value: function (data, extra, code = 0) {
136
+ return { code, data, extra };
137
+ },
138
+ },
139
+ input: {
140
+ value: function (key, defval) {
141
+ var _a;
142
+ const params = lodash.defaultsDeep({}, this.request.body || this.request[((_a = allConfig === null || allConfig === void 0 ? void 0 : allConfig.bodyXml) === null || _a === void 0 ? void 0 : _a.key) || 'body'] || {}, this.request.query || {});
143
+ return key ? lodash.get(params, key, defval) : params;
144
+ },
145
+ },
146
+ when: {
147
+ value: async function (key, callbal) {
148
+ const value = this.input(key, null);
149
+ if (!lodash.isNull(value)) {
150
+ return await callbal(value);
151
+ }
152
+ },
153
+ },
154
+ only: {
155
+ value: function (keys) {
156
+ const params = {};
157
+ for (let index = 0; index < keys.length; index++) {
158
+ if (lodash.isArray(keys[index]) && keys[index].length > 0 && lodash.isString(keys[index][0])) {
159
+ params[keys[index][0]] = this.input(keys[index][0], keys[index].length > 1 ? keys[index][1] : null);
160
+ }
161
+ }
162
+ return params;
163
+ },
164
+ },
165
+ koasend: {
166
+ value: async function (filepath, filename) {
167
+ if (filepath && !fs.existsSync(filepath) && !fs.existsSync(`${this.app.getAppDir()}/${filepath}`)) {
168
+ return '文件不存在';
169
+ }
170
+ filepath = fs.existsSync(filepath) ? filepath : `${this.app.getAppDir()}/${filepath}`;
171
+ this.attachment(filename || filepath);
172
+ return await koasend(this, filepath);
173
+ },
174
+ },
175
+ });
176
+ }
177
+ });
178
+ }
179
+ async loggerConfig() {
180
+ var _a;
181
+ if (fs.existsSync(`${this.app.getBaseDir()}/apps`) && fs.statSync(`${this.app.getBaseDir()}/apps`).isDirectory()) {
182
+ const allConfig = this.config.getConfiguration();
183
+ const loggerClients = ((_a = allConfig === null || allConfig === void 0 ? void 0 : allConfig.midwayLogger) === null || _a === void 0 ? void 0 : _a.clients) || {};
184
+ if (!fs.existsSync(`${this.app.getBaseDir()}/app`)) {
185
+ loggerClients["app"] = {
186
+ lazyLoad: true,
187
+ enableJSON: true,
188
+ enableConsole: this.environment.isDevelopmentEnvironment(),
189
+ fileLogName: `app.log`,
190
+ dir: path.join(this.app.getAppDir(), 'runtime', `app`)
191
+ };
192
+ }
193
+ if (!fs.existsSync(`${this.app.getBaseDir()}/basic`)) {
194
+ loggerClients["basic"] = {
195
+ lazyLoad: true,
196
+ enableJSON: true,
197
+ enableConsole: this.environment.isDevelopmentEnvironment(),
198
+ fileLogName: `basic.log`,
199
+ dir: path.join(this.app.getAppDir(), 'runtime', `basic`)
200
+ };
201
+ }
202
+ for (const pathName of fs.readdirSync(`${this.app.getBaseDir()}/apps`)) {
203
+ if (!fs.statSync(`${this.app.getBaseDir()}/apps/${pathName}`).isDirectory()) {
204
+ continue;
205
+ }
206
+ if (!(loggerClients === null || loggerClients === void 0 ? void 0 : loggerClients[pathName])) {
207
+ loggerClients[pathName] = {
208
+ lazyLoad: true,
209
+ enableJSON: true,
210
+ enableConsole: this.environment.isDevelopmentEnvironment(),
211
+ fileLogName: `${pathName}.log`,
212
+ dir: path.join(this.app.getAppDir(), 'runtime', `apps-${pathName}`)
213
+ };
214
+ }
215
+ this.loggerService.createLogger(pathName, loggerClients[pathName]);
216
+ }
217
+ if (Object.keys(loggerClients).length > 0) {
218
+ if (!allConfig.midwayLogger) {
219
+ allConfig.midwayLogger = {
220
+ default: {
221
+ maxSize: '1m',
222
+ maxFiles: '270d',
223
+ dir: path.join(this.app.getAppDir(), 'runtime'),
224
+ }
225
+ };
226
+ }
227
+ allConfig.midwayLogger.clients = loggerClients;
228
+ }
229
+ this.config.addObject(allConfig);
230
+ }
231
+ }
232
+ async filterConfig() {
233
+ var _a, _b, _c, _d, _e, _f;
234
+ const allConfig = this.config.getConfiguration();
235
+ if (((_b = (_a = allConfig === null || allConfig === void 0 ? void 0 : allConfig.anncicapi) === null || _a === void 0 ? void 0 : _a.devices) === null || _b === void 0 ? void 0 : _b.DEFAULT) && Object.keys(allConfig.anncicapi.devices).length > 1) {
236
+ delete allConfig.anncicapi.devices.DEFAULT;
237
+ }
238
+ if ((_c = allConfig === null || allConfig === void 0 ? void 0 : allConfig.staticFile) === null || _c === void 0 ? void 0 : _c.dirs) {
239
+ for (const dirskey in allConfig.staticFile.dirs) {
240
+ if (((_d = allConfig.staticFile.dirs[dirskey]) === null || _d === void 0 ? void 0 : _d.dir) && typeof ((_e = allConfig.staticFile.dirs[dirskey]) === null || _e === void 0 ? void 0 : _e.dir) == 'string' && !fs.existsSync(allConfig.staticFile.dirs[dirskey].dir)) {
241
+ fs.mkdirSync(allConfig.staticFile.dirs[dirskey].dir, { recursive: true });
242
+ console.log(`Anncic-api static-file : mkdir ${allConfig.staticFile.dirs[dirskey].dir}`);
243
+ }
244
+ }
245
+ }
246
+ if (((_f = allConfig === null || allConfig === void 0 ? void 0 : allConfig.upload) === null || _f === void 0 ? void 0 : _f.tmpdir) && !fs.existsSync(allConfig.upload.tmpdir)) {
247
+ fs.mkdirSync(allConfig.upload.tmpdir, { recursive: true });
248
+ console.log(`Anncic-api upload-tmpdir : mkdir ${allConfig.upload.tmpdir}`);
249
+ }
250
+ this.config.addObject(allConfig);
251
+ }
252
+ };
253
+ exports.CustomConfiguration = CustomConfiguration;
254
+ __decorate([
255
+ (0, core_1.App)(),
256
+ __metadata("design:type", Object)
257
+ ], CustomConfiguration.prototype, "app", void 0);
258
+ __decorate([
259
+ (0, core_1.Inject)(),
260
+ __metadata("design:type", core_2.MidwayConfigService)
261
+ ], CustomConfiguration.prototype, "config", void 0);
262
+ __decorate([
263
+ (0, core_1.Inject)(),
264
+ __metadata("design:type", core_2.MidwayDecoratorService)
265
+ ], CustomConfiguration.prototype, "decorator", void 0);
266
+ __decorate([
267
+ (0, core_1.Inject)(),
268
+ __metadata("design:type", core_2.MidwayApplicationManager)
269
+ ], CustomConfiguration.prototype, "application", void 0);
270
+ __decorate([
271
+ (0, core_1.Inject)(),
272
+ __metadata("design:type", core_2.MidwayEnvironmentService)
273
+ ], CustomConfiguration.prototype, "environment", void 0);
274
+ __decorate([
275
+ (0, core_1.Inject)(),
276
+ __metadata("design:type", core_1.MidwayLoggerService)
277
+ ], CustomConfiguration.prototype, "loggerService", void 0);
278
+ __decorate([
279
+ (0, core_1.Inject)(),
280
+ __metadata("design:type", ApiService_1.ApiService)
281
+ ], CustomConfiguration.prototype, "ApiService", void 0);
282
+ exports.CustomConfiguration = CustomConfiguration = __decorate([
283
+ (0, core_1.Configuration)({
284
+ imports: [koa, upload, staticFile, crossDomain, anncic, anncicCache, anncicEvent, anncicTypeorm, anncicValidator, anncicHelper],
285
+ namespace: 'anncic-api',
286
+ conflictCheck: false,
287
+ importConfigs: [
288
+ { default: ConfigDefault, production: ConfigProduction }
289
+ ],
290
+ })
291
+ ], CustomConfiguration);
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF5STtBQUN6SSx5Q0FBc0o7QUFFdEosbURBQWdEO0FBQ2hELHFEQUFrRDtBQUNsRCxpREFBc0U7QUFDdEUsMkNBQTZGO0FBRzdGLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0Isb0NBQW9DO0FBRXBDLHFDQUFxQztBQUNyQywyQ0FBMkM7QUFDM0Msb0RBQW9EO0FBQ3BELHNEQUFzRDtBQUN0RCx5REFBeUQ7QUFDekQsK0RBQStEO0FBSS9ELDJDQUEyQztBQUMzQyxpREFBaUQ7QUFDakQsaURBQWlEO0FBQ2pELHFEQUFxRDtBQUNyRCx5REFBeUQ7QUFDekQsaURBQWlEO0FBVTFDLElBQU0sbUJBQW1CLEdBQXpCLE1BQU0sbUJBQW1CO0lBVzVCLEtBQUssQ0FBQyxPQUFPO1FBQ1QsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsTUFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNoQyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFUyxLQUFLLENBQUMsa0JBQWtCO1FBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNqRCxNQUFNLFVBQVUsR0FBRyxJQUFBLHVCQUFnQixFQUFDLHlCQUFhLEVBQUUsOEJBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFN0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyx5QkFBZ0IsRUFBRSxPQUFPLENBQUMsRUFBRTs7WUFDN0QsTUFBTSxhQUFhLEdBQUcsSUFBQSx1QkFBZ0IsRUFBQyx1QkFBYyxFQUFFLHNCQUFhLENBQUMsSUFB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