mirror of
https://github.com/kodjodevf/mangayomi-extensions.git
synced 2026-02-14 19:01:15 +00:00
add UC support
This commit is contained in:
@@ -13,7 +13,6 @@ const mangayomiSources = [{
|
|||||||
"pkgPath": "anime/src/zh/wogg.js"
|
"pkgPath": "anime/src/zh/wogg.js"
|
||||||
}];
|
}];
|
||||||
class DefaultExtension extends MProvider {
|
class DefaultExtension extends MProvider {
|
||||||
patternAli = /(https:\/\/www\.aliyundrive\.com\/s\/[^"]+|https:\/\/www\.alipan\.com\/s\/[^"]+)/;
|
|
||||||
patternQuark = /(https:\/\/pan\.quark\.cn\/s\/[^"]+)/;
|
patternQuark = /(https:\/\/pan\.quark\.cn\/s\/[^"]+)/;
|
||||||
patternUc = /(https:\/\/drive\.uc\.cn\/s\/[^"]+)/;
|
patternUc = /(https:\/\/drive\.uc\.cn\/s\/[^"]+)/;
|
||||||
getHeaders(url) {
|
getHeaders(url) {
|
||||||
@@ -101,18 +100,25 @@ class DefaultExtension extends MProvider {
|
|||||||
const name = document.selectFirst("div.video-info .video-info-header h1").text;
|
const name = document.selectFirst("div.video-info .video-info-header h1").text;
|
||||||
const description = document.selectFirst("div.video-info .video-info-content").text.replace("[收起部分]", "").replace("[展开全部]", "");
|
const description = document.selectFirst("div.video-info .video-info-content").text.replace("[收起部分]", "").replace("[展开全部]", "");
|
||||||
const type_name = "电影";
|
const type_name = "电影";
|
||||||
const quark_share_url_list = document.select("div.module-row-one .module-row-info")
|
let quark_share_url_list = [],uc_share_url_list = []
|
||||||
|
const share_url_list = document.select("div.module-row-one .module-row-info")
|
||||||
.map(e => {
|
.map(e => {
|
||||||
const url = e.selectFirst(".module-row-title p").text;
|
const url = e.selectFirst(".module-row-title p").text;
|
||||||
const quarkMatches = url.match(this.patternQuark);
|
const quarkMatches = url.match(this.patternQuark);
|
||||||
|
|
||||||
if (quarkMatches && quarkMatches[1]) {
|
if (quarkMatches && quarkMatches[1]) {
|
||||||
return quarkMatches[1];
|
quark_share_url_list.push(quarkMatches[1]);
|
||||||
|
}
|
||||||
|
const ucMatches = url.match(this.patternUc);
|
||||||
|
if (ucMatches && ucMatches[1]) {
|
||||||
|
uc_share_url_list.push(ucMatches[1]);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
})
|
})
|
||||||
.filter(url => url !== null);
|
.filter(url => url !== null);
|
||||||
let episodes = await quarkFilesExtractor(quark_share_url_list, new SharedPreferences().get("quarkCookie"));
|
let quark_episodes = await quarkFilesExtractor(quark_share_url_list, new SharedPreferences().get("quarkCookie"));
|
||||||
|
let uc_episodes = await ucFilesExtractor(uc_share_url_list, new SharedPreferences().get("ucCookie"));
|
||||||
|
let episodes = [...quark_episodes, ...uc_episodes];
|
||||||
return {
|
return {
|
||||||
name, imageUrl, description, episodes
|
name, imageUrl, description, episodes
|
||||||
};
|
};
|
||||||
@@ -120,7 +126,18 @@ class DefaultExtension extends MProvider {
|
|||||||
// For anime episode video list
|
// For anime episode video list
|
||||||
async getVideoList(url) {
|
async getVideoList(url) {
|
||||||
const videos = [];
|
const videos = [];
|
||||||
const vids = await quarkVideosExtractor(url, new SharedPreferences().get("quarkCookie"));
|
const parts = url.split('++');
|
||||||
|
const type = parts[0].toLowerCase();
|
||||||
|
|
||||||
|
let vids;
|
||||||
|
if (type === 'quark') {
|
||||||
|
vids = await quarkVideosExtractor(url, new SharedPreferences().get("quarkCookie"));
|
||||||
|
} else if (type === 'uc') {
|
||||||
|
vids = await ucVideosExtractor(url, new SharedPreferences().get("ucCookie"));
|
||||||
|
} else {
|
||||||
|
throw new Error("不支持的链接类型");
|
||||||
|
}
|
||||||
|
|
||||||
for (const vid of vids) {
|
for (const vid of vids) {
|
||||||
videos.push(vid);
|
videos.push(vid);
|
||||||
}
|
}
|
||||||
@@ -154,6 +171,16 @@ class DefaultExtension extends MProvider {
|
|||||||
"dialogMessage": "",
|
"dialogMessage": "",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"key": "ucCookie",
|
||||||
|
"editTextPreference": {
|
||||||
|
"title": "UC云盘Cookies",
|
||||||
|
"summary": "填写获取到的UC云盘Cookies",
|
||||||
|
"value": "",
|
||||||
|
"dialogTitle": "Cookies",
|
||||||
|
"dialogMessage": "",
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"key": "url",
|
"key": "url",
|
||||||
"listPreference": {
|
"listPreference": {
|
||||||
|
|||||||
Reference in New Issue
Block a user