jjb-cmd 2.2.1 → 2.2.3

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,88 @@
1
- function a22_0x1a00(){const _0x50cee0=['clear','readline','createInterface','question','length','5241807uuUhWt','2731967mlxGBx','删除完成。','trim','删除进度','7134KIWOoa','133630zWoggf','无效操作。','exports','isDirectory','unlinkSync','1523476jZnwIh','exit','337682QtkfxD','log','是否确认删除?删除后不可恢复![y/n]:','stdin','953982gwLAWs','108UanYPj','rmdirSync','8eoHlpZ','resolve','删除异常:'];a22_0x1a00=function(){return _0x50cee0;};return a22_0x1a00();}const a22_0x4e153e=a22_0x10ec;(function(_0x475296,_0xde702a){const _0x28cee6=a22_0x10ec,_0x52773c=_0x475296();while(!![]){try{const _0x47171f=-parseInt(_0x28cee6(0x159))/0x1+parseInt(_0x28cee6(0x151))/0x2*(parseInt(_0x28cee6(0x142))/0x3)+-parseInt(_0x28cee6(0x157))/0x4+-parseInt(_0x28cee6(0x152))/0x5+-parseInt(_0x28cee6(0x141))/0x6+parseInt(_0x28cee6(0x14d))/0x7*(parseInt(_0x28cee6(0x144))/0x8)+parseInt(_0x28cee6(0x14c))/0x9;if(_0x47171f===_0xde702a)break;else _0x52773c['push'](_0x52773c['shift']());}catch(_0x27b6e4){_0x52773c['push'](_0x52773c['shift']());}}}(a22_0x1a00,0x300ea));function a22_0x10ec(_0x34b5e5,_0x1c632c){const _0x1a005d=a22_0x1a00();return a22_0x10ec=function(_0x10ec8f,_0x2d2e26){_0x10ec8f=_0x10ec8f-0x13f;let _0x4c1bad=_0x1a005d[_0x10ec8f];return _0x4c1bad;},a22_0x10ec(_0x34b5e5,_0x1c632c);}const fs=require('fs'),path=require('path'),readline=require(a22_0x4e153e(0x148)),ProgressBar=require('./progress-bar'),io=readline[a22_0x4e153e(0x149)]({'input':process[a22_0x4e153e(0x140)],'output':process['stdout']}),progress=new ProgressBar(a22_0x4e153e(0x150),0x32);let f_total=0x0,f_number=0x0;module[a22_0x4e153e(0x154)]=function(){const _0x2db189=a22_0x4e153e,_0x23ef52=path[_0x2db189(0x145)]('./');io[_0x2db189(0x14a)](_0x2db189(0x13f),function(_0x491d5b){const _0x5d2480=_0x2db189;if(_0x491d5b[_0x5d2480(0x14f)]()==='y')console[_0x5d2480(0x15a)]('正在计算项目数,请稍等...'),setTimeout(()=>{setTimeout(()=>{const _0x8bf15e=a22_0x10ec;console[_0x8bf15e(0x147)](),exec(_0x23ef52),setTimeout(()=>{const _0x2d2590=_0x8bf15e;console['log'](_0x2d2590(0x14e)),console[_0x2d2590(0x147)](),process['exit'](0x0);},0x1f4);},0x1f4);},0x1f4);else _0x491d5b[_0x5d2480(0x14f)]()==='n'?(console[_0x5d2480(0x15a)]('取消删除。'),process[_0x5d2480(0x158)](0x0)):(console['log'](_0x5d2480(0x153)),process[_0x5d2480(0x158)](0x0));});};function exec(_0x3d3f84){const _0x30cf56=a22_0x4e153e;if(fs['existsSync'](_0x3d3f84)){const _0xd9b6c8=fs['readdirSync'](_0x3d3f84);for(let _0x3b35bb=0x0;_0x3b35bb<_0xd9b6c8[_0x30cf56(0x14b)];_0x3b35bb++){const _0x172110=_0xd9b6c8[_0x3b35bb],_0x178b5d=_0x3d3f84+'/'+_0x172110;try{fs['statSync'](_0x178b5d)[_0x30cf56(0x155)]()?(exec(_0x178b5d),fs[_0x30cf56(0x143)](_0x178b5d,{'recursive':!![]}),console[_0x30cf56(0x15a)]('删除文件夹:'+_0x178b5d)):(fs[_0x30cf56(0x156)](_0x178b5d),console['log']('删除文件:'+_0x178b5d));}catch(_0x50e022){console[_0x30cf56(0x15a)](_0x30cf56(0x146)+_0x178b5d);}}}}function scanner(_0x31a884){const _0x10645a=a22_0x4e153e;if(fs['existsSync'](_0x31a884)){const _0x14fe6e=fs['readdirSync'](_0x31a884);for(let _0x448624=0x0;_0x448624<_0x14fe6e[_0x10645a(0x14b)];_0x448624++){const _0xde9d91=_0x14fe6e[_0x448624],_0xd71492=_0x31a884+'/'+_0xde9d91;try{fs['statSync'](_0xd71492)[_0x10645a(0x155)]()?(scanner(_0xd71492),f_total=f_total+0x1):f_total=f_total+0x1;}catch(_0x9c22f3){}}}}
1
+ const fs = require('fs');
2
+ const path = require('path');
3
+ const readline = require('readline');
4
+ const ProgressBar = require('./progress-bar');
5
+ const io = readline.createInterface({
6
+ input: process.stdin,
7
+ output: process.stdout
8
+ });
9
+ const progress = new ProgressBar('删除进度', 50);
10
+
11
+ let f_total = 0;
12
+ let f_number = 0;
13
+
14
+ module.exports = function () {
15
+ const root_path = path.resolve('./');
16
+
17
+ io.question('是否确认删除?删除后不可恢复![y/n]:', function (answer) {
18
+ if (answer.trim() === 'y') {
19
+ console.log('正在计算项目数,请稍等...');
20
+ setTimeout(() => {
21
+ // scanner(root_path);
22
+ // console.log(`计算完成共计[${f_total}]项目。`);
23
+ setTimeout(() => {
24
+ console.clear();
25
+ exec(root_path);
26
+ setTimeout(() => {
27
+ console.log('删除完成。');
28
+ console.clear();
29
+ process.exit(0);
30
+ }, 500);
31
+ }, 500);
32
+ }, 500);
33
+ } else if (answer.trim() === 'n') {
34
+ console.log('取消删除。');
35
+ process.exit(0);
36
+ } else {
37
+ console.log('无效操作。');
38
+ process.exit(0);
39
+ }
40
+ });
41
+ };
42
+
43
+ function exec (path) {
44
+ if (fs.existsSync(path)) {
45
+ const list = fs.readdirSync(path);
46
+ for (let i = 0; i < list.length; i++) {
47
+ const item = list[ i ];
48
+ const vPath = `${path}/${item}`;
49
+ try {
50
+ if (fs.statSync(vPath).isDirectory()) {
51
+ exec(vPath);
52
+ fs.rmdirSync(vPath, { recursive: true });
53
+ // f_number = f_number + 1;
54
+ console.log('删除文件夹:' + vPath);
55
+ } else {
56
+ fs.unlinkSync(vPath);
57
+ // f_number = f_number + 1;
58
+ console.log('删除文件:' + vPath);
59
+ }
60
+ // progress.render({
61
+ // completed: f_number,
62
+ // total: f_total
63
+ // });
64
+ } catch (e) {
65
+ console.log('删除异常:' + vPath);
66
+ }
67
+ }
68
+ }
69
+ }
70
+
71
+ function scanner (path) {
72
+ if (fs.existsSync(path)) {
73
+ const list = fs.readdirSync(path);
74
+ for (let i = 0; i < list.length; i++) {
75
+ const item = list[ i ];
76
+ const vPath = `${path}/${item}`;
77
+ try {
78
+ if (fs.statSync(vPath).isDirectory()) {
79
+ scanner(vPath);
80
+ f_total = f_total + 1;
81
+ } else {
82
+ f_total = f_total + 1;
83
+ }
84
+ } catch (e) {
85
+ }
86
+ }
87
+ }
88
+ }
@@ -1 +1,23 @@
1
- const a23_0x410898=a23_0x5a9b;(function(_0xb6f6b2,_0x2dc47e){const _0x5d8b3e=a23_0x5a9b,_0xf8f904=_0xb6f6b2();while(!![]){try{const _0x21e867=parseInt(_0x5d8b3e(0x1c0))/0x1+parseInt(_0x5d8b3e(0x1bf))/0x2*(-parseInt(_0x5d8b3e(0x1c1))/0x3)+-parseInt(_0x5d8b3e(0x1be))/0x4+parseInt(_0x5d8b3e(0x1c4))/0x5*(parseInt(_0x5d8b3e(0x1c8))/0x6)+-parseInt(_0x5d8b3e(0x1c5))/0x7*(-parseInt(_0x5d8b3e(0x1c6))/0x8)+parseInt(_0x5d8b3e(0x1c2))/0x9+parseInt(_0x5d8b3e(0x1b8))/0xa*(-parseInt(_0x5d8b3e(0x1bc))/0xb);if(_0x21e867===_0x2dc47e)break;else _0xf8f904['push'](_0xf8f904['shift']());}catch(_0xa7d595){_0xf8f904['push'](_0xf8f904['shift']());}}}(a23_0x4671,0x8b90c));const slog=require(a23_0x410898(0x1ba))[a23_0x410898(0x1bd)];function ProgressBar(_0x12920a,_0x57155c){const _0xe97d7=a23_0x410898;this[_0xe97d7(0x1c3)]=_0x12920a||_0xe97d7(0x1c7),this[_0xe97d7(0x1bb)]=_0x57155c||0x19,this['render']=function(_0x97828b){const _0x1ca247=_0xe97d7;let _0x3f931d;const _0x50b300=(_0x97828b[_0x1ca247(0x1b9)]/_0x97828b[_0x1ca247(0x1cb)])[_0x1ca247(0x1ca)](0x4),_0x46b731=Math[_0x1ca247(0x1c9)](_0x50b300*this[_0x1ca247(0x1bb)]);let _0x365f5c='';for(_0x3f931d=0x0;_0x3f931d<_0x46b731;_0x3f931d++){_0x365f5c+='█';}let _0x5df0ba='';for(_0x3f931d=0x0;_0x3f931d<this[_0x1ca247(0x1bb)]-_0x46b731;_0x3f931d++){_0x5df0ba+='░';}const _0x3aef91=this[_0x1ca247(0x1c3)]+':\x20'+(0x64*_0x50b300)[_0x1ca247(0x1ca)](0x2)+'%\x20'+_0x365f5c+_0x5df0ba+'\x20'+_0x97828b[_0x1ca247(0x1b9)]+'/'+_0x97828b[_0x1ca247(0x1cb)];slog(_0x3aef91);};}module['exports']=ProgressBar;function a23_0x5a9b(_0x256090,_0x3989a2){const _0x4671a7=a23_0x4671();return a23_0x5a9b=function(_0x5a9bd9,_0x3b4404){_0x5a9bd9=_0x5a9bd9-0x1b8;let _0x36a2ea=_0x4671a7[_0x5a9bd9];return _0x36a2ea;},a23_0x5a9b(_0x256090,_0x3989a2);}function a23_0x4671(){const _0x5cc291=['637860AXbdqL','completed','single-line-log','length','77pvWtUe','stdout','190284bcxBht','1603214EXqVFQ','546672PirBql','3NForZb','6900138muRRSy','description','4435qGzsPQ','28PTfISK','735432wLpEEZ','Progress','1260psVYnf','floor','toFixed','total'];a23_0x4671=function(){return _0x5cc291;};return a23_0x4671();}
1
+ const slog = require('single-line-log').stdout;
2
+
3
+ function ProgressBar (description, bar_length) {
4
+ this.description = description || 'Progress';
5
+ this.length = bar_length || 25;
6
+ this.render = function (opts) {
7
+ let i;
8
+ const percent = (opts.completed / opts.total).toFixed(4);
9
+ const cell_num = Math.floor(percent * this.length);
10
+ let cell = '';
11
+ for (i = 0; i < cell_num; i++) {
12
+ cell += '█';
13
+ }
14
+ let empty = '';
15
+ for (i = 0; i < this.length - cell_num; i++) {
16
+ empty += '░';
17
+ }
18
+ const cmdText = this.description + ': ' + (100 * percent).toFixed(2) + '% ' + cell + empty + ' ' + opts.completed + '/' + opts.total;
19
+ slog(cmdText);
20
+ };
21
+ }
22
+
23
+ module.exports = ProgressBar;
package/src/old/util.js CHANGED
@@ -1 +1,149 @@
1
- 'use strict';const a24_0x5ce4a9=a24_0x5631;function a24_0x1b5a(){const _0x380beb=['2273XAWXFd','226ZubaRc','readdirSync','600nCDRlR','error','5093mIjITR','CreatePaths','createReadStream','close','isDirectory','join','404cbQeTc','createWriteStream','push','DeleteDirAllFile','537bTxmYk','statSync','pipe','18351SybBgk','2623866oChIAh','DeepScanner','write\x20error','CopyFolder','rmdirSync','forEach','34692TGAwSs','1333250Ohzuzy','mkdirSync','6MNSrIJ','path','read\x20error','existsSync','5460240hAnyuM','log','length','CopyFile'];a24_0x1b5a=function(){return _0x380beb;};return a24_0x1b5a();}(function(_0x511a7b,_0x3eb3f8){const _0x1d31d2=a24_0x5631,_0x1792e8=_0x511a7b();while(!![]){try{const _0x33d4db=-parseInt(_0x1d31d2(0x201))/0x1*(-parseInt(_0x1d31d2(0x202))/0x2)+-parseInt(_0x1d31d2(0x210))/0x3*(-parseInt(_0x1d31d2(0x20c))/0x4)+parseInt(_0x1d31d2(0x1f7))/0x5+parseInt(_0x1d31d2(0x1f9))/0x6*(parseInt(_0x1d31d2(0x214))/0x7)+parseInt(_0x1d31d2(0x204))/0x8*(parseInt(_0x1d31d2(0x213))/0x9)+parseInt(_0x1d31d2(0x1fd))/0xa+parseInt(_0x1d31d2(0x206))/0xb*(-parseInt(_0x1d31d2(0x1f6))/0xc);if(_0x33d4db===_0x3eb3f8)break;else _0x1792e8['push'](_0x1792e8['shift']());}catch(_0x540b72){_0x1792e8['push'](_0x1792e8['shift']());}}}(a24_0x1b5a,0x43960));const fs=require('fs'),path=require(a24_0x5ce4a9(0x1fa));function a24_0x5631(_0x363ba5,_0x43ae42){const _0x1b5aca=a24_0x1b5a();return a24_0x5631=function(_0x5631b5,_0x1f2c71){_0x5631b5=_0x5631b5-0x1f3;let _0x272cc4=_0x1b5aca[_0x5631b5];return _0x272cc4;},a24_0x5631(_0x363ba5,_0x43ae42);}exports['DeleteDirAllFile']=(_0x7aa3e6,_0x12a615)=>{const _0x454f53=a24_0x5ce4a9;let _0x369324=[];const _0x2897c7=this;fs[_0x454f53(0x1fc)](_0x7aa3e6)?(_0x369324=fs[_0x454f53(0x203)](_0x7aa3e6),_0x369324[_0x454f53(0x1f5)](function(_0x47642d,_0x209dea){const _0x2c75e2=_0x454f53;let _0x23f060=_0x7aa3e6+'/'+_0x47642d;fs['statSync'](_0x23f060)['isDirectory']()?_0x2897c7[_0x2c75e2(0x20f)](_0x23f060):fs['unlinkSync'](_0x23f060);}),fs[_0x454f53(0x1f4)](_0x7aa3e6),_0x12a615&&_0x12a615()):_0x12a615&&_0x12a615();},exports[a24_0x5ce4a9(0x1f3)]=(_0x33aeb5,_0x5b1613,_0x46ffe1)=>{const _0x269bd5=this;fs['readdir'](_0x33aeb5,function(_0x6dd33e,_0x2db5e9){const _0x547de8=a24_0x5631;let _0x31eb20=0x0;const _0x6e1f9f=function(){const _0x6956c5=a24_0x5631;++_0x31eb20===_0x2db5e9[_0x6956c5(0x1ff)]&&_0x46ffe1&&_0x46ffe1();};if(_0x6dd33e){_0x6e1f9f();return;}_0x2db5e9[_0x547de8(0x1f5)](function(_0x3ad504){const _0x5d0424=_0x547de8,_0x3607dc=path[_0x5d0424(0x20b)](_0x33aeb5,_0x3ad504),_0x5f30d2=path[_0x5d0424(0x20b)](_0x5b1613,_0x3ad504);fs['stat'](_0x3607dc,function(_0x5737db,_0x5ebd79){const _0x52ee95=_0x5d0424;_0x5ebd79[_0x52ee95(0x20a)]()?fs['mkdir'](_0x5f30d2,function(_0x324749){const _0x8ad302=_0x52ee95;if(_0x324749){console[_0x8ad302(0x1fe)](_0x324749);return;}_0x269bd5[_0x8ad302(0x1f3)](_0x3607dc,_0x5f30d2,_0x6e1f9f);}):_0x269bd5[_0x52ee95(0x200)](_0x3607dc,_0x5f30d2,_0x6e1f9f);});}),_0x2db5e9['length']===0x0&&_0x46ffe1&&_0x46ffe1();});},exports[a24_0x5ce4a9(0x200)]=(_0x3a1bb8,_0x2d6aac,_0x46e1d6)=>{const _0x1943c0=a24_0x5ce4a9,_0x4fdebc=fs[_0x1943c0(0x208)](_0x3a1bb8);_0x4fdebc['on'](_0x1943c0(0x205),function(_0x4f0f60){const _0x2b155d=_0x1943c0;_0x4f0f60&&console['log'](_0x2b155d(0x1fb),_0x3a1bb8),_0x46e1d6&&_0x46e1d6(_0x4f0f60);});const _0x457472=fs[_0x1943c0(0x20d)](_0x2d6aac);_0x457472['on']('error',function(_0x4b7b9b){const _0x2300ac=_0x1943c0;_0x4b7b9b&&console['log'](_0x2300ac(0x216),_0x2d6aac),_0x46e1d6&&_0x46e1d6(_0x4b7b9b);}),_0x457472['on'](_0x1943c0(0x209),function(_0x189cd0){_0x46e1d6&&_0x46e1d6(_0x189cd0);}),_0x4fdebc[_0x1943c0(0x212)](_0x457472);},exports[a24_0x5ce4a9(0x215)]=(_0x923725,_0x4732db)=>{const _0x169858=a24_0x5ce4a9,_0x2bf5ef=this,_0x3bfd38=fs['readdirSync'](_0x923725);_0x3bfd38[_0x169858(0x1f5)](_0x151208=>{const _0x4cb69a=_0x169858,_0x551147=_0x923725+'/'+_0x151208,_0x7ebfc0=fs['statSync'](_0x551147);_0x7ebfc0[_0x4cb69a(0x20a)]()?_0x2bf5ef[_0x4cb69a(0x215)](_0x551147,_0x4732db):_0x4732db[_0x4cb69a(0x20e)](_0x551147);});},exports[a24_0x5ce4a9(0x207)]=(_0x46a8a3,_0x2ccca5)=>{return new Promise(_0x2985a2=>{const _0x15a793=[];_0x2ccca5['forEach']((_0x3c6b8a,_0x1b7eb9)=>{const _0x597094=a24_0x5631,_0x518cbf=_0x46a8a3+'/'+_0x15a793[_0x597094(0x20b)]('/')+'/'+_0x3c6b8a;try{const _0x2738cb=fs[_0x597094(0x211)](_0x518cbf);_0x2738cb[_0x597094(0x20a)]()?_0x1b7eb9===_0x2ccca5[_0x597094(0x1ff)]-0x1&&_0x2985a2():(fs[_0x597094(0x1f8)](_0x518cbf),_0x1b7eb9===_0x2ccca5[_0x597094(0x1ff)]-0x1&&_0x2985a2());}catch(_0x3169cc){fs[_0x597094(0x1f8)](_0x518cbf),_0x1b7eb9===_0x2ccca5[_0x597094(0x1ff)]-0x1&&_0x2985a2();}_0x15a793['push'](_0x3c6b8a);});});};
1
+ 'use strict';
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+
6
+ /**
7
+ * @description 清空当前目录
8
+ * @param filePath
9
+ * @param callback
10
+ * @constructor
11
+ */
12
+ exports.DeleteDirAllFile = (filePath, callback) => {
13
+ let files = [];
14
+ const that = this;
15
+ if(fs.existsSync(filePath)) {
16
+ files = fs.readdirSync(filePath);
17
+ files.forEach(function(file, index) {
18
+ let curPath = filePath + "/" + file;
19
+ if(fs.statSync(curPath).isDirectory()) {
20
+ that.DeleteDirAllFile(curPath);
21
+ } else {
22
+ fs.unlinkSync(curPath);
23
+ }
24
+ });
25
+ fs.rmdirSync(filePath);
26
+ callback && callback();
27
+ } else {
28
+ callback && callback();
29
+ }
30
+ };
31
+
32
+ /**
33
+ * @description 复制文件夹及子目录文件
34
+ * @param srcDir
35
+ * @param tarDir
36
+ * @param cb
37
+ */
38
+ exports.CopyFolder = (srcDir, tarDir, cb) => {
39
+ const that = this;
40
+ fs.readdir(srcDir, function(err, files) {
41
+
42
+ let count = 0
43
+ const checkEnd = function() {
44
+ ++count === files.length && cb && cb()
45
+ }
46
+
47
+ if (err) {
48
+ checkEnd()
49
+ return
50
+ }
51
+
52
+ files.forEach(function(file) {
53
+ const srcPath = path.join(srcDir, file)
54
+ const tarPath = path.join(tarDir, file)
55
+
56
+ fs.stat(srcPath, function(err, stats) {
57
+ if (stats.isDirectory()) {
58
+ fs.mkdir(tarPath, function(err) {
59
+ if (err) {
60
+ console.log(err)
61
+ return
62
+ }
63
+
64
+ that.CopyFolder(srcPath, tarPath, checkEnd)
65
+ })
66
+ } else {
67
+ that.CopyFile(srcPath, tarPath, checkEnd)
68
+ }
69
+ })
70
+ })
71
+ //为空时直接回调
72
+ files.length === 0 && cb && cb()
73
+ })
74
+ }
75
+
76
+ /**
77
+ * @description 复制文件
78
+ * @param srcPath
79
+ * @param tarPath
80
+ * @param cb
81
+ */
82
+ exports.CopyFile = (srcPath, tarPath, cb) => {
83
+ const rs = fs.createReadStream(srcPath)
84
+ rs.on('error', function(err) {
85
+ if (err) {
86
+ console.log('read error', srcPath)
87
+ }
88
+ cb && cb(err)
89
+ })
90
+
91
+ const ws = fs.createWriteStream(tarPath)
92
+ ws.on('error', function(err) {
93
+ if (err) {
94
+ console.log('write error', tarPath)
95
+ }
96
+ cb && cb(err)
97
+ })
98
+ ws.on('close', function(ex) {
99
+ cb && cb(ex)
100
+ })
101
+
102
+ rs.pipe(ws)
103
+ };
104
+
105
+ /**
106
+ * 深度获取目录路径
107
+ * @param path
108
+ * @param pathChildren
109
+ * @constructor
110
+ */
111
+ exports.DeepScanner = (path, pathChildren) => {
112
+ const that = this;
113
+ const itemList = fs.readdirSync(path);
114
+ itemList.forEach(item => {
115
+ const childPath = `${path}/${item}`;
116
+ const stat = fs.statSync(childPath);
117
+ if (stat.isDirectory()) {
118
+ that.DeepScanner(childPath, pathChildren);
119
+ } else {
120
+ pathChildren.push(childPath);
121
+ }
122
+ });
123
+ };
124
+
125
+ /**
126
+ * 创建目录路径
127
+ * @param pathArr
128
+ */
129
+ exports.CreatePaths = (rootPath, pathArr) => {
130
+ return new Promise(resolve => {
131
+ const linkStr = [];
132
+ pathArr.forEach((item, index) => {
133
+ const dirPath = rootPath + '/' + linkStr.join('/') + '/' + item;
134
+ try {
135
+ const stat = fs.statSync(dirPath);
136
+ if (stat.isDirectory()) {
137
+ index === pathArr.length - 1 && resolve();
138
+ } else {
139
+ fs.mkdirSync(dirPath);
140
+ index === pathArr.length - 1 && resolve();
141
+ }
142
+ } catch (e) {
143
+ fs.mkdirSync(dirPath);
144
+ index === pathArr.length - 1 && resolve();
145
+ }
146
+ linkStr.push(item);
147
+ });
148
+ });
149
+ };