From d0ed8cf1f32939c8cb9c73fd4e4dd8dc54c1b518 Mon Sep 17 00:00:00 2001 From: wanxp <977741432@qq.com> Date: Wed, 10 Jul 2024 18:33:55 +0800 Subject: [PATCH] fix mac os search error --- manifest.json | 2 +- package.json | 2 +- .../search/searcher/AbstractSearchPageFetcher.ts | 15 +++++++++++++-- src/org/wanxp/utils/HttpUtil.ts | 11 ++++++++++- versions.json | 4 ++-- 5 files changed, 27 insertions(+), 7 deletions(-) diff --git a/manifest.json b/manifest.json index 2d4df55..5e5e693 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "obsidian-douban-plugin", "name": "Douban", - "version": "2.0.5", + "version": "2.0.6", "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", diff --git a/package.json b/package.json index 977eeff..0c00392 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "obsidian-douban-plugin", - "version": "2.0.5", + "version": "2.0.6", "description": "This is a plugin for Obsidian (https://obsidian.md) that can import data from Douban (https://www.douban.com/).", "main": "main.js", "scripts": { diff --git a/src/org/wanxp/douban/data/search/searcher/AbstractSearchPageFetcher.ts b/src/org/wanxp/douban/data/search/searcher/AbstractSearchPageFetcher.ts index bd7c2a9..cc7e5c6 100644 --- a/src/org/wanxp/douban/data/search/searcher/AbstractSearchPageFetcher.ts +++ b/src/org/wanxp/douban/data/search/searcher/AbstractSearchPageFetcher.ts @@ -5,6 +5,7 @@ import HttpUtil from "../../../../utils/HttpUtil"; import {log} from "../../../../utils/Logutil"; import {i18nHelper} from "../../../../lang/helper"; import {DoubanHttpUtil} from "../../../../utils/DoubanHttpUtil"; +import {Platform} from "obsidian"; export abstract class AbstractSearchPageFetcher implements SearchPageFetcherInterface { @@ -19,7 +20,7 @@ export abstract class AbstractSearchPageFetcher implements SearchPageFetcherInte } fetch(keyword: string, pageNum: number, pageSize: number): Promise { const start:number = (pageNum - 1) * pageSize; - const url:string = this.getUrl(keyword, start, pageSize); + const url:string = this.getSearchUrl(keyword, start, pageSize); if (!url) { return Promise.resolve(""); } @@ -28,8 +29,18 @@ export abstract class AbstractSearchPageFetcher implements SearchPageFetcherInte throw log.error(i18nHelper.getMessage('130101').replace('{0}', e.toString()), e); }); } + getSearchUrl(keyword: string, start: number, pageSize: number):string { + keyword = keyword.trim(); + if (keyword.length == 0) { + return ""; + } + if (Platform.isMacOS) { + keyword = HttpUtil.encodeUrl(keyword); + } + return this.getUrl(keyword, start, pageSize) + } + abstract getUrl(keyword: string, start: number, pageSize: number):string; - } diff --git a/src/org/wanxp/utils/HttpUtil.ts b/src/org/wanxp/utils/HttpUtil.ts index 2e2564b..41c05b7 100644 --- a/src/org/wanxp/utils/HttpUtil.ts +++ b/src/org/wanxp/utils/HttpUtil.ts @@ -99,5 +99,14 @@ export default class HttpUtil { return str; } - + /** + * 将字符进行url编码 + * @param keyword + */ + static encodeUrl(keyword: string) { + if (!keyword) { + return ''; + } + return encodeURIComponent(keyword); + } } diff --git a/versions.json b/versions.json index 03644fc..92bdbc1 100644 --- a/versions.json +++ b/versions.json @@ -50,6 +50,6 @@ "2.0.2": "0.12.0", "2.0.3": "0.12.0", "2.0.4": "0.12.0", - "2.0.5": "0.12.0" - + "2.0.5": "0.12.0", + "2.0.6": "0.12.0" }