mirror of
https://github.com/Wanxp/obsidian-douban.git
synced 2026-04-06 18:18:45 +08:00
26 lines
861 B
TypeScript
26 lines
861 B
TypeScript
|
|
import DoubanSearchResultSubject from '../model/DoubanSearchResultSubject';
|
|
import SearchParserHandler from './SearchParser';
|
|
import {log} from 'src/utils/Logutil';
|
|
import {request, RequestUrlParam} from "obsidian";
|
|
import {i18nHelper} from "../../../lang/helper";
|
|
import {load} from 'cheerio';
|
|
import {DoubanPluginSetting} from "@App/setting/model/DoubanPluginSetting";
|
|
|
|
export default class Searcher {
|
|
static search(searchItem: string, doubanSettings: DoubanPluginSetting): Promise<DoubanSearchResultSubject[]> {
|
|
let requestUrlParam: RequestUrlParam = {
|
|
url: doubanSettings.searchUrl + searchItem,
|
|
method: "GET",
|
|
headers: JSON.parse(doubanSettings.searchHeaders),
|
|
throw: true
|
|
};
|
|
return request(requestUrlParam)
|
|
.then(load)
|
|
.then(SearchParserHandler.parseSearch)
|
|
.catch(e => log.error(i18nHelper.getMessage('130101')))
|
|
;
|
|
|
|
};
|
|
}
|