mirror of
https://github.com/Wanxp/obsidian-douban.git
synced 2026-04-04 16:48:44 +08:00
Fixed clicking the next page has no effect
This commit is contained in:
parent
232439b64c
commit
d98a24545e
@ -1,7 +1,7 @@
|
||||
{
|
||||
"id": "obsidian-douban-plugin",
|
||||
"name": "Douban",
|
||||
"version": "2.0.7",
|
||||
"version": "2.0.8",
|
||||
"minAppVersion": "0.12.0",
|
||||
"description": "This is a plugin that can import movies/books/musics/notes/games info data from Douban for Obsidian .",
|
||||
"author": "Wanxp",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "obsidian-douban-plugin",
|
||||
"version": "2.0.7",
|
||||
"version": "2.0.8",
|
||||
"description": "This is a plugin for Obsidian (https://obsidian.md) that can import data from Douban (https://www.douban.com/).",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
|
||||
@ -1,40 +0,0 @@
|
||||
import {RequestUrlParam, request, requestUrl} from "obsidian";
|
||||
|
||||
import {DEFAULT_SETTINGS} from "../../../constant/DefaultSettings";
|
||||
import {DoubanPluginSetting} from "../../setting/model/DoubanPluginSetting";
|
||||
import DoubanSearchResultSubject from '../model/DoubanSearchResultSubject';
|
||||
import {SearchPage} from "../model/SearchPage";
|
||||
import SearchParserHandler from './SearchParser';
|
||||
import SettingsManager from "../../setting/SettingsManager";
|
||||
import User from "../../user/User";
|
||||
import {i18nHelper} from "../../../lang/helper";
|
||||
import {load} from 'cheerio';
|
||||
import {log} from 'src/org/wanxp/utils/Logutil';
|
||||
import HttpUtil from "../../../utils/HttpUtil";
|
||||
import {SupportType} from "../../../constant/Constsant";
|
||||
import {DoubanHttpUtil} from "../../../utils/DoubanHttpUtil";
|
||||
|
||||
export default class Searcher {
|
||||
static search(searchItem: string, type:SupportType, doubanSettings: DoubanPluginSetting, settingsManager:SettingsManager): Promise<DoubanSearchResultSubject[]> {
|
||||
return DoubanHttpUtil.httpRequestGet(DEFAULT_SETTINGS.searchUrl + searchItem, settingsManager.getHeaders(), settingsManager)
|
||||
.then(load)
|
||||
.then(SearchParserHandler.parseSearch)
|
||||
.catch(e => {
|
||||
throw log.error(i18nHelper.getMessage('130101').replace('{0}', e.toString()), e);
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
static loadSearchItem(searchItem: string, type:SupportType, start:number, doubanSettings: DoubanPluginSetting, settingsManager:SettingsManager): Promise<SearchPage> {
|
||||
const url:string = `https://www.douban.com/j/search?q=${searchItem}&start=${start}&subtype=item`;
|
||||
log.debug(`请求更多页面:${url}`);
|
||||
return DoubanHttpUtil.httpRequestGet(url, settingsManager.getHeaders(), settingsManager)
|
||||
.then(e=>SearchParserHandler.parseSearchJson(e, type, start))
|
||||
.catch(e => {
|
||||
throw log.error(i18nHelper.getMessage('130101').replace('{0}', e.toString()), e);
|
||||
});
|
||||
;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
@ -38,7 +38,7 @@ export default class SearchParserHandler {
|
||||
})
|
||||
}
|
||||
|
||||
static parseSearchJson(result: string, type:SupportType, start:number): SearchPage {
|
||||
static parseSearchJson(result: string, type:SupportType, pageNum:number): SearchPage {
|
||||
log.debug("解析给多页面结果");
|
||||
const data:{total:number, limit:number, more:boolean, items:string[]} = JSON.parse(result);
|
||||
const list:string[] = data.items;
|
||||
@ -46,7 +46,7 @@ export default class SearchParserHandler {
|
||||
.map(e => load(e))
|
||||
.map(e=>this.parseSearch(e))
|
||||
.map(e => e? e[0]:null);
|
||||
return new SearchPage(data.total, start / data.limit, data.limit, type, resultList);
|
||||
return new SearchPage(data.total, pageNum, data.limit, type, resultList);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@ -19,7 +19,7 @@ export abstract class AbstractSearchPageFetcher implements SearchPageFetcherInte
|
||||
throw new Error("Method not implemented.");
|
||||
}
|
||||
fetch(keyword: string, pageNum: number, pageSize: number): Promise<string> {
|
||||
const start:number = (pageNum - 1) * pageSize;
|
||||
const start:number = Math.floor((pageNum - 1) * pageSize);
|
||||
const url:string = this.getSearchUrl(keyword, start, pageSize);
|
||||
if (!url) {
|
||||
return Promise.resolve("");
|
||||
|
||||
@ -52,5 +52,7 @@
|
||||
"2.0.4": "0.12.0",
|
||||
"2.0.5": "0.12.0",
|
||||
"2.0.6": "0.12.0",
|
||||
"2.0.7": "0.12.0"
|
||||
"2.0.7": "0.12.0",
|
||||
"2.0.8": "0.12.0"
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user