fix #94 移动端加载失败

This commit is contained in:
wanxuping 2024-12-26 12:53:28 +08:00
parent 3ff2b8f4db
commit 8437aee2e1
6 changed files with 18 additions and 10 deletions

@ -38,9 +38,10 @@
- ☑️ 导入电影、电视剧、书籍、音乐、游戏、日记
- ☑️ 同步个人听过/看过的电影、电视剧、书籍、音乐
- ☑️ 导入个人的评论,评论时间,阅读状态,个人评分
- ☑️ 支持保存封面至本地
- ☑️ 支持保存封面至图床
- ☑️ 支持保存封面至本地/图床
- ⬜ 支持图床自定义
- ☑️ 支持自定义参数
- ☑️ 支持移动端导入
## 效果
1. 结合Timeline插件 __构建个人观影时间线__,请参照[结合timeline插件实现时间线效果](./doc/Obsidian-Douban-TimeLine.md)

4
package-lock.json generated

@ -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",

@ -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<T extends DoubanSubject>
}
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) {

@ -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`);
}

@ -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<RequestUrlResponse> {
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)

@ -4,7 +4,7 @@
"inlineSourceMap": true,
"inlineSources": true,
"module": "ESNext",
"target": "ES6",
"target": "ES2018",
"allowJs": true,
"noImplicitAny": true,
"moduleResolution": "node",