mirror of
https://github.com/fofolee/uTools-quickcommand.git
synced 2025-06-08 14:34:13 +08:00
77 lines
2.2 KiB
Vue
77 lines
2.2 KiB
Vue
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
cmdCtrlKey: window.processPlatform === "darwin" ? "command" : "control",
|
|
};
|
|
},
|
|
async mounted() {
|
|
utools.setExpendHeight(0);
|
|
utools.hideMainWindow();
|
|
// getCurrentBrowserUrl 似乎失效了
|
|
// let url = utools.getCurrentBrowserUrl();
|
|
utools.simulateKeyboardTap("l", this.cmdCtrlKey);
|
|
await this.wait(50);
|
|
utools.simulateKeyboardTap("c", this.cmdCtrlKey);
|
|
await this.wait(50);
|
|
let url = window.clipboardReadText();
|
|
if (!/^http/.test(url)) {
|
|
utools.showMainWindow();
|
|
utools.setExpendHeight(550);
|
|
let choise = await quickcommand.showButtonBox(
|
|
["http", "https"],
|
|
"当前浏览器网址显示不完整,请问访问的页面是哪一种?"
|
|
);
|
|
url = choise.text + "://" + url;
|
|
}
|
|
let title = this.$root.payload.title
|
|
.replace(/和另外 \d+ 个页面.*/, "")
|
|
.replace(/[-|—] .*?[Edge|Firefox|Chrome].*/, "")
|
|
.trim();
|
|
// let req = await axios(url)
|
|
// let title = quickcommand.htmlParse(req.data).querySelector('title').innerText
|
|
let base = /(http(s){0,1}:\/\/.*?(:\d+){0,1})(\/|$).*/.exec(url)[1];
|
|
let iconUrl = base + "/favicon.ico";
|
|
let iconPath = window.joinPath(
|
|
utools.getPath("temp"),
|
|
"quickcommandfavicon.ico"
|
|
);
|
|
let uid = this.getUid();
|
|
let command = {
|
|
features: {
|
|
explain: `访问${title}`,
|
|
cmds: [title],
|
|
platform: ["linux", "win32", "darwin"],
|
|
code: `key_${uid}`,
|
|
},
|
|
program: "quickcommand",
|
|
cmd: `visit(\"${url}\")\n`,
|
|
output: "ignore",
|
|
tags: [this.$root.profile.quickUrlTag],
|
|
};
|
|
try {
|
|
let res = await quickcommand.downloadFile(iconUrl, iconPath);
|
|
if (res) command.features.icon = iconPath;
|
|
} catch (e) {}
|
|
this.importCommand(command);
|
|
utools.showNotification("操作成功!");
|
|
utools.outPlugin();
|
|
},
|
|
methods: {
|
|
wait(ms) {
|
|
return new Promise((resolve) => {
|
|
setTimeout(() => {
|
|
resolve();
|
|
}, ms);
|
|
});
|
|
},
|
|
getUid() {
|
|
return this.$parent.getUid();
|
|
},
|
|
importCommand(command) {
|
|
this.$parent.importCommand(command);
|
|
},
|
|
},
|
|
};
|
|
</script>
|