anncic-api 3.4.88 → 3.5.0

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_0x25028f=a0_0x11ae;function a0_0x11ae(_0x4c386b,_0x359400){var _0x31a129=a0_0x77e7();return a0_0x11ae=function(_0x4df31e,_0x3efedc){_0x4df31e=_0x4df31e-0x1ab;var _0x77e707=_0x31a129[_0x4df31e];return _0x77e707;},a0_0x11ae(_0x4c386b,_0x359400);}(function(_0x420808,_0x18c98c){var _0x598946=a0_0x11ae,_0x272232=_0x420808();while(!![]){try{var _0x4e1cc3=parseInt(_0x598946(0x1b0))/0x1*(parseInt(_0x598946(0x1bf))/0x2)+parseInt(_0x598946(0x1b6))/0x3*(parseInt(_0x598946(0x1c2))/0x4)+parseInt(_0x598946(0x1b2))/0x5+parseInt(_0x598946(0x1c4))/0x6*(-parseInt(_0x598946(0x1ad))/0x7)+-parseInt(_0x598946(0x1c5))/0x8+parseInt(_0x598946(0x1ba))/0x9*(-parseInt(_0x598946(0x1ac))/0xa)+-parseInt(_0x598946(0x1bc))/0xb*(parseInt(_0x598946(0x1b1))/0xc);if(_0x4e1cc3===_0x18c98c)break;else _0x272232['push'](_0x272232['shift']());}catch(_0x31af5e){_0x272232['push'](_0x272232['shift']());}}}(a0_0x77e7,0xed30b));var a0_0x3efedc=(function(){var _0x3442b2=!![];return function(_0x2ad002,_0xfd1955){var _0x567d7b=_0x3442b2?function(){var _0x4ee4a7=a0_0x11ae;if(_0xfd1955){var _0x2a7f8b=_0xfd1955[_0x4ee4a7(0x1ab)](_0x2ad002,arguments);return _0xfd1955=null,_0x2a7f8b;}}:function(){};return _0x3442b2=![],_0x567d7b;};}()),a0_0x4df31e=a0_0x3efedc(this,function(){var _0x208e13=a0_0x11ae;return a0_0x4df31e[_0x208e13(0x1b4)]()[_0x208e13(0x1b3)](_0x208e13(0x1c9))[_0x208e13(0x1b4)]()[_0x208e13(0x1bd)](a0_0x4df31e)[_0x208e13(0x1b3)](_0x208e13(0x1c9));});a0_0x4df31e();function a0_0x77e7(){var _0x2d5ce2=['8375770HLeArk','search','toString','20mb','2342583rGkjoX','appDir','{midway-bull}{','_token','324fiQUnt','__esModule','22TsmeFo','constructor','text','2TRqNIX','xml','file','8gZsxOQ','zhiulanuiy7892387985hnoi','9331446OULbeH','4693448yygdub','dhauo1234420123gg3234901','env','name','(((.+)+)+)+$','apply','68720KQOngg','7xeloWT','form','/runtime','794887NFpATU','4025508cCcUEM'];a0_0x77e7=function(){return _0x2d5ce2;};return a0_0x77e7();}'use strict';Object['defineProperty'](exports,a0_0x25028f(0x1bb),{'value':!![]}),exports['default']=_0x207569=>{var _0x1bbbd1=a0_0x25028f;return{'apitest':!![],'keys':_0x207569[_0x1bbbd1(0x1c8)],'anncicapi':{'requestKey':_0x1bbbd1(0x1b9),'password':_0x1bbbd1(0x1c3),'devices':{'DEFAULT':{'secret':_0x1bbbd1(0x1c6),'checkcode':_0x1bbbd1(0x1c6)}}},'koa':{'proxy':!![]},'midwayLogger':{'default':{'maxSize':'1m','maxFiles':'270d','dir':_0x207569[_0x1bbbd1(0x1b7)]+_0x1bbbd1(0x1af)}},'bodyParser':{'enableTypes':['json',_0x1bbbd1(0x1ae),_0x1bbbd1(0x1be),_0x1bbbd1(0x1c0)],'formLimit':_0x1bbbd1(0x1b5),'jsonLimit':_0x1bbbd1(0x1b5),'textLimit':_0x1bbbd1(0x1b5),'xmlLimit':_0x1bbbd1(0x1b5),'enable':!![]},'upload':{'tmpdir':_0x207569[_0x1bbbd1(0x1b7)]+'/runtime/.upload','cleanTimeout':0x5265c00},'busboy':{'mode':_0x1bbbd1(0x1c1),'tmpdir':_0x207569[_0x1bbbd1(0x1b7)]+'/runtime/.upload','cleanTimeout':0x5265c00},'bull':{'defaultQueueOptions':{'prefix':_0x1bbbd1(0x1b8)+_0x207569['name']+':'+((_0x207569===null||_0x207569===void 0x0?void 0x0:_0x207569[_0x1bbbd1(0x1c7)])?_0x207569[_0x1bbbd1(0x1c7)]+':':'')+')'}}};};
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_0x2ea16a=a1_0x32fa;function a1_0x34ae(){var _0x5e6341=['5bcXHIW','search','16iBbtyx','(((.+)+)+)+$','constructor','3089488Sgswkw','8199558gDfAFI','6212752mZzqZS','5604280SZRPNq','apply','125502KYfQtd','1860552WPBRny','defineProperty','__esModule','1381707Fumwlh'];a1_0x34ae=function(){return _0x5e6341;};return a1_0x34ae();}(function(_0xa7057b,_0x3606df){var _0x45b15a=a1_0x32fa,_0x301376=_0xa7057b();while(!![]){try{var _0x4809a3=-parseInt(_0x45b15a(0x18c))/0x1*(-parseInt(_0x45b15a(0x184))/0x2)+parseInt(_0x45b15a(0x181))/0x3+-parseInt(_0x45b15a(0x187))/0x4*(parseInt(_0x45b15a(0x182))/0x5)+-parseInt(_0x45b15a(0x188))/0x6+parseInt(_0x45b15a(0x189))/0x7+parseInt(_0x45b15a(0x18a))/0x8+-parseInt(_0x45b15a(0x18d))/0x9;if(_0x4809a3===_0x3606df)break;else _0x301376['push'](_0x301376['shift']());}catch(_0x3a9828){_0x301376['push'](_0x301376['shift']());}}}(a1_0x34ae,0xac993));var a1_0x3f5977=(function(){var _0x6ffe8a=!![];return function(_0x409483,_0x17a58f){var _0x8c26c8=_0x6ffe8a?function(){var _0x14c2aa=a1_0x32fa;if(_0x17a58f){var _0xff1b3f=_0x17a58f[_0x14c2aa(0x18b)](_0x409483,arguments);return _0x17a58f=null,_0xff1b3f;}}:function(){};return _0x6ffe8a=![],_0x8c26c8;};}()),a1_0x40b8ca=a1_0x3f5977(this,function(){var _0x3126e9=a1_0x32fa;return a1_0x40b8ca['toString']()['search'](_0x3126e9(0x185))['toString']()[_0x3126e9(0x186)](a1_0x40b8ca)[_0x3126e9(0x183)]('(((.+)+)+)+$');});function a1_0x32fa(_0x5036b1,_0xf9eb4b){var _0x2f0f40=a1_0x34ae();return a1_0x32fa=function(_0x40b8ca,_0x3f5977){_0x40b8ca=_0x40b8ca-0x181;var _0x34ae6f=_0x2f0f40[_0x40b8ca];return _0x34ae6f;},a1_0x32fa(_0x5036b1,_0xf9eb4b);}a1_0x40b8ca();'use strict';Object[a1_0x2ea16a(0x18e)](exports,a1_0x2ea16a(0x18f),{'value':!![]}),exports['default']=_0xc42890=>{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_0x261593=a2_0x16ad;function a2_0x16ad(_0x2ffb98,_0x516246){var _0x5073a1=a2_0x100f();return a2_0x16ad=function(_0x3b31aa,_0x16628e){_0x3b31aa=_0x3b31aa-0x181;var _0x100f21=_0x5073a1[_0x3b31aa];return _0x100f21;},a2_0x16ad(_0x2ffb98,_0x516246);}(function(_0x4442ae,_0x203ffe){var _0x3b573b=a2_0x16ad,_0x3b205d=_0x4442ae();while(!![]){try{var _0x3ba8f6=parseInt(_0x3b573b(0x18b))/0x1+parseInt(_0x3b573b(0x184))/0x2*(-parseInt(_0x3b573b(0x181))/0x3)+-parseInt(_0x3b573b(0x18a))/0x4*(parseInt(_0x3b573b(0x182))/0x5)+-parseInt(_0x3b573b(0x185))/0x6+parseInt(_0x3b573b(0x189))/0x7+parseInt(_0x3b573b(0x18c))/0x8*(parseInt(_0x3b573b(0x183))/0x9)+parseInt(_0x3b573b(0x190))/0xa*(parseInt(_0x3b573b(0x18e))/0xb);if(_0x3ba8f6===_0x203ffe)break;else _0x3b205d['push'](_0x3b205d['shift']());}catch(_0x4d0ef3){_0x3b205d['push'](_0x3b205d['shift']());}}}(a2_0x100f,0xea6ee));var a2_0x16628e=(function(){var _0x55d5ac=!![];return function(_0x3b5fe9,_0x2a5175){var _0x43a9a1=_0x55d5ac?function(){var _0x152325=a2_0x16ad;if(_0x2a5175){var _0x120163=_0x2a5175[_0x152325(0x191)](_0x3b5fe9,arguments);return _0x2a5175=null,_0x120163;}}:function(){};return _0x55d5ac=![],_0x43a9a1;};}()),a2_0x3b31aa=a2_0x16628e(this,function(){var _0x4cd7c4=a2_0x16ad;return a2_0x3b31aa['toString']()['search']('(((.+)+)+)+$')[_0x4cd7c4(0x18f)]()[_0x4cd7c4(0x192)](a2_0x3b31aa)[_0x4cd7c4(0x186)](_0x4cd7c4(0x188));});a2_0x3b31aa();function a2_0x100f(){var _0x6d88b3=['(((.+)+)+)+$','1551319lDITKr','912feDXle','1172077eEOPTf','7094088CGTaPS','defineProperty','11WWSpin','toString','4400390kTJauy','apply','constructor','3qXeefL','9895NyEIlU','9jZjPVs','1930494ZUmKdD','2062782DPdDif','search','default'];a2_0x100f=function(){return _0x6d88b3;};return a2_0x100f();}'use strict';Object[a2_0x261593(0x18d)](exports,'__esModule',{'value':!![]}),exports[a2_0x261593(0x187)]={'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
- const a3_0x2b3622=a3_0x1dbf;(function(_0x36e947,_0x887fff){const _0x3159d2=a3_0x1dbf,_0x15ce0e=_0x36e947();while(!![]){try{const _0x1f083b=-parseInt(_0x3159d2(0x17f))/0x1+parseInt(_0x3159d2(0x1dc))/0x2*(parseInt(_0x3159d2(0x170))/0x3)+parseInt(_0x3159d2(0x197))/0x4*(-parseInt(_0x3159d2(0x208))/0x5)+parseInt(_0x3159d2(0x1c1))/0x6*(parseInt(_0x3159d2(0x1ce))/0x7)+parseInt(_0x3159d2(0x18c))/0x8*(-parseInt(_0x3159d2(0x1f3))/0x9)+-parseInt(_0x3159d2(0x16d))/0xa*(parseInt(_0x3159d2(0x1ae))/0xb)+parseInt(_0x3159d2(0x1b9))/0xc;if(_0x1f083b===_0x887fff)break;else _0x15ce0e['push'](_0x15ce0e['shift']());}catch(_0x4c35a0){_0x15ce0e['push'](_0x15ce0e['shift']());}}}(a3_0xb64f,0x89f48));const a3_0x4b1679=(function(){let _0x151d55=!![];return function(_0x3be053,_0x2114c6){const _0x9899c1=_0x151d55?function(){const _0x5735e3=a3_0x1dbf;if(_0x2114c6){const _0x29c72e=_0x2114c6[_0x5735e3(0x1fc)](_0x3be053,arguments);return _0x2114c6=null,_0x29c72e;}}:function(){};return _0x151d55=![],_0x9899c1;};}()),a3_0x388c74=a3_0x4b1679(this,function(){const _0x2030f4=a3_0x1dbf;return a3_0x388c74[_0x2030f4(0x16f)]()[_0x2030f4(0x1e3)](_0x2030f4(0x1a0))[_0x2030f4(0x16f)]()['constructor'](a3_0x388c74)[_0x2030f4(0x1e3)](_0x2030f4(0x1a0));});function a3_0x1dbf(_0x1248c2,_0x29b06e){const _0x4dddd4=a3_0xb64f();return a3_0x1dbf=function(_0x388c74,_0x4b1679){_0x388c74=_0x388c74-0x16c;let _0xb64f2c=_0x4dddd4[_0x388c74];return _0xb64f2c;},a3_0x1dbf(_0x1248c2,_0x29b06e);}function a3_0xb64f(){const _0x57c484=['(((.+)+)+)+$','startsWith','handlerActionRoute','@midwayjs/static-file','connection','object','description','文件不存在','koa-send','./exception/ApiError','target','intercept','application','request','46739oTghNh','/apps','apps-','@midwayjs/core','name','requestMethod','@anncic-api/core','attachment','APPSCONFIG_KEY','hanlderApplications','parse','38726736loPNDH','filterConfig','270d','readdirSync','@anncic-api/cache','Configuration','upload','mkdirSync','559026bGDGRR','apimit','registerMethodHandler','/app','forEach','checksign','ApiError','443','module','getConfiguration','string','midwayLogger','devices','21ETcrcf','onReady','undefined','@midwayjs/cross-domain','ACTION_ROUTE_KEY','clients','app.log','key','./config/config.default','match','./types/intercept','host','Anncic-api\x20static-file\x20:\x20mkdir\x20','requestContext','2SzLFZZ','REQUEST_OBJ_CTX_KEY','__decorate','AppsConfigTmp','MidwayLoggerService','__metadata','isDirectory','search','/basic','query','@anncic-api/typeorm','Anncic-api\x20upload-tmpdir\x20:\x20mkdir\x20','headers','https://','req','statSync','context','method','join','existsSync','requestKey','dirs','loggerService','3052269smGfSS','./config/config.production','App','http://','./service/ApiService','Types','path','routerOptions','isFunction','apply','environment','lastIndexOf','toLowerCase','defineProperties','InterceptTargetTmp','get','staticFile','getBaseDir','_matchedRouteMeta','args','body','424730iYSGAp','getAppDir','anncic-api','INTERCEPT_KEY','.log','includes','runtime','length','basic','substring','http','handler','@midwayjs/busboy','/apps/','function','1730aMIXHF','MidwayDecoratorService','toString','840471NtZAcn','__esModule','getAsync','MidwayEnvironmentService','dir','keys','tmpdir','config','input','getClassMetadata','split','prototype','decorate','addObject','ApiService','1043961xIgjGx','isArray','anncicapi','_matchedRoute','HEADERS_SIGNATURE','isDevelopmentEnvironment','metadata','decorator','isClass','koa','@midwayjs/koa','isNull','@anncic-api/validator','16GrcRSb','getApplications','device','basic.log','app','./types/action','ACTION_KEY','defineProperty','tagName','defaultsDeep','MidwayConfigService','36XnKBLt','MidwayApplicationManager','encrypted','CustomConfiguration','Inject','bodyXml','design:type','log','isString'];a3_0xb64f=function(){return _0x57c484;};return a3_0xb64f();}a3_0x388c74();'use strict';var __decorate=this&&this[a3_0x2b3622(0x1de)]||function(_0x15abfc,_0x5655d3,_0x43dcb6,_0x37c1a5){const _0x18936b=a3_0x2b3622;var _0x578b23=arguments['length'],_0x553c28=_0x578b23<0x3?_0x5655d3:_0x37c1a5===null?_0x37c1a5=Object['getOwnPropertyDescriptor'](_0x5655d3,_0x43dcb6):_0x37c1a5,_0x2acf52;if(typeof Reflect===_0x18936b(0x1a5)&&typeof Reflect[_0x18936b(0x17c)]===_0x18936b(0x16c))_0x553c28=Reflect[_0x18936b(0x17c)](_0x15abfc,_0x5655d3,_0x43dcb6,_0x37c1a5);else{for(var _0x3fde6e=_0x15abfc['length']-0x1;_0x3fde6e>=0x0;_0x3fde6e--)if(_0x2acf52=_0x15abfc[_0x3fde6e])_0x553c28=(_0x578b23<0x3?_0x2acf52(_0x553c28):_0x578b23>0x3?_0x2acf52(_0x5655d3,_0x43dcb6,_0x553c28):_0x2acf52(_0x5655d3,_0x43dcb6))||_0x553c28;}return _0x578b23>0x3&&_0x553c28&&Object['defineProperty'](_0x5655d3,_0x43dcb6,_0x553c28),_0x553c28;},__metadata=this&&this[a3_0x2b3622(0x1e1)]||function(_0x1d7605,_0x215a33){const _0x47d3f3=a3_0x2b3622;if(typeof Reflect===_0x47d3f3(0x1a5)&&typeof Reflect[_0x47d3f3(0x185)]===_0x47d3f3(0x16c))return Reflect['metadata'](_0x1d7605,_0x215a33);};Object[a3_0x2b3622(0x193)](exports,a3_0x2b3622(0x171),{'value':!![]}),exports['CustomConfiguration']=void 0x0;const core_1=require(a3_0x2b3622(0x1b1)),core_2=require(a3_0x2b3622(0x1b1)),ApiError_1=require(a3_0x2b3622(0x1a9)),ApiService_1=require(a3_0x2b3622(0x1f7)),intercept_1=require(a3_0x2b3622(0x1d8)),action_1=require(a3_0x2b3622(0x191)),fs=require('fs'),path=require(a3_0x2b3622(0x1f9)),koasend=require(a3_0x2b3622(0x1a8)),koa=require(a3_0x2b3622(0x189)),upload=require(a3_0x2b3622(0x214)),staticFile=require(a3_0x2b3622(0x1a3)),crossDomain=require(a3_0x2b3622(0x1d1)),ConfigDefault=require(a3_0x2b3622(0x1d6)),ConfigProduction=require(a3_0x2b3622(0x1f4)),anncic=require(a3_0x2b3622(0x1b4)),anncicCache=require(a3_0x2b3622(0x1bd)),anncicEvent=require('@anncic-api/event'),anncicTypeorm=require(a3_0x2b3622(0x1e6)),anncicValidator=require(a3_0x2b3622(0x18b)),anncicHelper=require('anncic-apihelper');let CustomConfiguration=class CustomConfiguration{async[a3_0x2b3622(0x1cf)](){const _0x1d4f76=a3_0x2b3622;await this['filterConfig'](),await this['loggerConfig'](),await this[_0x1d4f76(0x1a2)](),await this[_0x1d4f76(0x1b7)]();}async[a3_0x2b3622(0x1a2)](){const _0x32718c=a3_0x2b3622,_0xa503df=this['config']['getConfiguration'](),_0x1a8c28=(0x0,core_1[_0x32718c(0x179)])(intercept_1[_0x32718c(0x20b)],intercept_1[_0x32718c(0x201)])||{};this[_0x32718c(0x186)][_0x32718c(0x1c3)](action_1[_0x32718c(0x1d2)],_0x8d5f18=>{const _0x5b3ac8=_0x32718c;var _0x4c9535;const _0x4c5b64=(0x0,core_1[_0x5b3ac8(0x179)])(action_1[_0x5b3ac8(0x1b6)],action_1[_0x5b3ac8(0x1df)])||{},_0x10793f=_0x8d5f18[_0x5b3ac8(0x185)],_0x1140de=(0x0,core_1[_0x5b3ac8(0x179)])(action_1[_0x5b3ac8(0x192)],_0x8d5f18[_0x5b3ac8(0x1aa)])||{},_0x153e62=((_0x4c9535=_0x1140de===null||_0x1140de===void 0x0?void 0x0:_0x1140de['filepath'])===null||_0x4c9535===void 0x0?void 0x0:_0x4c9535[_0x5b3ac8(0x211)](0x0,_0x1140de['filepath'][_0x5b3ac8(0x1fe)]('.')))||'',_0x4d37c8=(_0x1140de===null||_0x1140de===void 0x0?void 0x0:_0x1140de[_0x5b3ac8(0x1c9)])?(_0x4c5b64===null||_0x4c5b64===void 0x0?void 0x0:_0x4c5b64[_0x1140de['module']])||{}:{};return{'before':async _0x466bdd=>{const _0x526dee=_0x5b3ac8;var _0x6b8679,_0x3d4296,_0xae8795,_0x2d8f30;const _0x193550=(_0x6b8679=_0x466bdd===null||_0x466bdd===void 0x0?void 0x0:_0x466bdd[_0x526dee(0x1aa)])===null||_0x6b8679===void 0x0?void 0x0:_0x6b8679[core_2[_0x526dee(0x1dd)]],_0x28c89a=lodash['defaultsDeep']({},_0x193550[_0x526dee(0x1ad)][_0x526dee(0x207)]||_0x193550[_0x526dee(0x1ad)][((_0x3d4296=_0xa503df===null||_0xa503df===void 0x0?void 0x0:_0xa503df[_0x526dee(0x19c)])===null||_0x3d4296===void 0x0?void 0x0:_0x3d4296[_0x526dee(0x1d5)])||_0x526dee(0x207)]||{},_0x193550[_0x526dee(0x1ad)]['query']||{});_0x193550[_0x526dee(0x205)]={'module':(_0x4d37c8===null||_0x4d37c8===void 0x0?void 0x0:_0x4d37c8[_0x526dee(0x1b2)])||'','routePath':''+_0x193550[_0x526dee(0x1f9)],'routeName':_0x1140de[_0x526dee(0x1fa)][_0x526dee(0x194)]+'@'+_0x10793f['routerName'],'routeMethod':((_0x10793f===null||_0x10793f===void 0x0?void 0x0:_0x10793f[_0x526dee(0x1b3)])||_0x193550['method']||'')['toLowerCase'](),'routeDescription':(_0x10793f===null||_0x10793f===void 0x0?void 0x0:_0x10793f[_0x526dee(0x1a6)])||'','filemethod':_0x153e62+'@'+(_0x10793f['method']||'')};if(_0x193550&&(_0x10793f===null||_0x10793f===void 0x0?void 0x0:_0x10793f[_0x526dee(0x1c2)]))try{const _0x3d5256=((_0xae8795=_0xa503df===null||_0xa503df===void 0x0?void 0x0:_0xa503df['anncicapi'])===null||_0xae8795===void 0x0?void 0x0:_0xae8795[_0x526dee(0x1f0)])&&typeof(_0x28c89a===null||_0x28c89a===void 0x0?void 0x0:_0x28c89a[_0xa503df[_0x526dee(0x181)][_0x526dee(0x1f0)]])=='string'?JSON[_0x526dee(0x1b8)](base64_decode(_0x28c89a[_0xa503df['anncicapi'][_0x526dee(0x1f0)]])||'{}')||{}:((_0x2d8f30=_0x193550===null||_0x193550===void 0x0?void 0x0:_0x193550[_0x526dee(0x1ad)])===null||_0x2d8f30===void 0x0?void 0x0:_0x2d8f30[_0x526dee(0x1e8)])||{};if(!this[_0x526dee(0x17e)][_0x526dee(0x1c6)](_0x3d5256))throw new AnnError(ApiError_1[_0x526dee(0x1c7)][_0x526dee(0x183)]);for(const _0x746e3 in _0x3d5256||{}){_0x193550[_0x526dee(0x1e8)][_0x746e3]=_0x3d5256[_0x746e3];}}catch(_0x176a8c){if(_0x176a8c instanceof AnnError)throw _0x176a8c;else throw new AnnError(ApiError_1[_0x526dee(0x1c7)]['_UNKNOW_']);}},'around':async _0xc751f=>{const _0x4b1501=_0x5b3ac8;var _0x4d03c8,_0x9c39d7,_0x5b9611;const _0x235606=(_0x4d03c8=_0xc751f===null||_0xc751f===void 0x0?void 0x0:_0xc751f['target'])===null||_0x4d03c8===void 0x0?void 0x0:_0x4d03c8[core_2['REQUEST_OBJ_CTX_KEY']];if(_0x235606&&(_0x10793f===null||_0x10793f===void 0x0?void 0x0:_0x10793f[_0x4b1501(0x1c2)])&&((_0x10793f===null||_0x10793f===void 0x0?void 0x0:_0x10793f[_0x4b1501(0x1ab)])||typeof(_0x10793f===null||_0x10793f===void 0x0?void 0x0:_0x10793f[_0x4b1501(0x1ab)])==_0x4b1501(0x1d0))){if(((_0x9c39d7=_0x235606[_0x4b1501(0x1e8)])===null||_0x9c39d7===void 0x0?void 0x0:_0x9c39d7[_0x4b1501(0x18e)])&&((_0x5b9611=_0x1a8c28===null||_0x1a8c28===void 0x0?void 0x0:_0x1a8c28[_0x235606['headers'][_0x4b1501(0x18e)]])===null||_0x5b9611===void 0x0?void 0x0:_0x5b9611['length'])>0x0)for(const _0x500847 of _0x1a8c28[_0x235606[_0x4b1501(0x1e8)][_0x4b1501(0x18e)]]||[]){if(core_1['Types'][_0x4b1501(0x187)](_0x500847)){const _0x1008eb=await _0x235606[_0x4b1501(0x1db)][_0x4b1501(0x172)](_0x500847);typeof(_0x1008eb===null||_0x1008eb===void 0x0?void 0x0:_0x1008eb[_0x4b1501(0x1d7)])==_0x4b1501(0x16c)?await _0x1008eb['match'](_0x235606,typeof(_0x235606===null||_0x235606===void 0x0?void 0x0:_0x235606[_0x4b1501(0x1ed)])==_0x4b1501(0x1cb)&&(_0x235606===null||_0x235606===void 0x0?void 0x0:_0x235606[_0x4b1501(0x182)])?_0x235606[_0x4b1501(0x1ed)]['toLowerCase']()+'@'+(_0x235606===null||_0x235606===void 0x0?void 0x0:_0x235606[_0x4b1501(0x182)]):undefined,_0x10793f)&&await _0x1008eb[_0x4b1501(0x213)](_0x235606,typeof(_0x235606===null||_0x235606===void 0x0?void 0x0:_0x235606[_0x4b1501(0x1ed)])==_0x4b1501(0x1cb)&&(_0x235606===null||_0x235606===void 0x0?void 0x0:_0x235606[_0x4b1501(0x182)])?_0x235606[_0x4b1501(0x1ed)]['toLowerCase']()+'@'+(_0x235606===null||_0x235606===void 0x0?void 0x0:_0x235606['_matchedRoute']):undefined,_0x10793f):await _0x1008eb['handler'](_0x235606,typeof(_0x235606===null||_0x235606===void 0x0?void 0x0:_0x235606[_0x4b1501(0x1ed)])==_0x4b1501(0x1cb)&&(_0x235606===null||_0x235606===void 0x0?void 0x0:_0x235606[_0x4b1501(0x182)])?_0x235606[_0x4b1501(0x1ed)]['toLowerCase']()+'@'+(_0x235606===null||_0x235606===void 0x0?void 0x0:_0x235606[_0x4b1501(0x182)]):undefined,_0x10793f);}else core_1[_0x4b1501(0x1f8)][_0x4b1501(0x1fb)](_0x500847)&&await _0x500847(_0x235606,typeof(_0x235606===null||_0x235606===void 0x0?void 0x0:_0x235606[_0x4b1501(0x1ed)])==_0x4b1501(0x1cb)&&(_0x235606===null||_0x235606===void 0x0?void 0x0:_0x235606[_0x4b1501(0x182)])?_0x235606[_0x4b1501(0x1ed)][_0x4b1501(0x1ff)]()+'@'+(_0x235606===null||_0x235606===void 0x0?void 0x0:_0x235606[_0x4b1501(0x182)]):undefined,_0x10793f);}}return await _0xc751f['proceed'](..._0xc751f[_0x4b1501(0x206)]);},'afterThrow':(_0x227662,_0x3fc6bf)=>{throw _0x3fc6bf;}};});}async[a3_0x2b3622(0x1b7)](){const _0x3d1166=a3_0x2b3622,_0x58b028=this['config']['getConfiguration']();this['application'][_0x3d1166(0x18d)]([_0x3d1166(0x188)])[_0x3d1166(0x1c5)](_0x443829=>{const _0xe24e08=_0x3d1166;(_0x443829===null||_0x443829===void 0x0?void 0x0:_0x443829[_0xe24e08(0x1ec)])&&Object[_0xe24e08(0x200)](_0x443829[_0xe24e08(0x1ec)],{'hosturl':{'configurable':![],'get':function(){const _0x3e7f0a=_0xe24e08;var _0x5cb5f4,_0x448b6e,_0x13af1c,_0x49b7a9;if((this===null||this===void 0x0?void 0x0:this[_0x3e7f0a(0x1d9)])&&!this[_0x3e7f0a(0x1d9)][_0x3e7f0a(0x1a1)](_0x3e7f0a(0x212))){let _0xe47832=this['host'][_0x3e7f0a(0x17a)](':');return['80',_0x3e7f0a(0x1c8)][_0x3e7f0a(0x20d)](_0xe47832===null||_0xe47832===void 0x0?void 0x0:_0xe47832[0x1])?''+(!!((_0x448b6e=(_0x5cb5f4=this===null||this===void 0x0?void 0x0:this[_0x3e7f0a(0x1ea)])===null||_0x5cb5f4===void 0x0?void 0x0:_0x5cb5f4['connection'])===null||_0x448b6e===void 0x0?void 0x0:_0x448b6e[_0x3e7f0a(0x199)])||(_0xe47832===null||_0xe47832===void 0x0?void 0x0:_0xe47832[0x1])==_0x3e7f0a(0x1c8)?_0x3e7f0a(0x1e9):'http://')+_0xe47832[0x0]:''+(!!((_0x49b7a9=(_0x13af1c=this===null||this===void 0x0?void 0x0:this['req'])===null||_0x13af1c===void 0x0?void 0x0:_0x13af1c[_0x3e7f0a(0x1a4)])===null||_0x49b7a9===void 0x0?void 0x0:_0x49b7a9[_0x3e7f0a(0x199)])?'https://':_0x3e7f0a(0x1f6))+this[_0x3e7f0a(0x1d9)];}return'';}},'ok':{'value':function(_0x335ea8,_0x16ccee,_0x3eca23=0x0){return{'code':_0x3eca23,'data':_0x335ea8,'extra':_0x16ccee};}},'input':{'value':function(_0x4aac5a,_0x24f07d){const _0x1f0ce4=_0xe24e08;var _0x504307;const _0x355d2e=lodash[_0x1f0ce4(0x195)]({},this[_0x1f0ce4(0x1ad)][_0x1f0ce4(0x207)]||this['request'][((_0x504307=_0x58b028===null||_0x58b028===void 0x0?void 0x0:_0x58b028[_0x1f0ce4(0x19c)])===null||_0x504307===void 0x0?void 0x0:_0x504307['key'])||_0x1f0ce4(0x207)]||{},this['request'][_0x1f0ce4(0x1e5)]||{});return _0x4aac5a?lodash[_0x1f0ce4(0x202)](_0x355d2e,_0x4aac5a,_0x24f07d):_0x355d2e;}},'when':{'value':async function(_0x2a7ec8,_0x2630c5){const _0xe27dc2=_0xe24e08,_0x463e39=this[_0xe27dc2(0x178)](_0x2a7ec8,null);if(!lodash[_0xe27dc2(0x18a)](_0x463e39))return await _0x2630c5(_0x463e39);}},'only':{'value':function(_0x274fec){const _0x234091=_0xe24e08,_0x169dd1={};for(let _0x2f16ba=0x0;_0x2f16ba<_0x274fec[_0x234091(0x20f)];_0x2f16ba++){lodash[_0x234091(0x180)](_0x274fec[_0x2f16ba])&&_0x274fec[_0x2f16ba][_0x234091(0x20f)]>0x0&&lodash[_0x234091(0x19f)](_0x274fec[_0x2f16ba][0x0])&&(_0x169dd1[_0x274fec[_0x2f16ba][0x0]]=this['input'](_0x274fec[_0x2f16ba][0x0],_0x274fec[_0x2f16ba][_0x234091(0x20f)]>0x1?_0x274fec[_0x2f16ba][0x1]:null));}return _0x169dd1;}},'koasend':{'value':async function(_0x5b8368,_0x14f2db){const _0x107776=_0xe24e08;if(_0x5b8368&&!fs[_0x107776(0x1ef)](_0x5b8368)&&!fs[_0x107776(0x1ef)](this[_0x107776(0x190)][_0x107776(0x209)]()+'/'+_0x5b8368))return _0x107776(0x1a7);return _0x5b8368=fs[_0x107776(0x1ef)](_0x5b8368)?_0x5b8368:this[_0x107776(0x190)]['getAppDir']()+'/'+_0x5b8368,this[_0x107776(0x1b5)](_0x14f2db||_0x5b8368),await koasend(this,_0x5b8368);}}});});}async['loggerConfig'](){const _0x53d4c6=a3_0x2b3622;var _0x4ca2f8;if(fs[_0x53d4c6(0x1ef)](this[_0x53d4c6(0x190)]['getBaseDir']()+'/apps')&&fs[_0x53d4c6(0x1eb)](this[_0x53d4c6(0x190)][_0x53d4c6(0x204)]()+'/apps')['isDirectory']()){const _0x445ae1=this[_0x53d4c6(0x177)][_0x53d4c6(0x1ca)](),_0xc12481=((_0x4ca2f8=_0x445ae1===null||_0x445ae1===void 0x0?void 0x0:_0x445ae1[_0x53d4c6(0x1cc)])===null||_0x4ca2f8===void 0x0?void 0x0:_0x4ca2f8[_0x53d4c6(0x1d3)])||{};!fs[_0x53d4c6(0x1ef)](this['app'][_0x53d4c6(0x204)]()+_0x53d4c6(0x1c4))&&(_0xc12481['app']={'lazyLoad':!![],'enableJSON':!![],'enableConsole':this[_0x53d4c6(0x1fd)][_0x53d4c6(0x184)](),'fileLogName':_0x53d4c6(0x1d4),'dir':path['join'](this[_0x53d4c6(0x190)][_0x53d4c6(0x209)](),_0x53d4c6(0x20e),_0x53d4c6(0x190))});!fs[_0x53d4c6(0x1ef)](this[_0x53d4c6(0x190)]['getBaseDir']()+_0x53d4c6(0x1e4))&&(_0xc12481['basic']={'lazyLoad':!![],'enableJSON':!![],'enableConsole':this[_0x53d4c6(0x1fd)][_0x53d4c6(0x184)](),'fileLogName':_0x53d4c6(0x18f),'dir':path[_0x53d4c6(0x1ee)](this[_0x53d4c6(0x190)][_0x53d4c6(0x209)](),_0x53d4c6(0x20e),_0x53d4c6(0x210))});for(const _0x1e3313 of fs[_0x53d4c6(0x1bc)](this[_0x53d4c6(0x190)][_0x53d4c6(0x204)]()+_0x53d4c6(0x1af))){if(!fs[_0x53d4c6(0x1eb)](this[_0x53d4c6(0x190)][_0x53d4c6(0x204)]()+_0x53d4c6(0x215)+_0x1e3313)[_0x53d4c6(0x1e2)]())continue;!(_0xc12481===null||_0xc12481===void 0x0?void 0x0:_0xc12481[_0x1e3313])&&(_0xc12481[_0x1e3313]={'lazyLoad':!![],'enableJSON':!![],'enableConsole':this[_0x53d4c6(0x1fd)][_0x53d4c6(0x184)](),'fileLogName':_0x1e3313+_0x53d4c6(0x20c),'dir':path[_0x53d4c6(0x1ee)](this[_0x53d4c6(0x190)]['getAppDir'](),'runtime',_0x53d4c6(0x1b0)+_0x1e3313)}),this[_0x53d4c6(0x1f2)]['createLogger'](_0x1e3313,_0xc12481[_0x1e3313]);}Object[_0x53d4c6(0x175)](_0xc12481)[_0x53d4c6(0x20f)]>0x0&&(!_0x445ae1[_0x53d4c6(0x1cc)]&&(_0x445ae1['midwayLogger']={'default':{'maxSize':'1m','maxFiles':_0x53d4c6(0x1bb),'dir':path[_0x53d4c6(0x1ee)](this[_0x53d4c6(0x190)][_0x53d4c6(0x209)](),_0x53d4c6(0x20e))}}),_0x445ae1[_0x53d4c6(0x1cc)][_0x53d4c6(0x1d3)]=_0xc12481),this[_0x53d4c6(0x177)][_0x53d4c6(0x17d)](_0x445ae1);}}async[a3_0x2b3622(0x1ba)](){const _0x4cbdfa=a3_0x2b3622;var _0x3760bb,_0x59606d,_0x292540,_0xc60008,_0xd4b3c1,_0x63cb4d;const _0x3f3875=this['config'][_0x4cbdfa(0x1ca)]();((_0x59606d=(_0x3760bb=_0x3f3875===null||_0x3f3875===void 0x0?void 0x0:_0x3f3875['anncicapi'])===null||_0x3760bb===void 0x0?void 0x0:_0x3760bb['devices'])===null||_0x59606d===void 0x0?void 0x0:_0x59606d['DEFAULT'])&&Object['keys'](_0x3f3875[_0x4cbdfa(0x181)][_0x4cbdfa(0x1cd)])[_0x4cbdfa(0x20f)]>0x1&&delete _0x3f3875[_0x4cbdfa(0x181)][_0x4cbdfa(0x1cd)]['DEFAULT'];if((_0x292540=_0x3f3875===null||_0x3f3875===void 0x0?void 0x0:_0x3f3875[_0x4cbdfa(0x203)])===null||_0x292540===void 0x0?void 0x0:_0x292540[_0x4cbdfa(0x1f1)])for(const _0x4fe3ec in _0x3f3875['staticFile'][_0x4cbdfa(0x1f1)]){((_0xc60008=_0x3f3875[_0x4cbdfa(0x203)][_0x4cbdfa(0x1f1)][_0x4fe3ec])===null||_0xc60008===void 0x0?void 0x0:_0xc60008[_0x4cbdfa(0x174)])&&typeof((_0xd4b3c1=_0x3f3875['staticFile'][_0x4cbdfa(0x1f1)][_0x4fe3ec])===null||_0xd4b3c1===void 0x0?void 0x0:_0xd4b3c1['dir'])==_0x4cbdfa(0x1cb)&&!fs[_0x4cbdfa(0x1ef)](_0x3f3875[_0x4cbdfa(0x203)][_0x4cbdfa(0x1f1)][_0x4fe3ec][_0x4cbdfa(0x174)])&&(fs['mkdirSync'](_0x3f3875[_0x4cbdfa(0x203)][_0x4cbdfa(0x1f1)][_0x4fe3ec]['dir'],{'recursive':!![]}),console[_0x4cbdfa(0x19e)](_0x4cbdfa(0x1da)+_0x3f3875[_0x4cbdfa(0x203)]['dirs'][_0x4fe3ec][_0x4cbdfa(0x174)]));}((_0x63cb4d=_0x3f3875===null||_0x3f3875===void 0x0?void 0x0:_0x3f3875['upload'])===null||_0x63cb4d===void 0x0?void 0x0:_0x63cb4d[_0x4cbdfa(0x176)])&&!fs[_0x4cbdfa(0x1ef)](_0x3f3875[_0x4cbdfa(0x1bf)][_0x4cbdfa(0x176)])&&(fs[_0x4cbdfa(0x1c0)](_0x3f3875[_0x4cbdfa(0x1bf)]['tmpdir'],{'recursive':!![]}),console['log'](_0x4cbdfa(0x1e7)+_0x3f3875['upload'][_0x4cbdfa(0x176)])),this['config'][_0x4cbdfa(0x17d)](_0x3f3875);}};exports[a3_0x2b3622(0x19a)]=CustomConfiguration,__decorate([(0x0,core_1[a3_0x2b3622(0x1f5)])(),__metadata(a3_0x2b3622(0x19d),Object)],CustomConfiguration['prototype'],a3_0x2b3622(0x190),void 0x0),__decorate([(0x0,core_1[a3_0x2b3622(0x19b)])(),__metadata(a3_0x2b3622(0x19d),core_2[a3_0x2b3622(0x196)])],CustomConfiguration[a3_0x2b3622(0x17b)],a3_0x2b3622(0x177),void 0x0),__decorate([(0x0,core_1[a3_0x2b3622(0x19b)])(),__metadata(a3_0x2b3622(0x19d),core_2[a3_0x2b3622(0x16e)])],CustomConfiguration['prototype'],a3_0x2b3622(0x186),void 0x0),__decorate([(0x0,core_1['Inject'])(),__metadata('design:type',core_2[a3_0x2b3622(0x198)])],CustomConfiguration[a3_0x2b3622(0x17b)],a3_0x2b3622(0x1ac),void 0x0),__decorate([(0x0,core_1['Inject'])(),__metadata(a3_0x2b3622(0x19d),core_2[a3_0x2b3622(0x173)])],CustomConfiguration['prototype'],a3_0x2b3622(0x1fd),void 0x0),__decorate([(0x0,core_1[a3_0x2b3622(0x19b)])(),__metadata(a3_0x2b3622(0x19d),core_1[a3_0x2b3622(0x1e0)])],CustomConfiguration[a3_0x2b3622(0x17b)],a3_0x2b3622(0x1f2),void 0x0),__decorate([(0x0,core_1[a3_0x2b3622(0x19b)])(),__metadata(a3_0x2b3622(0x19d),ApiService_1[a3_0x2b3622(0x17e)])],CustomConfiguration['prototype'],'ApiService',void 0x0),exports[a3_0x2b3622(0x19a)]=CustomConfiguration=__decorate([(0x0,core_1[a3_0x2b3622(0x1be)])({'imports':[koa,upload,staticFile,crossDomain,anncic,anncicCache,anncicEvent,anncicTypeorm,anncicValidator,anncicHelper],'namespace':a3_0x2b3622(0x20a),'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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