|
|
@ -96,6 +96,19 @@
|
|
|
|
tableData: [],
|
|
|
|
tableData: [],
|
|
|
|
playing_url: "",
|
|
|
|
playing_url: "",
|
|
|
|
playing_auto: false,
|
|
|
|
playing_auto: false,
|
|
|
|
|
|
|
|
workCount: 0,
|
|
|
|
|
|
|
|
cacheQueue: [],
|
|
|
|
|
|
|
|
cacheQueueOption: {
|
|
|
|
|
|
|
|
push: (element) => {
|
|
|
|
|
|
|
|
this.cacheQueue.push(element);
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
pop: () => {
|
|
|
|
|
|
|
|
return this.cacheQueue.shift();
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
size: () => {
|
|
|
|
|
|
|
|
return this.cacheQueue.length;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
mounted() {
|
|
|
|
mounted() {
|
|
|
@ -117,9 +130,43 @@
|
|
|
|
});
|
|
|
|
});
|
|
|
|
},
|
|
|
|
},
|
|
|
|
handleFile(file) {
|
|
|
|
handleFile(file) {
|
|
|
|
|
|
|
|
// 新的文件加入
|
|
|
|
|
|
|
|
if (file) {
|
|
|
|
|
|
|
|
console.log("workCount", this.workCount);
|
|
|
|
|
|
|
|
// 将工作数量大小限制为100
|
|
|
|
|
|
|
|
if (this.workCount < 100) {
|
|
|
|
|
|
|
|
// 工作数量增加
|
|
|
|
|
|
|
|
this.workCount++;
|
|
|
|
|
|
|
|
// 工作数量小于100 立刻处理文件
|
|
|
|
|
|
|
|
this.handleDoFile(file);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 工作数量大于100 则放入缓存队列
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
this.cacheQueueOption.push(file);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//消费缓存队列的数据
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
this.workCount++;
|
|
|
|
|
|
|
|
this.handleDoFile(this.cacheQueueOption.pop());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
handleCacheQueue() {
|
|
|
|
|
|
|
|
// 缓存队列中有数据且工作数量少于50的话 调用方法消费缓存队列中的数据
|
|
|
|
|
|
|
|
if (this.cacheQueueOption.size() > 0 && this.workCount < 50) {
|
|
|
|
|
|
|
|
this.handleFile(null);
|
|
|
|
|
|
|
|
console.log("size", this.cacheQueueOption.size(), this.workCount);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
handleDoFile(file) {
|
|
|
|
(async () => {
|
|
|
|
(async () => {
|
|
|
|
let data = await dec.CommonDecrypt(file);
|
|
|
|
let data = await dec.CommonDecrypt(file);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 完成之后 数量减少 同时调用判断函数
|
|
|
|
|
|
|
|
this.workCount--;
|
|
|
|
|
|
|
|
this.handleCacheQueue();
|
|
|
|
|
|
|
|
|
|
|
|
if (data.status) {
|
|
|
|
if (data.status) {
|
|
|
|
this.tableData.push(data);
|
|
|
|
this.tableData.push(data);
|
|
|
|
this.$notify.success({
|
|
|
|
this.$notify.success({
|
|
|
|