mirror of
https://github.com/Wanxp/obsidian-douban.git
synced 2026-04-04 16:48:44 +08:00
fix login and teleplay
This commit is contained in:
parent
92e30cf97d
commit
c49750b848
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"id": "obsidian-douban-plugin",
|
"id": "obsidian-douban-plugin",
|
||||||
"name": "Douban",
|
"name": "Douban",
|
||||||
"version": "1.7.6",
|
"version": "1.7.7",
|
||||||
"minAppVersion": "0.12.0",
|
"minAppVersion": "0.12.0",
|
||||||
"description": "This is a plugin that can import movies/books/musics/notes/games info data from Douban for Obsidian .",
|
"description": "This is a plugin that can import movies/books/musics/notes/games info data from Douban for Obsidian .",
|
||||||
"author": "Wanxp",
|
"author": "Wanxp",
|
||||||
|
|||||||
6760
package-lock.json
generated
6760
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "obsidian-douban-plugin",
|
"name": "obsidian-douban-plugin",
|
||||||
"version": "1.7.6",
|
"version": "1.7.7",
|
||||||
"description": "This is a plugin for Obsidian (https://obsidian.md) that can import data from Douban (https://www.douban.com/).",
|
"description": "This is a plugin for Obsidian (https://obsidian.md) that can import data from Douban (https://www.douban.com/).",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import {DoubanSettingTab} from "../setting/DoubanSettingTab";
|
|||||||
import SettingsManager from "../setting/SettingsManager";
|
import SettingsManager from "../setting/SettingsManager";
|
||||||
import {constructDoubanTokenSettingsUI} from "../setting/BasicSettingsHelper";
|
import {constructDoubanTokenSettingsUI} from "../setting/BasicSettingsHelper";
|
||||||
import StringUtil from "../../utils/StringUtil";
|
import StringUtil from "../../utils/StringUtil";
|
||||||
|
import {Integer} from "schema-dts";
|
||||||
|
|
||||||
// Credits go to zhaohongxuan's Weread Plugin : https://github.com/zhaohongxuan/obsidian-weread-plugin
|
// Credits go to zhaohongxuan's Weread Plugin : https://github.com/zhaohongxuan/obsidian-weread-plugin
|
||||||
|
|
||||||
@ -17,7 +18,8 @@ export default class DoubanLoginModel {
|
|||||||
this.containerEl = containerEl;
|
this.containerEl = containerEl;
|
||||||
this.settingsManager = settingsManager;
|
this.settingsManager = settingsManager;
|
||||||
this.settingsManager.debug(`配置界面:初始化登录界面`)
|
this.settingsManager.debug(`配置界面:初始化登录界面`)
|
||||||
const { remote } = require('electron');
|
const { remote} = require('electron');
|
||||||
|
|
||||||
const { BrowserWindow: RemoteBrowserWindow } = remote;
|
const { BrowserWindow: RemoteBrowserWindow } = remote;
|
||||||
this.modal = new RemoteBrowserWindow({
|
this.modal = new RemoteBrowserWindow({
|
||||||
parent: remote.getCurrentWindow(),
|
parent: remote.getCurrentWindow(),
|
||||||
@ -35,6 +37,26 @@ export default class DoubanLoginModel {
|
|||||||
constructDoubanTokenSettingsUI(this.containerEl, this.settingsManager);
|
constructDoubanTokenSettingsUI(this.containerEl, this.settingsManager);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.modal.webContents.on('did-fail-load', (event:Event, errorCode:Integer ) => {
|
||||||
|
// 例如, 当 Ctrl/Cmd are down 被按下,仅开启应用程序菜单键盘快捷键。
|
||||||
|
this.settingsManager.debug('加载失败' + errorCode);
|
||||||
|
})
|
||||||
|
|
||||||
|
this.modal.webContents.on('did-fail-load', (event:Event) => {
|
||||||
|
// 例如, 当 Ctrl/Cmd are down 被按下,仅开启应用程序菜单键盘快捷键。
|
||||||
|
this.settingsManager.debug('加载成功');
|
||||||
|
})
|
||||||
|
|
||||||
|
this.modal.webContents.on('did-navigate', async (_event: any, _url: string, httpResponseCode: number) => {
|
||||||
|
if (httpResponseCode == 403) {
|
||||||
|
// what you want to do
|
||||||
|
this.settingsManager.debug(`配置界面:登录界面,加载页面失败,HttpStatus:${httpResponseCode},URL:${_url}`);
|
||||||
|
await this.modal.loadURL('data:text/html;charset=utf-8;base64,55Sx5LqO5aSa5qyh6aKR57mB6K+35rGC5pWw5o2u77yM6LGG55Oj5b2T5YmN5pqC5pe25LiN5Y+v55SoLiDor7fkuo4xMuWwj+aXtuaIljI05bCP5pe25ZCO5YaN6YeN6K+V77yM5oiW6YeN572u5L2g55qE572R57ucKOWmgumHjeaWsOaLqOWPt+aIluabtOaNoue9kee7nCk=');
|
||||||
|
}else {
|
||||||
|
this.settingsManager.debug(`配置界面:登录界面,加载页面成功,HttpStatus:${httpResponseCode},URL:${_url}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
const session = this.modal.webContents.session;
|
const session = this.modal.webContents.session;
|
||||||
const filter = {
|
const filter = {
|
||||||
urls: ['https://www.douban.com/','https://accounts.douban.com/','https://accounts.douban.com/passport/login']
|
urls: ['https://www.douban.com/','https://accounts.douban.com/','https://accounts.douban.com/passport/login']
|
||||||
@ -49,13 +71,13 @@ export default class DoubanLoginModel {
|
|||||||
let user = await settingsManager.plugin.userComponent.loginCookie(cookieArr);
|
let user = await settingsManager.plugin.userComponent.loginCookie(cookieArr);
|
||||||
if (user && user.login) {
|
if (user && user.login) {
|
||||||
this.settingsManager.debug(`配置界面:登录界面豆瓣登录成功, 信息:id:${StringUtil.confuse(user.id)}:, 用户名:${StringUtil.confuse(user.name)}`)
|
this.settingsManager.debug(`配置界面:登录界面豆瓣登录成功, 信息:id:${StringUtil.confuse(user.id)}:, 用户名:${StringUtil.confuse(user.name)}`)
|
||||||
|
session.clearStorageData(() => {
|
||||||
|
this.settingsManager.debug(`配置界面:登录界面 登录前本地清理缓存成功2`)
|
||||||
|
});
|
||||||
this.onClose();
|
this.onClose();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.settingsManager.debug(`配置界面:登录界面豆瓣登录失败, cookies未能成功获取用户信息`)
|
this.settingsManager.debug(`配置界面:登录界面豆瓣登录失败, cookies未能成功获取用户信息`)
|
||||||
} else {
|
|
||||||
this.settingsManager.debug(`配置界面:登录界面请求检测,没有获取到Cookie`)
|
|
||||||
this.onReload();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -75,6 +97,7 @@ export default class DoubanLoginModel {
|
|||||||
|
|
||||||
onClose() {
|
onClose() {
|
||||||
this.settingsManager.debug(`配置界面:登录界面关闭, 自动退出登录界面`)
|
this.settingsManager.debug(`配置界面:登录界面关闭, 自动退出登录界面`)
|
||||||
|
// this.modal.destroy();
|
||||||
this.modal.close();
|
this.modal.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -40,12 +40,12 @@ export default class DoubanLogoutModel {
|
|||||||
this.settingsManager.debug(`配置界面:登出界面请求头检测:${details.url}`)
|
this.settingsManager.debug(`配置界面:登出界面请求头检测:${details.url}`)
|
||||||
const cookies = details.requestHeaders['Cookie'];
|
const cookies = details.requestHeaders['Cookie'];
|
||||||
// const wr_name = cookieArr.find((cookie) => cookie.name == 'wr_name').value;
|
// const wr_name = cookieArr.find((cookie) => cookie.name == 'wr_name').value;
|
||||||
if (cookies && cookies.indexOf('dbcl2') < 0) {
|
// if (cookies && cookies.indexOf('dbcl2') < 0) {
|
||||||
this.settingsManager.debug(`配置界面:登出界面退出登录请求检测成功,准备退出登录`)
|
this.settingsManager.debug(`配置界面:登出界面退出登录请求检测成功,准备退出登录`)
|
||||||
this.settingsManager.plugin.userComponent.logout();
|
this.settingsManager.plugin.userComponent.logout();
|
||||||
this.settingsManager.debug(`配置界面:登出界面退出登录成功`)
|
this.settingsManager.debug(`配置界面:登出界面退出登录成功`);
|
||||||
this.onClose();
|
this.onClose();
|
||||||
}
|
// }
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,7 +55,8 @@ export default class DoubanLogoutModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onClose() {
|
onClose() {
|
||||||
this.settingsManager.debug(`配置界面:登出界面关闭, 自动退出登出界面`)
|
this.settingsManager.debug(`配置界面:登出界面关闭, 自动退出登出界面`);
|
||||||
|
// this.modal.destroy();
|
||||||
this.modal.close();
|
this.modal.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import HandleContext from "../model/HandleContext";
|
|||||||
import {PersonNameMode, SupportType, TemplateKey} from "../../../constant/Constsant";
|
import {PersonNameMode, SupportType, TemplateKey} from "../../../constant/Constsant";
|
||||||
import {UserStateSubject} from "../model/UserStateSubject";
|
import {UserStateSubject} from "../model/UserStateSubject";
|
||||||
import {moment} from "obsidian";
|
import {moment} from "obsidian";
|
||||||
|
import YamlUtil, {SPECIAL_CHAR_REG, TITLE_ALIASES_SPECIAL_CHAR_REG_G} from "../../../utils/YamlUtil";
|
||||||
|
|
||||||
export default class DoubanMovieLoadHandler extends DoubanAbstractLoadHandler<DoubanMovieSubject> {
|
export default class DoubanMovieLoadHandler extends DoubanAbstractLoadHandler<DoubanMovieSubject> {
|
||||||
|
|
||||||
@ -27,7 +28,7 @@ export default class DoubanMovieLoadHandler extends DoubanAbstractLoadHandler<Do
|
|||||||
.replaceAll("{{director}}", extract.director ? extract.director.map(SchemaOrg.getPersonName).map(name => super.getPersonName(name, context)).filter(c => c).join(settings.arraySpilt) : "")
|
.replaceAll("{{director}}", extract.director ? extract.director.map(SchemaOrg.getPersonName).map(name => super.getPersonName(name, context)).filter(c => c).join(settings.arraySpilt) : "")
|
||||||
.replaceAll("{{actor}}", extract.actor ? extract.actor.map(SchemaOrg.getPersonName).map(name => super.getPersonName(name, context)).filter(c => c).join(settings.arraySpilt) : "")
|
.replaceAll("{{actor}}", extract.actor ? extract.actor.map(SchemaOrg.getPersonName).map(name => super.getPersonName(name, context)).filter(c => c).join(settings.arraySpilt) : "")
|
||||||
.replaceAll("{{author}}", extract.author ? extract.author.map(SchemaOrg.getPersonName).map(name => super.getPersonName(name, context)).filter(c => c).join(settings.arraySpilt) : "")
|
.replaceAll("{{author}}", extract.author ? extract.author.map(SchemaOrg.getPersonName).map(name => super.getPersonName(name, context)).filter(c => c).join(settings.arraySpilt) : "")
|
||||||
.replaceAll("{{aliases}}", extract.aliases ? extract.aliases.join(settings.arraySpilt) : "")
|
.replaceAll("{{aliases}}", extract.aliases ? extract.aliases.map(a=>a.replace(TITLE_ALIASES_SPECIAL_CHAR_REG_G, '_')).join(settings.arraySpilt) : "")
|
||||||
.replaceAll("{{country}}", extract.country ? extract.country.join(settings.arraySpilt) : "")
|
.replaceAll("{{country}}", extract.country ? extract.country.join(settings.arraySpilt) : "")
|
||||||
.replaceAll("{{language}}", extract.language ? extract.language.join(settings.arraySpilt) : "")
|
.replaceAll("{{language}}", extract.language ? extract.language.join(settings.arraySpilt) : "")
|
||||||
.replaceAll("{{IMDb}}", extract.IMDb ? extract.IMDb : "")
|
.replaceAll("{{IMDb}}", extract.IMDb ? extract.IMDb : "")
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import {PersonNameMode, SupportType, TemplateKey} from "../../../constant/Consts
|
|||||||
import {aliases} from "css-select";
|
import {aliases} from "css-select";
|
||||||
import {UserStateSubject} from "../model/UserStateSubject";
|
import {UserStateSubject} from "../model/UserStateSubject";
|
||||||
import {moment} from "obsidian";
|
import {moment} from "obsidian";
|
||||||
|
import YamlUtil, {SPECIAL_CHAR_REG, TITLE_ALIASES_SPECIAL_CHAR_REG_G} from "../../../utils/YamlUtil";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teleplay
|
* teleplay
|
||||||
@ -30,7 +31,7 @@ export class DoubanTeleplayLoadHandler extends DoubanAbstractLoadHandler<DoubanT
|
|||||||
.replaceAll("{{director}}", extract.director ? extract.director.map(SchemaOrg.getPersonName).map(name => super.getPersonName(name, context)).filter(c => c).join(settings.arraySpilt) : "")
|
.replaceAll("{{director}}", extract.director ? extract.director.map(SchemaOrg.getPersonName).map(name => super.getPersonName(name, context)).filter(c => c).join(settings.arraySpilt) : "")
|
||||||
.replaceAll("{{actor}}", extract.actor ? extract.actor.map(SchemaOrg.getPersonName).map(name => super.getPersonName(name, context)).filter(c => c).join(settings.arraySpilt) : "")
|
.replaceAll("{{actor}}", extract.actor ? extract.actor.map(SchemaOrg.getPersonName).map(name => super.getPersonName(name, context)).filter(c => c).join(settings.arraySpilt) : "")
|
||||||
.replaceAll("{{author}}", extract.author ? extract.author.map(SchemaOrg.getPersonName).map(name => super.getPersonName(name, context)).filter(c => c).join(settings.arraySpilt) : "")
|
.replaceAll("{{author}}", extract.author ? extract.author.map(SchemaOrg.getPersonName).map(name => super.getPersonName(name, context)).filter(c => c).join(settings.arraySpilt) : "")
|
||||||
.replaceAll("{{aliases}}", extract.aliases ? extract.aliases.join(settings.arraySpilt) : "")
|
.replaceAll("{{aliases}}", extract.aliases ? extract.aliases.map(a=>a.replace(TITLE_ALIASES_SPECIAL_CHAR_REG_G, '_')).join(settings.arraySpilt) : "")
|
||||||
.replaceAll("{{country}}", extract.country ? extract.country.join(settings.arraySpilt) : "")
|
.replaceAll("{{country}}", extract.country ? extract.country.join(settings.arraySpilt) : "")
|
||||||
.replaceAll("{{language}}", extract.language ? extract.language.join(settings.arraySpilt) : "")
|
.replaceAll("{{language}}", extract.language ? extract.language.join(settings.arraySpilt) : "")
|
||||||
.replaceAll("{{IMDb}}", extract.IMDb ? extract.IMDb : "")
|
.replaceAll("{{IMDb}}", extract.IMDb ? extract.IMDb : "")
|
||||||
|
|||||||
@ -2,24 +2,41 @@
|
|||||||
import DoubanSearchResultSubject from '../model/DoubanSearchResultSubject';
|
import DoubanSearchResultSubject from '../model/DoubanSearchResultSubject';
|
||||||
import SearchParserHandler from './SearchParser';
|
import SearchParserHandler from './SearchParser';
|
||||||
import {log} from 'src/org/wanxp/utils/Logutil';
|
import {log} from 'src/org/wanxp/utils/Logutil';
|
||||||
import {request, RequestUrlParam} from "obsidian";
|
import {request, requestUrl, RequestUrlParam} from "obsidian";
|
||||||
import {i18nHelper} from "../../../lang/helper";
|
import {i18nHelper} from "../../../lang/helper";
|
||||||
import {load} from 'cheerio';
|
import {load} from 'cheerio';
|
||||||
import {DoubanPluginSetting} from "../../setting/model/DoubanPluginSetting";
|
import {DoubanPluginSetting} from "../../setting/model/DoubanPluginSetting";
|
||||||
import {DEFAULT_SETTINGS} from "../../../constant/DefaultSettings";
|
import {DEFAULT_SETTINGS} from "../../../constant/DefaultSettings";
|
||||||
|
import SettingsManager from "../../setting/SettingsManager";
|
||||||
|
|
||||||
export default class Searcher {
|
export default class Searcher {
|
||||||
static search(searchItem: string, doubanSettings: DoubanPluginSetting): Promise<DoubanSearchResultSubject[]> {
|
static search(searchItem: string, doubanSettings: DoubanPluginSetting, settingsManager:SettingsManager): Promise<DoubanSearchResultSubject[]> {
|
||||||
|
const myHeaders:Record<string, string> = JSON.parse(doubanSettings.searchHeaders);
|
||||||
|
if (doubanSettings.loginCookiesContent) {
|
||||||
|
myHeaders.Cookie = doubanSettings.loginCookiesContent
|
||||||
|
}
|
||||||
let requestUrlParam: RequestUrlParam = {
|
let requestUrlParam: RequestUrlParam = {
|
||||||
url: DEFAULT_SETTINGS.searchUrl + searchItem,
|
url: DEFAULT_SETTINGS.searchUrl + searchItem,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
headers: JSON.parse(doubanSettings.searchHeaders),
|
headers: myHeaders,
|
||||||
throw: true
|
throw: true
|
||||||
};
|
};
|
||||||
return request(requestUrlParam)
|
return requestUrl(requestUrlParam)
|
||||||
|
.then(requestUrlResponse => {
|
||||||
|
if (requestUrlResponse.status == 403) {
|
||||||
|
throw new Error(i18nHelper.getMessage('130106'));
|
||||||
|
}
|
||||||
|
return requestUrlResponse.text;
|
||||||
|
})
|
||||||
.then(load)
|
.then(load)
|
||||||
.then(SearchParserHandler.parseSearch)
|
.then(SearchParserHandler.parseSearch)
|
||||||
.catch(e => log.error(i18nHelper.getMessage('130101').replace('{0}', e.toString()), e));
|
.catch(e => {
|
||||||
|
if(e.toString().indexOf('403') > 0) {
|
||||||
|
throw new Error(i18nHelper.getMessage('130106'));
|
||||||
|
}else {
|
||||||
|
throw log.error(i18nHelper.getMessage('130101').replace('{0}', e.toString()), e);
|
||||||
|
}
|
||||||
|
});
|
||||||
;
|
;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -155,9 +155,14 @@ ${i18nHelper.getMessage('100125')}`;
|
|||||||
.setCta()
|
.setCta()
|
||||||
.onClick(async () => {
|
.onClick(async () => {
|
||||||
button.setDisabled(true);
|
button.setDisabled(true);
|
||||||
manager.debug(`配置界面:点击退出登录按钮`)
|
manager.debug(`配置界面:点击退出登录按钮,准备退出登录`)
|
||||||
const loginModel = new DoubanLogoutModel(containerEl, manager);
|
// manager.debug(`配置界面:登出界面退出登录请求检测成功,准备退出登录`)
|
||||||
await loginModel.doLogout();
|
manager.plugin.userComponent.logout();
|
||||||
|
manager.debug(`配置界面:退出登录成功`);
|
||||||
|
constructDoubanTokenSettingsUI(containerEl, manager);
|
||||||
|
|
||||||
|
// const loginModel = new DoubanLogoutModel(containerEl, manager);
|
||||||
|
// await loginModel.doLogout();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import SettingsManager from "../setting/SettingsManager";
|
import SettingsManager from "../setting/SettingsManager";
|
||||||
import {DoubanPluginSetting} from "../setting/model/DoubanPluginSetting";
|
import {DoubanPluginSetting} from "../setting/model/DoubanPluginSetting";
|
||||||
import DoubanSearchResultSubject from "../data/model/DoubanSearchResultSubject";
|
import DoubanSearchResultSubject from "../data/model/DoubanSearchResultSubject";
|
||||||
import {request, RequestUrlParam} from "obsidian";
|
import {request, requestUrl, RequestUrlParam, RequestUrlResponse} from "obsidian";
|
||||||
import {DEFAULT_SETTINGS} from "../../constant/DefaultSettings";
|
import {DEFAULT_SETTINGS} from "../../constant/DefaultSettings";
|
||||||
import {CheerioAPI, load} from "cheerio";
|
import {CheerioAPI, load} from "cheerio";
|
||||||
import SearchParserHandler from "../data/search/SearchParser";
|
import SearchParserHandler from "../data/search/SearchParser";
|
||||||
@ -87,11 +87,21 @@ export default class UserComponent {
|
|||||||
};
|
};
|
||||||
this.settingsManager.debug('loadUserInfo:尝试获取用户信息:https://www.douban.com/mine/');
|
this.settingsManager.debug('loadUserInfo:尝试获取用户信息:https://www.douban.com/mine/');
|
||||||
return request(requestUrlParam)
|
return request(requestUrlParam)
|
||||||
.then(response => this.settingsManager.settings.debugMode ? this.settingsManager.debug(response) : response)
|
.then(requestUrlResponse => {
|
||||||
|
if (requestUrlResponse.indexOf('https://sec.douban.com/a') > 0) {
|
||||||
|
throw new Error(i18nHelper.getMessage('130105'));
|
||||||
|
}
|
||||||
|
return requestUrlResponse;
|
||||||
|
})
|
||||||
.then(load)
|
.then(load)
|
||||||
.then(this.getUserInfo)
|
.then(this.getUserInfo)
|
||||||
.catch(e => log.error(i18nHelper.getMessage('130101').replace('{0}', e.toString()), e));
|
.catch(e => {
|
||||||
;
|
if(e.toString().indexOf('403') > 0) {
|
||||||
|
throw new Error(i18nHelper.getMessage('130105'));
|
||||||
|
}else {
|
||||||
|
throw log.error(i18nHelper.getMessage('130101').replace('{0}', e.toString()), e)
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -223,6 +223,10 @@ PS: This file could be delete if you want to.
|
|||||||
//error
|
//error
|
||||||
'130101': `Fetch Data Error, {0}`,
|
'130101': `Fetch Data Error, {0}`,
|
||||||
'140101': `Not support for current type. You can add Issues at Github:Wanxp/obsidian-douban`,
|
'140101': `Not support for current type. You can add Issues at Github:Wanxp/obsidian-douban`,
|
||||||
|
'130105': `Can not use Douban this time, Please try again after 12 hour or 24 hour. Or you can reset your connection `,
|
||||||
|
'130106': `Can not use Douban this time, Please try Login In Douban Plugin. If not working please again after 12 hour or 24 hour. Or you can reset your connection `,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
'140201': `[OB-Douban]: searching '{0}'...`,
|
'140201': `[OB-Douban]: searching '{0}'...`,
|
||||||
'140202': `[OB-Douban]: result {0} rows`,
|
'140202': `[OB-Douban]: result {0} rows`,
|
||||||
|
|||||||
@ -226,6 +226,10 @@ export default {
|
|||||||
'130102': `Obsidian Douban插件错误提示:`,
|
'130102': `Obsidian Douban插件错误提示:`,
|
||||||
'130103': `Obsidian Douban插件异常提示:`,
|
'130103': `Obsidian Douban插件异常提示:`,
|
||||||
'140101': `当前版本暂不支持该类型导入,请升级Obsidian Douban或至github提交issuess获取帮助`,
|
'140101': `当前版本暂不支持该类型导入,请升级Obsidian Douban或至github提交issuess获取帮助`,
|
||||||
|
'130105': `由于多次频繁请求数据,豆瓣当前暂时不可用. 请于12小时或24小时后再重试,或重置你的网络(如重新拨号或更换网络) `,
|
||||||
|
'130106': `请尝试在Douban插件中登录后操作. 若还是无效果则尝试于12小时或24小时后再重试,或重置你的网络(如重新拨号或更换网络) `,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
'140201': `[OB-Douban]: 开始搜索'{0}'...`,
|
'140201': `[OB-Douban]: 开始搜索'{0}'...`,
|
||||||
'140202': `[OB-Douban]: 搜索条数{0}条`,
|
'140202': `[OB-Douban]: 搜索条数{0}条`,
|
||||||
|
|||||||
@ -111,7 +111,7 @@ export default class DoubanPlugin extends Plugin {
|
|||||||
async search(searchTerm: string, context: HandleContext) {
|
async search(searchTerm: string, context: HandleContext) {
|
||||||
try {
|
try {
|
||||||
this.showStatus(i18nHelper.getMessage('140201', searchTerm));
|
this.showStatus(i18nHelper.getMessage('140201', searchTerm));
|
||||||
const resultList = await Searcher.search(searchTerm, this.settings);
|
const resultList = await Searcher.search(searchTerm, this.settings, context.plugin.settingsManager);
|
||||||
this.showStatus(i18nHelper.getMessage('140202', resultList.length.toString()));
|
this.showStatus(i18nHelper.getMessage('140202', resultList.length.toString()));
|
||||||
new DoubanFuzzySuggester(this, context).showSearchList(resultList);
|
new DoubanFuzzySuggester(this, context).showSearchList(resultList);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@ -29,7 +29,11 @@ export default class Logger {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public debug(e: any): any {
|
public debug(e: any): any {
|
||||||
console.log(`OB-Douban:${moment(new Date()).format('YYYY-MM-DD HH:mm:SS')}:${typeof e == 'string' ? e : JSON.stringify(e)}`);
|
if(e instanceof Error) {
|
||||||
|
console.error(e);
|
||||||
|
}else {
|
||||||
|
console.log(`OB-Douban:${moment(new Date()).format('YYYY-MM-DD HH:mm:SS')}:${typeof e == 'string' ? e : JSON.stringify(e)}`);
|
||||||
|
}
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,9 @@ export default class YamlUtil {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const SPECIAL_CHAR_REG = /[{}\[\]&*#?|\-<>=!%@:`,\n]/;
|
export const SPECIAL_CHAR_REG = /[{}\[\]&*#?|\-<>=!%@:`,\n]/;
|
||||||
|
export const TITLE_ALIASES_SPECIAL_CHAR_REG_G = /[{}\[\]&*#?|\-<>=!%@:`,, \n]/g;
|
||||||
|
|
||||||
const SPECIAL_CHAR_REG_REPLACE: Map<string, string> = new Map([
|
const SPECIAL_CHAR_REG_REPLACE: Map<string, string> = new Map([
|
||||||
['{', '\\{'],
|
['{', '\\{'],
|
||||||
]);
|
]);
|
||||||
|
|||||||
@ -21,5 +21,6 @@
|
|||||||
"v1.7.3": "0.12.0",
|
"v1.7.3": "0.12.0",
|
||||||
"1.7.4": "0.12.0",
|
"1.7.4": "0.12.0",
|
||||||
"1.7.5": "0.12.0",
|
"1.7.5": "0.12.0",
|
||||||
"1.7.6": "0.12.0"
|
"1.7.6": "0.12.0",
|
||||||
|
"1.7.7": "0.12.0"
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user