mirror of
https://github.com/fofolee/uTools-quickcommand.git
synced 2025-06-29 04:12:45 +08:00
添加从id获取qc的接口
This commit is contained in:
parent
545d4b3b31
commit
4de96bac47
@ -47,7 +47,7 @@
|
|||||||
{
|
{
|
||||||
"type": "regex",
|
"type": "regex",
|
||||||
"label": "导入命令",
|
"label": "导入命令",
|
||||||
"match": "/(^\\{[\\s\\S]*\"program\" *: *\".*\"[\\s\\S]*\"cmd\" *: *\".*\"[\\s\\S]*\\}$)|(^qc=e)/i",
|
"match": "/(^\\{[\\s\\S]*\"program\" *: *\".*\"[\\s\\S]*\"cmd\" *: *\".*\"[\\s\\S]*\\}$)|(^qc\\/(id|base64)\\/.+)/i",
|
||||||
"maxNum": 1
|
"maxNum": 1
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -10,18 +10,38 @@ const axios = require('axios');
|
|||||||
const http = require('http');
|
const http = require('http');
|
||||||
const url = require('url')
|
const url = require('url')
|
||||||
const kill = require('tree-kill')
|
const kill = require('tree-kill')
|
||||||
|
const crypto = require("crypto");
|
||||||
require('ses')
|
require('ses')
|
||||||
|
|
||||||
|
const md5 = (input) => {
|
||||||
|
return crypto.createHash("md5").update(input, "utf8").digest("hex");
|
||||||
|
};
|
||||||
|
|
||||||
window._ = require("lodash")
|
window._ = require("lodash")
|
||||||
window.getuToolsLite = require("./lib/utoolsLite")
|
window.getuToolsLite = require("./lib/utoolsLite")
|
||||||
window.yuQueClient = axios.create({
|
// window.yuQueClient = axios.create({
|
||||||
baseURL: 'https://www.yuque.com/api/v2/',
|
// baseURL: 'https://www.yuque.com/api/v2/',
|
||||||
|
// headers: {
|
||||||
|
// 'Content-Type': 'application/json',
|
||||||
|
// // 只读权限
|
||||||
|
// 'X-Auth-Token': 'WNrd0Z4kfCZLFrGLVAaas93DZ7sbG6PirKq7VxBL'
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
|
||||||
|
window.getSharedQcById = async (id) => {
|
||||||
|
const url = "https://qc.qaz.ink/home/quick/script/getScript";
|
||||||
|
const timeStamp = parseInt(new Date().getTime() / 1000);
|
||||||
|
const { data } = await axios.get(url, {
|
||||||
|
params: {
|
||||||
|
id,
|
||||||
|
},
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
"verify-encrypt": md5("quickcommand666" + timeStamp),
|
||||||
// 只读权限
|
"verify-time": timeStamp,
|
||||||
'X-Auth-Token': 'WNrd0Z4kfCZLFrGLVAaas93DZ7sbG6PirKq7VxBL'
|
},
|
||||||
}
|
});
|
||||||
});
|
return JSON.stringify(data.data)
|
||||||
|
};
|
||||||
|
|
||||||
// 检测进程是否存在
|
// 检测进程是否存在
|
||||||
let isProcessExits = pid => {
|
let isProcessExits = pid => {
|
||||||
@ -633,10 +653,7 @@ window.runCodeFile = (cmd, option, terminal, callback, realTime=true) => {
|
|||||||
// }
|
// }
|
||||||
let child, cmdline;
|
let child, cmdline;
|
||||||
if (bin.slice(-7) == 'csc.exe') {
|
if (bin.slice(-7) == 'csc.exe') {
|
||||||
cmdline = `
|
cmdline = `${bin} ${argv} /out:"${script.slice(0, -2) + 'exe'}" "${script}" && "${script.slice(0, -2) + 'exe'}" ${scptarg}`
|
||||||
$ { bin }
|
|
||||||
$ { argv }
|
|
||||||
/out:"${script.slice(0, -2) + 'exe'}" "${script}" && "${script.slice(0, -2) + 'exe'}" ${scptarg}`
|
|
||||||
} else if (bin == 'gcc') {
|
} else if (bin == 'gcc') {
|
||||||
var suffix = utools.isWindows() ? '.exe' : ''
|
var suffix = utools.isWindows() ? '.exe' : ''
|
||||||
cmdline = `${bin} ${argv} "${script.slice(0, -2)}" "${script}" && "${script.slice(0, -2) + suffix}" ${scptarg}`
|
cmdline = `${bin} ${argv} "${script.slice(0, -2)}" "${script}" && "${script.slice(0, -2) + suffix}" ${scptarg}`
|
||||||
|
@ -444,6 +444,7 @@ export default {
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
background: #00000008;
|
background: #00000008;
|
||||||
|
transition: 0.5s;
|
||||||
}
|
}
|
||||||
.q-card--dark.command {
|
.q-card--dark.command {
|
||||||
background: #ffffff08;
|
background: #ffffff08;
|
||||||
|
@ -11,11 +11,18 @@ let isJsonQc = (obj, strict = true) => {
|
|||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let payloadParser = async (payload) => {
|
||||||
|
let [, format, value] = payload.split("/");
|
||||||
|
if (format === "base64") return window.base64Decode(value);
|
||||||
|
else if (format === "id") return await window.getSharedQcById(value);
|
||||||
|
else throw new Error("不支持的格式");
|
||||||
|
};
|
||||||
|
|
||||||
// 判断是否为可导入的快捷命令
|
// 判断是否为可导入的快捷命令
|
||||||
let qcparser = (json, strict = true) => {
|
let quickcommandParser = async (payload, strict = true) => {
|
||||||
try {
|
try {
|
||||||
if (json.slice(0, 3) === "qc=") json = window.base64Decode(json.slice(3));
|
if (payload.slice(0, 3) === "qc/") payload = await payloadParser(payload);
|
||||||
var qc = JSON.parse(json);
|
var qc = JSON.parse(payload);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -25,4 +32,4 @@ let qcparser = (json, strict = true) => {
|
|||||||
else return false;
|
else return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default qcparser;
|
export default quickcommandParser;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user