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,137 @@
1
- function a12_0x575c(_0x29de9b,_0x1e08b8){const _0xeddf2c=a12_0x5f1a();return a12_0x575c=function(_0x49609a,_0x5cf9b1){_0x49609a=_0x49609a-0xa8;let _0x5f1aee=_0xeddf2c[_0x49609a];return _0x5f1aee;},a12_0x575c(_0x29de9b,_0x1e08b8);}function a12_0x5f1a(){const _0x3f0875=['search','existsSync','Singleton','apidoc','760bsynYH','2879964RlyKkb','prototype','__esModule','/apitest-:module','apiteststatic','Config','text/css;\x20charset=utf-8','decorate','prefix','filepath','content-type','../helper/getRoutes','745964TaoCIH','stringify','Environment','request','design:paramtypes','__decorate','public,\x20max-age=604800','102664vCIucc','97101VnTVHk','apitest','../../public/','567HXkxYr','__metadata','length','Param','substring','url','/apiteststatic/','application/javascript;\x20charset=utf-8','metadata','Provide','toString','2631395KAxuiI','/apiteststatic/*','.css','6252brqeNv','extname','__apiList__','apply','/apitest','design:returntype','Scope','design:type','replace','anncicapi','ApitestStaticController','apitesthtml','26083409QTIwlL','Inject','ctx','isDevelopmentEnvironment','1504GsaBuB','description','../../public/index.html','MidwayEnvironmentService','@midwayjs/core','ScopeEnum','ApitestService','route','Get','module','push','function','set','apitestmodule','devices','.js','readFileSync','routes','__param','constructor','Request','join','config','object','1dFQhVX','summary'];a12_0x5f1a=function(){return _0x3f0875;};return a12_0x5f1a();}const a12_0x2d35de=a12_0x575c;(function(_0x4f09f5,_0x3e94dd){const _0xc1e510=a12_0x575c,_0x567bb4=_0x4f09f5();while(!![]){try{const _0x2a8165=parseInt(_0xc1e510(0xf9))/0x1*(parseInt(_0xc1e510(0xb8))/0x2)+-parseInt(_0xc1e510(0xd1))/0x3*(-parseInt(_0xc1e510(0xe1))/0x4)+-parseInt(_0xc1e510(0xce))/0x5+parseInt(_0xc1e510(0xac))/0x6+parseInt(_0xc1e510(0xc3))/0x7*(parseInt(_0xc1e510(0xbf))/0x8)+parseInt(_0xc1e510(0xc0))/0x9*(parseInt(_0xc1e510(0xab))/0xa)+-parseInt(_0xc1e510(0xdd))/0xb;if(_0x2a8165===_0x3e94dd)break;else _0x567bb4['push'](_0x567bb4['shift']());}catch(_0xd0fc0f){_0x567bb4['push'](_0x567bb4['shift']());}}}(a12_0x5f1a,0x921e3));const a12_0x5cf9b1=(function(){let _0x201f0e=!![];return function(_0x33e147,_0x1f289e){const _0x39dff1=_0x201f0e?function(){const _0x973608=a12_0x575c;if(_0x1f289e){const _0x4e8f6c=_0x1f289e[_0x973608(0xd4)](_0x33e147,arguments);return _0x1f289e=null,_0x4e8f6c;}}:function(){};return _0x201f0e=![],_0x39dff1;};}()),a12_0x49609a=a12_0x5cf9b1(this,function(){const _0x33c2fd=a12_0x575c;return a12_0x49609a[_0x33c2fd(0xcd)]()['search']('(((.+)+)+)+$')[_0x33c2fd(0xcd)]()[_0x33c2fd(0xf4)](a12_0x49609a)[_0x33c2fd(0xfb)]('(((.+)+)+)+$');});a12_0x49609a();'use strict';var __decorate=this&&this[a12_0x2d35de(0xbd)]||function(_0x284ca8,_0xb7b5c8,_0x384c91,_0x18e0c5){const _0x584e1e=a12_0x2d35de;var _0x44e185=arguments[_0x584e1e(0xc5)],_0x3b81fb=_0x44e185<0x3?_0xb7b5c8:_0x18e0c5===null?_0x18e0c5=Object['getOwnPropertyDescriptor'](_0xb7b5c8,_0x384c91):_0x18e0c5,_0x3f5589;if(typeof Reflect==='object'&&typeof Reflect[_0x584e1e(0xb3)]===_0x584e1e(0xec))_0x3b81fb=Reflect['decorate'](_0x284ca8,_0xb7b5c8,_0x384c91,_0x18e0c5);else{for(var _0x28b9dd=_0x284ca8[_0x584e1e(0xc5)]-0x1;_0x28b9dd>=0x0;_0x28b9dd--)if(_0x3f5589=_0x284ca8[_0x28b9dd])_0x3b81fb=(_0x44e185<0x3?_0x3f5589(_0x3b81fb):_0x44e185>0x3?_0x3f5589(_0xb7b5c8,_0x384c91,_0x3b81fb):_0x3f5589(_0xb7b5c8,_0x384c91))||_0x3b81fb;}return _0x44e185>0x3&&_0x3b81fb&&Object['defineProperty'](_0xb7b5c8,_0x384c91,_0x3b81fb),_0x3b81fb;},__metadata=this&&this[a12_0x2d35de(0xc4)]||function(_0x5b93fd,_0x42954a){const _0x1c8c04=a12_0x2d35de;if(typeof Reflect===_0x1c8c04(0xf8)&&typeof Reflect[_0x1c8c04(0xcb)]===_0x1c8c04(0xec))return Reflect[_0x1c8c04(0xcb)](_0x5b93fd,_0x42954a);},__param=this&&this[a12_0x2d35de(0xf3)]||function(_0x2eeaad,_0x5e1ee3){return function(_0x409108,_0x56347f){_0x5e1ee3(_0x409108,_0x56347f,_0x2eeaad);};};Object['defineProperty'](exports,a12_0x2d35de(0xae),{'value':!![]}),exports[a12_0x2d35de(0xdb)]=exports[a12_0x2d35de(0xe7)]=void 0x0;const path_1=require('path'),fs_1=require('fs'),core_1=require(a12_0x2d35de(0xe5)),core_2=require(a12_0x2d35de(0xe5)),core_3=require(a12_0x2d35de(0xe5)),getRoutes_1=require(a12_0x2d35de(0xb7));let ApitestService=class ApitestService{async['apidoc'](_0x1a3387){const _0x13e339=a12_0x2d35de,_0x491184=(0x0,getRoutes_1['getRoutes'])(_0x1a3387),_0x3f9beb=[];for(let _0x33b864 in _0x491184){for(let _0x1df1c8 in _0x491184[_0x33b864][_0x13e339(0xf2)]){let _0x58c639=_0x491184[_0x33b864][_0x13e339(0xf2)][_0x1df1c8],_0x376228=[];for(let _0x2f6310 in _0x58c639[_0x13e339(0xbb)]){_0x376228['push'](_0x58c639[_0x13e339(0xbb)][_0x2f6310]);}_0x3f9beb[_0x13e339(0xeb)]({'title':_0x491184[_0x33b864]['summary']+':'+_0x58c639[_0x13e339(0xfa)],'prefix':_0x491184[_0x33b864][_0x13e339(0xb4)],'router':_0x58c639[_0x13e339(0xe8)],'method':_0x58c639['method'],'describe':_0x58c639[_0x13e339(0xe2)]||'','filepath':_0x491184[_0x33b864][_0x13e339(0xb5)]||'','request':_0x376228});}}const _0x3ae7b6=(0x0,path_1[_0x13e339(0xf6)])(__dirname,_0x13e339(0xe3));return(0x0,fs_1[_0x13e339(0xf1)])(_0x3ae7b6,{'encoding':'utf-8'})[_0x13e339(0xd9)](/__res__/g,_0x13e339(0xc9))[_0x13e339(0xd9)](_0x13e339(0xd3),JSON[_0x13e339(0xb9)](_0x3f9beb))[_0x13e339(0xd9)]('__devices__',JSON[_0x13e339(0xb9)](this[_0x13e339(0xf7)][_0x13e339(0xef)]));}};exports[a12_0x2d35de(0xe7)]=ApitestService,__decorate([(0x0,core_3[a12_0x2d35de(0xb1)])(a12_0x2d35de(0xda)),__metadata(a12_0x2d35de(0xd8),Object)],ApitestService['prototype'],a12_0x2d35de(0xf7),void 0x0),exports[a12_0x2d35de(0xe7)]=ApitestService=__decorate([(0x0,core_2[a12_0x2d35de(0xcc)])(a12_0x2d35de(0xc1)),(0x0,core_3[a12_0x2d35de(0xd7)])(core_3[a12_0x2d35de(0xe6)][a12_0x2d35de(0xa9)])],ApitestService);let ApitestStaticController=class ApitestStaticController{async[a12_0x2d35de(0xdc)](){const _0x545e48=a12_0x2d35de;if(this[_0x545e48(0xc1)]){const _0x4fca78={'module':![]};return this[_0x545e48(0xba)][_0x545e48(0xe0)]()&&(_0x4fca78['filepath']=!![]),await this['ApitestService'][_0x545e48(0xaa)](_0x4fca78);}return'';}async[a12_0x2d35de(0xee)](_0x576363){const _0x4dba40=a12_0x2d35de;if(this[_0x4dba40(0xc1)]){const _0x327f3e={'module':_0x576363};return this[_0x4dba40(0xba)]['isDevelopmentEnvironment']()&&(_0x327f3e[_0x4dba40(0xb5)]=!![]),await this[_0x4dba40(0xe7)][_0x4dba40(0xaa)](_0x327f3e);}return'';}async[a12_0x2d35de(0xb0)](){const _0x36edf7=a12_0x2d35de;if((0x0,path_1[_0x36edf7(0xd2)])(this[_0x36edf7(0xdf)][_0x36edf7(0xbb)]['url'])){var _0x33dffc=(0x0,path_1[_0x36edf7(0xf6)])(__dirname,_0x36edf7(0xc2)+this['ctx']['request']['url'][_0x36edf7(0xd9)](_0x36edf7(0xc9),'/'));if(_0x33dffc[_0x36edf7(0xc7)](_0x33dffc['length']-0xb)!='/index.html'){this[_0x36edf7(0xdf)]['set']('cache-control',_0x36edf7(0xbe));if((0x0,path_1[_0x36edf7(0xd2)])(this[_0x36edf7(0xdf)][_0x36edf7(0xbb)][_0x36edf7(0xc8)])==_0x36edf7(0xf0))this[_0x36edf7(0xdf)][_0x36edf7(0xed)]('content-type',_0x36edf7(0xca));else(0x0,path_1[_0x36edf7(0xd2)])(this[_0x36edf7(0xdf)][_0x36edf7(0xbb)][_0x36edf7(0xc8)])==_0x36edf7(0xd0)&&this['ctx'][_0x36edf7(0xed)](_0x36edf7(0xb6),_0x36edf7(0xb2));return(0x0,fs_1[_0x36edf7(0xa8)])(_0x33dffc)&&(0x0,fs_1['readFileSync'])(_0x33dffc,{'encoding':'utf-8'});}}return'';}};exports[a12_0x2d35de(0xdb)]=ApitestStaticController,__decorate([(0x0,core_3[a12_0x2d35de(0xde)])(),__metadata(a12_0x2d35de(0xd8),Object)],ApitestStaticController[a12_0x2d35de(0xad)],a12_0x2d35de(0xdf),void 0x0),__decorate([(0x0,core_3['Inject'])(),__metadata(a12_0x2d35de(0xd8),core_1[a12_0x2d35de(0xe4)])],ApitestStaticController[a12_0x2d35de(0xad)],a12_0x2d35de(0xba),void 0x0),__decorate([(0x0,core_3[a12_0x2d35de(0xde)])(),__metadata(a12_0x2d35de(0xd8),ApitestService)],ApitestStaticController[a12_0x2d35de(0xad)],a12_0x2d35de(0xe7),void 0x0),__decorate([(0x0,core_3['Config'])(a12_0x2d35de(0xc1)),__metadata('design:type',Boolean)],ApitestStaticController[a12_0x2d35de(0xad)],a12_0x2d35de(0xc1),void 0x0),__decorate([(0x0,core_3[a12_0x2d35de(0xb1)])('anncicapi'),__metadata(a12_0x2d35de(0xd8),Object)],ApitestStaticController[a12_0x2d35de(0xad)],a12_0x2d35de(0xf7),void 0x0),__decorate([(0x0,core_2['Get'])(a12_0x2d35de(0xd5)),__metadata(a12_0x2d35de(0xd8),Function),__metadata(a12_0x2d35de(0xbc),[]),__metadata(a12_0x2d35de(0xd6),Promise)],ApitestStaticController[a12_0x2d35de(0xad)],a12_0x2d35de(0xdc),null),__decorate([(0x0,core_2[a12_0x2d35de(0xe9)])(a12_0x2d35de(0xaf)),__param(0x0,(0x0,core_2[a12_0x2d35de(0xc6)])(a12_0x2d35de(0xea))),__metadata(a12_0x2d35de(0xd8),Function),__metadata(a12_0x2d35de(0xbc),[String]),__metadata('design:returntype',Promise)],ApitestStaticController[a12_0x2d35de(0xad)],a12_0x2d35de(0xee),null),__decorate([(0x0,core_2['Get'])(a12_0x2d35de(0xcf)),__metadata('design:type',Function),__metadata(a12_0x2d35de(0xbc),[]),__metadata(a12_0x2d35de(0xd6),Promise)],ApitestStaticController[a12_0x2d35de(0xad)],a12_0x2d35de(0xb0),null),exports['ApitestStaticController']=ApitestStaticController=__decorate([(0x0,core_2['Controller'])('/'),(0x0,core_3['Scope'])(core_3['ScopeEnum'][a12_0x2d35de(0xf5)])],ApitestStaticController);
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ApitestStaticController = exports.ApitestService = void 0;
16
+ const path_1 = require("path");
17
+ const fs_1 = require("fs");
18
+ const core_1 = require("@midwayjs/core");
19
+ const core_2 = require("@midwayjs/core");
20
+ const core_3 = require("@midwayjs/core");
21
+ const getRoutes_1 = require("../helper/getRoutes");
22
+ let ApitestService = class ApitestService {
23
+ async apidoc(filter) {
24
+ const routes = (0, getRoutes_1.getRoutes)(filter), apiList = [];
25
+ for (let prefix in routes) {
26
+ for (let routeindex in routes[prefix].routes) {
27
+ let route = routes[prefix].routes[routeindex], request = [];
28
+ for (let _filed in route.request) {
29
+ request.push(route.request[_filed]);
30
+ }
31
+ apiList.push({
32
+ title: `${routes[prefix].summary}:${route.summary}`,
33
+ prefix: routes[prefix].prefix,
34
+ router: route.route,
35
+ method: route.method,
36
+ describe: route.description || '',
37
+ filepath: routes[prefix].filepath || '',
38
+ request: request
39
+ });
40
+ }
41
+ }
42
+ const resourcePath = (0, path_1.join)(__dirname, '../../public/index.html');
43
+ return (0, fs_1.readFileSync)(resourcePath, { encoding: 'utf-8' }).replace(/__res__/g, '/apiteststatic/').replace('__apiList__', JSON.stringify(apiList)).replace('__devices__', JSON.stringify(this.config.devices));
44
+ }
45
+ };
46
+ exports.ApitestService = ApitestService;
47
+ __decorate([
48
+ (0, core_3.Config)('anncicapi'),
49
+ __metadata("design:type", Object)
50
+ ], ApitestService.prototype, "config", void 0);
51
+ exports.ApitestService = ApitestService = __decorate([
52
+ (0, core_2.Provide)('apitest'),
53
+ (0, core_3.Scope)(core_3.ScopeEnum.Singleton)
54
+ ], ApitestService);
55
+ let ApitestStaticController = class ApitestStaticController {
56
+ async apitesthtml() {
57
+ if (this.apitest) {
58
+ const option = { module: false };
59
+ if (this.Environment.isDevelopmentEnvironment()) {
60
+ option.filepath = true;
61
+ }
62
+ return await this.ApitestService.apidoc(option);
63
+ }
64
+ return '';
65
+ }
66
+ async apitestmodule(module) {
67
+ if (this.apitest) {
68
+ const option = { module };
69
+ if (this.Environment.isDevelopmentEnvironment()) {
70
+ option.filepath = true;
71
+ }
72
+ return await this.ApitestService.apidoc(option);
73
+ }
74
+ return '';
75
+ }
76
+ async apiteststatic() {
77
+ if ((0, path_1.extname)(this.ctx.request.url)) {
78
+ var resourcePath = (0, path_1.join)(__dirname, `../../public/${this.ctx.request.url.replace('/apiteststatic/', '/')}`);
79
+ if (resourcePath.substring(resourcePath.length - 11) != '/index.html') {
80
+ this.ctx.set('cache-control', 'public, max-age=604800');
81
+ if ((0, path_1.extname)(this.ctx.request.url) == '.js') {
82
+ this.ctx.set('content-type', 'application/javascript; charset=utf-8');
83
+ }
84
+ else if ((0, path_1.extname)(this.ctx.request.url) == '.css') {
85
+ this.ctx.set('content-type', 'text/css; charset=utf-8');
86
+ }
87
+ return (0, fs_1.existsSync)(resourcePath) && (0, fs_1.readFileSync)(resourcePath, { encoding: 'utf-8' });
88
+ }
89
+ }
90
+ return '';
91
+ }
92
+ };
93
+ exports.ApitestStaticController = ApitestStaticController;
94
+ __decorate([
95
+ (0, core_3.Inject)(),
96
+ __metadata("design:type", Object)
97
+ ], ApitestStaticController.prototype, "ctx", void 0);
98
+ __decorate([
99
+ (0, core_3.Inject)(),
100
+ __metadata("design:type", core_1.MidwayEnvironmentService)
101
+ ], ApitestStaticController.prototype, "Environment", void 0);
102
+ __decorate([
103
+ (0, core_3.Inject)(),
104
+ __metadata("design:type", ApitestService)
105
+ ], ApitestStaticController.prototype, "ApitestService", void 0);
106
+ __decorate([
107
+ (0, core_3.Config)('apitest'),
108
+ __metadata("design:type", Boolean)
109
+ ], ApitestStaticController.prototype, "apitest", void 0);
110
+ __decorate([
111
+ (0, core_3.Config)('anncicapi'),
112
+ __metadata("design:type", Object)
113
+ ], ApitestStaticController.prototype, "config", void 0);
114
+ __decorate([
115
+ (0, core_2.Get)('/apitest'),
116
+ __metadata("design:type", Function),
117
+ __metadata("design:paramtypes", []),
118
+ __metadata("design:returntype", Promise)
119
+ ], ApitestStaticController.prototype, "apitesthtml", null);
120
+ __decorate([
121
+ (0, core_2.Get)('/apitest-:module'),
122
+ __param(0, (0, core_2.Param)('module')),
123
+ __metadata("design:type", Function),
124
+ __metadata("design:paramtypes", [String]),
125
+ __metadata("design:returntype", Promise)
126
+ ], ApitestStaticController.prototype, "apitestmodule", null);
127
+ __decorate([
128
+ (0, core_2.Get)('/apiteststatic/*'),
129
+ __metadata("design:type", Function),
130
+ __metadata("design:paramtypes", []),
131
+ __metadata("design:returntype", Promise)
132
+ ], ApitestStaticController.prototype, "apiteststatic", null);
133
+ exports.ApitestStaticController = ApitestStaticController = __decorate([
134
+ (0, core_2.Controller)('/'),
135
+ (0, core_3.Scope)(core_3.ScopeEnum.Request)
136
+ ], ApitestStaticController);
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpdGVzdFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZS9BcGl0ZXN0U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBcUM7QUFFckMsMkJBQThDO0FBQzlDLHlDQUEwRDtBQUMxRCx5Q0FBaUU7QUFDakUseUNBQWtFO0FBQ2xFLG1EQUErRDtBQUl4RCxJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFjO0lBR3ZCLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBdUI7UUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBUyxFQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDL0MsS0FBSyxJQUFJLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUN4QixLQUFLLElBQUksVUFBVSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUM1RCxLQUFLLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDL0IsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7Z0JBQ3ZDLENBQUM7Z0JBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDVCxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7b0JBQ25ELE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTTtvQkFDN0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxLQUFLO29CQUNuQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07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
@@ -1 +1,162 @@
1
- function a13_0xf4ad(_0x137caa,_0x5c93dc){const _0x23ba3d=a13_0x1830();return a13_0xf4ad=function(_0x5ca154,_0x391f91){_0x5ca154=_0x5ca154-0x1c6;let _0x1830ce=_0x23ba3d[_0x5ca154];return _0x1830ce;},a13_0xf4ad(_0x137caa,_0x5c93dc);}const a13_0x1c2d39=a13_0xf4ad;(function(_0x5e4ec1,_0x3f294e){const _0x25c722=a13_0xf4ad,_0x50a0a7=_0x5e4ec1();while(!![]){try{const _0x1b77f0=parseInt(_0x25c722(0x1e8))/0x1+parseInt(_0x25c722(0x203))/0x2+-parseInt(_0x25c722(0x1da))/0x3*(-parseInt(_0x25c722(0x1d1))/0x4)+-parseInt(_0x25c722(0x1ff))/0x5+parseInt(_0x25c722(0x207))/0x6*(parseInt(_0x25c722(0x206))/0x7)+-parseInt(_0x25c722(0x1cd))/0x8+parseInt(_0x25c722(0x201))/0x9;if(_0x1b77f0===_0x3f294e)break;else _0x50a0a7['push'](_0x50a0a7['shift']());}catch(_0x37c1f7){_0x50a0a7['push'](_0x50a0a7['shift']());}}}(a13_0x1830,0xef275));const a13_0x391f91=(function(){let _0x49177d=!![];return function(_0x5c18d4,_0x1603c2){const _0x1eed3d=_0x49177d?function(){if(_0x1603c2){const _0x4302fa=_0x1603c2['apply'](_0x5c18d4,arguments);return _0x1603c2=null,_0x4302fa;}}:function(){};return _0x49177d=![],_0x1eed3d;};}()),a13_0x5ca154=a13_0x391f91(this,function(){const _0x1375d2=a13_0xf4ad;return a13_0x5ca154[_0x1375d2(0x208)]()[_0x1375d2(0x1c8)](_0x1375d2(0x1ee))[_0x1375d2(0x208)]()['constructor'](a13_0x5ca154)[_0x1375d2(0x1c8)](_0x1375d2(0x1ee));});a13_0x5ca154();'use strict';var __decorate=this&&this[a13_0x1c2d39(0x20e)]||function(_0x1339d2,_0x1eabb8,_0xd22c49,_0x2d530c){const _0xd7e7d3=a13_0x1c2d39;var _0x4c62d4=arguments[_0xd7e7d3(0x1f1)],_0x33dccf=_0x4c62d4<0x3?_0x1eabb8:_0x2d530c===null?_0x2d530c=Object[_0xd7e7d3(0x1fe)](_0x1eabb8,_0xd22c49):_0x2d530c,_0x332e62;if(typeof Reflect===_0xd7e7d3(0x1ec)&&typeof Reflect[_0xd7e7d3(0x1d8)]===_0xd7e7d3(0x1e2))_0x33dccf=Reflect[_0xd7e7d3(0x1d8)](_0x1339d2,_0x1eabb8,_0xd22c49,_0x2d530c);else{for(var _0x19142b=_0x1339d2[_0xd7e7d3(0x1f1)]-0x1;_0x19142b>=0x0;_0x19142b--)if(_0x332e62=_0x1339d2[_0x19142b])_0x33dccf=(_0x4c62d4<0x3?_0x332e62(_0x33dccf):_0x4c62d4>0x3?_0x332e62(_0x1eabb8,_0xd22c49,_0x33dccf):_0x332e62(_0x1eabb8,_0xd22c49))||_0x33dccf;}return _0x4c62d4>0x3&&_0x33dccf&&Object[_0xd7e7d3(0x1d0)](_0x1eabb8,_0xd22c49,_0x33dccf),_0x33dccf;},__metadata=this&&this['__metadata']||function(_0x30ec87,_0x359e73){const _0x101e75=a13_0x1c2d39;if(typeof Reflect===_0x101e75(0x1ec)&&typeof Reflect[_0x101e75(0x1d7)]===_0x101e75(0x1e2))return Reflect[_0x101e75(0x1d7)](_0x30ec87,_0x359e73);};Object[a13_0x1c2d39(0x1d0)](exports,a13_0x1c2d39(0x1e1),{'value':!![]}),exports[a13_0x1c2d39(0x1f4)]=void 0x0;function a13_0x1830(){const _0x87e43d=['6903730FPdTqf','getWorksheet','4334544Gfxlor','./ExcelStream','852082NADvax','onWrite','addRow','21wpqQTg','2200698POaJhi','toString','col','export','App','push','Workbook','__decorate','header','getAppDir','ExcelStream','search','xlsx','stream','set','xls','6151840WUFGpj','mkdirSync','existsSync','defineProperty','3655572vBhqbO','YYYY/MM/DD','findRows','getColumn','.xlsx','rowCount','metadata','decorate','cellCount','3lHQJpn','design:type','frozen','getCell','startsWith','substring','replace','__esModule','function','handler','addWorksheet','log','Sheet\x201','eachCell','207400ocrdli','keys','parse','prototype','object','model','(((.+)+)+)+$','endsWith','get','length','app','values','ExcelService','Singleton','value','\x20is\x20read\x20fail','ScopeEnum','@midwayjs/core','key','writeFile','getRow','Scope','getOwnPropertyDescriptor'];a13_0x1830=function(){return _0x87e43d;};return a13_0x1830();}const fs=require('fs'),exceljs=require('exceljs'),koasend=require('koa-send'),core_1=require(a13_0x1c2d39(0x1f9)),ExcelStream_1=require(a13_0x1c2d39(0x202));let ExcelService=class ExcelService{async[a13_0x1c2d39(0x1ea)](_0x186f1b,_0x1c348b,_0x15bbd5=[0x0]){const _0x1d6b9f=a13_0x1c2d39;var _0x16d9b4,_0x1c396f;const _0x51c0b4=new exceljs[(_0x1d6b9f(0x20d))](),_0x5a9a4d=[];let _0x11e9bb=_0x186f1b[_0x1d6b9f(0x1e0)](/(\\|\/)/g,'/')['replace'](/\/{2,}/g,'/');!(_0x11e9bb===null||_0x11e9bb===void 0x0?void 0x0:_0x11e9bb[_0x1d6b9f(0x1de)]('/'))&&(_0x11e9bb=this[_0x1d6b9f(0x1f2)][_0x1d6b9f(0x1c6)]()+'/'+_0x11e9bb);try{await _0x51c0b4[_0x1d6b9f(0x1c9)]['readFile'](_0x11e9bb);}catch(_0x2db2a){return console[_0x1d6b9f(0x1e5)]('Api\x20Excel\x20Error:\x20'+_0x11e9bb+_0x1d6b9f(0x1f7)),_0x5a9a4d;}for(const _0x3e03c8 of _0x15bbd5){const _0x54d912=lodash['isNumber'](_0x3e03c8)?((_0x16d9b4=_0x51c0b4['worksheets'])===null||_0x16d9b4===void 0x0?void 0x0:_0x16d9b4[_0x3e03c8])||undefined:_0x51c0b4[_0x1d6b9f(0x200)](_0x3e03c8);if(_0x54d912){var _0x45af70=0x1;const _0x1215b1=_0x54d912[_0x1d6b9f(0x1fc)](0x1),_0x3bd7c9=await new Promise(_0x4ae115=>{const _0x4dc03a=_0x1d6b9f,_0x509af8={};_0x1215b1[_0x4dc03a(0x1e7)]((_0x3d22ee,_0x4cfb7a)=>{const _0x33c675=_0x4dc03a;for(const _0x55380c of _0x1c348b){if(_0x3d22ee[_0x33c675(0x1f6)]==_0x55380c[_0x33c675(0x20f)])_0x45af70=0x2,_0x509af8[_0x55380c[_0x33c675(0x1fa)]]={'header':_0x3d22ee[_0x33c675(0x209)],'handler':(_0x55380c===null||_0x55380c===void 0x0?void 0x0:_0x55380c['onRead'])||(_0x55380c===null||_0x55380c===void 0x0?void 0x0:_0x55380c[_0x33c675(0x1e3)])};else{if(!_0x509af8[_0x55380c[_0x33c675(0x1fa)]])try{const _0x4608d7=_0x1215b1&&_0x1215b1[_0x33c675(0x1dd)](_0x55380c[_0x33c675(0x20f)]);_0x4608d7&&(_0x509af8[_0x55380c[_0x33c675(0x1fa)]]={'header':_0x4608d7[_0x33c675(0x209)],'handler':(_0x55380c===null||_0x55380c===void 0x0?void 0x0:_0x55380c['onRead'])||(_0x55380c===null||_0x55380c===void 0x0?void 0x0:_0x55380c['handler'])});}catch{}}}_0x1215b1[_0x33c675(0x1d9)]==_0x4cfb7a&&_0x4ae115(_0x509af8);});});_0x50cef5:for(const _0x23d817 of _0x54d912[_0x1d6b9f(0x1d3)](_0x45af70,_0x54d912[_0x1d6b9f(0x1d6)])){if(typeof(_0x23d817===null||_0x23d817===void 0x0?void 0x0:_0x23d817[_0x1d6b9f(0x1dd)])!='function')continue _0x50cef5;const _0x589010={};_0x2ab166:for(const _0x3b6646 in _0x3bd7c9){if(_0x3bd7c9[_0x3b6646][_0x1d6b9f(0x20f)]){const _0x2c76ca=_0x23d817[_0x1d6b9f(0x1dd)](_0x3bd7c9[_0x3b6646][_0x1d6b9f(0x20f)]);if(!_0x2c76ca)continue _0x2ab166;try{_0x2c76ca[_0x1d6b9f(0x208)]();}catch(_0x57c118){_0x2c76ca[_0x1d6b9f(0x208)]=()=>{const _0x2f4a51=_0x1d6b9f;var _0x250bfd;return''+(((_0x250bfd=_0x2c76ca===null||_0x2c76ca===void 0x0?void 0x0:_0x2c76ca[_0x2f4a51(0x1ed)])===null||_0x250bfd===void 0x0?void 0x0:_0x250bfd[_0x2f4a51(0x1f6)])||'');};}typeof((_0x1c396f=_0x3bd7c9[_0x3b6646])===null||_0x1c396f===void 0x0?void 0x0:_0x1c396f['handler'])==_0x1d6b9f(0x1e2)?_0x589010[_0x3b6646]=await _0x3bd7c9[_0x3b6646][_0x1d6b9f(0x1e3)](lodash[_0x1d6b9f(0x1cb)]({},_0x3b6646,(_0x2c76ca===null||_0x2c76ca===void 0x0?void 0x0:_0x2c76ca[_0x1d6b9f(0x208)]())||''),_0x2c76ca[_0x1d6b9f(0x1ed)]):_0x589010[_0x3b6646]=(_0x2c76ca===null||_0x2c76ca===void 0x0?void 0x0:_0x2c76ca[_0x1d6b9f(0x208)]())||'';}}Object[_0x1d6b9f(0x1e9)](_0x589010)[_0x1d6b9f(0x1f1)]>0x0&&Object[_0x1d6b9f(0x1f3)](_0x589010)['filter'](_0x44379e=>_0x44379e!='')['length']>0x0&&_0x5a9a4d['push'](_0x589010);}}}return _0x5a9a4d;}async[a13_0x1c2d39(0x20a)](_0x3059a3,_0xe91c04,_0x5c94a4,_0x23b0bf,_0x1592b6){const _0xa7d423=a13_0x1c2d39;var _0x16b4cb,_0x8ac661,_0x967236;const _0x19eda7=new exceljs[(_0xa7d423(0x20d))](),_0xcfaddd={},_0x1d7284=[],_0x16cc35=_0x19eda7[_0xa7d423(0x1e4)](_0xa7d423(0x1e6),{'views':[{'state':_0xa7d423(0x1dc),'ySplit':0x1}]});for(const _0x485a4f in _0xe91c04){_0xcfaddd[_0xe91c04[_0x485a4f][_0xa7d423(0x1fa)]]=_0xe91c04[_0x485a4f]['header'],_0x1d7284[_0xa7d423(0x20c)]({'header':_0xe91c04[_0x485a4f][_0xa7d423(0x20f)],'key':(_0x16b4cb=_0xe91c04[_0x485a4f])===null||_0x16b4cb===void 0x0?void 0x0:_0x16b4cb['key'][_0xa7d423(0x1e0)](/\./g,'_')});}_0x16cc35['columns']=_0x1d7284;for(const _0x44f0f3 in _0x5c94a4){const _0x50eabf=_0x5c94a4[_0x44f0f3],_0x822b11=_0x16cc35[_0xa7d423(0x205)]({});for(let _0x547a4c in _0xe91c04){const _0x514918=_0xe91c04[_0x547a4c][_0xa7d423(0x1fa)][_0xa7d423(0x1e0)](/\./g,'_'),_0x3d8046=_0x16cc35[_0xa7d423(0x1d4)](_0x514918),_0xcb41b=_0x822b11===null||_0x822b11===void 0x0?void 0x0:_0x822b11[_0xa7d423(0x1dd)](_0x514918);if(typeof((_0x8ac661=_0xe91c04[_0x547a4c])===null||_0x8ac661===void 0x0?void 0x0:_0x8ac661['onWrite'])==_0xa7d423(0x1e2))_0xcb41b[_0xa7d423(0x1f6)]=await _0xe91c04[_0x547a4c][_0xa7d423(0x204)](_0x50eabf,{'row':_0x822b11,'col':_0x3d8046,'cell':_0xcb41b,'sheet':_0x16cc35})||'';else typeof((_0x967236=_0xe91c04[_0x547a4c])===null||_0x967236===void 0x0?void 0x0:_0x967236['handler'])==_0xa7d423(0x1e2)?_0xcb41b['value']=await _0xe91c04[_0x547a4c][_0xa7d423(0x1e3)](_0x50eabf,{'row':_0x822b11,'col':_0x3d8046,'cell':_0xcb41b,'sheet':_0x16cc35})||'':_0xcb41b[_0xa7d423(0x1f6)]=lodash[_0xa7d423(0x1f0)](_0x50eabf,_0xe91c04[_0x547a4c][_0xa7d423(0x1fa)],'');}}typeof _0x1592b6=='function'&&await _0x1592b6({'workbook':_0x19eda7,'worksheet':_0x16cc35});let _0x5ae3a5='';const _0x543cb5=_0x3059a3+_0xa7d423(0x1d5);if(_0x23b0bf&&_0x23b0bf[_0xa7d423(0x1de)]('/'))_0x5ae3a5=''+_0x23b0bf;else _0x23b0bf&&!_0x23b0bf['startsWith']('/')&&!_0x23b0bf[_0xa7d423(0x1de)]('\x5c')?_0x5ae3a5=this[_0xa7d423(0x1f2)][_0xa7d423(0x1c6)]()+'/'+_0x23b0bf:_0x5ae3a5=this['app'][_0xa7d423(0x1c6)]()+'/public/xlsx/'+dayjs()['format'](_0xa7d423(0x1d2));return(_0x5ae3a5[_0xa7d423(0x1ef)]('/')||_0x5ae3a5[_0xa7d423(0x1ef)]('\x5c'))&&(_0x5ae3a5=_0x5ae3a5[_0xa7d423(0x1df)](0x0,_0x5ae3a5[_0xa7d423(0x1f1)]-0x1)),_0x5ae3a5=_0x5ae3a5[_0xa7d423(0x1e0)](/(\\|\/)/g,'/')[_0xa7d423(0x1e0)](/\/{2,}/g,'/'),!fs[_0xa7d423(0x1cf)](_0x5ae3a5)&&fs[_0xa7d423(0x1ce)](_0x5ae3a5,{'recursive':!![]}),await _0x19eda7[_0xa7d423(0x1c9)][_0xa7d423(0x1fb)]((_0x5ae3a5+'/'+_0x543cb5)[_0xa7d423(0x1e0)](/(\\|\/)/g,'/')['replace'](/\/{2,}/g,'/')),{'filename':_0x543cb5,'filepath':(_0x5ae3a5[_0xa7d423(0x1df)]((''+this[_0xa7d423(0x1f2)][_0xa7d423(0x1c6)]())[_0xa7d423(0x1f1)])+'/'+_0x543cb5)[_0xa7d423(0x1e0)](/(\\|\/)/g,'/')[_0xa7d423(0x1e0)](/\/{2,}/g,'/')};}async[a13_0x1c2d39(0x1ca)](_0x4e6e59,_0x101ff0={'suffix':[a13_0x1c2d39(0x1cc),a13_0x1c2d39(0x1c9)]}){const _0x5c3cdf=a13_0x1c2d39;return await ExcelStream_1[_0x5c3cdf(0x1c7)]['instance'](_0x4e6e59,_0x101ff0);}async['download'](_0x5e812d,_0x10122b){return await koasend(_0x5e812d,''+_0x10122b);}};exports[a13_0x1c2d39(0x1f4)]=ExcelService,__decorate([(0x0,core_1[a13_0x1c2d39(0x20b)])(),__metadata(a13_0x1c2d39(0x1db),Object)],ExcelService[a13_0x1c2d39(0x1eb)],a13_0x1c2d39(0x1f2),void 0x0),exports['ExcelService']=ExcelService=__decorate([(0x0,core_1['Provide'])(),(0x0,core_1[a13_0x1c2d39(0x1fd)])(core_1[a13_0x1c2d39(0x1f8)][a13_0x1c2d39(0x1f5)])],ExcelService);
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.ExcelService = void 0;
13
+ const fs = require("fs");
14
+ const exceljs = require("exceljs");
15
+ const koasend = require("koa-send");
16
+ const core_1 = require("@midwayjs/core");
17
+ const ExcelStream_1 = require("./ExcelStream");
18
+ let ExcelService = class ExcelService {
19
+ async parse(filepath, column, sheets = [0]) {
20
+ var _a, _b;
21
+ const workbook = new exceljs.Workbook(), columnRow = [];
22
+ let readFilePath = filepath.replace(/(\\|\/)/g, '/').replace(/\/{2,}/g, '/');
23
+ if (!(readFilePath === null || readFilePath === void 0 ? void 0 : readFilePath.startsWith('/'))) {
24
+ readFilePath = `${this.app.getAppDir()}/${readFilePath}`;
25
+ }
26
+ try {
27
+ await workbook.xlsx.readFile(readFilePath);
28
+ }
29
+ catch (error) {
30
+ console.log(`Api Excel Error: ${readFilePath} is read fail`);
31
+ return columnRow;
32
+ }
33
+ for (const sheet of sheets) {
34
+ const worksheet = lodash.isNumber(sheet) ? (((_a = workbook.worksheets) === null || _a === void 0 ? void 0 : _a[sheet]) || undefined) : workbook.getWorksheet(sheet);
35
+ if (worksheet) {
36
+ var startRow = 1;
37
+ const firstSheetRow = worksheet.getRow(1);
38
+ const columnsTmp = await new Promise((resolve) => {
39
+ const columnsTmpEach = {};
40
+ firstSheetRow.eachCell((cell, colnumber) => {
41
+ for (const _column of column) {
42
+ if (cell.value == _column.header) {
43
+ startRow = 2;
44
+ columnsTmpEach[_column.key] = { header: cell.col, handler: (_column === null || _column === void 0 ? void 0 : _column.onRead) || (_column === null || _column === void 0 ? void 0 : _column.handler) };
45
+ }
46
+ else if (!columnsTmpEach[_column.key]) {
47
+ try {
48
+ const getCell = firstSheetRow && firstSheetRow.getCell(_column.header);
49
+ if (getCell) {
50
+ columnsTmpEach[_column.key] = { header: getCell.col, handler: (_column === null || _column === void 0 ? void 0 : _column.onRead) || (_column === null || _column === void 0 ? void 0 : _column.handler) };
51
+ }
52
+ }
53
+ catch {
54
+ }
55
+ }
56
+ }
57
+ if (firstSheetRow.cellCount == colnumber) {
58
+ resolve(columnsTmpEach);
59
+ }
60
+ });
61
+ });
62
+ findRows: for (const sheetRow of worksheet.findRows(startRow, worksheet.rowCount)) {
63
+ if (typeof (sheetRow === null || sheetRow === void 0 ? void 0 : sheetRow.getCell) != 'function') {
64
+ continue findRows;
65
+ }
66
+ const sheetRowcolumn = {};
67
+ columnsTmp: for (const columnKey in columnsTmp) {
68
+ if (columnsTmp[columnKey].header) {
69
+ const sheetRowCell = sheetRow.getCell(columnsTmp[columnKey].header);
70
+ if (!sheetRowCell) {
71
+ continue columnsTmp;
72
+ }
73
+ try {
74
+ sheetRowCell.toString();
75
+ }
76
+ catch (error) {
77
+ sheetRowCell['toString'] = () => { var _a; return `${((_a = sheetRowCell === null || sheetRowCell === void 0 ? void 0 : sheetRowCell.model) === null || _a === void 0 ? void 0 : _a.value) || ''}`; };
78
+ }
79
+ if (typeof ((_b = columnsTmp[columnKey]) === null || _b === void 0 ? void 0 : _b.handler) == 'function') {
80
+ sheetRowcolumn[columnKey] = await columnsTmp[columnKey].handler(lodash.set({}, columnKey, (sheetRowCell === null || sheetRowCell === void 0 ? void 0 : sheetRowCell.toString()) || ''), sheetRowCell.model);
81
+ }
82
+ else {
83
+ sheetRowcolumn[columnKey] = (sheetRowCell === null || sheetRowCell === void 0 ? void 0 : sheetRowCell.toString()) || '';
84
+ }
85
+ }
86
+ }
87
+ if (Object.keys(sheetRowcolumn).length > 0 && Object.values(sheetRowcolumn).filter(str => str != '').length > 0) {
88
+ columnRow.push(sheetRowcolumn);
89
+ }
90
+ }
91
+ }
92
+ }
93
+ return columnRow;
94
+ }
95
+ async export(filename, column, tmpEntitys, savepath, beforSave) {
96
+ var _a, _b, _c;
97
+ const workbook = new exceljs.Workbook(), columnRow = {}, columns = [];
98
+ const worksheet = workbook.addWorksheet("Sheet 1", { views: [{ state: 'frozen', ySplit: 1 }] });
99
+ for (const index in column) {
100
+ columnRow[column[index].key] = column[index].header;
101
+ columns.push({ header: column[index].header, key: (_a = column[index]) === null || _a === void 0 ? void 0 : _a.key.replace(/\./g, '_') });
102
+ }
103
+ worksheet.columns = columns;
104
+ for (const entityIndex in tmpEntitys) {
105
+ const entity = tmpEntitys[entityIndex], entityRow = worksheet.addRow({});
106
+ for (let index in column) {
107
+ const columnKey = column[index].key.replace(/\./g, '_'), columnCol = worksheet.getColumn(columnKey), columnCell = entityRow === null || entityRow === void 0 ? void 0 : entityRow.getCell(columnKey);
108
+ if (typeof ((_b = column[index]) === null || _b === void 0 ? void 0 : _b.onWrite) == 'function') {
109
+ columnCell.value = await column[index].onWrite(entity, { row: entityRow, col: columnCol, cell: columnCell, sheet: worksheet }) || '';
110
+ }
111
+ else if (typeof ((_c = column[index]) === null || _c === void 0 ? void 0 : _c.handler) == 'function') {
112
+ columnCell.value = await column[index].handler(entity, { row: entityRow, col: columnCol, cell: columnCell, sheet: worksheet }) || '';
113
+ }
114
+ else {
115
+ columnCell.value = lodash.get(entity, column[index].key, '');
116
+ }
117
+ }
118
+ }
119
+ if (typeof (beforSave) == 'function') {
120
+ await beforSave({ workbook, worksheet });
121
+ }
122
+ let writePath = '';
123
+ const filepath = `${filename}.xlsx`;
124
+ if (savepath && savepath.startsWith('/')) {
125
+ writePath = `${savepath}`;
126
+ }
127
+ else if (savepath && !savepath.startsWith('/') && !savepath.startsWith('\\')) {
128
+ writePath = `${this.app.getAppDir()}/${savepath}`;
129
+ }
130
+ else {
131
+ writePath = `${this.app.getAppDir()}/public/xlsx/${dayjs().format('YYYY/MM/DD')}`;
132
+ }
133
+ if (writePath.endsWith('/') || writePath.endsWith('\\')) {
134
+ writePath = writePath.substring(0, writePath.length - 1);
135
+ }
136
+ writePath = writePath.replace(/(\\|\/)/g, '/').replace(/\/{2,}/g, '/');
137
+ if (!fs.existsSync(writePath)) {
138
+ fs.mkdirSync(writePath, { recursive: true });
139
+ }
140
+ await workbook.xlsx.writeFile(`${writePath}/${filepath}`.replace(/(\\|\/)/g, '/').replace(/\/{2,}/g, '/'));
141
+ return {
142
+ filename: filepath,
143
+ filepath: `${writePath.substring(`${this.app.getAppDir()}`.length)}/${filepath}`.replace(/(\\|\/)/g, '/').replace(/\/{2,}/g, '/')
144
+ };
145
+ }
146
+ async stream(file, option = { suffix: ['xls', 'xlsx'] }) {
147
+ return await ExcelStream_1.ExcelStream.instance(file, option);
148
+ }
149
+ async download(ctx, filepath) {
150
+ return await koasend(ctx, `${filepath}`);
151
+ }
152
+ };
153
+ exports.ExcelService = ExcelService;
154
+ __decorate([
155
+ (0, core_1.App)(),
156
+ __metadata("design:type", Object)
157
+ ], ExcelService.prototype, "app", void 0);
158
+ exports.ExcelService = ExcelService = __decorate([
159
+ (0, core_1.Provide)(),
160
+ (0, core_1.Scope)(core_1.ScopeEnum.Singleton)
161
+ ], ExcelService);
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhjZWxTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2UvRXhjZWxTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHlCQUF5QjtBQUN6QixtQ0FBbUM7QUFDbkMsb0NBQW9DO0FBRXBDLHlDQUFnRTtBQUVoRSwrQ0FBNEM7QUFrQnJDLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQVk7SUFPckIsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFnQixFQUFFLE1BQTBCLEVBQUUsU0FBaUMsQ0FBQyxDQUFDLENBQUM7O1FBQzFGLE1BQU0sUUFBUSxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsR0FBa0MsRUFBRSxDQUFDO1FBRXZGLElBQUksWUFBWSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFN0UsSUFBSSxDQUFDLENBQUEsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQSxFQUFFLENBQUM7WUFDakMsWUFBWSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUM1RCxDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0QsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLFlBQVksZUFBZSxDQUFDLENBQUE7WUFDNUQsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUVELEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7WUFDekIsTUFBTSxTQUFTLEdBQUcsTUFB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