anncic-api 3.7.17 → 3.7.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1,51 @@
1
- function a0_0x562c(_0x56827f,_0x26d0eb){var _0x138a35=a0_0x279a();return a0_0x562c=function(_0x231ac2,_0x220720){_0x231ac2=_0x231ac2-0x10f;var _0x279a5a=_0x138a35[_0x231ac2];return _0x279a5a;},a0_0x562c(_0x56827f,_0x26d0eb);}var a0_0x1834bb=a0_0x562c;(function(_0x42ed37,_0x31e0b2){var _0x5cd0e0=a0_0x562c,_0x17e98a=_0x42ed37();while(!![]){try{var _0x892bff=-parseInt(_0x5cd0e0(0x111))/0x1*(-parseInt(_0x5cd0e0(0x12c))/0x2)+-parseInt(_0x5cd0e0(0x12a))/0x3*(parseInt(_0x5cd0e0(0x12b))/0x4)+-parseInt(_0x5cd0e0(0x122))/0x5+-parseInt(_0x5cd0e0(0x124))/0x6*(parseInt(_0x5cd0e0(0x120))/0x7)+-parseInt(_0x5cd0e0(0x121))/0x8+parseInt(_0x5cd0e0(0x11b))/0x9+-parseInt(_0x5cd0e0(0x128))/0xa*(-parseInt(_0x5cd0e0(0x11f))/0xb);if(_0x892bff===_0x31e0b2)break;else _0x17e98a['push'](_0x17e98a['shift']());}catch(_0x3c6116){_0x17e98a['push'](_0x17e98a['shift']());}}}(a0_0x279a,0x9ca34));var a0_0x220720=(function(){var _0x27eebe=!![];return function(_0xb5c012,_0x1890a4){var _0x157516=_0x27eebe?function(){var _0x15b61=a0_0x562c;if(_0x1890a4){var _0x297a97=_0x1890a4[_0x15b61(0x114)](_0xb5c012,arguments);return _0x1890a4=null,_0x297a97;}}:function(){};return _0x27eebe=![],_0x157516;};}()),a0_0x231ac2=a0_0x220720(this,function(){var _0x5776d=a0_0x562c;return a0_0x231ac2['toString']()[_0x5776d(0x123)]('(((.+)+)+)+$')['toString']()[_0x5776d(0x10f)](a0_0x231ac2)[_0x5776d(0x123)](_0x5776d(0x113));});a0_0x231ac2();'use strict';Object[a0_0x1834bb(0x115)](exports,'__esModule',{'value':!![]}),exports[a0_0x1834bb(0x11d)]=_0x275e33=>{var _0x303336=a0_0x1834bb;return{'apitest':!![],'keys':_0x275e33[_0x303336(0x12d)],'anncicapi':{'requestKey':_0x303336(0x127),'password':_0x303336(0x116),'devices':{'DEFAULT':{'secret':_0x303336(0x118),'checkcode':'dhauo1234420123gg3234901'}}},'koa':{'proxy':!![]},'midwayLogger':{'default':{'maxSize':'1m','maxFiles':_0x303336(0x12e),'dir':_0x275e33['appDir']+_0x303336(0x11e)}},'bodyParser':{'enableTypes':[_0x303336(0x110),_0x303336(0x117),_0x303336(0x119),_0x303336(0x126)],'formLimit':_0x303336(0x11a),'jsonLimit':_0x303336(0x11a),'textLimit':_0x303336(0x11a),'xmlLimit':_0x303336(0x11a),'enable':!![]},'upload':{'tmpdir':_0x275e33[_0x303336(0x125)]+_0x303336(0x11c),'cleanTimeout':0x5265c00},'busboy':{'mode':'file','tmpdir':_0x275e33['appDir']+_0x303336(0x11c),'cleanTimeout':0x5265c00},'bull':{'defaultQueueOptions':{'prefix':_0x303336(0x112)+_0x275e33[_0x303336(0x12d)]+':'+((_0x275e33===null||_0x275e33===void 0x0?void 0x0:_0x275e33['env'])?_0x275e33[_0x303336(0x129)]+':':'')+')'}}};};function a0_0x279a(){var _0x951c30=['text','20mb','4638834UgQXRy','/runtime/.upload','default','/runtime','6701893pwbEup','7dgfKtP','9672456IJjLkk','5316185XYQuCO','search','1381980MAZlye','appDir','xml','_token','30ztcArC','env','27ABoNiE','888ZOrGvp','34FbZpNG','name','270d','constructor','json','47235IkzDaG','{midway-bull}{','(((.+)+)+)+$','apply','defineProperty','zhiulanuiy7892387985hnoi','form','dhauo1234420123gg3234901'];a0_0x279a=function(){return _0x951c30;};return a0_0x279a();}
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_0x54e3(){var _0x5d9cc2=['search','1773fYJIRQ','4515492Yeuuug','1087056eMCcCj','1979akSxOD','__esModule','(((.+)+)+)+$','18368900OAnDTZ','defineProperty','49016NZSjPG','default','5186571niMBiG','5hMqtYp','toString','318NMFdVh','4151567MRMYnh'];a1_0x54e3=function(){return _0x5d9cc2;};return a1_0x54e3();}var a1_0x586ba1=a1_0x343c;(function(_0x2be2b7,_0x4ecbc2){var _0x3a5ec4=a1_0x343c,_0x5f54c3=_0x2be2b7();while(!![]){try{var _0x396bad=parseInt(_0x3a5ec4(0xac))/0x1*(-parseInt(_0x3a5ec4(0xa6))/0x2)+parseInt(_0x3a5ec4(0xb3))/0x3+parseInt(_0x3a5ec4(0xab))/0x4+-parseInt(_0x3a5ec4(0xb4))/0x5*(parseInt(_0x3a5ec4(0xaa))/0x6)+parseInt(_0x3a5ec4(0xa7))/0x7+parseInt(_0x3a5ec4(0xb1))/0x8*(parseInt(_0x3a5ec4(0xa9))/0x9)+-parseInt(_0x3a5ec4(0xaf))/0xa;if(_0x396bad===_0x4ecbc2)break;else _0x5f54c3['push'](_0x5f54c3['shift']());}catch(_0x4cfe7e){_0x5f54c3['push'](_0x5f54c3['shift']());}}}(a1_0x54e3,0xdae4c));function a1_0x343c(_0x32e116,_0x459bc8){var _0x1d9396=a1_0x54e3();return a1_0x343c=function(_0x3ca044,_0x505289){_0x3ca044=_0x3ca044-0xa5;var _0x54e396=_0x1d9396[_0x3ca044];return _0x54e396;},a1_0x343c(_0x32e116,_0x459bc8);}var a1_0x505289=(function(){var _0x594bde=!![];return function(_0x4417a2,_0x2c9239){var _0x1869fa=_0x594bde?function(){if(_0x2c9239){var _0x2ef875=_0x2c9239['apply'](_0x4417a2,arguments);return _0x2c9239=null,_0x2ef875;}}:function(){};return _0x594bde=![],_0x1869fa;};}()),a1_0x3ca044=a1_0x505289(this,function(){var _0x280c8c=a1_0x343c;return a1_0x3ca044['toString']()[_0x280c8c(0xa8)](_0x280c8c(0xae))[_0x280c8c(0xa5)]()['constructor'](a1_0x3ca044)[_0x280c8c(0xa8)](_0x280c8c(0xae));});a1_0x3ca044();'use strict';Object[a1_0x586ba1(0xb0)](exports,a1_0x586ba1(0xad),{'value':!![]}),exports[a1_0x586ba1(0xb2)]=_0x11f412=>{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
- function a2_0x57dc(){var _0xb4338=['__esModule','8mmbfOl','1125cFgpYZ','apply','608880lYEOSD','123604hfIhpo','46420aTInFd','118440jSxtGM','702359ehXarP','toString','search','default','defineProperty','(((.+)+)+)+$','163044JqQJUB','46vRyZPX'];a2_0x57dc=function(){return _0xb4338;};return a2_0x57dc();}var a2_0x5e8db7=a2_0x54d5;(function(_0x12a861,_0x5166d2){var _0x3b3f2a=a2_0x54d5,_0xb9773=_0x12a861();while(!![]){try{var _0x587e82=-parseInt(_0x3b3f2a(0x1a5))/0x1+parseInt(_0x3b3f2a(0x19f))/0x2*(parseInt(_0x3b3f2a(0x1a2))/0x3)+parseInt(_0x3b3f2a(0x1a4))/0x4+parseInt(_0x3b3f2a(0x1a6))/0x5+-parseInt(_0x3b3f2a(0x1ae))/0x6+-parseInt(_0x3b3f2a(0x1a8))/0x7*(-parseInt(_0x3b3f2a(0x1a1))/0x8)+-parseInt(_0x3b3f2a(0x1a7))/0x9;if(_0x587e82===_0x5166d2)break;else _0xb9773['push'](_0xb9773['shift']());}catch(_0x45b6a7){_0xb9773['push'](_0xb9773['shift']());}}}(a2_0x57dc,0x1a020));var a2_0x3e62d5=(function(){var _0x2836d9=!![];return function(_0x4a8f13,_0x3e8fb0){var _0x47170d=_0x2836d9?function(){var _0x226859=a2_0x54d5;if(_0x3e8fb0){var _0x43b28d=_0x3e8fb0[_0x226859(0x1a3)](_0x4a8f13,arguments);return _0x3e8fb0=null,_0x43b28d;}}:function(){};return _0x2836d9=![],_0x47170d;};}()),a2_0x90ef55=a2_0x3e62d5(this,function(){var _0x15d5d6=a2_0x54d5;return a2_0x90ef55[_0x15d5d6(0x1a9)]()[_0x15d5d6(0x1aa)]('(((.+)+)+)+$')[_0x15d5d6(0x1a9)]()['constructor'](a2_0x90ef55)[_0x15d5d6(0x1aa)](_0x15d5d6(0x1ad));});a2_0x90ef55();'use strict';function a2_0x54d5(_0x41b49b,_0xff302c){var _0x35da9c=a2_0x57dc();return a2_0x54d5=function(_0x90ef55,_0x3e62d5){_0x90ef55=_0x90ef55-0x19f;var _0x57dc39=_0x35da9c[_0x90ef55];return _0x57dc39;},a2_0x54d5(_0x41b49b,_0xff302c);}Object[a2_0x5e8db7(0x1ac)](exports,a2_0x5e8db7(0x1a0),{'value':!![]}),exports[a2_0x5e8db7(0x1ab)]={'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_0x3fa4e5=a3_0x592d;(function(_0xbf5097,_0x5f3911){const _0x540c84=a3_0x592d,_0x3b6bd1=_0xbf5097();while(!![]){try{const _0x5d6088=-parseInt(_0x540c84(0x1d7))/0x1*(parseInt(_0x540c84(0x166))/0x2)+-parseInt(_0x540c84(0x1b4))/0x3*(parseInt(_0x540c84(0x175))/0x4)+parseInt(_0x540c84(0x17e))/0x5+-parseInt(_0x540c84(0x14a))/0x6*(-parseInt(_0x540c84(0x168))/0x7)+-parseInt(_0x540c84(0x1cb))/0x8*(parseInt(_0x540c84(0x1bc))/0x9)+parseInt(_0x540c84(0x146))/0xa*(parseInt(_0x540c84(0x1d6))/0xb)+parseInt(_0x540c84(0x15a))/0xc*(parseInt(_0x540c84(0x17f))/0xd);if(_0x5d6088===_0x5f3911)break;else _0x3b6bd1['push'](_0x3b6bd1['shift']());}catch(_0x2d6602){_0x3b6bd1['push'](_0x3b6bd1['shift']());}}}(a3_0xbdc2,0x5fa52));const a3_0xbd570a=(function(){let _0x485c0c=!![];return function(_0x1387bf,_0x35fa5c){const _0x68d771=_0x485c0c?function(){const _0x11e75b=a3_0x592d;if(_0x35fa5c){const _0x1601ce=_0x35fa5c[_0x11e75b(0x13c)](_0x1387bf,arguments);return _0x35fa5c=null,_0x1601ce;}}:function(){};return _0x485c0c=![],_0x68d771;};}()),a3_0x2851f3=a3_0xbd570a(this,function(){const _0x1d1924=a3_0x592d;return a3_0x2851f3[_0x1d1924(0x14b)]()['search'](_0x1d1924(0x158))[_0x1d1924(0x14b)]()[_0x1d1924(0x14d)](a3_0x2851f3)['search']('(((.+)+)+)+$');});a3_0x2851f3();'use strict';var __decorate=this&&this[a3_0x3fa4e5(0x193)]||function(_0x19135f,_0x12f228,_0x2dcb19,_0x455a94){const _0x207b20=a3_0x3fa4e5;var _0x607931=arguments[_0x207b20(0x1a6)],_0x20a8ea=_0x607931<0x3?_0x12f228:_0x455a94===null?_0x455a94=Object[_0x207b20(0x197)](_0x12f228,_0x2dcb19):_0x455a94,_0x1a67c4;if(typeof Reflect==='object'&&typeof Reflect[_0x207b20(0x1b0)]==='function')_0x20a8ea=Reflect[_0x207b20(0x1b0)](_0x19135f,_0x12f228,_0x2dcb19,_0x455a94);else{for(var _0x363c3a=_0x19135f[_0x207b20(0x1a6)]-0x1;_0x363c3a>=0x0;_0x363c3a--)if(_0x1a67c4=_0x19135f[_0x363c3a])_0x20a8ea=(_0x607931<0x3?_0x1a67c4(_0x20a8ea):_0x607931>0x3?_0x1a67c4(_0x12f228,_0x2dcb19,_0x20a8ea):_0x1a67c4(_0x12f228,_0x2dcb19))||_0x20a8ea;}return _0x607931>0x3&&_0x20a8ea&&Object[_0x207b20(0x1d3)](_0x12f228,_0x2dcb19,_0x20a8ea),_0x20a8ea;},__metadata=this&&this[a3_0x3fa4e5(0x196)]||function(_0x8dd1d1,_0x56f20d){const _0x224e2f=a3_0x3fa4e5;if(typeof Reflect==='object'&&typeof Reflect['metadata']===_0x224e2f(0x13d))return Reflect[_0x224e2f(0x1b9)](_0x8dd1d1,_0x56f20d);};function a3_0xbdc2(){const _0x33f3f6=['3XKJbXP','getBaseDir','app.log','proceed','koa-send','metadata','encrypted','routerName','9rCPaFE','https://','ACTION_ROUTE_KEY','toLowerCase','getApplications','upload','getClassMetadata','host','Inject','MidwayEnvironmentService','handler','decorator','hanlderApplications','dirs','@anncic-api/cache','3447128zurCmd','attachment','@midwayjs/busboy','@anncic-api/core','@midwayjs/static-file','staticFile','mkdirSync','filepath','defineProperty','@midwayjs/core','getConfiguration','88DvyqIS','1orrZvR','requestKey','文件不存在','path','MidwayApplicationManager','apply','function','Anncic-api\x20upload-tmpdir\x20:\x20mkdir\x20','./types/intercept','270d','midwayLogger','koa','getAppDir','existsSync','@midwayjs/koa','297380fUfScr','body','method','APPSCONFIG_KEY','131172NBXGlS','toString','443','constructor','AppsConfigTmp','apps-','isNull','onReady','keys','routerOptions','tmpdir','.log','anncic-apihelper','basic.log','(((.+)+)+)+$','__esModule','2624184OIpivX','basic','/app','MidwayConfigService','lastIndexOf','loggerConfig','app','join','@anncic-api/event','http://','connection','substring','145256TkZYzf','req','98UahUai','http','defaultsDeep','checksign','config','runtime','InterceptTargetTmp','apimit','context','match','dir','loggerService','_matchedRouteMeta','1304152vSOKuG','module','parse','requestMethod','name','string','handlerActionRoute','addObject','/apps','106505uxCakb','39IxBSMI','design:type','isClass','query','startsWith','./config/config.default','description','HEADERS_SIGNATURE','log','@anncic-api/validator','environment','split','application','input','_UNKNOW_','headers','INTERCEPT_KEY','CustomConfiguration','includes','undefined','__decorate','bodyXml','prototype','__metadata','getOwnPropertyDescriptor','./exception/ApiError','statSync','Types','isArray','isDirectory','Configuration','MidwayDecoratorService','requestContext','device','isDevelopmentEnvironment','key','target','anncicapi','./config/config.production','length','intercept','filterConfig','request','getAsync','./types/action','_matchedRoute','ApiService','/apps/','clients','decorate','REQUEST_OBJ_CTX_KEY','devices','ACTION_KEY'];a3_0xbdc2=function(){return _0x33f3f6;};return a3_0xbdc2();}function a3_0x592d(_0x4c0808,_0x40a5f1){const _0x3fd6ac=a3_0xbdc2();return a3_0x592d=function(_0x2851f3,_0xbd570a){_0x2851f3=_0x2851f3-0x13b;let _0xbdc218=_0x3fd6ac[_0x2851f3];return _0xbdc218;},a3_0x592d(_0x4c0808,_0x40a5f1);}Object['defineProperty'](exports,a3_0x3fa4e5(0x159),{'value':!![]}),exports['CustomConfiguration']=void 0x0;const core_1=require(a3_0x3fa4e5(0x1d4)),core_2=require(a3_0x3fa4e5(0x1d4)),ApiError_1=require(a3_0x3fa4e5(0x198)),ApiService_1=require('./service/ApiService'),intercept_1=require(a3_0x3fa4e5(0x13f)),action_1=require(a3_0x3fa4e5(0x1ab)),fs=require('fs'),path=require(a3_0x3fa4e5(0x1da)),koasend=require(a3_0x3fa4e5(0x1b8)),koa=require(a3_0x3fa4e5(0x145)),upload=require(a3_0x3fa4e5(0x1cd)),staticFile=require(a3_0x3fa4e5(0x1cf)),crossDomain=require('@midwayjs/cross-domain'),ConfigDefault=require(a3_0x3fa4e5(0x184)),ConfigProduction=require(a3_0x3fa4e5(0x1a5)),anncic=require(a3_0x3fa4e5(0x1ce)),anncicCache=require(a3_0x3fa4e5(0x1ca)),anncicEvent=require(a3_0x3fa4e5(0x162)),anncicTypeorm=require('@anncic-api/typeorm'),anncicValidator=require(a3_0x3fa4e5(0x188)),anncicHelper=require(a3_0x3fa4e5(0x156));let CustomConfiguration=class CustomConfiguration{async[a3_0x3fa4e5(0x151)](){const _0xde2d27=a3_0x3fa4e5;await this[_0xde2d27(0x1a8)](),await this[_0xde2d27(0x15f)](),await this['handlerActionRoute'](),await this[_0xde2d27(0x1c8)]();}async[a3_0x3fa4e5(0x17b)](){const _0x35d55f=a3_0x3fa4e5,_0x5f463c=this['config']['getConfiguration'](),_0x43c46b=(0x0,core_1[_0x35d55f(0x1c2)])(intercept_1[_0x35d55f(0x18f)],intercept_1[_0x35d55f(0x16e)])||{};this[_0x35d55f(0x1c7)]['registerMethodHandler'](action_1[_0x35d55f(0x1be)],_0x45da69=>{const _0x9cfb72=_0x35d55f;var _0x2cce1b;const _0xf41684=(0x0,core_1[_0x9cfb72(0x1c2)])(action_1[_0x9cfb72(0x149)],action_1[_0x9cfb72(0x14e)])||{},_0x39020b=_0x45da69[_0x9cfb72(0x1b9)],_0x285968=(0x0,core_1['getClassMetadata'])(action_1[_0x9cfb72(0x1b3)],_0x45da69[_0x9cfb72(0x1a3)])||{},_0x41fa36=((_0x2cce1b=_0x285968===null||_0x285968===void 0x0?void 0x0:_0x285968[_0x9cfb72(0x1d2)])===null||_0x2cce1b===void 0x0?void 0x0:_0x2cce1b[_0x9cfb72(0x165)](0x0,_0x285968['filepath'][_0x9cfb72(0x15e)]('.')))||'',_0x2d58e6=(_0x285968===null||_0x285968===void 0x0?void 0x0:_0x285968[_0x9cfb72(0x176)])?(_0xf41684===null||_0xf41684===void 0x0?void 0x0:_0xf41684[_0x285968[_0x9cfb72(0x176)]])||{}:{};return{'before':async _0x290ccb=>{const _0x2c57f5=_0x9cfb72;var _0xb821bf,_0x58c25a,_0xcabd44,_0x45e4bb;const _0x566767=(_0xb821bf=_0x290ccb===null||_0x290ccb===void 0x0?void 0x0:_0x290ccb[_0x2c57f5(0x1a3)])===null||_0xb821bf===void 0x0?void 0x0:_0xb821bf[core_2[_0x2c57f5(0x1b1)]],_0x185103=lodash[_0x2c57f5(0x16a)]({},_0x566767[_0x2c57f5(0x1a9)]['body']||_0x566767['request'][((_0x58c25a=_0x5f463c===null||_0x5f463c===void 0x0?void 0x0:_0x5f463c[_0x2c57f5(0x194)])===null||_0x58c25a===void 0x0?void 0x0:_0x58c25a['key'])||_0x2c57f5(0x147)]||{},_0x566767[_0x2c57f5(0x1a9)][_0x2c57f5(0x182)]||{});_0x566767[_0x2c57f5(0x174)]={'module':(_0x2d58e6===null||_0x2d58e6===void 0x0?void 0x0:_0x2d58e6[_0x2c57f5(0x179)])||'','routePath':''+_0x566767[_0x2c57f5(0x1da)],'routeName':_0x285968[_0x2c57f5(0x153)]['tagName']+'@'+_0x39020b[_0x2c57f5(0x1bb)],'routeMethod':((_0x39020b===null||_0x39020b===void 0x0?void 0x0:_0x39020b[_0x2c57f5(0x178)])||_0x566767[_0x2c57f5(0x148)]||'')[_0x2c57f5(0x1bf)](),'routeDescription':(_0x39020b===null||_0x39020b===void 0x0?void 0x0:_0x39020b[_0x2c57f5(0x185)])||'','filemethod':_0x41fa36+'@'+(_0x39020b[_0x2c57f5(0x148)]||'')};if(_0x566767&&(_0x39020b===null||_0x39020b===void 0x0?void 0x0:_0x39020b['apimit']))try{const _0x4ba991=((_0xcabd44=_0x5f463c===null||_0x5f463c===void 0x0?void 0x0:_0x5f463c[_0x2c57f5(0x1a4)])===null||_0xcabd44===void 0x0?void 0x0:_0xcabd44['requestKey'])&&typeof(_0x185103===null||_0x185103===void 0x0?void 0x0:_0x185103[_0x5f463c['anncicapi']['requestKey']])==_0x2c57f5(0x17a)?JSON[_0x2c57f5(0x177)](base64_decode(_0x185103[_0x5f463c[_0x2c57f5(0x1a4)][_0x2c57f5(0x1d8)]])||'{}')||{}:((_0x45e4bb=_0x566767===null||_0x566767===void 0x0?void 0x0:_0x566767[_0x2c57f5(0x1a9)])===null||_0x45e4bb===void 0x0?void 0x0:_0x45e4bb[_0x2c57f5(0x18e)])||{};if(!this[_0x2c57f5(0x1ad)][_0x2c57f5(0x16b)](_0x4ba991))throw new AnnError(ApiError_1['ApiError'][_0x2c57f5(0x186)]);for(const _0x3f0b0f in _0x4ba991||{}){_0x566767[_0x2c57f5(0x18e)][_0x3f0b0f]=_0x4ba991[_0x3f0b0f];}}catch(_0x26b610){if(_0x26b610 instanceof AnnError)throw _0x26b610;else throw new AnnError(ApiError_1['ApiError'][_0x2c57f5(0x18d)]);}},'around':async _0x11c600=>{const _0x2d7d02=_0x9cfb72;var _0x2f1b9a,_0x29c10a,_0x54dbfa;const _0x1fdd1d=(_0x2f1b9a=_0x11c600===null||_0x11c600===void 0x0?void 0x0:_0x11c600['target'])===null||_0x2f1b9a===void 0x0?void 0x0:_0x2f1b9a[core_2[_0x2d7d02(0x1b1)]];if(_0x1fdd1d&&(_0x39020b===null||_0x39020b===void 0x0?void 0x0:_0x39020b[_0x2d7d02(0x16f)])&&((_0x39020b===null||_0x39020b===void 0x0?void 0x0:_0x39020b[_0x2d7d02(0x1a7)])||typeof(_0x39020b===null||_0x39020b===void 0x0?void 0x0:_0x39020b[_0x2d7d02(0x1a7)])==_0x2d7d02(0x192))){if(((_0x29c10a=_0x1fdd1d[_0x2d7d02(0x18e)])===null||_0x29c10a===void 0x0?void 0x0:_0x29c10a[_0x2d7d02(0x1a0)])&&((_0x54dbfa=_0x43c46b===null||_0x43c46b===void 0x0?void 0x0:_0x43c46b[_0x1fdd1d['headers'][_0x2d7d02(0x1a0)]])===null||_0x54dbfa===void 0x0?void 0x0:_0x54dbfa[_0x2d7d02(0x1a6)])>0x0)for(const _0x568096 of _0x43c46b[_0x1fdd1d['headers'][_0x2d7d02(0x1a0)]]||[]){if(core_1[_0x2d7d02(0x19a)][_0x2d7d02(0x181)](_0x568096)){const _0x324015=await _0x1fdd1d[_0x2d7d02(0x19f)][_0x2d7d02(0x1aa)](_0x568096);typeof(_0x324015===null||_0x324015===void 0x0?void 0x0:_0x324015[_0x2d7d02(0x171)])=='function'?await _0x324015['match'](_0x1fdd1d,typeof(_0x1fdd1d===null||_0x1fdd1d===void 0x0?void 0x0:_0x1fdd1d['method'])=='string'&&(_0x1fdd1d===null||_0x1fdd1d===void 0x0?void 0x0:_0x1fdd1d[_0x2d7d02(0x1ac)])?_0x1fdd1d['method'][_0x2d7d02(0x1bf)]()+'@'+(_0x1fdd1d===null||_0x1fdd1d===void 0x0?void 0x0:_0x1fdd1d[_0x2d7d02(0x1ac)]):undefined,_0x39020b)&&await _0x324015[_0x2d7d02(0x1c6)](_0x1fdd1d,typeof(_0x1fdd1d===null||_0x1fdd1d===void 0x0?void 0x0:_0x1fdd1d[_0x2d7d02(0x148)])=='string'&&(_0x1fdd1d===null||_0x1fdd1d===void 0x0?void 0x0:_0x1fdd1d[_0x2d7d02(0x1ac)])?_0x1fdd1d[_0x2d7d02(0x148)][_0x2d7d02(0x1bf)]()+'@'+(_0x1fdd1d===null||_0x1fdd1d===void 0x0?void 0x0:_0x1fdd1d[_0x2d7d02(0x1ac)]):undefined,_0x39020b):await _0x324015[_0x2d7d02(0x1c6)](_0x1fdd1d,typeof(_0x1fdd1d===null||_0x1fdd1d===void 0x0?void 0x0:_0x1fdd1d[_0x2d7d02(0x148)])==_0x2d7d02(0x17a)&&(_0x1fdd1d===null||_0x1fdd1d===void 0x0?void 0x0:_0x1fdd1d[_0x2d7d02(0x1ac)])?_0x1fdd1d[_0x2d7d02(0x148)][_0x2d7d02(0x1bf)]()+'@'+(_0x1fdd1d===null||_0x1fdd1d===void 0x0?void 0x0:_0x1fdd1d['_matchedRoute']):undefined,_0x39020b);}else core_1[_0x2d7d02(0x19a)]['isFunction'](_0x568096)&&await _0x568096(_0x1fdd1d,typeof(_0x1fdd1d===null||_0x1fdd1d===void 0x0?void 0x0:_0x1fdd1d['method'])==_0x2d7d02(0x17a)&&(_0x1fdd1d===null||_0x1fdd1d===void 0x0?void 0x0:_0x1fdd1d[_0x2d7d02(0x1ac)])?_0x1fdd1d[_0x2d7d02(0x148)]['toLowerCase']()+'@'+(_0x1fdd1d===null||_0x1fdd1d===void 0x0?void 0x0:_0x1fdd1d[_0x2d7d02(0x1ac)]):undefined,_0x39020b);}}return await _0x11c600[_0x2d7d02(0x1b7)](..._0x11c600['args']);},'afterThrow':(_0x1530d1,_0x2599d7)=>{throw _0x2599d7;}};});}async[a3_0x3fa4e5(0x1c8)](){const _0xb7901=a3_0x3fa4e5,_0x5444ec=this[_0xb7901(0x16c)][_0xb7901(0x1d5)]();this['application'][_0xb7901(0x1c0)]([_0xb7901(0x142)])['forEach'](_0x45f5bb=>{const _0x34231e=_0xb7901;(_0x45f5bb===null||_0x45f5bb===void 0x0?void 0x0:_0x45f5bb[_0x34231e(0x170)])&&Object['defineProperties'](_0x45f5bb[_0x34231e(0x170)],{'hosturl':{'configurable':![],'get':function(){const _0x5837fd=_0x34231e;var _0x5d4f64,_0x33691c,_0x9e5f97,_0x1e8f6b;if((this===null||this===void 0x0?void 0x0:this[_0x5837fd(0x1c3)])&&!this[_0x5837fd(0x1c3)][_0x5837fd(0x183)](_0x5837fd(0x169))){let _0x56612c=this['host'][_0x5837fd(0x18a)](':');return['80',_0x5837fd(0x14c)][_0x5837fd(0x191)](_0x56612c===null||_0x56612c===void 0x0?void 0x0:_0x56612c[0x1])?''+(!!((_0x33691c=(_0x5d4f64=this===null||this===void 0x0?void 0x0:this[_0x5837fd(0x167)])===null||_0x5d4f64===void 0x0?void 0x0:_0x5d4f64['connection'])===null||_0x33691c===void 0x0?void 0x0:_0x33691c['encrypted'])||(_0x56612c===null||_0x56612c===void 0x0?void 0x0:_0x56612c[0x1])==_0x5837fd(0x14c)?_0x5837fd(0x1bd):_0x5837fd(0x163))+_0x56612c[0x0]:''+(!!((_0x1e8f6b=(_0x9e5f97=this===null||this===void 0x0?void 0x0:this[_0x5837fd(0x167)])===null||_0x9e5f97===void 0x0?void 0x0:_0x9e5f97[_0x5837fd(0x164)])===null||_0x1e8f6b===void 0x0?void 0x0:_0x1e8f6b[_0x5837fd(0x1ba)])?_0x5837fd(0x1bd):_0x5837fd(0x163))+this['host'];}return'';}},'ok':{'value':function(_0x559140,_0xb0db4e,_0xe19f35=0x0){return{'code':_0xe19f35,'data':_0x559140,'extra':_0xb0db4e};}},'input':{'value':function(_0x378334,_0x1277f4){const _0xf4c006=_0x34231e;var _0x220eee;const _0x1b2be1=lodash[_0xf4c006(0x16a)]({},this[_0xf4c006(0x1a9)][_0xf4c006(0x147)]||this['request'][((_0x220eee=_0x5444ec===null||_0x5444ec===void 0x0?void 0x0:_0x5444ec[_0xf4c006(0x194)])===null||_0x220eee===void 0x0?void 0x0:_0x220eee[_0xf4c006(0x1a2)])||_0xf4c006(0x147)]||{},this[_0xf4c006(0x1a9)][_0xf4c006(0x182)]||{});return _0x378334?lodash['get'](_0x1b2be1,_0x378334,_0x1277f4):_0x1b2be1;}},'when':{'value':async function(_0x30ca8d,_0x5d6a9b){const _0x314b99=_0x34231e,_0x47508d=this[_0x314b99(0x18c)](_0x30ca8d,null);if(!lodash[_0x314b99(0x150)](_0x47508d))return await _0x5d6a9b(_0x47508d);}},'only':{'value':function(_0x3fe3a0){const _0x307886=_0x34231e,_0x57cd5e={};for(let _0x11b345=0x0;_0x11b345<_0x3fe3a0['length'];_0x11b345++){lodash[_0x307886(0x19b)](_0x3fe3a0[_0x11b345])&&_0x3fe3a0[_0x11b345]['length']>0x0&&lodash['isString'](_0x3fe3a0[_0x11b345][0x0])&&(_0x57cd5e[_0x3fe3a0[_0x11b345][0x0]]=this['input'](_0x3fe3a0[_0x11b345][0x0],_0x3fe3a0[_0x11b345][_0x307886(0x1a6)]>0x1?_0x3fe3a0[_0x11b345][0x1]:null));}return _0x57cd5e;}},'koasend':{'value':async function(_0x3d943b,_0x317c3c){const _0x18f116=_0x34231e;if(_0x3d943b&&!fs[_0x18f116(0x144)](_0x3d943b)&&!fs['existsSync'](this[_0x18f116(0x160)][_0x18f116(0x143)]()+'/'+_0x3d943b))return _0x18f116(0x1d9);return _0x3d943b=fs['existsSync'](_0x3d943b)?_0x3d943b:this[_0x18f116(0x160)][_0x18f116(0x143)]()+'/'+_0x3d943b,this[_0x18f116(0x1cc)](_0x317c3c||_0x3d943b),await koasend(this,_0x3d943b);}}});});}async[a3_0x3fa4e5(0x15f)](){const _0x166a96=a3_0x3fa4e5;var _0x343fd6;if(fs[_0x166a96(0x144)](this[_0x166a96(0x160)][_0x166a96(0x1b5)]()+_0x166a96(0x17d))&&fs[_0x166a96(0x199)](this[_0x166a96(0x160)][_0x166a96(0x1b5)]()+_0x166a96(0x17d))[_0x166a96(0x19c)]()){const _0x114ad4=this[_0x166a96(0x16c)][_0x166a96(0x1d5)](),_0x2a79c5=((_0x343fd6=_0x114ad4===null||_0x114ad4===void 0x0?void 0x0:_0x114ad4[_0x166a96(0x141)])===null||_0x343fd6===void 0x0?void 0x0:_0x343fd6[_0x166a96(0x1af)])||{};!fs[_0x166a96(0x144)](this[_0x166a96(0x160)]['getBaseDir']()+_0x166a96(0x15c))&&(_0x2a79c5['app']={'lazyLoad':!![],'enableJSON':!![],'enableConsole':this['environment'][_0x166a96(0x1a1)](),'fileLogName':_0x166a96(0x1b6),'dir':path['join'](this[_0x166a96(0x160)][_0x166a96(0x143)](),_0x166a96(0x16d),_0x166a96(0x160))});!fs[_0x166a96(0x144)](this['app'][_0x166a96(0x1b5)]()+'/basic')&&(_0x2a79c5[_0x166a96(0x15b)]={'lazyLoad':!![],'enableJSON':!![],'enableConsole':this[_0x166a96(0x189)][_0x166a96(0x1a1)](),'fileLogName':_0x166a96(0x157),'dir':path[_0x166a96(0x161)](this[_0x166a96(0x160)][_0x166a96(0x143)](),_0x166a96(0x16d),'basic')});for(const _0x3c4d0a of fs['readdirSync'](this[_0x166a96(0x160)]['getBaseDir']()+'/apps')){if(!fs[_0x166a96(0x199)](this[_0x166a96(0x160)]['getBaseDir']()+_0x166a96(0x1ae)+_0x3c4d0a)[_0x166a96(0x19c)]())continue;!(_0x2a79c5===null||_0x2a79c5===void 0x0?void 0x0:_0x2a79c5[_0x3c4d0a])&&(_0x2a79c5[_0x3c4d0a]={'lazyLoad':!![],'enableJSON':!![],'enableConsole':this[_0x166a96(0x189)]['isDevelopmentEnvironment'](),'fileLogName':_0x3c4d0a+_0x166a96(0x155),'dir':path[_0x166a96(0x161)](this[_0x166a96(0x160)][_0x166a96(0x143)](),_0x166a96(0x16d),_0x166a96(0x14f)+_0x3c4d0a)}),this['loggerService']['createLogger'](_0x3c4d0a,_0x2a79c5[_0x3c4d0a]);}Object[_0x166a96(0x152)](_0x2a79c5)[_0x166a96(0x1a6)]>0x0&&(!_0x114ad4['midwayLogger']&&(_0x114ad4['midwayLogger']={'default':{'maxSize':'1m','maxFiles':_0x166a96(0x140),'dir':path[_0x166a96(0x161)](this[_0x166a96(0x160)][_0x166a96(0x143)](),'runtime')}}),_0x114ad4['midwayLogger'][_0x166a96(0x1af)]=_0x2a79c5),this[_0x166a96(0x16c)]['addObject'](_0x114ad4);}}async[a3_0x3fa4e5(0x1a8)](){const _0x2d982c=a3_0x3fa4e5;var _0x49e053,_0x27b071,_0x280423,_0xa46d35,_0x304205,_0xdfa5ac;const _0xb0fd5a=this['config'][_0x2d982c(0x1d5)]();((_0x27b071=(_0x49e053=_0xb0fd5a===null||_0xb0fd5a===void 0x0?void 0x0:_0xb0fd5a[_0x2d982c(0x1a4)])===null||_0x49e053===void 0x0?void 0x0:_0x49e053['devices'])===null||_0x27b071===void 0x0?void 0x0:_0x27b071['DEFAULT'])&&Object[_0x2d982c(0x152)](_0xb0fd5a['anncicapi']['devices'])[_0x2d982c(0x1a6)]>0x1&&delete _0xb0fd5a[_0x2d982c(0x1a4)][_0x2d982c(0x1b2)]['DEFAULT'];if((_0x280423=_0xb0fd5a===null||_0xb0fd5a===void 0x0?void 0x0:_0xb0fd5a[_0x2d982c(0x1d0)])===null||_0x280423===void 0x0?void 0x0:_0x280423[_0x2d982c(0x1c9)])for(const _0x2a9eac in _0xb0fd5a[_0x2d982c(0x1d0)][_0x2d982c(0x1c9)]){((_0xa46d35=_0xb0fd5a[_0x2d982c(0x1d0)][_0x2d982c(0x1c9)][_0x2a9eac])===null||_0xa46d35===void 0x0?void 0x0:_0xa46d35['dir'])&&typeof((_0x304205=_0xb0fd5a['staticFile']['dirs'][_0x2a9eac])===null||_0x304205===void 0x0?void 0x0:_0x304205[_0x2d982c(0x172)])==_0x2d982c(0x17a)&&!fs[_0x2d982c(0x144)](_0xb0fd5a[_0x2d982c(0x1d0)][_0x2d982c(0x1c9)][_0x2a9eac][_0x2d982c(0x172)])&&(fs['mkdirSync'](_0xb0fd5a[_0x2d982c(0x1d0)][_0x2d982c(0x1c9)][_0x2a9eac][_0x2d982c(0x172)],{'recursive':!![]}),console[_0x2d982c(0x187)]('Anncic-api\x20static-file\x20:\x20mkdir\x20'+_0xb0fd5a[_0x2d982c(0x1d0)][_0x2d982c(0x1c9)][_0x2a9eac][_0x2d982c(0x172)]));}((_0xdfa5ac=_0xb0fd5a===null||_0xb0fd5a===void 0x0?void 0x0:_0xb0fd5a[_0x2d982c(0x1c1)])===null||_0xdfa5ac===void 0x0?void 0x0:_0xdfa5ac[_0x2d982c(0x154)])&&!fs[_0x2d982c(0x144)](_0xb0fd5a['upload'][_0x2d982c(0x154)])&&(fs[_0x2d982c(0x1d1)](_0xb0fd5a[_0x2d982c(0x1c1)][_0x2d982c(0x154)],{'recursive':!![]}),console[_0x2d982c(0x187)](_0x2d982c(0x13e)+_0xb0fd5a[_0x2d982c(0x1c1)][_0x2d982c(0x154)])),this[_0x2d982c(0x16c)][_0x2d982c(0x17c)](_0xb0fd5a);}};exports[a3_0x3fa4e5(0x190)]=CustomConfiguration,__decorate([(0x0,core_1['App'])(),__metadata(a3_0x3fa4e5(0x180),Object)],CustomConfiguration['prototype'],'app',void 0x0),__decorate([(0x0,core_1['Inject'])(),__metadata(a3_0x3fa4e5(0x180),core_2[a3_0x3fa4e5(0x15d)])],CustomConfiguration['prototype'],a3_0x3fa4e5(0x16c),void 0x0),__decorate([(0x0,core_1['Inject'])(),__metadata(a3_0x3fa4e5(0x180),core_2[a3_0x3fa4e5(0x19e)])],CustomConfiguration['prototype'],a3_0x3fa4e5(0x1c7),void 0x0),__decorate([(0x0,core_1['Inject'])(),__metadata(a3_0x3fa4e5(0x180),core_2[a3_0x3fa4e5(0x13b)])],CustomConfiguration['prototype'],a3_0x3fa4e5(0x18b),void 0x0),__decorate([(0x0,core_1[a3_0x3fa4e5(0x1c4)])(),__metadata(a3_0x3fa4e5(0x180),core_2[a3_0x3fa4e5(0x1c5)])],CustomConfiguration['prototype'],a3_0x3fa4e5(0x189),void 0x0),__decorate([(0x0,core_1[a3_0x3fa4e5(0x1c4)])(),__metadata(a3_0x3fa4e5(0x180),core_1['MidwayLoggerService'])],CustomConfiguration[a3_0x3fa4e5(0x195)],a3_0x3fa4e5(0x173),void 0x0),__decorate([(0x0,core_1[a3_0x3fa4e5(0x1c4)])(),__metadata(a3_0x3fa4e5(0x180),ApiService_1[a3_0x3fa4e5(0x1ad)])],CustomConfiguration[a3_0x3fa4e5(0x195)],a3_0x3fa4e5(0x1ad),void 0x0),exports[a3_0x3fa4e5(0x190)]=CustomConfiguration=__decorate([(0x0,core_1[a3_0x3fa4e5(0x19d)])({'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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