Skip to content

Commit

Permalink
feat: 种子列表页“拖放下载到”功能增加对非NexusPHP站点支持
Browse files Browse the repository at this point in the history
  • Loading branch information
ronggang committed Aug 16, 2019
1 parent 1decc72 commit 7b1972b
Show file tree
Hide file tree
Showing 3 changed files with 86 additions and 69 deletions.
105 changes: 37 additions & 68 deletions resource/schemas/NexusPHP/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,23 +120,21 @@ String.prototype.getQueryString = function(name, split) {
}
this.showAllContentMenus(event.originalEvent, success, error);
},
onDrop: this.isNexusPHP()
? (data, event, success, error) => {
console.log(data);
let url = this.getDroperURL(data.url);
console.log(url);
this.showContentMenusForUrl(
{
url,
title: data.title,
link: data.url
},
event.originalEvent,
success,
error
);
}
: undefined
onDrop: (data, event, success, error) => {
console.log(data);
let url = this.getDroperURL(data.url);
console.log(url);
this.showContentMenusForUrl(
{
url,
title: data.title,
link: data.url
},
event.originalEvent,
success,
error
);
}
});

// 复制下载链接
Expand Down Expand Up @@ -165,24 +163,22 @@ String.prototype.getQueryString = function(name, split) {
error();
});
},
onDrop: this.isNexusPHP()
? (data, event, success, error) => {
if (checkPasskey && !PTService.site.passkey) {
error(this.t("needPasskey"));
return;
}
let url = this.getDroperURL(data.url);
url &&
PTService.call(PTService.action.copyTextToClipboard, url)
.then(result => {
console.log("命令执行完成", result);
success();
})
.catch(() => {
error();
});
}
: undefined
onDrop: (data, event, success, error) => {
if (checkPasskey && !PTService.site.passkey) {
error(this.t("needPasskey"));
return;
}
let url = this.getDroperURL(data.url);
url &&
PTService.call(PTService.action.copyTextToClipboard, url)
.then(result => {
console.log("命令执行完成", result);
success();
})
.catch(() => {
error();
});
}
});

// 检查是否有下载管理权限
Expand Down Expand Up @@ -432,40 +428,13 @@ String.prototype.getQueryString = function(name, split) {
siteURL += "/";
}

if (PTService.site.schema == "NexusPHP") {
if (!url.getQueryString) {
PTService.showNotice({
msg:
"系统依赖函数(getQueryString)未正确加载,请尝试刷新页面或重新启用插件。"
});
return null;
}

if (url.indexOf("download.php") == -1) {
let id = url.getQueryString("id");
if (id) {
// 如果站点没有配置禁用https,则默认添加https链接
url =
siteURL +
"download.php?id=" +
id +
(PTService.site.passkey
? "&passkey=" + PTService.site.passkey
: "") +
(PTService.site.disableHttps ? "" : "&https=1");
} else {
url = "";
}
}
} else {
if (url && url.substr(0, 2) === "//") {
url = `${location.protocol}://${url}`;
} else if (url && url.substr(0, 4) !== "http") {
if (url.substr(0, 1) == "/") {
url = url.substr(1);
}
url = `${siteURL}${url}`;
if (url && url.substr(0, 2) === "//") {
url = `${location.protocol}${url}`;
} else if (url && url.substr(0, 4) !== "http") {
if (url.substr(0, 1) == "/") {
url = url.substr(1);
}
url = `${siteURL}${url}`;
}

return url;
Expand Down
38 changes: 38 additions & 0 deletions resource/schemas/NexusPHP/torrents.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,44 @@
)
);
}

/**
* 获取有效的拖放地址
* @param {*} url
*/
getDroperURL(url) {
let siteURL = PTService.site.url;
if (siteURL.substr(-1) != "/") {
siteURL += "/";
}

if (!url.getQueryString) {
PTService.showNotice({
msg:
"系统依赖函数(getQueryString)未正确加载,请尝试刷新页面或重新启用插件。"
});
return null;
}

if (url.indexOf("download.php") === -1) {
let id = url.getQueryString("id");
if (id) {
// 如果站点没有配置禁用https,则默认添加https链接
url =
siteURL +
"download.php?id=" +
id +
(PTService.site.passkey
? "&passkey=" + PTService.site.passkey
: "") +
(PTService.site.disableHttps ? "" : "&https=1");
} else {
url = "";
}
}

return url;
}
}
new App().init();
})(jQuery);
12 changes: 11 additions & 1 deletion src/content/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -771,7 +771,17 @@ class PTPContent {
if (data && data.url) {
onDrop.call(this, data, e, onSuccess, onError);
}
} catch (error) {}
} catch (error) {
// 错误时,尝试直接使用文本内容
let data = e.originalEvent.dataTransfer.getData("text/plain");
if (data) {
data = {
url: data
};

onDrop.call(this, data, e, onSuccess, onError);
}
}
});

// 离开拖放时
Expand Down

0 comments on commit 7b1972b

Please sign in to comment.