mirror of
https://github.com/venera-app/venera-configs.git
synced 2025-09-27 08:27:24 +00:00
Compare commits
4 Commits
94e3e99877
...
8bfb3fdf2e
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8bfb3fdf2e | ||
![]() |
b8a7966aa7 | ||
![]() |
215e539def | ||
![]() |
499180b6ea |
42
comick.js
42
comick.js
@@ -1,7 +1,7 @@
|
|||||||
class Comick extends ComicSource {
|
class Comick extends ComicSource {
|
||||||
name = "comick"
|
name = "comick"
|
||||||
key = "comick"
|
key = "comick"
|
||||||
version = "1.1.0"
|
version = "1.1.1"
|
||||||
minAppVersion = "1.4.0"
|
minAppVersion = "1.4.0"
|
||||||
// update url
|
// update url
|
||||||
url = "https://cdn.jsdelivr.net/gh/venera-app/venera-configs@main/comick.js"
|
url = "https://cdn.jsdelivr.net/gh/venera-app/venera-configs@main/comick.js"
|
||||||
@@ -340,6 +340,23 @@ class Comick extends ComicSource {
|
|||||||
'拉脱维亚文': 'lv'
|
'拉脱维亚文': 'lv'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static getRandomHeaders() {
|
||||||
|
const userAgents = [
|
||||||
|
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
|
||||||
|
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
|
||||||
|
"Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1",
|
||||||
|
"Mozilla/5.0 (Linux; Android 10; SM-G973F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Mobile Safari/537.36",
|
||||||
|
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
|
||||||
|
];
|
||||||
|
|
||||||
|
return {
|
||||||
|
"User-Agent": userAgents[Math.floor(Math.random() * userAgents.length)],
|
||||||
|
"Accept": "application/json, text/plain, */*",
|
||||||
|
"Accept-Language": "en-US,en;q=0.9",
|
||||||
|
"Connection": "keep-alive"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
transReformBookList(bookList, descriptionPrefix = "更新至:") {
|
transReformBookList(bookList, descriptionPrefix = "更新至:") {
|
||||||
return bookList.map(book => ({
|
return bookList.map(book => ({
|
||||||
id: `${book.relates?.slug || 'unknown'}//${book.relates?.title || '未知标题'}`,
|
id: `${book.relates?.slug || 'unknown'}//${book.relates?.title || '未知标题'}`,
|
||||||
@@ -482,12 +499,15 @@ class Comick extends ComicSource {
|
|||||||
buildId: null,
|
buildId: null,
|
||||||
|
|
||||||
loadInfo: async (id) => {
|
loadInfo: async (id) => {
|
||||||
|
let headers = Comick.getRandomHeaders();
|
||||||
|
|
||||||
|
|
||||||
const [cId, cTitle] = id.split("//");
|
const [cId, cTitle] = id.split("//");
|
||||||
if (!cId) {
|
if (!cId) {
|
||||||
throw "ID error: ";
|
throw "ID error: ";
|
||||||
}
|
}
|
||||||
|
|
||||||
let res = await Network.get(`${this.baseUrl}/comic/${cId}`)
|
let res = await Network.get(`${this.baseUrl}/comic/${cId}`, { headers });
|
||||||
if (res.status !== 200) {
|
if (res.status !== 200) {
|
||||||
throw "Invalid status code: " + res.status
|
throw "Invalid status code: " + res.status
|
||||||
}
|
}
|
||||||
@@ -518,7 +538,13 @@ class Comick extends ComicSource {
|
|||||||
const result = {};
|
const result = {};
|
||||||
let updateTime = "";
|
let updateTime = "";
|
||||||
let i = 1;
|
let i = 1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for (const lang of langs) {
|
for (const lang of langs) {
|
||||||
|
// 随机生成请求头
|
||||||
|
let headers = Comick.getRandomHeaders();
|
||||||
|
|
||||||
let first = langMap[lang];
|
let first = langMap[lang];
|
||||||
if (first.vol == null && first.chap == null) {
|
if (first.vol == null && first.chap == null) {
|
||||||
const chapters = new Map();
|
const chapters = new Map();
|
||||||
@@ -533,9 +559,17 @@ class Comick extends ComicSource {
|
|||||||
(first.chap != null
|
(first.chap != null
|
||||||
? `-chapter-${first.chap}`
|
? `-chapter-${first.chap}`
|
||||||
: `-volume-${first.vol}`) +
|
: `-volume-${first.vol}`) +
|
||||||
`-${lang}.json`;
|
`-${lang}.json?slug=${id}&` +
|
||||||
|
(first.chap != null
|
||||||
|
? `chapter=${first.hid || 'unknown'}`
|
||||||
|
: `volume=${first.hid || 'unknown'}`)
|
||||||
|
+
|
||||||
|
(first.chap != null
|
||||||
|
? `-chapter-${first.chap}`
|
||||||
|
: `-volume-${first.vol}`) + `-${lang}`
|
||||||
|
;
|
||||||
|
|
||||||
const res = await Network.get(url);
|
const res = await Network.get(url, { headers });
|
||||||
if (res.status !== 200) {
|
if (res.status !== 200) {
|
||||||
throw `Invalid status code: ${res.status}`;
|
throw `Invalid status code: ${res.status}`;
|
||||||
}
|
}
|
||||||
|
32
hitomi.js
32
hitomi.js
@@ -995,9 +995,9 @@ class Hitomi extends ComicSource {
|
|||||||
// unique id of the source
|
// unique id of the source
|
||||||
key = "hitomi";
|
key = "hitomi";
|
||||||
|
|
||||||
version = "1.0.0";
|
version = "1.1.0";
|
||||||
|
|
||||||
minAppVersion = "1.4.0";
|
minAppVersion = "1.4.6";
|
||||||
|
|
||||||
// update url
|
// update url
|
||||||
url = "https://git.nyne.dev/nyne/venera-configs/raw/branch/main/hitomi.js";
|
url = "https://git.nyne.dev/nyne/venera-configs/raw/branch/main/hitomi.js";
|
||||||
@@ -1482,6 +1482,34 @@ class Hitomi extends ComicSource {
|
|||||||
|
|
||||||
// enable tags suggestions
|
// enable tags suggestions
|
||||||
enableTagsSuggestions: true,
|
enableTagsSuggestions: true,
|
||||||
|
onTagSuggestionSelected: (namespace, tag) => {
|
||||||
|
let fixedNamespace = undefined;
|
||||||
|
switch (namespace) {
|
||||||
|
case "reclass":
|
||||||
|
fixedNamespace = "type";
|
||||||
|
break;
|
||||||
|
case "parody":
|
||||||
|
fixedNamespace = "series";
|
||||||
|
break;
|
||||||
|
case "other":
|
||||||
|
fixedNamespace = "tag";
|
||||||
|
break;
|
||||||
|
case "mixed":
|
||||||
|
fixedNamespace = "tag";
|
||||||
|
break;
|
||||||
|
case "temp":
|
||||||
|
fixedNamespace = "tag";
|
||||||
|
break;
|
||||||
|
case "cosplayer":
|
||||||
|
fixedNamespace = "tag";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
fixedNamespace = namespace;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// return the text to insert into search box
|
||||||
|
return `${fixedNamespace}:${tag.replaceAll(" ", "_")}`;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/// single comic related
|
/// single comic related
|
||||||
|
@@ -64,21 +64,21 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "少年ジャンプ+",
|
"name": "少年ジャンプ+",
|
||||||
"fileName": "shonenjumpplus.js",
|
"fileName": "shonen_jump_plus.js",
|
||||||
"key": "shonen_jump_plus",
|
"key": "shonen_jump_plus",
|
||||||
"version": "1.0.1"
|
"version": "1.0.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "hitomi.la",
|
"name": "hitomi.la",
|
||||||
"fileName": "hitomi.js",
|
"fileName": "hitomi.js",
|
||||||
"key": "hitomi",
|
"key": "hitomi",
|
||||||
"version": "1.0.0"
|
"version": "1.1.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "comick",
|
"name": "comick",
|
||||||
"fileName": "comick.js",
|
"fileName": "comick.js",
|
||||||
"key": "comick",
|
"key": "comick",
|
||||||
"version": "1.1.0"
|
"version": "1.1.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "优酷漫画",
|
"name": "优酷漫画",
|
||||||
|
56
picacg.js
56
picacg.js
@@ -3,13 +3,13 @@ class Picacg extends ComicSource {
|
|||||||
|
|
||||||
key = "picacg"
|
key = "picacg"
|
||||||
|
|
||||||
version = "1.0.3"
|
version = "1.0.4"
|
||||||
|
|
||||||
minAppVersion = "1.0.0"
|
minAppVersion = "1.0.0"
|
||||||
|
|
||||||
url = "https://git.nyne.dev/nyne/venera-configs/raw/branch/main/picacg.js"
|
url = "https://git.nyne.dev/nyne/venera-configs/raw/branch/main/picacg.js"
|
||||||
|
|
||||||
api = "https://picaapi.picacomic.com"
|
static defaultApiUrl = "https://picaapi.picacomic.com"
|
||||||
|
|
||||||
apiKey = "C69BAF41DA5ABD1FFEDC6D2FEA56B";
|
apiKey = "C69BAF41DA5ABD1FFEDC6D2FEA56B";
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ class Picacg extends ComicSource {
|
|||||||
},
|
},
|
||||||
login: async (account, pwd) => {
|
login: async (account, pwd) => {
|
||||||
let res = await Network.post(
|
let res = await Network.post(
|
||||||
`${this.api}/auth/sign-in`,
|
`${this.loadSetting('base_url')}/auth/sign-in`,
|
||||||
this.buildHeaders('POST', 'auth/sign-in'),
|
this.buildHeaders('POST', 'auth/sign-in'),
|
||||||
{
|
{
|
||||||
email: account,
|
email: account,
|
||||||
@@ -111,13 +111,13 @@ class Picacg extends ComicSource {
|
|||||||
throw 'Not logged in'
|
throw 'Not logged in'
|
||||||
}
|
}
|
||||||
let res = await Network.get(
|
let res = await Network.get(
|
||||||
`${this.api}/comics/random`,
|
`${this.loadSetting('base_url')}/comics/random`,
|
||||||
this.buildHeaders('GET', 'comics/random', this.loadData('token'))
|
this.buildHeaders('GET', 'comics/random', this.loadData('token'))
|
||||||
)
|
)
|
||||||
if(res.status === 401) {
|
if(res.status === 401) {
|
||||||
await this.account.reLogin()
|
await this.account.reLogin()
|
||||||
res = await Network.get(
|
res = await Network.get(
|
||||||
`${this.api}/comics/random`,
|
`${this.loadSetting('base_url')}/comics/random`,
|
||||||
this.buildHeaders('GET', 'comics/random', this.loadData('token'))
|
this.buildHeaders('GET', 'comics/random', this.loadData('token'))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -142,13 +142,13 @@ class Picacg extends ComicSource {
|
|||||||
throw 'Not logged in'
|
throw 'Not logged in'
|
||||||
}
|
}
|
||||||
let res = await Network.get(
|
let res = await Network.get(
|
||||||
`${this.api}/comics?page=${page}&s=dd`,
|
`${this.loadSetting('base_url')}/comics?page=${page}&s=dd`,
|
||||||
this.buildHeaders('GET', `comics?page=${page}&s=dd`, this.loadData('token'))
|
this.buildHeaders('GET', `comics?page=${page}&s=dd`, this.loadData('token'))
|
||||||
)
|
)
|
||||||
if(res.status === 401) {
|
if(res.status === 401) {
|
||||||
await this.account.reLogin()
|
await this.account.reLogin()
|
||||||
res = await Network.get(
|
res = await Network.get(
|
||||||
`${this.api}/comics?page=${page}&s=dd`,
|
`${this.loadSetting('base_url')}/comics?page=${page}&s=dd`,
|
||||||
this.buildHeaders('GET', `comics?page=${page}&s=dd`, this.loadData('token'))
|
this.buildHeaders('GET', `comics?page=${page}&s=dd`, this.loadData('token'))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -229,13 +229,13 @@ class Picacg extends ComicSource {
|
|||||||
load: async (category, param, options, page) => {
|
load: async (category, param, options, page) => {
|
||||||
let type = param ?? 'c'
|
let type = param ?? 'c'
|
||||||
let res = await Network.get(
|
let res = await Network.get(
|
||||||
`${this.api}/comics?page=${page}&${type}=${encodeURIComponent(category)}&s=${options[0]}`,
|
`${this.loadSetting('base_url')}/comics?page=${page}&${type}=${encodeURIComponent(category)}&s=${options[0]}`,
|
||||||
this.buildHeaders('GET', `comics?page=${page}&${type}=${encodeURIComponent(category)}&s=${options[0]}`, this.loadData('token'))
|
this.buildHeaders('GET', `comics?page=${page}&${type}=${encodeURIComponent(category)}&s=${options[0]}`, this.loadData('token'))
|
||||||
)
|
)
|
||||||
if(res.status === 401) {
|
if(res.status === 401) {
|
||||||
await this.account.reLogin()
|
await this.account.reLogin()
|
||||||
res = await Network.get(
|
res = await Network.get(
|
||||||
`${this.api}/comics?page=${page}&${type}=${encodeURIComponent(category)}&s=${options[0]}`,
|
`${this.loadSetting('base_url')}/comics?page=${page}&${type}=${encodeURIComponent(category)}&s=${options[0]}`,
|
||||||
this.buildHeaders('GET', `comics?page=${page}&${type}=${encodeURIComponent(category)}&s=${options[0]}`, this.loadData('token'))
|
this.buildHeaders('GET', `comics?page=${page}&${type}=${encodeURIComponent(category)}&s=${options[0]}`, this.loadData('token'))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -271,13 +271,13 @@ class Picacg extends ComicSource {
|
|||||||
],
|
],
|
||||||
load: async (option, page) => {
|
load: async (option, page) => {
|
||||||
let res = await Network.get(
|
let res = await Network.get(
|
||||||
`${this.api}/comics/leaderboard?tt=${option}&ct=VC`,
|
`${this.loadSetting('base_url')}/comics/leaderboard?tt=${option}&ct=VC`,
|
||||||
this.buildHeaders('GET', `comics/leaderboard?tt=${option}&ct=VC`, this.loadData('token'))
|
this.buildHeaders('GET', `comics/leaderboard?tt=${option}&ct=VC`, this.loadData('token'))
|
||||||
)
|
)
|
||||||
if(res.status === 401) {
|
if(res.status === 401) {
|
||||||
await this.account.reLogin()
|
await this.account.reLogin()
|
||||||
res = await Network.get(
|
res = await Network.get(
|
||||||
`${this.api}/comics/leaderboard?tt=${option}&ct=VC`,
|
`${this.loadSetting('base_url')}/comics/leaderboard?tt=${option}&ct=VC`,
|
||||||
this.buildHeaders('GET', `comics/leaderboard?tt=${option}&ct=VC`, this.loadData('token'))
|
this.buildHeaders('GET', `comics/leaderboard?tt=${option}&ct=VC`, this.loadData('token'))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -301,7 +301,7 @@ class Picacg extends ComicSource {
|
|||||||
search = {
|
search = {
|
||||||
load: async (keyword, options, page) => {
|
load: async (keyword, options, page) => {
|
||||||
let res = await Network.post(
|
let res = await Network.post(
|
||||||
`${this.api}/comics/advanced-search?page=${page}`,
|
`${this.loadSetting('base_url')}/comics/advanced-search?page=${page}`,
|
||||||
this.buildHeaders('POST', `comics/advanced-search?page=${page}`, this.loadData('token')),
|
this.buildHeaders('POST', `comics/advanced-search?page=${page}`, this.loadData('token')),
|
||||||
JSON.stringify({
|
JSON.stringify({
|
||||||
keyword: keyword,
|
keyword: keyword,
|
||||||
@@ -311,7 +311,7 @@ class Picacg extends ComicSource {
|
|||||||
if(res.status === 401) {
|
if(res.status === 401) {
|
||||||
await this.account.reLogin()
|
await this.account.reLogin()
|
||||||
res = await Network.post(
|
res = await Network.post(
|
||||||
`${this.api}/comics/advanced-search?page=${page}`,
|
`${this.loadSetting('base_url')}/comics/advanced-search?page=${page}`,
|
||||||
this.buildHeaders('POST', `comics/advanced-search?page=${page}`, this.loadData('token')),
|
this.buildHeaders('POST', `comics/advanced-search?page=${page}`, this.loadData('token')),
|
||||||
JSON.stringify({
|
JSON.stringify({
|
||||||
keyword: keyword,
|
keyword: keyword,
|
||||||
@@ -351,7 +351,7 @@ class Picacg extends ComicSource {
|
|||||||
/// 添加或者删除收藏
|
/// 添加或者删除收藏
|
||||||
addOrDelFavorite: async (comicId, folderId, isAdding) => {
|
addOrDelFavorite: async (comicId, folderId, isAdding) => {
|
||||||
let res = await Network.post(
|
let res = await Network.post(
|
||||||
`${this.api}/comics/${comicId}/favourite`,
|
`${this.loadSetting('base_url')}/comics/${comicId}/favourite`,
|
||||||
this.buildHeaders('POST', `comics/${comicId}/favourite`, this.loadData('token')),
|
this.buildHeaders('POST', `comics/${comicId}/favourite`, this.loadData('token')),
|
||||||
'{}'
|
'{}'
|
||||||
)
|
)
|
||||||
@@ -367,7 +367,7 @@ class Picacg extends ComicSource {
|
|||||||
loadComics: async (page, folder) => {
|
loadComics: async (page, folder) => {
|
||||||
let sort = this.loadSetting('favoriteSort')
|
let sort = this.loadSetting('favoriteSort')
|
||||||
let res = await Network.get(
|
let res = await Network.get(
|
||||||
`${this.api}/users/favourite?page=${page}&s=${sort}`,
|
`${this.loadSetting('base_url')}/users/favourite?page=${page}&s=${sort}`,
|
||||||
this.buildHeaders('GET', `users/favourite?page=${page}&s=${sort}`, this.loadData('token'))
|
this.buildHeaders('GET', `users/favourite?page=${page}&s=${sort}`, this.loadData('token'))
|
||||||
)
|
)
|
||||||
if(res.status === 401) {
|
if(res.status === 401) {
|
||||||
@@ -394,7 +394,7 @@ class Picacg extends ComicSource {
|
|||||||
loadInfo: async (id) => {
|
loadInfo: async (id) => {
|
||||||
let infoLoader = async () => {
|
let infoLoader = async () => {
|
||||||
let res = await Network.get(
|
let res = await Network.get(
|
||||||
`${this.api}/comics/${id}`,
|
`${this.loadSetting('base_url')}/comics/${id}`,
|
||||||
this.buildHeaders('GET', `comics/${id}`, this.loadData('token'))
|
this.buildHeaders('GET', `comics/${id}`, this.loadData('token'))
|
||||||
)
|
)
|
||||||
if (res.status !== 200) {
|
if (res.status !== 200) {
|
||||||
@@ -410,7 +410,7 @@ class Picacg extends ComicSource {
|
|||||||
let allEps = [];
|
let allEps = [];
|
||||||
while (true) {
|
while (true) {
|
||||||
let res = await Network.get(
|
let res = await Network.get(
|
||||||
`${this.api}/comics/${id}/eps?page=${i}`,
|
`${this.loadSetting('base_url')}/comics/${id}/eps?page=${i}`,
|
||||||
this.buildHeaders('GET', `comics/${id}/eps?page=${i}`, this.loadData('token'))
|
this.buildHeaders('GET', `comics/${id}/eps?page=${i}`, this.loadData('token'))
|
||||||
);
|
);
|
||||||
if (res.status !== 200) {
|
if (res.status !== 200) {
|
||||||
@@ -432,7 +432,7 @@ class Picacg extends ComicSource {
|
|||||||
}
|
}
|
||||||
let relatedLoader = async () => {
|
let relatedLoader = async () => {
|
||||||
let res = await Network.get(
|
let res = await Network.get(
|
||||||
`${this.api}/comics/${id}/recommendation`,
|
`${this.loadSetting('base_url')}/comics/${id}/recommendation`,
|
||||||
this.buildHeaders('GET', `comics/${id}/recommendation`, this.loadData('token'))
|
this.buildHeaders('GET', `comics/${id}/recommendation`, this.loadData('token'))
|
||||||
)
|
)
|
||||||
if (res.status !== 200) {
|
if (res.status !== 200) {
|
||||||
@@ -491,7 +491,7 @@ class Picacg extends ComicSource {
|
|||||||
let i = 1
|
let i = 1
|
||||||
while(true) {
|
while(true) {
|
||||||
let res = await Network.get(
|
let res = await Network.get(
|
||||||
`${this.api}/comics/${comicId}/order/${epId}/pages?page=${i}`,
|
`${this.loadSetting('base_url')}/comics/${comicId}/order/${epId}/pages?page=${i}`,
|
||||||
this.buildHeaders('GET', `comics/${comicId}/order/${epId}/pages?page=${i}`, this.loadData('token'))
|
this.buildHeaders('GET', `comics/${comicId}/order/${epId}/pages?page=${i}`, this.loadData('token'))
|
||||||
)
|
)
|
||||||
if (res.status !== 200) {
|
if (res.status !== 200) {
|
||||||
@@ -512,7 +512,7 @@ class Picacg extends ComicSource {
|
|||||||
},
|
},
|
||||||
likeComic: async (id, isLike) => {
|
likeComic: async (id, isLike) => {
|
||||||
var res = await Network.post(
|
var res = await Network.post(
|
||||||
`${this.api}/comics/${id}/like`,
|
`${this.loadSetting('base_url')}/comics/${id}/like`,
|
||||||
this.buildHeaders('POST', `comics/${id}/like`, this.loadData('token')),
|
this.buildHeaders('POST', `comics/${id}/like`, this.loadData('token')),
|
||||||
{}
|
{}
|
||||||
);
|
);
|
||||||
@@ -541,7 +541,7 @@ class Picacg extends ComicSource {
|
|||||||
|
|
||||||
if(replyTo) {
|
if(replyTo) {
|
||||||
let res = await Network.get(
|
let res = await Network.get(
|
||||||
`${this.api}/comments/${replyTo}/childrens?page=${page}`,
|
`${this.loadSetting('base_url')}/comments/${replyTo}/childrens?page=${page}`,
|
||||||
this.buildHeaders('GET', `comments/${replyTo}/childrens?page=${page}`, this.loadData('token'))
|
this.buildHeaders('GET', `comments/${replyTo}/childrens?page=${page}`, this.loadData('token'))
|
||||||
)
|
)
|
||||||
if (res.status !== 200) {
|
if (res.status !== 200) {
|
||||||
@@ -554,7 +554,7 @@ class Picacg extends ComicSource {
|
|||||||
maxPage = data.data.comments.pages
|
maxPage = data.data.comments.pages
|
||||||
} else {
|
} else {
|
||||||
let res = await Network.get(
|
let res = await Network.get(
|
||||||
`${this.api}/comics/${comicId}/comments?page=${page}`,
|
`${this.loadSetting('base_url')}/comics/${comicId}/comments?page=${page}`,
|
||||||
this.buildHeaders('GET', `comics/${comicId}/comments?page=${page}`, this.loadData('token'))
|
this.buildHeaders('GET', `comics/${comicId}/comments?page=${page}`, this.loadData('token'))
|
||||||
)
|
)
|
||||||
if (res.status !== 200) {
|
if (res.status !== 200) {
|
||||||
@@ -575,7 +575,7 @@ class Picacg extends ComicSource {
|
|||||||
sendComment: async (comicId, subId, content, replyTo) => {
|
sendComment: async (comicId, subId, content, replyTo) => {
|
||||||
if(replyTo) {
|
if(replyTo) {
|
||||||
let res = await Network.post(
|
let res = await Network.post(
|
||||||
`${this.api}/comments/${replyTo}`,
|
`${this.loadSetting('base_url')}/comments/${replyTo}`,
|
||||||
this.buildHeaders('POST', `/comments/${replyTo}`, this.loadData('token')),
|
this.buildHeaders('POST', `/comments/${replyTo}`, this.loadData('token')),
|
||||||
JSON.stringify({
|
JSON.stringify({
|
||||||
content: content
|
content: content
|
||||||
@@ -586,7 +586,7 @@ class Picacg extends ComicSource {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let res = await Network.post(
|
let res = await Network.post(
|
||||||
`${this.api}/comics/${comicId}/comments`,
|
`${this.loadSetting('base_url')}/comics/${comicId}/comments`,
|
||||||
this.buildHeaders('POST', `/comics/${comicId}/comments`, this.loadData('token')),
|
this.buildHeaders('POST', `/comics/${comicId}/comments`, this.loadData('token')),
|
||||||
JSON.stringify({
|
JSON.stringify({
|
||||||
content: content
|
content: content
|
||||||
@@ -600,7 +600,7 @@ class Picacg extends ComicSource {
|
|||||||
},
|
},
|
||||||
likeComment: async (comicId, subId, commentId, isLike) => {
|
likeComment: async (comicId, subId, commentId, isLike) => {
|
||||||
let res = await Network.post(
|
let res = await Network.post(
|
||||||
`${this.api}/comments/${commentId}/like`,
|
`${this.loadSetting('base_url')}/comments/${commentId}/like`,
|
||||||
this.buildHeaders('POST', `/comments/${commentId}/like`, this.loadData('token')),
|
this.buildHeaders('POST', `/comments/${commentId}/like`, this.loadData('token')),
|
||||||
'{}'
|
'{}'
|
||||||
)
|
)
|
||||||
@@ -632,6 +632,12 @@ class Picacg extends ComicSource {
|
|||||||
}
|
}
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
|
base_url: {
|
||||||
|
title: "API地址(地址末尾不要添加斜杠)",
|
||||||
|
type: "input",
|
||||||
|
validator: null,
|
||||||
|
default: Picacg.defaultApiUrl,
|
||||||
|
},
|
||||||
'imageQuality': {
|
'imageQuality': {
|
||||||
type: 'select',
|
type: 'select',
|
||||||
title: 'Image quality',
|
title: 'Image quality',
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
class ShonenJumpPlus extends ComicSource {
|
class ShonenJumpPlus extends ComicSource {
|
||||||
name = "少年ジャンプ+";
|
name = "少年ジャンプ+";
|
||||||
key = "shonen_jump_plus";
|
key = "shonen_jump_plus";
|
||||||
version = "1.0.1";
|
version = "1.0.2";
|
||||||
minAppVersion = "1.2.1";
|
minAppVersion = "1.2.1";
|
||||||
url =
|
url =
|
||||||
"https://git.nyne.dev/nyne/venera-configs/raw/branch/main/shonen_jump_plus.js";
|
"https://git.nyne.dev/nyne/venera-configs/raw/branch/main/shonen_jump_plus.js";
|
||||||
@@ -16,7 +16,7 @@ class ShonenJumpPlus extends ComicSource {
|
|||||||
"Origin": "https://shonenjumpplus.com",
|
"Origin": "https://shonenjumpplus.com",
|
||||||
"Referer": "https://shonenjumpplus.com/",
|
"Referer": "https://shonenjumpplus.com/",
|
||||||
"X-Giga-Device-Id": this.deviceId,
|
"X-Giga-Device-Id": this.deviceId,
|
||||||
"User-Agent": "ShonenJumpPlus-Android/4.0.19",
|
"User-Agent": "ShonenJumpPlus-Android/4.0.21",
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -368,7 +368,7 @@ const GraphQLQueries = {
|
|||||||
"SeriesDetailEpisodeList":
|
"SeriesDetailEpisodeList":
|
||||||
`query SeriesDetailEpisodeList($id: String!, $episodeOffset: Int, $episodeFirst: Int, $episodeSort: ReadableProductSorting) {
|
`query SeriesDetailEpisodeList($id: String!, $episodeOffset: Int, $episodeFirst: Int, $episodeSort: ReadableProductSorting) {
|
||||||
series(databaseId: $id) {
|
series(databaseId: $id) {
|
||||||
episodes: readableProducts(types: [EPISODE,SPECIAL_CONTENT], first: $episodeFirst, offset: $episodeOffset, sort: $episodeSort) {
|
episodes: readableProducts(types: [EPISODE], first: $episodeFirst, offset: $episodeOffset, sort: $episodeSort) {
|
||||||
edges { node { databaseId title } }
|
edges { node { databaseId title } }
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user