更改缓存远程脚本的时机

This commit is contained in:
fofolee 2022-04-30 00:13:27 +08:00
parent 3fa216bdd8
commit 545d467b16

View File

@ -104,10 +104,7 @@ export default {
}, },
async fire(currentCommand) { async fire(currentCommand) {
currentCommand.cmd = this.assignSpecialVars(currentCommand.cmd); currentCommand.cmd = this.assignSpecialVars(currentCommand.cmd);
if (currentCommand.output === "html") { this.enableHtml = currentCommand.output === "html";
this.enableHtml = true;
currentCommand.cmd = await this.cacheScript(currentCommand.cmd);
}
let { hideWindow, outPlugin, action } = let { hideWindow, outPlugin, action } =
outputTypes[currentCommand.output]; outputTypes[currentCommand.output];
// //
@ -237,11 +234,12 @@ export default {
: this.showRunResult(stdout, true); : this.showRunResult(stdout, true);
}, },
// //
showRunResult(content, isSuccess) { async showRunResult(content, isSuccess) {
this.isResultShow = true; this.isResultShow = true;
this.timeStamp = new Date().getTime(); this.timeStamp = new Date().getTime();
this.runResultStatus = isSuccess; this.runResultStatus = isSuccess;
if (!_.isArray(content)) content = [content]; if (!_.isArray(content)) content = [content];
content = await this.cacheScript(content);
this.runResult = this.runResult.concat(content); this.runResult = this.runResult.concat(content);
this.autoScroll(); this.autoScroll();
}, },
@ -280,17 +278,22 @@ export default {
this.frameInitHeight = initHeight; this.frameInitHeight = initHeight;
}, },
// //
async cacheScript(cmd) { async cacheScript(content) {
let html = quickcommand.htmlParse(cmd); if (!this.enableHtml) return;
let scriptDoms = html.querySelectorAll("script"); let htmls = [];
for (let i = 0; i < scriptDoms.length; i++) { for (let item of content) {
let src = scriptDoms[i].src; let html = quickcommand.htmlParse(item);
if (!this.urlReg.test(src)) continue; let scriptDoms = html.querySelectorAll("script");
let dest = window.getQuickcommandTempFile("js", "remoteScript_" + i); for (let i = 0; i < scriptDoms.length; i++) {
await quickcommand.downloadFile(src, dest); let src = scriptDoms[i].src;
scriptDoms[i].src = "file://" + dest; if (!this.urlReg.test(src)) continue;
let dest = window.getQuickcommandTempFile("js", "remoteScript_" + i);
await quickcommand.downloadFile(src, dest);
scriptDoms[i].src = "file://" + dest;
}
htmls.push(html.documentElement.innerHTML);
} }
return html.documentElement.innerHTML; return htmls;
}, },
}, },
unmounted() { unmounted() {