Feature: sync with picgo 2.4.0 beta 1

This commit is contained in:
萌萌哒赫萝
2023-05-05 17:51:49 +08:00
parent bda1421aa5
commit e8d54fac4c
33 changed files with 1154 additions and 81 deletions

View File

@@ -17,3 +17,5 @@ declare interface IWindowManager {
deleteById: (id: number) => void
getAvailableWindow: () => BrowserWindow
}
type IpcRendererListener = (event: import('electron').IpcRendererEvent, ...args: any[]) => void

View File

@@ -32,7 +32,8 @@ export enum IWindowList {
SETTING_WINDOW = 'SETTING_WINDOW',
TRAY_WINDOW = 'TRAY_WINDOW',
MINI_WINDOW = 'MINI_WINDOW',
RENAME_WINDOW = 'RENAME_WINDOW'
RENAME_WINDOW = 'RENAME_WINDOW',
TOOLBOX_WINDOW = 'TOOLBOX_WINDOW'
}
export enum IRemoteNoticeActionType {
@@ -58,10 +59,39 @@ export enum IRemoteNoticeTriggerCount {
* renderer trigger action from main
*/
export enum IRPCActionType {
// config RPC
GET_PICBED_CONFIG_LIST = 'GET_PICBED_CONFIG_LIST',
DELETE_PICBED_CONFIG = 'DELETE_PICBED_CONFIG',
CHANGE_CURRENT_UPLOADER = 'CHANGE_CURRENT_UPLOADER',
SELECT_UPLOADER = 'SELECT_UPLOADER',
UPDATE_UPLOADER_CONFIG = 'UPDATE_UPLOADER_CONFIG',
RESET_UPLOADER_CONFIG = 'RESET_UPLOADER_CONFIG'
RESET_UPLOADER_CONFIG = 'RESET_UPLOADER_CONFIG',
// version rpc
GET_LATEST_VERSION = 'GET_LATEST_VERSION',
// toolbox rpc
TOOLBOX_CHECK = 'TOOLBOX_CHECK',
TOOLBOX_CHECK_RES = 'TOOLBOX_CHECK_RES',
TOOLBOX_CHECK_FIX = 'TOOLBOX_CHECK_FIX',
// system rpc
RELOAD_APP = 'RELOAD_APP',
OPEN_FILE = 'OPEN_FILE',
COPY_TEXT = 'COPY_TEXT',
SHOW_DOCK_ICON = 'SHOW_DOCK_ICON',
}
export enum IToolboxItemType {
IS_CONFIG_FILE_BROKEN = 'IS_CONFIG_FILE_BROKEN',
IS_GALLERY_FILE_BROKEN = 'IS_GALLERY_FILE_BROKEN',
HAS_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD = 'HAS_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD',
HAS_PROBLEM_WITH_PROXY = 'HAS_PROBLEM_WITH_PROXY',
}
export enum IToolboxItemCheckStatus {
INIT = 'init',
LOADING = 'loading',
SUCCESS = 'success',
ERROR = 'error',
}

View File

@@ -28,6 +28,31 @@ interface ILocales {
CURRENT_PICBED: string
START_WATCH_CLIPBOARD: string
STOP_WATCH_CLIPBOARD: string
OPEN_TOOLBOX: string
TOOLBOX: string
TOOLBOX_TITLE: string
TOOLBOX_SUB_TITLE: string
TOOLBOX_CHECK_CONFIG_FILE_BROKEN: string
TOOLBOX_CHECK_GALLERY_FILE_BROKEN: string
TOOLBOX_CHECK_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD: string
TOOLBOX_CHECK_PROBLEM_WITH_PROXY: string
TOOLBOX_FIX_DONE_NEED_RELOAD: string
TOOLBOX_CANT_AUTO_FIX: string
TOOLBOX_START_SCAN: string
TOOLBOX_RE_SCAN: string
TOOLBOX_START_FIX: string
TOOLBOX_SUCCESS_TIPS: string
TOOLBOX_CHECK_CONFIG_FILE_PATH_TIPS: string
TOOLBOX_CHECK_CONFIG_FILE_BROKEN_TIPS: string
TOOLBOX_CHECK_GALLERY_FILE_PATH_TIPS: string
TOOLBOX_CHECK_GALLERY_FILE_BROKEN_TIPS: string
TOOLBOX_CHECK_PROXY_SUCCESS_TIPS: string
TOOLBOX_CHECK_PROXY_NO_PROXY_TIPS: string
TOOLBOX_CHECK_PROXY_PROXY_IS_NOT_CORRECT: string
TOOLBOX_CHECK_PROXY_PROXY_IS_NOT_WORKING: string
TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_TIPS: string
TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_NOT_EXIST_TIPS: string
TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_ERROR_TIPS: string
CHOOSE_YOUR_DEFAULT_PICBED: string
UPLOAD_AREA: string
UPLOAD_VIEW_HINT: string
@@ -61,6 +86,8 @@ interface ILocales {
COPY_LINK_SUCCEED: string
BATCH_COPY_LINK_SUCCEED: string
FILE_RENAME: string
COPY_FILE_PATH: string
OPEN_FILE_PATH: string
GALLERY_SYNC_DELETE: string
GALLERY_SYNC_DELETE_NOTICE_TITLE: string
GALLERY_SYNC_DELETE_NOTICE_SUCCEED: string

View File

@@ -3,3 +3,41 @@ type IDeleteUploaderConfigArgs = [type: string, id: string]
type ISelectUploaderConfigArgs = [type: string, id: string]
type IUpdateUploaderConfigArgs = [type: string, id: string, config: IStringKeyMap]
type IResetUploaderConfigArgs = [type: string, id: string]
type IGetLatestVersionArgs = [isCheckBetaVersion: boolean]
type IToolboxCheckArgs = [type: import('./enum').IToolboxItemType]
type IOpenFileArgs = [filePath: string]
type ICopyTextArgs = [text: string]
type IShowDockIconArgs = [visible: boolean]
interface IRPCServer {
start: () => void
stop: () => void
use: (routes: IRPCRoutes) => void
}
type IRPCRoutes = Map<import('./enum').IRPCActionType, IRPCHandler<any>>
type IRPCHandler<T> = (args: any[], event: import('electron').IpcMainEvent) => Promise<T>
interface IRPCRouter {
add<T>(action: import('./enum').IRPCActionType, handler: IRPCHandler<T>): IRPCRouter
routes: () => IRPCRoutes
}
type IToolboxChecker<T = any> = (event: import('electron').IpcMainEvent) => Promise<T>
type IToolboxCheckerMap<T extends import('./enum').IToolboxItemType> = {
[type in T]: IToolboxChecker
}
type IToolboxFixMap<T extends import('./enum').IToolboxItemType> = {
[type in T]: IToolboxChecker<IToolboxCheckRes>
}
type IToolboxCheckRes = {
type: import('./enum').IToolboxItemType
status: import('./enum').IToolboxItemCheckStatus,
msg?: string
value?: any
}

View File

@@ -25,3 +25,17 @@ interface ISettingForm {
interface IShortKeyMap {
[propName: string]: string
}
interface IToolboxItem {
title: string
status: import('#/types/enum').IToolboxItemCheckStatus
msg?: string
value?: any // for handler
hasNoFixMethod?: boolean
handler?: (value: any) => Promise<void> | void
handlerText?: string
}
type IToolboxMap = {
[id in import('#/types/enum').IToolboxItemType]: IToolboxItem
}