mirror of
https://github.com/Wanxp/obsidian-douban.git
synced 2026-04-05 17:48:42 +08:00
225 lines
4.3 KiB
TypeScript
225 lines
4.3 KiB
TypeScript
import {i18nHelper} from "../lang/helper";
|
||
import DoubanSearchResultSubject from "../douban/data/model/DoubanSearchResultSubject";
|
||
|
||
/**
|
||
* 常量池
|
||
*/
|
||
export const BasicConst = {
|
||
YAML_FRONT_MATTER_SYMBOL: '---',
|
||
/**
|
||
* 状态栏显示毫秒数
|
||
*/
|
||
CLEAN_STATUS_BAR_DELAY: 5000,
|
||
/**
|
||
* 请求豆瓣周期(多少秒一次)
|
||
*/
|
||
CALL_DOUBAN_DELAY: 4000,
|
||
/**
|
||
* 请求豆瓣周期(多少秒一次)
|
||
*/
|
||
CALL_DOUBAN_DELAY_RANGE: 4000,
|
||
/**
|
||
* 多少条后同步速率变慢,防止403
|
||
*/
|
||
SLOW_SIZE: 200,
|
||
|
||
/**
|
||
* 请求豆瓣周期(多少秒一次) 慢速模式
|
||
*/
|
||
CALL_DOUBAN_DELAY_SLOW: 10000,
|
||
/**
|
||
* 请求豆瓣周期(多少秒一次)
|
||
*/
|
||
CALL_DOUBAN_DELAY_RANGE_SLOW: 5000,
|
||
|
||
}
|
||
|
||
/**
|
||
* 预估程序处理时间长度
|
||
* @private
|
||
*/
|
||
export const ESTIMATE_TIME_PER:number = 2000;
|
||
|
||
/**
|
||
* 预估每次请求+处理时间长度(慢速模式)
|
||
* @private
|
||
*/
|
||
export const ESTIMATE_TIME_PER_WITH_REQUEST_SLOW:number = ESTIMATE_TIME_PER + BasicConst.CALL_DOUBAN_DELAY_SLOW + BasicConst.CALL_DOUBAN_DELAY_RANGE_SLOW / 2;
|
||
|
||
/**
|
||
* 预估每次请求+处理时间长度(正常模式)
|
||
* @private
|
||
*/
|
||
export const ESTIMATE_TIME_PER_WITH_REQUEST:number = ESTIMATE_TIME_PER + BasicConst.CALL_DOUBAN_DELAY + BasicConst.CALL_DOUBAN_DELAY_RANGE / 2;
|
||
|
||
/**
|
||
* 模板类型
|
||
*/
|
||
export enum TemplateTextMode {
|
||
NORMAL,
|
||
YAML,
|
||
}
|
||
|
||
/**
|
||
* 搜索结果处理模式
|
||
*/
|
||
export enum SearchHandleMode {
|
||
/**
|
||
* 为了替换当前文档
|
||
*/
|
||
FOR_REPLACE,
|
||
/**
|
||
* 为了创建文档
|
||
*/
|
||
FOR_CREATE,
|
||
}
|
||
|
||
/**
|
||
* 名称模式
|
||
*/
|
||
export enum PersonNameMode {
|
||
CH_NAME = "CH",
|
||
EN_NAME = "EN",
|
||
CH_EN_NAME = "CH_EN",
|
||
}
|
||
|
||
/**
|
||
* 模板的key
|
||
*
|
||
*/
|
||
export enum TemplateKey {
|
||
movieTemplateFile= 'movieTemplateFile',
|
||
bookTemplateFile = 'bookTemplateFile',
|
||
musicTemplateFile = 'musicTemplateFile',
|
||
noteTemplateFile = 'noteTemplateFile',
|
||
gameTemplateFile = 'gameTemplateFile',
|
||
teleplayTemplateFile = 'teleplayTemplateFile',
|
||
}
|
||
|
||
export enum SupportType {
|
||
ALL = "ALL",
|
||
MOVIE = 'MOVIE',
|
||
BOOK = 'BOOK',
|
||
MUSIC = 'MUSIC',
|
||
NOTE = 'NOTE',
|
||
GAME = 'GAME',
|
||
TELEPLAY = 'TELEPLAY',
|
||
THEATER = 'THEATER',
|
||
}
|
||
|
||
/**
|
||
* 名称模式选项
|
||
*/
|
||
export const PersonNameModeRecords: { [key in PersonNameMode]: string } = {
|
||
[PersonNameMode.CH_NAME]: i18nHelper.getMessage('121206'),
|
||
[PersonNameMode.EN_NAME]: i18nHelper.getMessage('121207'),
|
||
[PersonNameMode.CH_EN_NAME]: i18nHelper.getMessage('121208'),
|
||
}
|
||
|
||
export enum SyncType {
|
||
movie= 'movie',
|
||
book= 'book',
|
||
broadcast= 'broadcast',
|
||
note= 'note',
|
||
music= 'music',
|
||
}
|
||
|
||
/**
|
||
* 同步模式选项
|
||
*/
|
||
// @ts-ignore
|
||
export const SyncTypeRecords: { [key in SyncType]: string } = {
|
||
[SyncType.movie]: i18nHelper.getMessage('504103'),
|
||
[SyncType.book]: i18nHelper.getMessage('504102'),
|
||
// [SyncType.broadcast]: i18nHelper.getMessage('504104'),
|
||
// [SyncType.note]: i18nHelper.getMessage('504105'),
|
||
[SyncType.music]: i18nHelper.getMessage('504106'),
|
||
}
|
||
|
||
/**
|
||
* 同步豆瓣每页的大小
|
||
*/
|
||
export const PAGE_SIZE:number = 30;
|
||
|
||
/**
|
||
* 多少条后同步速率变慢,防止403
|
||
*/
|
||
|
||
|
||
|
||
/**
|
||
* 动作
|
||
*/
|
||
export enum Action {
|
||
SearchAndReplace='SearchAndReplace',
|
||
SearchAndCrate='SearchAndCrate',
|
||
Sync='Sync',
|
||
SearchEditorAndReplace='SearchEditorAndReplace'
|
||
}
|
||
|
||
export enum SyncItemStatus {
|
||
exists= 'exists',
|
||
replace= 'replace',
|
||
create= 'create',
|
||
fail= 'fail',
|
||
unHandle='unHandle',
|
||
}
|
||
export enum NavigateType {
|
||
previous = "previous",
|
||
next = "next",
|
||
|
||
nextNeedLogin = "nextNeedLogin"
|
||
}
|
||
|
||
export const DoubanSearchResultSubjectPreviousPage:DoubanSearchResultSubject = {
|
||
cast: "",
|
||
datePublished: undefined,
|
||
desc: "",
|
||
genre: [],
|
||
id: "",
|
||
image: "",
|
||
imageUrl: "",
|
||
publisher: "",
|
||
score: 0,
|
||
title: i18nHelper.getMessage("150102"),
|
||
type: "navigate",
|
||
url: NavigateType.previous
|
||
}
|
||
|
||
export const DoubanSearchResultSubjectNextPage:DoubanSearchResultSubject = {
|
||
cast: "",
|
||
datePublished: undefined,
|
||
desc: "",
|
||
genre: [],
|
||
id: "",
|
||
image: "",
|
||
imageUrl: "",
|
||
publisher: "",
|
||
score: 0,
|
||
title: i18nHelper.getMessage("150103"),
|
||
type: "navigate",
|
||
url: NavigateType.next
|
||
}
|
||
|
||
export const DoubanSearchResultSubjectNextPageNeedLogin:DoubanSearchResultSubject = {
|
||
cast: "",
|
||
datePublished: undefined,
|
||
desc: "",
|
||
genre: [],
|
||
id: "",
|
||
image: "",
|
||
imageUrl: "",
|
||
publisher: "",
|
||
score: 0,
|
||
title: i18nHelper.getMessage("150104"),
|
||
type: "navigate",
|
||
url: NavigateType.nextNeedLogin
|
||
}
|
||
|
||
export const SEARCH_ITEM_PAGE_SIZE:number = 20;
|
||
|
||
|
||
|
||
|
||
|