mirror of
https://github.com/kodjodevf/mangayomi-extensions.git
synced 2026-02-14 10:51:17 +00:00
anime(Animeonsen): Added search
This commit is contained in:
@@ -6,7 +6,7 @@ const mangayomiSources = [{
|
|||||||
"iconUrl": "https://www.google.com/s2/favicons?sz=256&domain=https://www.animeonsen.xyz",
|
"iconUrl": "https://www.google.com/s2/favicons?sz=256&domain=https://www.animeonsen.xyz",
|
||||||
"typeSource": "single",
|
"typeSource": "single",
|
||||||
"itemType": 1,
|
"itemType": 1,
|
||||||
"version": "0.0.1",
|
"version": "0.0.2",
|
||||||
"pkgPath": "anime/src/all/animeonsen.js"
|
"pkgPath": "anime/src/all/animeonsen.js"
|
||||||
}];
|
}];
|
||||||
|
|
||||||
@@ -53,15 +53,35 @@ class DefaultExtension extends MProvider {
|
|||||||
brToken = await this.getToken()
|
brToken = await this.getToken()
|
||||||
}
|
}
|
||||||
|
|
||||||
return { Authorization: `Bearer ${brToken}` }
|
return {
|
||||||
|
'Authorization': `Bearer ${brToken}`,
|
||||||
|
'content-type': "application/json"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async request(slug, body = {}) {
|
async request(slug, body = {}) {
|
||||||
var api = `${this.source.apiUrl}${slug}`
|
|
||||||
var headers = await this.getHeaders(api)
|
var headers = await this.getHeaders(slug)
|
||||||
var res = await this.client.get(api, headers, body)
|
|
||||||
|
if (slug.endsWith("/search")) {
|
||||||
|
|
||||||
|
var api = `https://search.animeonsen.xyz${slug}`
|
||||||
|
var res = await this.client.post(api, headers, body)
|
||||||
return JSON.parse(res.body)
|
return JSON.parse(res.body)
|
||||||
}
|
}
|
||||||
|
var api = `${this.source.apiUrl}${slug}`
|
||||||
|
var res = await this.client.get(api, headers)
|
||||||
|
return JSON.parse(res.body)
|
||||||
|
}
|
||||||
|
|
||||||
|
animeContent(anime, pref_name, imgRes) {
|
||||||
|
var name_eng = anime.content_title_en
|
||||||
|
var name_jp = anime.content_title
|
||||||
|
var name = pref_name == "jpn" ? name_jp : name_eng;
|
||||||
|
var link = anime.content_id
|
||||||
|
var imageUrl = `${this.source.apiUrl}/v4/image/${imgRes}/${link}`
|
||||||
|
return { name, imageUrl, link };
|
||||||
|
}
|
||||||
|
|
||||||
async getHome(page) {
|
async getHome(page) {
|
||||||
var limit = 20
|
var limit = 20
|
||||||
@@ -76,12 +96,7 @@ class DefaultExtension extends MProvider {
|
|||||||
var hasNextPage = res.cursor.next[0]
|
var hasNextPage = res.cursor.next[0]
|
||||||
var list = []
|
var list = []
|
||||||
for (var anime of res.content) {
|
for (var anime of res.content) {
|
||||||
var name_eng = anime.content_title_en
|
list.push(this.animeContent(anime, pref_name, imgRes));
|
||||||
var name_jp = anime.content_title
|
|
||||||
var name = pref_name == "jpn" ? name_jp : name_eng;
|
|
||||||
var link = anime.content_id
|
|
||||||
var imageUrl = `${this.source.apiUrl}/v4/image/${imgRes}/${link}`
|
|
||||||
list.push({ name, imageUrl, link });
|
|
||||||
}
|
}
|
||||||
return { list, hasNextPage }
|
return { list, hasNextPage }
|
||||||
}
|
}
|
||||||
@@ -96,7 +111,32 @@ class DefaultExtension extends MProvider {
|
|||||||
return await this.getHome(page)
|
return await this.getHome(page)
|
||||||
}
|
}
|
||||||
async search(query, page, filters) {
|
async search(query, page, filters) {
|
||||||
throw new Error("search not implemented");
|
var slug = "/indexes/content/search"
|
||||||
|
|
||||||
|
var limit = 30;
|
||||||
|
var offset = (page - 1) * limit;
|
||||||
|
var nextOffset = offset + limit;
|
||||||
|
|
||||||
|
var params = { limit, offset, q: query };
|
||||||
|
|
||||||
|
var res = await this.request(slug, params);
|
||||||
|
|
||||||
|
var estimatedTotalHits = res.estimatedTotalHits
|
||||||
|
var hasNextPage = estimatedTotalHits > nextOffset;
|
||||||
|
|
||||||
|
var list = []
|
||||||
|
var hits = res.hits
|
||||||
|
var pref_name = this.getPreference("animeonsen__pref_title_lang")
|
||||||
|
var imgRes = this.getPreference("animeonsen__pref_img_res")
|
||||||
|
if (hits.length > 0) {
|
||||||
|
for (var anime of hits) {
|
||||||
|
list.push(this.animeContent(anime, pref_name, imgRes));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return { list, hasNextPage }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
async getDetail(url) {
|
async getDetail(url) {
|
||||||
throw new Error("getDetail not implemented");
|
throw new Error("getDetail not implemented");
|
||||||
|
|||||||
Reference in New Issue
Block a user