diff --git a/app/static/js/qas.addtask.user.js b/app/static/js/qas.addtask.user.js
index 1c0367b..591613d 100644
--- a/app/static/js/qas.addtask.user.js
+++ b/app/static/js/qas.addtask.user.js
@@ -2,7 +2,7 @@
// @name QAS一键推送助手
// @namespace https://github.com/Cp0204/quark-auto-save
// @license AGPL
-// @version 0.3
+// @version 0.4
// @description 在夸克网盘分享页面添加推送到 QAS 的按钮
// @icon https://pan.quark.cn/favicon.ico
// @author Cp0204
@@ -11,41 +11,53 @@
// @grant GM_setValue
// @grant GM_xmlhttpRequest
// @require https://cdn.jsdelivr.net/npm/sweetalert2@11
-// @downloadURL https://update.greasyfork.org/scripts/533201/QAS%E4%B8%80%E9%94%AE%E6%8E%A8%E9%80%81%E5%8A%A9%E6%89%8B.user.js
-// @updateURL https://update.greasyfork.org/scripts/533201/QAS%E4%B8%80%E9%94%AE%E6%8E%A8%E9%80%81%E5%8A%A9%E6%89%8B.meta.js
+// @downloadURL https://cdn.jsdelivr.net/gh/Cp0204/quark-auto-save@refs/heads/main/app/static/js/qas.addtask.user.js
+// @updateURL https://cdn.jsdelivr.net/gh/Cp0204/quark-auto-save@refs/heads/main/app/static/js/qas.addtask.user.js
// ==/UserScript==
-(function() {
+(function () {
'use strict';
let qas_base = GM_getValue('qas_base', '');
let qas_token = GM_getValue('qas_token', '');
+ let default_pattern = GM_getValue('default_pattern', '');
+ let default_replace = GM_getValue('default_replace', '');
// QAS 设置弹窗函数
function showQASSettingDialog(callback) {
Swal.fire({
title: 'QAS 设置',
+ showCancelButton: true,
html: `
-
-
+
+
+
+
+
`,
focusConfirm: false,
preConfirm: () => {
qas_base = document.getElementById('qas_base').value;
qas_token = document.getElementById('qas_token').value;
+ default_pattern = document.getElementById('default_pattern').value;
+ default_replace = document.getElementById('default_replace').value;
if (!qas_base || !qas_token) {
- Swal.showValidationMessage('请填写 QAS 服务器和 Token');
+ Swal.showValidationMessage('请填写 QAS 地址和 Token');
}
- return { qas_base: qas_base, qas_token: qas_token }
+ return { qas_base: qas_base, qas_token: qas_token, default_pattern: default_pattern, default_replace: default_replace }
}
}).then((result) => {
if (result.isConfirmed) {
GM_setValue('qas_base', result.value.qas_base);
GM_setValue('qas_token', result.value.qas_token);
+ GM_setValue('default_pattern', result.value.default_pattern);
+ GM_setValue('default_replace', result.value.default_replace);
qas_base = result.value.qas_base;
qas_token = result.value.qas_token;
+ default_pattern = result.value.default_pattern;
+ default_replace = result.value.default_replace;
if (callback) {
callback(); // 执行回调函数
}
@@ -93,18 +105,18 @@
qasButton.type = 'button';
qasButton.className = 'ant-btn share-save';
qasButton.style.marginLeft = '10px';
- qasButton.innerHTML = '推送到QAS';
+ qasButton.innerHTML = '创建QAS任务';
let taskname, shareurl, savepath; // 声明变量
// 获取数据函数
function getData() {
const currentUrl = window.location.href;
- taskname = currentUrl.lastIndexOf('-') > 0 ? decodeURIComponent(currentUrl.match(/.*\/[^-]+-(.+)$/)[1]) : document.querySelector('.author-name').textContent;
+ taskname = currentUrl.lastIndexOf('-') > 0 ? decodeURIComponent(currentUrl.match(/.*\/[^-]+-(.+)$/)[1]).replace('*101', '-') : document.querySelector('.author-name').textContent;
shareurl = currentUrl;
- let pathElement = document.querySelector('.path-name')
+ let pathElement = document.querySelector('.path-name');
savepath = pathElement ? pathElement.title.replace('全部文件', '').trim() : "";
- savepath += "/" + taskname
+ savepath += "/" + taskname;
qasButton.title = `任务名称: ${taskname}\n分享链接: ${shareurl}\n保存路径: ${savepath}`;
}
@@ -119,11 +131,19 @@
qasButton.addEventListener('click', () => {
getData(); // 点击时重新获取数据,确保最新
- const apiUrl = `http://${qas_base}/api/add_task?token=${qas_token}`;
+ // 检查 qas_base 是否包含 http 或 https,如果没有则添加 http://
+ let qasApiBase = qas_base;
+ if (!qasApiBase.startsWith('http')) {
+ qasApiBase = 'http://' + qasApiBase;
+ }
+ const apiUrl = `${qasApiBase}/api/add_task?token=${qas_token}`;
+
const data = {
"taskname": taskname,
"shareurl": shareurl,
"savepath": savepath,
+ "pattern": default_pattern,
+ "replace": default_replace,
};
GM_xmlhttpRequest({
@@ -133,7 +153,7 @@
'Content-Type': 'application/json'
},
data: JSON.stringify(data),
- onload: function(response) {
+ onload: function (response) {
try {
const jsonResponse = JSON.parse(response.responseText);
if (jsonResponse.success) {
@@ -142,7 +162,7 @@
html: `
任务名称: ${taskname}
保存路径: ${savepath}
- 去 QAS 查看
+ 去 QAS 查看
`,
icon: 'success'
});
@@ -161,7 +181,7 @@
});
}
},
- onerror: function(error) {
+ onerror: function (error) {
Swal.fire({
title: '任务创建失败',
text: error,