mirror of
https://github.com/Wanxp/obsidian-douban.git
synced 2026-04-10 12:38:43 +08:00
26 lines
872 B
TypeScript
26 lines
872 B
TypeScript
import { DoubanPluginSettings, doubanHeaders } from 'src/douban/Douban';
|
|
|
|
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';
|
|
|
|
export default class Searcher {
|
|
static search(searchItem:string, doubanSettings:DoubanPluginSettings):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')))
|
|
;
|
|
|
|
};
|
|
}
|