From 8437aee2e1c7e5bd10eafab5e21ba0d8a9acda27 Mon Sep 17 00:00:00 2001 From: wanxuping Date: Thu, 26 Dec 2024 12:53:28 +0800 Subject: [PATCH] =?UTF-8?q?fix=20#94=20=E7=A7=BB=E5=8A=A8=E7=AB=AF?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 +++-- package-lock.json | 4 ++-- .../douban/data/handler/DoubanAbstractLoadHandler.ts | 5 +++-- src/org/wanxp/utils/ClipboardUtil.ts | 4 +++- src/org/wanxp/utils/mobile/MobileHttpUtil.ts | 8 ++++++-- tsconfig.json | 2 +- 6 files changed, 18 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 0f6c2ea..e123c24 100644 --- a/README.md +++ b/README.md @@ -38,9 +38,10 @@ - ☑️ 导入电影、电视剧、书籍、音乐、游戏、日记 - ☑️ 同步个人听过/看过的电影、电视剧、书籍、音乐 - ☑️ 导入个人的评论,评论时间,阅读状态,个人评分 -- ☑️ 支持保存封面至本地 -- ☑️ 支持保存封面至图床 +- ☑️ 支持保存封面至本地/图床 + - ⬜ 支持图床自定义 - ☑️ 支持自定义参数 +- ☑️ 支持移动端导入 ## 效果 1. 结合Timeline插件 __构建个人观影时间线__,请参照[结合timeline插件实现时间线效果](./doc/Obsidian-Douban-TimeLine.md) diff --git a/package-lock.json b/package-lock.json index 5723152..46477de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "obsidian-douban-plugin", - "version": "2.0.0", + "version": "2.0.8", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "obsidian-douban-plugin", - "version": "2.0.0", + "version": "2.0.8", "license": "MIT", "dependencies": { "@notable/html2markdown": "^1.1.3", diff --git a/src/org/wanxp/douban/data/handler/DoubanAbstractLoadHandler.ts b/src/org/wanxp/douban/data/handler/DoubanAbstractLoadHandler.ts index 0cd0e84..09ca264 100644 --- a/src/org/wanxp/douban/data/handler/DoubanAbstractLoadHandler.ts +++ b/src/org/wanxp/douban/data/handler/DoubanAbstractLoadHandler.ts @@ -1,7 +1,7 @@ import DoubanPlugin from "../../../main"; import DoubanSubject, {DoubanParameterName} from '../model/DoubanSubject'; import DoubanSubjectLoadHandler from "./DoubanSubjectLoadHandler"; -import {moment, TFile} from "obsidian"; +import {moment, Platform, TFile} from "obsidian"; import {i18nHelper} from 'src/org/wanxp/lang/helper'; import {log} from "src/org/wanxp/utils/Logutil"; import {CheerioAPI, load} from "cheerio"; @@ -535,7 +535,8 @@ export default abstract class DoubanAbstractLoadHandler } private async handleImage(image: string, folder: string, filename: string, context: HandleContext, showError: boolean, headers?: any) { - if (context.settings.pictureBedFlag) { + //只有在桌面版且开启了图片上传才会使用PicGo,并且开启图床功能 + if (context.settings.pictureBedFlag && Platform.isDesktopApp) { //临时限定只支持PicGo const checked = await context.netFileHandler.downloadDBUploadPicGoByClipboardBefore(context); if (!checked) { diff --git a/src/org/wanxp/utils/ClipboardUtil.ts b/src/org/wanxp/utils/ClipboardUtil.ts index 845e6f3..ba773bb 100644 --- a/src/org/wanxp/utils/ClipboardUtil.ts +++ b/src/org/wanxp/utils/ClipboardUtil.ts @@ -1,8 +1,10 @@ -const { clipboard, nativeImage } = require('electron'); + export class ClipboardUtil { public static async writeImage(data:ArrayBuffer, options: ClipboardOptions = defaultClipboardOptions) { + const { clipboard, nativeImage } = require('electron'); + await clipboard.writeImage(nativeImage.createFromBuffer(data)); console.log(`Copied to clipboard as HTML`); } diff --git a/src/org/wanxp/utils/mobile/MobileHttpUtil.ts b/src/org/wanxp/utils/mobile/MobileHttpUtil.ts index 780a0ce..ecf42c3 100644 --- a/src/org/wanxp/utils/mobile/MobileHttpUtil.ts +++ b/src/org/wanxp/utils/mobile/MobileHttpUtil.ts @@ -3,6 +3,7 @@ import {requestUrl, RequestUrlParam, RequestUrlResponse} from "obsidian"; import {log} from "../Logutil"; import {i18nHelper} from "../../lang/helper"; import {DoubanHttpUtil} from "../DoubanHttpUtil"; +import {request} from "https"; export default class MobileHttpUtil { /** @@ -15,11 +16,14 @@ export default class MobileHttpUtil { return this.httpRequestGetInner(url, headers, 0, settingsManager); } private static async httpRequestGetInner(url: string, headers: any, times:number, settingsManager?: SettingsManager): Promise { + + const {Cookie, ...headersInner} = headers; + let requestUrlParam: RequestUrlParam = { url: url, method: "GET", - headers: { ...headers}, - throw: true + headers: {'Cookie': Cookie}, + throw: true, }; return await requestUrl(requestUrlParam) // .then(res => res.text) diff --git a/tsconfig.json b/tsconfig.json index 1d58d7c..47c44d4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,7 +4,7 @@ "inlineSourceMap": true, "inlineSources": true, "module": "ESNext", - "target": "ES6", + "target": "ES2018", "allowJs": true, "noImplicitAny": true, "moduleResolution": "node",