anncic-api 3.4.87 → 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_0x312ce7=a0_0xd620;function a0_0xd620(_0x3d1e64,_0x107f91){var _0x2be23f=a0_0x117a();return a0_0xd620=function(_0x430495,_0x2b79cd){_0x430495=_0x430495-0x167;var _0x117ae2=_0x2be23f[_0x430495];return _0x117ae2;},a0_0xd620(_0x3d1e64,_0x107f91);}function a0_0x117a(){var _0xb2faa3=['9652325bWxDJV','__esModule','20mb','/runtime/.upload','default','name','8150696sXimfv','toString','env','appDir','search','/runtime','form','{midway-bull}{','15871779RKFsJE','file','18WkrulM','38nwZYje','_token','98554hoKJDy','469089XdYFOJ','text','(((.+)+)+)+$','30081970iounte','270d','28ClDpHS','apply','xml','4066643AAxelV','dhauo1234420123gg3234901','constructor','defineProperty'];a0_0x117a=function(){return _0xb2faa3;};return a0_0x117a();}(function(_0x2b3ae9,_0x1dcb79){var _0x3d26c9=a0_0xd620,_0x2aeaa7=_0x2b3ae9();while(!![]){try{var _0x11476b=-parseInt(_0x3d26c9(0x169))/0x1*(parseInt(_0x3d26c9(0x167))/0x2)+-parseInt(_0x3d26c9(0x16a))/0x3*(parseInt(_0x3d26c9(0x16f))/0x4)+parseInt(_0x3d26c9(0x176))/0x5+parseInt(_0x3d26c9(0x186))/0x6*(-parseInt(_0x3d26c9(0x172))/0x7)+-parseInt(_0x3d26c9(0x17c))/0x8+parseInt(_0x3d26c9(0x184))/0x9+parseInt(_0x3d26c9(0x16d))/0xa;if(_0x11476b===_0x1dcb79)break;else _0x2aeaa7['push'](_0x2aeaa7['shift']());}catch(_0x4ee10c){_0x2aeaa7['push'](_0x2aeaa7['shift']());}}}(a0_0x117a,0xeda82));var a0_0x2b79cd=(function(){var _0x189ccb=!![];return function(_0x3a241a,_0x44b36d){var _0x1181f8=_0x189ccb?function(){var _0x16facc=a0_0xd620;if(_0x44b36d){var _0x28d466=_0x44b36d[_0x16facc(0x170)](_0x3a241a,arguments);return _0x44b36d=null,_0x28d466;}}:function(){};return _0x189ccb=![],_0x1181f8;};}()),a0_0x430495=a0_0x2b79cd(this,function(){var _0x284a95=a0_0xd620;return a0_0x430495['toString']()['search'](_0x284a95(0x16c))[_0x284a95(0x17d)]()[_0x284a95(0x174)](a0_0x430495)[_0x284a95(0x180)]('(((.+)+)+)+$');});a0_0x430495();'use strict';Object[a0_0x312ce7(0x175)](exports,a0_0x312ce7(0x177),{'value':!![]}),exports[a0_0x312ce7(0x17a)]=_0x95cfd8=>{var _0x1ad91f=a0_0x312ce7;return{'apitest':!![],'keys':_0x95cfd8[_0x1ad91f(0x17b)],'anncicapi':{'requestKey':_0x1ad91f(0x168),'password':'zhiulanuiy7892387985hnoi','devices':{'DEFAULT':{'secret':_0x1ad91f(0x173),'checkcode':_0x1ad91f(0x173)}}},'koa':{'proxy':!![]},'midwayLogger':{'default':{'maxSize':'1m','maxFiles':_0x1ad91f(0x16e),'dir':_0x95cfd8[_0x1ad91f(0x17f)]+_0x1ad91f(0x181)}},'bodyParser':{'enableTypes':['json',_0x1ad91f(0x182),_0x1ad91f(0x16b),_0x1ad91f(0x171)],'formLimit':_0x1ad91f(0x178),'jsonLimit':'20mb','textLimit':_0x1ad91f(0x178),'xmlLimit':_0x1ad91f(0x178),'enable':!![]},'upload':{'tmpdir':_0x95cfd8[_0x1ad91f(0x17f)]+_0x1ad91f(0x179),'cleanTimeout':0x5265c00},'busboy':{'mode':_0x1ad91f(0x185),'tmpdir':_0x95cfd8[_0x1ad91f(0x17f)]+_0x1ad91f(0x179),'cleanTimeout':0x5265c00},'bull':{'defaultQueueOptions':{'prefix':_0x1ad91f(0x183)+_0x95cfd8[_0x1ad91f(0x17b)]+':'+((_0x95cfd8===null||_0x95cfd8===void 0x0?void 0x0:_0x95cfd8['env'])?_0x95cfd8[_0x1ad91f(0x17e)]+':':'')+')'}}};};
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
- function a1_0x3b31(){var _0x157760=['135tDvDwg','18ZxtcHn','(((.+)+)+)+$','657872slqUPZ','2739480JnlePv','3430588FfjuUg','apply','3LFXjGC','4602770ivWStn','15492OCACCC','default','search','410696BHyEEM','toString','defineProperty','constructor','1956036pSqXBw'];a1_0x3b31=function(){return _0x157760;};return a1_0x3b31();}var a1_0x14cb45=a1_0x340b;function a1_0x340b(_0x45a584,_0x323509){var _0x1bec6a=a1_0x3b31();return a1_0x340b=function(_0x58b27b,_0x5e149f){_0x58b27b=_0x58b27b-0x1d7;var _0x3b31d1=_0x1bec6a[_0x58b27b];return _0x3b31d1;},a1_0x340b(_0x45a584,_0x323509);}(function(_0x3ce76c,_0x3f5dee){var _0x3fbe8c=a1_0x340b,_0x1b4e7b=_0x3ce76c();while(!![]){try{var _0x4c8402=-parseInt(_0x3fbe8c(0x1e5))/0x1+-parseInt(_0x3fbe8c(0x1dc))/0x2*(parseInt(_0x3fbe8c(0x1e0))/0x3)+-parseInt(_0x3fbe8c(0x1e2))/0x4*(parseInt(_0x3fbe8c(0x1d9))/0x5)+parseInt(_0x3fbe8c(0x1d8))/0x6+-parseInt(_0x3fbe8c(0x1de))/0x7+parseInt(_0x3fbe8c(0x1dd))/0x8+-parseInt(_0x3fbe8c(0x1da))/0x9*(-parseInt(_0x3fbe8c(0x1e1))/0xa);if(_0x4c8402===_0x3f5dee)break;else _0x1b4e7b['push'](_0x1b4e7b['shift']());}catch(_0x4231be){_0x1b4e7b['push'](_0x1b4e7b['shift']());}}}(a1_0x3b31,0x3e2f4));var a1_0x5e149f=(function(){var _0x4c5300=!![];return function(_0x27039a,_0x10db71){var _0x504536=_0x4c5300?function(){var _0x419a6d=a1_0x340b;if(_0x10db71){var _0x57a40d=_0x10db71[_0x419a6d(0x1df)](_0x27039a,arguments);return _0x10db71=null,_0x57a40d;}}:function(){};return _0x4c5300=![],_0x504536;};}()),a1_0x58b27b=a1_0x5e149f(this,function(){var _0x1c690b=a1_0x340b;return a1_0x58b27b[_0x1c690b(0x1e6)]()[_0x1c690b(0x1e4)](_0x1c690b(0x1db))[_0x1c690b(0x1e6)]()[_0x1c690b(0x1d7)](a1_0x58b27b)[_0x1c690b(0x1e4)](_0x1c690b(0x1db));});a1_0x58b27b();'use strict';Object[a1_0x14cb45(0x1e7)](exports,'__esModule',{'value':!![]}),exports[a1_0x14cb45(0x1e3)]=_0x5e6889=>{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_0x3738a9=a2_0x41b7;(function(_0x2e28eb,_0xe97e29){var _0x477ea7=a2_0x41b7,_0xfbbf36=_0x2e28eb();while(!![]){try{var _0x59cf6e=parseInt(_0x477ea7(0x89))/0x1*(parseInt(_0x477ea7(0x83))/0x2)+-parseInt(_0x477ea7(0x81))/0x3+-parseInt(_0x477ea7(0x86))/0x4*(-parseInt(_0x477ea7(0x7c))/0x5)+parseInt(_0x477ea7(0x7f))/0x6*(-parseInt(_0x477ea7(0x7d))/0x7)+parseInt(_0x477ea7(0x85))/0x8*(-parseInt(_0x477ea7(0x8a))/0x9)+-parseInt(_0x477ea7(0x82))/0xa+parseInt(_0x477ea7(0x8b))/0xb*(parseInt(_0x477ea7(0x7e))/0xc);if(_0x59cf6e===_0xe97e29)break;else _0xfbbf36['push'](_0xfbbf36['shift']());}catch(_0x3c729a){_0xfbbf36['push'](_0xfbbf36['shift']());}}}(a2_0x4dde,0x48d7c));var a2_0x2ebd3d=(function(){var _0x1f5abf=!![];return function(_0xf4ec4b,_0x5ed99b){var _0x2457b7=_0x1f5abf?function(){if(_0x5ed99b){var _0x188b63=_0x5ed99b['apply'](_0xf4ec4b,arguments);return _0x5ed99b=null,_0x188b63;}}:function(){};return _0x1f5abf=![],_0x2457b7;};}()),a2_0x12a237=a2_0x2ebd3d(this,function(){var _0x314868=a2_0x41b7;return a2_0x12a237[_0x314868(0x8c)]()[_0x314868(0x80)]('(((.+)+)+)+$')[_0x314868(0x8c)]()['constructor'](a2_0x12a237)['search'](_0x314868(0x87));});a2_0x12a237();function a2_0x4dde(){var _0x577ea8=['279iwDCSn','11TbORlI','toString','48075LCGKtI','91vEoXeP','1929636xwkbHw','109518Igipxb','search','50517FqHHaC','2568030CNSuUv','25006eRCANy','default','41848ntWEje','176kKrMbM','(((.+)+)+)+$','__esModule','31BrFmia'];a2_0x4dde=function(){return _0x577ea8;};return a2_0x4dde();}function a2_0x41b7(_0x165611,_0x3a516b){var _0x1de900=a2_0x4dde();return a2_0x41b7=function(_0x12a237,_0x2ebd3d){_0x12a237=_0x12a237-0x7c;var _0x4dde57=_0x1de900[_0x12a237];return _0x4dde57;},a2_0x41b7(_0x165611,_0x3a516b);}'use strict';Object['defineProperty'](exports,a2_0x3738a9(0x88),{'value':!![]}),exports[a2_0x3738a9(0x84)]={'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_0x126243=a3_0x1c80;(function(_0x1e7c17,_0x166a2f){const _0x5ec4d0=a3_0x1c80,_0x2cf6a3=_0x1e7c17();while(!![]){try{const _0x34279e=-parseInt(_0x5ec4d0(0x103))/0x1*(parseInt(_0x5ec4d0(0xbd))/0x2)+-parseInt(_0x5ec4d0(0xab))/0x3+parseInt(_0x5ec4d0(0xb2))/0x4+-parseInt(_0x5ec4d0(0x109))/0x5+parseInt(_0x5ec4d0(0x97))/0x6+-parseInt(_0x5ec4d0(0xfe))/0x7*(-parseInt(_0x5ec4d0(0xfb))/0x8)+parseInt(_0x5ec4d0(0xb0))/0x9;if(_0x34279e===_0x166a2f)break;else _0x2cf6a3['push'](_0x2cf6a3['shift']());}catch(_0x4e13a9){_0x2cf6a3['push'](_0x2cf6a3['shift']());}}}(a3_0x3210,0xbeef8));const a3_0x554c93=(function(){let _0x24734f=!![];return function(_0x315a9b,_0x1c0990){const _0x420f0a=_0x24734f?function(){const _0x3ef928=a3_0x1c80;if(_0x1c0990){const _0x595cdb=_0x1c0990[_0x3ef928(0xe1)](_0x315a9b,arguments);return _0x1c0990=null,_0x595cdb;}}:function(){};return _0x24734f=![],_0x420f0a;};}()),a3_0x5d1f01=a3_0x554c93(this,function(){const _0x247727=a3_0x1c80;return a3_0x5d1f01[_0x247727(0x102)]()[_0x247727(0x119)](_0x247727(0x11a))[_0x247727(0x102)]()[_0x247727(0xc3)](a3_0x5d1f01)[_0x247727(0x119)]('(((.+)+)+)+$');});a3_0x5d1f01();function a3_0x1c80(_0x412f71,_0x3bb01a){const _0x1dceeb=a3_0x3210();return a3_0x1c80=function(_0x5d1f01,_0x554c93){_0x5d1f01=_0x5d1f01-0x90;let _0x321097=_0x1dceeb[_0x5d1f01];return _0x321097;},a3_0x1c80(_0x412f71,_0x3bb01a);}'use strict';var __decorate=this&&this[a3_0x126243(0x11b)]||function(_0x5b6a29,_0x57029c,_0x49160f,_0x281bc6){const _0x40137a=a3_0x126243;var _0x10ffb0=arguments[_0x40137a(0xa5)],_0x2ecefe=_0x10ffb0<0x3?_0x57029c:_0x281bc6===null?_0x281bc6=Object[_0x40137a(0xf2)](_0x57029c,_0x49160f):_0x281bc6,_0x16729d;if(typeof Reflect===_0x40137a(0xc8)&&typeof Reflect[_0x40137a(0xcd)]==='function')_0x2ecefe=Reflect[_0x40137a(0xcd)](_0x5b6a29,_0x57029c,_0x49160f,_0x281bc6);else{for(var _0x379b68=_0x5b6a29[_0x40137a(0xa5)]-0x1;_0x379b68>=0x0;_0x379b68--)if(_0x16729d=_0x5b6a29[_0x379b68])_0x2ecefe=(_0x10ffb0<0x3?_0x16729d(_0x2ecefe):_0x10ffb0>0x3?_0x16729d(_0x57029c,_0x49160f,_0x2ecefe):_0x16729d(_0x57029c,_0x49160f))||_0x2ecefe;}return _0x10ffb0>0x3&&_0x2ecefe&&Object[_0x40137a(0x11d)](_0x57029c,_0x49160f,_0x2ecefe),_0x2ecefe;},__metadata=this&&this['__metadata']||function(_0x2a7494,_0xaf8ad6){const _0x32e0a0=a3_0x126243;if(typeof Reflect===_0x32e0a0(0xc8)&&typeof Reflect[_0x32e0a0(0x99)]==='function')return Reflect['metadata'](_0x2a7494,_0xaf8ad6);};Object[a3_0x126243(0x11d)](exports,a3_0x126243(0x117),{'value':!![]}),exports['CustomConfiguration']=void 0x0;const core_1=require(a3_0x126243(0x106)),core_2=require(a3_0x126243(0x106)),ApiError_1=require(a3_0x126243(0x9c)),ApiService_1=require(a3_0x126243(0x11e)),intercept_1=require(a3_0x126243(0x105)),action_1=require(a3_0x126243(0x10e)),fs=require('fs'),path=require(a3_0x126243(0x91)),koasend=require('koa-send'),koa=require(a3_0x126243(0xa1)),upload=require(a3_0x126243(0x9f)),staticFile=require(a3_0x126243(0xee)),crossDomain=require(a3_0x126243(0x126)),ConfigDefault=require(a3_0x126243(0xc4)),ConfigProduction=require(a3_0x126243(0xd8)),anncic=require('@anncic-api/core'),anncicCache=require('@anncic-api/cache'),anncicEvent=require(a3_0x126243(0xd9)),anncicTypeorm=require(a3_0x126243(0x95)),anncicValidator=require(a3_0x126243(0xaa)),anncicHelper=require('anncic-apihelper');function a3_0x3210(){const _0x2b37b5=['req','@midwayjs/cross-domain','log','statSync','onReady','Anncic-api\x20upload-tmpdir\x20:\x20mkdir\x20','/apps/','path','MidwayApplicationManager','bodyXml','ACTION_ROUTE_KEY','@anncic-api/typeorm','tmpdir','4597908tArIWK','Inject','metadata','http://','midwayLogger','./exception/ApiError','method','mkdirSync','@midwayjs/busboy','requestKey','@midwayjs/koa','string','createLogger','design:type','length','MidwayLoggerService','Anncic-api\x20static-file\x20:\x20mkdir\x20','ApiService','query','@anncic-api/validator','4667943VSCJCB','koa','文件不存在','MidwayConfigService','clients','19345248NIucdC','lastIndexOf','4665736wzSeNv','dirs','loggerConfig','decorator','filterConfig','existsSync','isClass','upload','attachment','registerMethodHandler','REQUEST_OBJ_CTX_KEY','66OylTsl','getClassMetadata','toLowerCase','APPSCONFIG_KEY','description','Configuration','constructor','./config/config.default','_matchedRoute','hanlderApplications','Types','object','anncicapi','prototype','INTERCEPT_KEY','isDirectory','decorate','MidwayEnvironmentService','getConfiguration','request','apimit','/app','InterceptTargetTmp','runtime','keys','host','isNull','./config/config.production','@anncic-api/event','parse','CustomConfiguration','getAppDir','basic.log','intercept','https://','undefined','apply','_matchedRouteMeta','HEADERS_SIGNATURE','args','environment','getBaseDir','/basic','devices','_UNKNOW_','context','device','addObject','routerName','@midwayjs/static-file','basic','handlerActionRoute','application','getOwnPropertyDescriptor','app','filepath','includes','dir','apps-','connection','DEFAULT','headers','19432KocgyW','app.log','module','623UbPKvn','handler','defineProperties','input','toString','38173EyEDTC','ApiError','./types/intercept','@midwayjs/core','join','getApplications','3503215nMMMXV','ACTION_KEY','isDevelopmentEnvironment','isString','function','./types/action','443','config','loggerService','readdirSync','MidwayDecoratorService','getAsync','defaultsDeep','target','__esModule','staticFile','search','(((.+)+)+)+$','__decorate','/apps','defineProperty','./service/ApiService','tagName','270d','proceed','match','routerOptions','encrypted'];a3_0x3210=function(){return _0x2b37b5;};return a3_0x3210();}let CustomConfiguration=class CustomConfiguration{async[a3_0x126243(0x129)](){const _0x2fdc97=a3_0x126243;await this[_0x2fdc97(0xb6)](),await this[_0x2fdc97(0xb4)](),await this[_0x2fdc97(0xf0)](),await this[_0x2fdc97(0xc6)]();}async[a3_0x126243(0xf0)](){const _0x4db393=a3_0x126243,_0x66c97=this[_0x4db393(0x110)][_0x4db393(0xcf)](),_0x1f976f=(0x0,core_1['getClassMetadata'])(intercept_1[_0x4db393(0xcb)],intercept_1[_0x4db393(0xd3)])||{};this['decorator'][_0x4db393(0xbb)](action_1[_0x4db393(0x94)],_0x17f242=>{const _0x5ee4ca=_0x4db393;var _0x1672e4;const _0x5647e7=(0x0,core_1[_0x5ee4ca(0xbe)])(action_1[_0x5ee4ca(0xc0)],action_1['AppsConfigTmp'])||{},_0x47f1ac=_0x17f242[_0x5ee4ca(0x99)],_0x8ea593=(0x0,core_1[_0x5ee4ca(0xbe)])(action_1[_0x5ee4ca(0x10a)],_0x17f242['target'])||{},_0x916330=((_0x1672e4=_0x8ea593===null||_0x8ea593===void 0x0?void 0x0:_0x8ea593[_0x5ee4ca(0xf4)])===null||_0x1672e4===void 0x0?void 0x0:_0x1672e4['substring'](0x0,_0x8ea593[_0x5ee4ca(0xf4)][_0x5ee4ca(0xb1)]('.')))||'',_0x8d6b36=(_0x8ea593===null||_0x8ea593===void 0x0?void 0x0:_0x8ea593[_0x5ee4ca(0xfd)])?(_0x5647e7===null||_0x5647e7===void 0x0?void 0x0:_0x5647e7[_0x8ea593['module']])||{}:{};return{'before':async _0x191b00=>{const _0x376fc9=_0x5ee4ca;var _0x5ff9a1,_0x4d8b8a,_0x250917,_0x578749;const _0x1e2147=(_0x5ff9a1=_0x191b00===null||_0x191b00===void 0x0?void 0x0:_0x191b00[_0x376fc9(0x116)])===null||_0x5ff9a1===void 0x0?void 0x0:_0x5ff9a1[core_2[_0x376fc9(0xbc)]],_0x5e557f=lodash[_0x376fc9(0x115)]({},_0x1e2147[_0x376fc9(0xd0)]['body']||_0x1e2147['request'][((_0x4d8b8a=_0x66c97===null||_0x66c97===void 0x0?void 0x0:_0x66c97['bodyXml'])===null||_0x4d8b8a===void 0x0?void 0x0:_0x4d8b8a['key'])||'body']||{},_0x1e2147[_0x376fc9(0xd0)][_0x376fc9(0xa9)]||{});_0x1e2147[_0x376fc9(0xe2)]={'module':(_0x8d6b36===null||_0x8d6b36===void 0x0?void 0x0:_0x8d6b36['name'])||'','routePath':''+_0x1e2147[_0x376fc9(0x91)],'routeName':_0x8ea593[_0x376fc9(0x123)][_0x376fc9(0x11f)]+'@'+_0x47f1ac[_0x376fc9(0xed)],'routeMethod':((_0x47f1ac===null||_0x47f1ac===void 0x0?void 0x0:_0x47f1ac['requestMethod'])||_0x1e2147['method']||'')[_0x376fc9(0xbf)](),'routeDescription':(_0x47f1ac===null||_0x47f1ac===void 0x0?void 0x0:_0x47f1ac[_0x376fc9(0xc1)])||'','filemethod':_0x916330+'@'+(_0x47f1ac['method']||'')};if(_0x1e2147&&(_0x47f1ac===null||_0x47f1ac===void 0x0?void 0x0:_0x47f1ac['apimit']))try{const _0x2e04f1=((_0x250917=_0x66c97===null||_0x66c97===void 0x0?void 0x0:_0x66c97['anncicapi'])===null||_0x250917===void 0x0?void 0x0:_0x250917[_0x376fc9(0xa0)])&&typeof(_0x5e557f===null||_0x5e557f===void 0x0?void 0x0:_0x5e557f[_0x66c97[_0x376fc9(0xc9)][_0x376fc9(0xa0)]])==_0x376fc9(0xa2)?JSON[_0x376fc9(0xda)](base64_decode(_0x5e557f[_0x66c97[_0x376fc9(0xc9)][_0x376fc9(0xa0)]])||'{}')||{}:((_0x578749=_0x1e2147===null||_0x1e2147===void 0x0?void 0x0:_0x1e2147[_0x376fc9(0xd0)])===null||_0x578749===void 0x0?void 0x0:_0x578749[_0x376fc9(0xfa)])||{};if(!this[_0x376fc9(0xa8)]['checksign'](_0x2e04f1))throw new AnnError(ApiError_1[_0x376fc9(0x104)][_0x376fc9(0xe3)]);for(const _0x1bbec6 in _0x2e04f1||{}){_0x1e2147[_0x376fc9(0xfa)][_0x1bbec6]=_0x2e04f1[_0x1bbec6];}}catch(_0x5e9713){if(_0x5e9713 instanceof AnnError)throw _0x5e9713;else throw new AnnError(ApiError_1[_0x376fc9(0x104)][_0x376fc9(0xe9)]);}},'around':async _0x18f6a5=>{const _0x5f58a8=_0x5ee4ca;var _0x426f85,_0x38f8b0,_0x10973e;const _0x3f6cf3=(_0x426f85=_0x18f6a5===null||_0x18f6a5===void 0x0?void 0x0:_0x18f6a5[_0x5f58a8(0x116)])===null||_0x426f85===void 0x0?void 0x0:_0x426f85[core_2[_0x5f58a8(0xbc)]];if(_0x3f6cf3&&(_0x47f1ac===null||_0x47f1ac===void 0x0?void 0x0:_0x47f1ac[_0x5f58a8(0xd1)])&&((_0x47f1ac===null||_0x47f1ac===void 0x0?void 0x0:_0x47f1ac[_0x5f58a8(0xde)])||typeof(_0x47f1ac===null||_0x47f1ac===void 0x0?void 0x0:_0x47f1ac['intercept'])==_0x5f58a8(0xe0))){if(((_0x38f8b0=_0x3f6cf3[_0x5f58a8(0xfa)])===null||_0x38f8b0===void 0x0?void 0x0:_0x38f8b0[_0x5f58a8(0xeb)])&&((_0x10973e=_0x1f976f===null||_0x1f976f===void 0x0?void 0x0:_0x1f976f[_0x3f6cf3[_0x5f58a8(0xfa)][_0x5f58a8(0xeb)]])===null||_0x10973e===void 0x0?void 0x0:_0x10973e['length'])>0x0)for(const _0x1973c9 of _0x1f976f[_0x3f6cf3[_0x5f58a8(0xfa)][_0x5f58a8(0xeb)]]||[]){if(core_1[_0x5f58a8(0xc7)][_0x5f58a8(0xb8)](_0x1973c9)){const _0x2e1c3e=await _0x3f6cf3['requestContext'][_0x5f58a8(0x114)](_0x1973c9);typeof(_0x2e1c3e===null||_0x2e1c3e===void 0x0?void 0x0:_0x2e1c3e[_0x5f58a8(0x122)])==_0x5f58a8(0x10d)?await _0x2e1c3e[_0x5f58a8(0x122)](_0x3f6cf3,typeof(_0x3f6cf3===null||_0x3f6cf3===void 0x0?void 0x0:_0x3f6cf3[_0x5f58a8(0x9d)])==_0x5f58a8(0xa2)&&(_0x3f6cf3===null||_0x3f6cf3===void 0x0?void 0x0:_0x3f6cf3[_0x5f58a8(0xc5)])?_0x3f6cf3['method']['toLowerCase']()+'@'+(_0x3f6cf3===null||_0x3f6cf3===void 0x0?void 0x0:_0x3f6cf3[_0x5f58a8(0xc5)]):undefined,_0x47f1ac)&&await _0x2e1c3e[_0x5f58a8(0xff)](_0x3f6cf3,typeof(_0x3f6cf3===null||_0x3f6cf3===void 0x0?void 0x0:_0x3f6cf3[_0x5f58a8(0x9d)])==_0x5f58a8(0xa2)&&(_0x3f6cf3===null||_0x3f6cf3===void 0x0?void 0x0:_0x3f6cf3[_0x5f58a8(0xc5)])?_0x3f6cf3[_0x5f58a8(0x9d)]['toLowerCase']()+'@'+(_0x3f6cf3===null||_0x3f6cf3===void 0x0?void 0x0:_0x3f6cf3[_0x5f58a8(0xc5)]):undefined,_0x47f1ac):await _0x2e1c3e[_0x5f58a8(0xff)](_0x3f6cf3,typeof(_0x3f6cf3===null||_0x3f6cf3===void 0x0?void 0x0:_0x3f6cf3[_0x5f58a8(0x9d)])==_0x5f58a8(0xa2)&&(_0x3f6cf3===null||_0x3f6cf3===void 0x0?void 0x0:_0x3f6cf3[_0x5f58a8(0xc5)])?_0x3f6cf3[_0x5f58a8(0x9d)][_0x5f58a8(0xbf)]()+'@'+(_0x3f6cf3===null||_0x3f6cf3===void 0x0?void 0x0:_0x3f6cf3[_0x5f58a8(0xc5)]):undefined,_0x47f1ac);}else core_1[_0x5f58a8(0xc7)]['isFunction'](_0x1973c9)&&await _0x1973c9(_0x3f6cf3,typeof(_0x3f6cf3===null||_0x3f6cf3===void 0x0?void 0x0:_0x3f6cf3['method'])=='string'&&(_0x3f6cf3===null||_0x3f6cf3===void 0x0?void 0x0:_0x3f6cf3['_matchedRoute'])?_0x3f6cf3[_0x5f58a8(0x9d)][_0x5f58a8(0xbf)]()+'@'+(_0x3f6cf3===null||_0x3f6cf3===void 0x0?void 0x0:_0x3f6cf3[_0x5f58a8(0xc5)]):undefined,_0x47f1ac);}}return await _0x18f6a5[_0x5f58a8(0x121)](..._0x18f6a5[_0x5f58a8(0xe4)]);},'afterThrow':(_0x24ccb2,_0x1c8152)=>{throw _0x1c8152;}};});}async['hanlderApplications'](){const _0x2f1a9a=a3_0x126243,_0x3f4681=this[_0x2f1a9a(0x110)][_0x2f1a9a(0xcf)]();this[_0x2f1a9a(0xf1)][_0x2f1a9a(0x108)]([_0x2f1a9a(0xac)])['forEach'](_0xf942e7=>{const _0x55973f=_0x2f1a9a;(_0xf942e7===null||_0xf942e7===void 0x0?void 0x0:_0xf942e7['context'])&&Object[_0x55973f(0x100)](_0xf942e7[_0x55973f(0xea)],{'hosturl':{'configurable':![],'get':function(){const _0x5bcda0=_0x55973f;var _0xf2eaa5,_0x5944a4,_0xfd91d7,_0x4b754e;if((this===null||this===void 0x0?void 0x0:this[_0x5bcda0(0xd6)])&&!this['host']['startsWith']('http')){let _0x5dbc28=this[_0x5bcda0(0xd6)]['split'](':');return['80',_0x5bcda0(0x10f)][_0x5bcda0(0xf5)](_0x5dbc28===null||_0x5dbc28===void 0x0?void 0x0:_0x5dbc28[0x1])?''+(!!((_0x5944a4=(_0xf2eaa5=this===null||this===void 0x0?void 0x0:this[_0x5bcda0(0x125)])===null||_0xf2eaa5===void 0x0?void 0x0:_0xf2eaa5[_0x5bcda0(0xf8)])===null||_0x5944a4===void 0x0?void 0x0:_0x5944a4['encrypted'])||(_0x5dbc28===null||_0x5dbc28===void 0x0?void 0x0:_0x5dbc28[0x1])=='443'?_0x5bcda0(0xdf):'http://')+_0x5dbc28[0x0]:''+(!!((_0x4b754e=(_0xfd91d7=this===null||this===void 0x0?void 0x0:this[_0x5bcda0(0x125)])===null||_0xfd91d7===void 0x0?void 0x0:_0xfd91d7['connection'])===null||_0x4b754e===void 0x0?void 0x0:_0x4b754e[_0x5bcda0(0x124)])?_0x5bcda0(0xdf):_0x5bcda0(0x9a))+this[_0x5bcda0(0xd6)];}return'';}},'ok':{'value':function(_0x3f528f,_0x4cb103,_0x346caa=0x0){return{'code':_0x346caa,'data':_0x3f528f,'extra':_0x4cb103};}},'input':{'value':function(_0x3a59bd,_0x3dc2a9){const _0x19c7f7=_0x55973f;var _0x1facbe;const _0x5d53ad=lodash[_0x19c7f7(0x115)]({},this[_0x19c7f7(0xd0)]['body']||this[_0x19c7f7(0xd0)][((_0x1facbe=_0x3f4681===null||_0x3f4681===void 0x0?void 0x0:_0x3f4681[_0x19c7f7(0x93)])===null||_0x1facbe===void 0x0?void 0x0:_0x1facbe['key'])||'body']||{},this['request'][_0x19c7f7(0xa9)]||{});return _0x3a59bd?lodash['get'](_0x5d53ad,_0x3a59bd,_0x3dc2a9):_0x5d53ad;}},'when':{'value':async function(_0x1855fd,_0x5410b5){const _0xf65765=_0x55973f,_0x214f27=this[_0xf65765(0x101)](_0x1855fd,null);if(!lodash[_0xf65765(0xd7)](_0x214f27))return await _0x5410b5(_0x214f27);}},'only':{'value':function(_0x3595d9){const _0x470396=_0x55973f,_0x1443fb={};for(let _0x2ced38=0x0;_0x2ced38<_0x3595d9[_0x470396(0xa5)];_0x2ced38++){lodash['isArray'](_0x3595d9[_0x2ced38])&&_0x3595d9[_0x2ced38]['length']>0x0&&lodash[_0x470396(0x10c)](_0x3595d9[_0x2ced38][0x0])&&(_0x1443fb[_0x3595d9[_0x2ced38][0x0]]=this['input'](_0x3595d9[_0x2ced38][0x0],_0x3595d9[_0x2ced38]['length']>0x1?_0x3595d9[_0x2ced38][0x1]:null));}return _0x1443fb;}},'koasend':{'value':async function(_0x23942a,_0x55710c){const _0x3e357c=_0x55973f;if(_0x23942a&&!fs[_0x3e357c(0xb7)](_0x23942a)&&!fs[_0x3e357c(0xb7)](this[_0x3e357c(0xf3)][_0x3e357c(0xdc)]()+'/'+_0x23942a))return _0x3e357c(0xad);return _0x23942a=fs[_0x3e357c(0xb7)](_0x23942a)?_0x23942a:this[_0x3e357c(0xf3)]['getAppDir']()+'/'+_0x23942a,this[_0x3e357c(0xba)](_0x55710c||_0x23942a),await koasend(this,_0x23942a);}}});});}async[a3_0x126243(0xb4)](){const _0x1062c8=a3_0x126243;var _0x468762;if(fs[_0x1062c8(0xb7)](this[_0x1062c8(0xf3)][_0x1062c8(0xe6)]()+_0x1062c8(0x11c))&&fs[_0x1062c8(0x128)](this[_0x1062c8(0xf3)][_0x1062c8(0xe6)]()+_0x1062c8(0x11c))['isDirectory']()){const _0xf8d5bc=this[_0x1062c8(0x110)]['getConfiguration'](),_0x18b6d8=((_0x468762=_0xf8d5bc===null||_0xf8d5bc===void 0x0?void 0x0:_0xf8d5bc['midwayLogger'])===null||_0x468762===void 0x0?void 0x0:_0x468762['clients'])||{};!fs[_0x1062c8(0xb7)](this[_0x1062c8(0xf3)][_0x1062c8(0xe6)]()+_0x1062c8(0xd2))&&(_0x18b6d8[_0x1062c8(0xf3)]={'lazyLoad':!![],'enableJSON':!![],'enableConsole':this['environment'][_0x1062c8(0x10b)](),'fileLogName':_0x1062c8(0xfc),'dir':path[_0x1062c8(0x107)](this[_0x1062c8(0xf3)]['getAppDir'](),'runtime',_0x1062c8(0xf3))});!fs[_0x1062c8(0xb7)](this['app']['getBaseDir']()+_0x1062c8(0xe7))&&(_0x18b6d8[_0x1062c8(0xef)]={'lazyLoad':!![],'enableJSON':!![],'enableConsole':this[_0x1062c8(0xe5)][_0x1062c8(0x10b)](),'fileLogName':_0x1062c8(0xdd),'dir':path[_0x1062c8(0x107)](this[_0x1062c8(0xf3)]['getAppDir'](),_0x1062c8(0xd4),_0x1062c8(0xef))});for(const _0x3468dc of fs[_0x1062c8(0x112)](this['app']['getBaseDir']()+_0x1062c8(0x11c))){if(!fs[_0x1062c8(0x128)](this[_0x1062c8(0xf3)]['getBaseDir']()+_0x1062c8(0x90)+_0x3468dc)[_0x1062c8(0xcc)]())continue;!(_0x18b6d8===null||_0x18b6d8===void 0x0?void 0x0:_0x18b6d8[_0x3468dc])&&(_0x18b6d8[_0x3468dc]={'lazyLoad':!![],'enableJSON':!![],'enableConsole':this[_0x1062c8(0xe5)][_0x1062c8(0x10b)](),'fileLogName':_0x3468dc+'.log','dir':path[_0x1062c8(0x107)](this[_0x1062c8(0xf3)][_0x1062c8(0xdc)](),_0x1062c8(0xd4),_0x1062c8(0xf7)+_0x3468dc)}),this[_0x1062c8(0x111)][_0x1062c8(0xa3)](_0x3468dc,_0x18b6d8[_0x3468dc]);}Object['keys'](_0x18b6d8)[_0x1062c8(0xa5)]>0x0&&(!_0xf8d5bc[_0x1062c8(0x9b)]&&(_0xf8d5bc[_0x1062c8(0x9b)]={'default':{'maxSize':'1m','maxFiles':_0x1062c8(0x120),'dir':path['join'](this[_0x1062c8(0xf3)]['getAppDir'](),_0x1062c8(0xd4))}}),_0xf8d5bc['midwayLogger'][_0x1062c8(0xaf)]=_0x18b6d8),this['config'][_0x1062c8(0xec)](_0xf8d5bc);}}async['filterConfig'](){const _0x39ebb5=a3_0x126243;var _0x5312c4,_0x58562c,_0xa421a2,_0x229f5c,_0x1ed0ba,_0x26cce3;const _0x231307=this[_0x39ebb5(0x110)]['getConfiguration']();((_0x58562c=(_0x5312c4=_0x231307===null||_0x231307===void 0x0?void 0x0:_0x231307[_0x39ebb5(0xc9)])===null||_0x5312c4===void 0x0?void 0x0:_0x5312c4[_0x39ebb5(0xe8)])===null||_0x58562c===void 0x0?void 0x0:_0x58562c[_0x39ebb5(0xf9)])&&Object[_0x39ebb5(0xd5)](_0x231307[_0x39ebb5(0xc9)][_0x39ebb5(0xe8)])['length']>0x1&&delete _0x231307['anncicapi'][_0x39ebb5(0xe8)][_0x39ebb5(0xf9)];if((_0xa421a2=_0x231307===null||_0x231307===void 0x0?void 0x0:_0x231307[_0x39ebb5(0x118)])===null||_0xa421a2===void 0x0?void 0x0:_0xa421a2[_0x39ebb5(0xb3)])for(const _0x5c415e in _0x231307['staticFile'][_0x39ebb5(0xb3)]){((_0x229f5c=_0x231307[_0x39ebb5(0x118)]['dirs'][_0x5c415e])===null||_0x229f5c===void 0x0?void 0x0:_0x229f5c[_0x39ebb5(0xf6)])&&typeof((_0x1ed0ba=_0x231307['staticFile'][_0x39ebb5(0xb3)][_0x5c415e])===null||_0x1ed0ba===void 0x0?void 0x0:_0x1ed0ba['dir'])=='string'&&!fs[_0x39ebb5(0xb7)](_0x231307[_0x39ebb5(0x118)][_0x39ebb5(0xb3)][_0x5c415e][_0x39ebb5(0xf6)])&&(fs[_0x39ebb5(0x9e)](_0x231307[_0x39ebb5(0x118)]['dirs'][_0x5c415e]['dir'],{'recursive':!![]}),console[_0x39ebb5(0x127)](_0x39ebb5(0xa7)+_0x231307[_0x39ebb5(0x118)][_0x39ebb5(0xb3)][_0x5c415e]['dir']));}((_0x26cce3=_0x231307===null||_0x231307===void 0x0?void 0x0:_0x231307[_0x39ebb5(0xb9)])===null||_0x26cce3===void 0x0?void 0x0:_0x26cce3[_0x39ebb5(0x96)])&&!fs['existsSync'](_0x231307[_0x39ebb5(0xb9)][_0x39ebb5(0x96)])&&(fs['mkdirSync'](_0x231307[_0x39ebb5(0xb9)][_0x39ebb5(0x96)],{'recursive':!![]}),console['log'](_0x39ebb5(0x12a)+_0x231307['upload'][_0x39ebb5(0x96)])),this[_0x39ebb5(0x110)]['addObject'](_0x231307);}};exports['CustomConfiguration']=CustomConfiguration,__decorate([(0x0,core_1['App'])(),__metadata('design:type',Object)],CustomConfiguration['prototype'],a3_0x126243(0xf3),void 0x0),__decorate([(0x0,core_1[a3_0x126243(0x98)])(),__metadata(a3_0x126243(0xa4),core_2[a3_0x126243(0xae)])],CustomConfiguration[a3_0x126243(0xca)],'config',void 0x0),__decorate([(0x0,core_1[a3_0x126243(0x98)])(),__metadata(a3_0x126243(0xa4),core_2[a3_0x126243(0x113)])],CustomConfiguration[a3_0x126243(0xca)],a3_0x126243(0xb5),void 0x0),__decorate([(0x0,core_1['Inject'])(),__metadata(a3_0x126243(0xa4),core_2[a3_0x126243(0x92)])],CustomConfiguration[a3_0x126243(0xca)],a3_0x126243(0xf1),void 0x0),__decorate([(0x0,core_1['Inject'])(),__metadata(a3_0x126243(0xa4),core_2[a3_0x126243(0xce)])],CustomConfiguration[a3_0x126243(0xca)],a3_0x126243(0xe5),void 0x0),__decorate([(0x0,core_1[a3_0x126243(0x98)])(),__metadata(a3_0x126243(0xa4),core_1[a3_0x126243(0xa6)])],CustomConfiguration[a3_0x126243(0xca)],a3_0x126243(0x111),void 0x0),__decorate([(0x0,core_1['Inject'])(),__metadata(a3_0x126243(0xa4),ApiService_1[a3_0x126243(0xa8)])],CustomConfiguration['prototype'],a3_0x126243(0xa8),void 0x0),exports[a3_0x126243(0xdb)]=CustomConfiguration=__decorate([(0x0,core_1[a3_0x126243(0xc2)])({'imports':[koa,upload,staticFile,crossDomain,anncic,anncicCache,anncicEvent,anncicTypeorm,anncicValidator,anncicHelper],'namespace':'anncic-api','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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