解决 frame 内变量问题

This commit is contained in:
fofolee 2022-04-23 00:09:33 +08:00
parent 0f9f003c0a
commit f99123518a
3 changed files with 34 additions and 40 deletions

View File

@ -65,16 +65,9 @@ export default {
},
},
methods: {
frameInit() {
if (!this.showFrame) return;
let ctx = {
quickcommand,
utools,
parent: undefined,
};
Object.assign(this.cfw, _.cloneDeep(ctx));
},
frameLoad() {
this.cfw.quickcommand = _.cloneDeep(quickcommand);
this.cfw.utools = _.cloneDeep(utools);
this.frameHeight = Math.min(
this.cfw.document.documentElement.getBoundingClientRect().height,
this.maxHeight
@ -82,9 +75,6 @@ export default {
this.$emit("frameLoad");
},
},
mounted() {
this.frameInit();
},
};
</script>

View File

@ -21,8 +21,8 @@ const quickcommand = {
hints: [],
title: title
}
if (!(options instanceof Object)) return reject(new TypeError(`应为 Object, 而非 ${typeof options}`))
if (options instanceof Array) props.labels = options
if (!_.isObject(options)) return reject(new TypeError(`应为 Object, 而非 ${typeof options}`))
if (_.isArray(options)) props.labels = options
else Object.assign(props, options)
Dialog.create({
component: inputBox,
@ -35,7 +35,7 @@ const quickcommand = {
}),
showButtonBox: (labels = ["确定"], title = "") => new Promise((reslove, reject) => {
if (!(labels instanceof Array)) return reject(new TypeError(`应为 Array, 而非 ${typeof labels}`))
if (!_.isArray(labels)) return reject(new TypeError(`应为 Array, 而非 ${typeof labels}`))
let props = {
labels: labels,
title: title
@ -91,7 +91,7 @@ const quickcommand = {
}),
showSelectList: (selects, options = {}) => new Promise((reslove, reject) => {
if (!(selects instanceof Array)) return reject(new TypeError(`应为 Array, 而非 ${typeof selects}`))
if (!_.isArray(selects)) return reject(new TypeError(`应为 Array, 而非 ${typeof selects}`))
let defaultOptions = {
placeholder: "输入进行筛选,支持拼音",
optionType: "plaintext",
@ -128,4 +128,4 @@ const quickcommand = {
}
}
export default quickcommand
export default quickcommand

View File

@ -1,23 +1,27 @@
{
"features": {
"code": "default_findGui",
"explain": "通过 find 查找文件",
"cmds": [
"搜索",
"search"
],
"icon": "data:image/png;base64,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",
"platform": [
"darwin",
"linux"
]
},
"program": "shell",
"cmd": "echo \"<script>function actionWithSelectedFile(file) { quickcommand.showButtonBox(['打开文件', '在文件管理器中定位', '复制文件路径']).then(x => { switch (x.id) { case 0: utools.shellOpenItem(file); break; case 1: utools.shellShowItemInFolder(file); break; case 2: utools.copyText(file); break; default: break; } }) }</script> <style> #out li { list-style: none; padding: 5px 20px; margin: 10px 0; transition: .2s; height: 60px; font-size: 15px; border-radius: 6px; background: #9e9e9e26; line-height: 60px; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;} #out li:hover { background: #009688; color: white; transition: .5s; } </style>\" \n\necho \"find / -name \\\"{{subinput}}\\\" 2>/dev/null\"\nfind / -name \"{{subinput}}\" -exec echo -n \"<li onclick=actionWithSelectedFile(this.innerText)>\"{}\"</li>\" \\; 2>/dev/null",
"output": "html",
"hasSubInput": true,
"scptarg": "",
"tags": [
"默认"
]
}
{
"program": "shell",
"cmd": "echo \"<script>function actionWithSelectedFile(file) { quickcommand.showButtonBox(['打开文件', '在文件管理器中定位', '复制文件路径']).then(x => { switch (x.id) { case 0: utools.shellOpenItem(file); break; case 1: utools.shellShowItemInFolder(file); break; case 2: utools.copyText(file); break; default: break; } }) }</script> <style> body li { list-style: none; padding: 5px 20px; margin: 10px 0; transition: .2s; height: 60px; font-size: 15px; border-radius: 6px; background: #9e9e9e26; line-height: 60px; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;} body li:hover { background: #009688; color: white; transition: .5s; } </style>\" \n\necho \"find / -name \\\"{{subinput}}\\\" 2>/dev/null\"\nfind / -name \"{{subinput}}\" -exec echo -n \"<li onclick=actionWithSelectedFile(this.innerText)>\"{}\"</li>\" \\; 2>/dev/null",
"scptarg": "",
"charset": {
"scriptCode": "",
"outputCode": ""
},
"features": {
"code": "default_findGui",
"explain": "通过 find 查找文件",
"cmds": [
"搜索",
"search"
],
"icon": "data:image/png;base64,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",
"platform": [
"darwin",
"linux"
]
},
"output": "html",
"hasSubInput": true,
"tags": [
"默认"
]
}