🔨 Refactor(custom): refactored all imports

This commit is contained in:
Kuingsmile 2024-06-09 11:53:07 +08:00
parent 8a565c1333
commit e87e3999b4
138 changed files with 947 additions and 1333 deletions

View File

@ -1,3 +1,3 @@
import { bootstrap } from '~/main/lifeCycle' import { bootstrap } from '~/lifeCycle'
bootstrap.launchApp() bootstrap.launchApp()

View File

@ -1,43 +1,28 @@
import { webFrame } from 'electron'
// Vue 相关
import { createApp } from 'vue'
import App from './renderer/App.vue'
import router from './renderer/router'
import ElementUI from 'element-plus' import ElementUI from 'element-plus'
import 'element-plus/dist/index.css' import 'element-plus/dist/index.css'
import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
import { createApp } from 'vue'
import VueLazyLoad from 'vue3-lazyload' import VueLazyLoad from 'vue3-lazyload'
import { initTalkingData } from './renderer/utils/analytic'
import vue3PhotoPreview from 'vue3-photo-preview' import vue3PhotoPreview from 'vue3-photo-preview'
import 'vue3-photo-preview/dist/index.css' import 'vue3-photo-preview/dist/index.css'
import VueVideoPlayer from '@videojs-player/vue' import VueVideoPlayer from '@videojs-player/vue'
// Electron 相关
import { webFrame } from 'electron'
// Mixins
import { mainMixin } from './renderer/utils/mainMixin'
import { dragMixin } from '@/utils/mixin'
// 数据库
import db from './renderer/utils/db'
// 国际化
import { T } from './renderer/i18n/index'
// 工具函数
import { getConfig, saveConfig, sendToMain, triggerRPC } from '@/utils/dataSender'
// 状态管理
import { store } from '@/store'
import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
// 代码高亮
import 'highlight.js/styles/atom-one-dark.css' import 'highlight.js/styles/atom-one-dark.css'
import hljsVuePlugin from '@highlightjs/vue-plugin' import hljsVuePlugin from '@highlightjs/vue-plugin'
import hljsCommon from 'highlight.js/lib/common' import hljsCommon from 'highlight.js/lib/common'
import 'video.js/dist/video-js.css' import 'video.js/dist/video-js.css'
import App from '@/App.vue'
import router from '@/router'
import db from '@/utils/db'
import { T } from '@/i18n/index'
import { store } from '@/store'
import { initTalkingData } from '@/utils/analytic'
import { getConfig, saveConfig, sendToMain, triggerRPC } from '@/utils/dataSender'
import { mainMixin } from '@/utils/mainMixin'
import { dragMixin } from '@/utils/mixin'
webFrame.setVisualZoomLevelLimits(1, 1) webFrame.setVisualZoomLevelLimits(1, 1)
const app = createApp(App) const app = createApp(App)

View File

@ -1,25 +1,22 @@
// External dependencies
import axios from 'axios' import axios from 'axios'
import {
app,
clipboard,
dialog,
shell
} from 'electron'
import fs from 'fs-extra' import fs from 'fs-extra'
import path from 'path' import path from 'path'
import { gte, lte } from 'semver'
// Electron modules import windowManager from 'apis/app/window/windowManager'
import { app, clipboard, dialog, shell } from 'electron' import { showNotification } from '~/utils/common'
// Custom modules and utilities
import windowManager from '../window/windowManager'
import { showNotification } from '~/main/utils/common'
// Custom types/enums
import { import {
IRemoteNoticeActionType, IRemoteNoticeActionType,
IRemoteNoticeTriggerCount, IRemoteNoticeTriggerCount,
IRemoteNoticeTriggerHook IRemoteNoticeTriggerHook
} from '#/types/enum' } from '#/types/enum'
// External utility functions
import { gte, lte } from 'semver'
// for test // for test
const REMOTE_NOTICE_URL = 'https://release.piclist.cn/remote-notice.json' const REMOTE_NOTICE_URL = 'https://release.piclist.cn/remote-notice.json'

View File

@ -1,24 +1,18 @@
// External dependencies
import { import {
globalShortcut globalShortcut
} from 'electron' } from 'electron'
import shortKeyService from 'apis/app/shortKey/shortKeyService'
import GuiApi from 'apis/gui'
import bus from '@core/bus' import bus from '@core/bus'
import db from '~/main/apis/core/datastore' import db from '@core/datastore'
import logger from '@core/picgo/logger' import logger from '@core/picgo/logger'
import picgo from '@core/picgo' import picgo from '@core/picgo'
// Electron modules
// Custom utilities and modules
import GuiApi from '../../gui'
import shortKeyService from './shortKeyService'
// Custom types/enums
// External utility functions
import { TOGGLE_SHORTKEY_MODIFIED_MODE } from '#/events/constants' import { TOGGLE_SHORTKEY_MODIFIED_MODE } from '#/events/constants'
import { configPaths } from '~/universal/utils/configPaths' import { configPaths } from '#/utils/configPaths'
class ShortKeyHandler { class ShortKeyHandler {
private isInModifiedMode: boolean = false private isInModifiedMode: boolean = false

View File

@ -1,34 +1,34 @@
// External dependencies import {
app,
clipboard,
dialog,
Menu,
nativeTheme,
Notification,
screen,
Tray
} from 'electron'
import fs from 'fs-extra' import fs from 'fs-extra'
import { cloneDeep } from 'lodash' import { cloneDeep } from 'lodash'
// Electron modules import db, { GalleryDB } from '@core/datastore'
import { import picgo from '@core/picgo'
app,
Menu,
Tray,
dialog,
clipboard,
Notification,
screen,
nativeTheme
} from 'electron'
// Custom utilities and modules
import uploader from 'apis/app/uploader' import uploader from 'apis/app/uploader'
import db, { GalleryDB } from '~/main/apis/core/datastore' import { uploadClipboardFiles } from 'apis/app/uploader/apis'
import windowManager from 'apis/app/window/windowManager' import windowManager from 'apis/app/window/windowManager'
import { buildPicBedListMenu } from '~/events/remotes/menu'
import { T } from '~/i18n'
import clipboardPoll from '~/utils/clipboardPoll'
import { ensureFilePath, handleCopyUrl, setTray, tray } from '~/utils/common'
import { isMacOSVersionGreaterThanOrEqualTo } from '~/utils/getMacOSVersion'
import pasteTemplate from '~/utils/pasteTemplate'
import { configPaths } from '#/utils/configPaths'
import { IPasteStyle, IWindowList } from '#/types/enum' import { IPasteStyle, IWindowList } from '#/types/enum'
import pasteTemplate from '~/main/utils/pasteTemplate'
import pkg from 'root/package.json' import pkg from 'root/package.json'
import { ensureFilePath, handleCopyUrl, setTray, tray } from '~/main/utils/common'
import { T } from '~/main/i18n'
import { isMacOSVersionGreaterThanOrEqualTo } from '~/main/utils/getMacOSVersion'
import { buildPicBedListMenu } from '~/main/events/remotes/menu'
import clipboardPoll from '~/main/utils/clipboardPoll'
import picgo from '../../core/picgo'
import { uploadClipboardFiles } from '../uploader/apis'
import { configPaths } from '~/universal/utils/configPaths'
let contextMenu: Menu | null let contextMenu: Menu | null

View File

@ -1,30 +1,30 @@
// External dependencies
import fs from 'fs-extra'
import { cloneDeep } from 'lodash'
// Electron modules
import { import {
Notification, Notification,
WebContents WebContents
} from 'electron' } from 'electron'
import fs from 'fs-extra'
import { cloneDeep } from 'lodash'
import path from 'path'
import { ISftpPlistConfig } from 'piclist'
// Custom utilities and modules
import windowManager from 'apis/app/window/windowManager'
import pasteTemplate from '~/main/utils/pasteTemplate'
import db, { GalleryDB } from '~/main/apis/core/datastore'
import { handleCopyUrl, handleUrlEncodeWithSetting } from '~/main/utils/common'
import { T } from '~/main/i18n/index'
import ALLApi from '@/apis/allApi'
import picgo from '@core/picgo' import picgo from '@core/picgo'
import GuiApi from '../../gui' import db, { GalleryDB } from '@core/datastore'
import uploader from '.'
import GuiApi from 'apis/gui'
import uploader from 'apis/app/uploader'
import windowManager from 'apis/app/window/windowManager'
import { T } from '~/i18n/index'
import { handleCopyUrl, handleUrlEncodeWithSetting } from '~/utils/common'
import pasteTemplate from '~/utils/pasteTemplate'
import SSHClient from '~/utils/sshClient'
import ALLApi from '@/apis/allApi'
import { getRawData } from '@/utils/common'
import { IPasteStyle, IWindowList } from '#/types/enum' import { IPasteStyle, IWindowList } from '#/types/enum'
import { picBedsCanbeDeleted } from '#/utils/static' import { picBedsCanbeDeleted } from '#/utils/static'
import path from 'path' import { configPaths } from '#/utils/configPaths'
import SSHClient from '~/main/utils/sshClient'
import { ISftpPlistConfig } from 'piclist'
import { getRawData } from '~/renderer/utils/common'
import { configPaths } from '~/universal/utils/configPaths'
const handleClipboardUploading = async (): Promise<false | ImgInfo[]> => { const handleClipboardUploading = async (): Promise<false | ImgInfo[]> => {
const useBuiltinClipboard = db.get(configPaths.settings.useBuiltinClipboard) === undefined ? true : !!db.get(configPaths.settings.useBuiltinClipboard) const useBuiltinClipboard = db.get(configPaths.settings.useBuiltinClipboard) === undefined ? true : !!db.get(configPaths.settings.useBuiltinClipboard)

View File

@ -1,39 +1,34 @@
// External dependencies
import dayjs from 'dayjs' import dayjs from 'dayjs'
import {
BrowserWindow,
clipboard,
ipcMain,
Notification,
WebContents
} from 'electron'
import fse from 'fs-extra'
import util from 'util' import util from 'util'
import path from 'path' import path from 'path'
import writeFile from 'write-file-atomic'
import fse from 'fs-extra'
// Electron modules
import {
Notification,
BrowserWindow,
ipcMain,
WebContents,
clipboard
} from 'electron'
// Custom utilities and modules
import picgo from '@core/picgo'
import db from '~/main/apis/core/datastore'
import windowManager from 'apis/app/window/windowManager'
import { showNotification, getClipboardFilePath, calcDurationRange } from '~/main/utils/common'
import logger from '@core/picgo/logger'
import { T } from '~/main/i18n'
import { CLIPBOARD_IMAGE_FOLDER } from '~/universal/utils/static'
// Custom types/enums
import { IWindowList } from '#/types/enum'
// External utility functions
import { IPicGo } from 'piclist' import { IPicGo } from 'piclist'
import writeFile from 'write-file-atomic'
import windowManager from 'apis/app/window/windowManager'
import db from '@core/datastore'
import picgo from '@core/picgo'
import logger from '@core/picgo/logger'
import { T } from '~/i18n'
import { showNotification, getClipboardFilePath, calcDurationRange } from '~/utils/common'
import { import {
GET_RENAME_FILE_NAME, GET_RENAME_FILE_NAME,
RENAME_FILE_NAME, RENAME_FILE_NAME,
TALKING_DATA_EVENT TALKING_DATA_EVENT
} from '~/universal/events/constants' } from '#/events/constants'
import { configPaths } from '~/universal/utils/configPaths' import { IWindowList } from '#/types/enum'
import { configPaths } from '#/utils/configPaths'
import { CLIPBOARD_IMAGE_FOLDER } from '#/utils/static'
const waitForRename = (window: BrowserWindow, id: number): Promise<string|null> => { const waitForRename = (window: BrowserWindow, id: number): Promise<string|null> => {
return new Promise((resolve) => { return new Promise((resolve) => {

View File

@ -1,12 +1,8 @@
const isDevelopment = process.env.NODE_ENV !== 'production' const isDevelopment = process.env.NODE_ENV !== 'production'
export const TRAY_WINDOW_URL = isDevelopment export const MANUAL_WINDOW_URL = process.env.NODE_ENV === 'development'
? (process.env.WEBPACK_DEV_SERVER_URL as string) ? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#documents`
: 'picgo://./index.html' : 'picgo://./index.html#documents'
export const SETTING_WINDOW_URL = isDevelopment
? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#main-page/upload`
: 'picgo://./index.html#main-page/upload'
export const MINI_WINDOW_URL = isDevelopment export const MINI_WINDOW_URL = isDevelopment
? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#mini-page` ? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#mini-page`
@ -16,10 +12,14 @@ export const RENAME_WINDOW_URL = process.env.NODE_ENV === 'development'
? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#rename-page` ? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#rename-page`
: 'picgo://./index.html#rename-page' : 'picgo://./index.html#rename-page'
export const SETTING_WINDOW_URL = isDevelopment
? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#main-page/upload`
: 'picgo://./index.html#main-page/upload'
export const TRAY_WINDOW_URL = isDevelopment
? (process.env.WEBPACK_DEV_SERVER_URL as string)
: 'picgo://./index.html'
export const TOOLBOX_WINDOW_URL = process.env.NODE_ENV === 'development' export const TOOLBOX_WINDOW_URL = process.env.NODE_ENV === 'development'
? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#toolbox-page` ? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#toolbox-page`
: 'picgo://./index.html#toolbox-page' : 'picgo://./index.html#toolbox-page'
export const MANUAL_WINDOW_URL = process.env.NODE_ENV === 'development'
? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#documents`
: 'picgo://./index.html#documents'

View File

@ -1,29 +1,24 @@
// External dependencies
import { app } from 'electron' import { app } from 'electron'
// Electron modules
// Custom utilities and modules
import bus from '@core/bus'
import db from '~/main/apis/core/datastore'
import picgo from '~/main/apis/core/picgo'
import { T } from '~/main/i18n'
import { import {
SETTING_WINDOW_URL, MANUAL_WINDOW_URL,
TRAY_WINDOW_URL,
MINI_WINDOW_URL, MINI_WINDOW_URL,
RENAME_WINDOW_URL, RENAME_WINDOW_URL,
TOOLBOX_WINDOW_URL, SETTING_WINDOW_URL,
MANUAL_WINDOW_URL TRAY_WINDOW_URL,
TOOLBOX_WINDOW_URL
} from './constants' } from './constants'
// Custom types/enums import bus from '@core/bus'
import { IWindowList } from '#/types/enum'
// External utility functions
import { CREATE_APP_MENU } from '@core/bus/constants' import { CREATE_APP_MENU } from '@core/bus/constants'
import db from '@core/datastore'
import picgo from '@core/picgo'
import { T } from '~/i18n'
import { TOGGLE_SHORTKEY_MODIFIED_MODE } from '#/events/constants' import { TOGGLE_SHORTKEY_MODIFIED_MODE } from '#/events/constants'
import { configPaths } from '~/universal/utils/configPaths' import { IWindowList } from '#/types/enum'
import { configPaths } from '#/utils/configPaths'
const windowList = new Map<IWindowList, IWindowListItem>() const windowList = new Map<IWindowList, IWindowListItem>()

View File

@ -1,12 +1,6 @@
// External dependencies
import windowList from './windowList'
// Electron modules
import { BrowserWindow } from 'electron' import { BrowserWindow } from 'electron'
// Custom utilities and modules import windowList from 'apis/app/window/windowList'
// Custom types/enums
import { IWindowList } from '#/types/enum' import { IWindowList } from '#/types/enum'
class WindowManager implements IWindowManager { class WindowManager implements IWindowManager {

View File

@ -1,14 +1,14 @@
import bus from '.' import bus from '@core/bus/index'
import { import {
UPLOAD_WITH_FILES, GET_SETTING_WINDOW_ID,
UPLOAD_WITH_FILES_RESPONSE, GET_SETTING_WINDOW_ID_RESPONSE,
UPLOAD_WITH_CLIPBOARD_FILES,
UPLOAD_WITH_CLIPBOARD_FILES_RESPONSE,
GET_WINDOW_ID, GET_WINDOW_ID,
GET_WINDOW_ID_REPONSE, GET_WINDOW_ID_REPONSE,
GET_SETTING_WINDOW_ID, UPLOAD_WITH_CLIPBOARD_FILES,
GET_SETTING_WINDOW_ID_RESPONSE UPLOAD_WITH_CLIPBOARD_FILES_RESPONSE,
} from './constants' UPLOAD_WITH_FILES,
UPLOAD_WITH_FILES_RESPONSE
} from '@core/bus/constants'
export const uploadWithClipboardFiles = (): Promise<{ export const uploadWithClipboardFiles = (): Promise<{
success: boolean, success: boolean,

View File

@ -1,3 +1,4 @@
export const CREATE_APP_MENU = 'CREATE_APP_MENU'
export const GET_WINDOW_ID = 'GET_WINDOW_ID' // get a current window export const GET_WINDOW_ID = 'GET_WINDOW_ID' // get a current window
export const GET_WINDOW_ID_REPONSE = 'GET_WINDOW_ID_REPONSE' export const GET_WINDOW_ID_REPONSE = 'GET_WINDOW_ID_REPONSE'
export const GET_SETTING_WINDOW_ID = 'GET_SETTING_WINDOW_ID' // get setting window export const GET_SETTING_WINDOW_ID = 'GET_SETTING_WINDOW_ID' // get setting window
@ -6,4 +7,3 @@ export const UPLOAD_WITH_FILES = 'UPLOAD_WITH_FILES'
export const UPLOAD_WITH_FILES_RESPONSE = 'UPLOAD_WITH_FILES_RESPONSE' export const UPLOAD_WITH_FILES_RESPONSE = 'UPLOAD_WITH_FILES_RESPONSE'
export const UPLOAD_WITH_CLIPBOARD_FILES = 'UPLOAD_WITH_CLIPBOARD_FILES' export const UPLOAD_WITH_CLIPBOARD_FILES = 'UPLOAD_WITH_CLIPBOARD_FILES'
export const UPLOAD_WITH_CLIPBOARD_FILES_RESPONSE = 'UPLOAD_WITH_CLIPBOARD_FILES_RESPONSE' export const UPLOAD_WITH_CLIPBOARD_FILES_RESPONSE = 'UPLOAD_WITH_CLIPBOARD_FILES_RESPONSE'
export const CREATE_APP_MENU = 'CREATE_APP_MENU'

View File

@ -1,28 +1,19 @@
// External dependencies import { app } from 'electron'
import fs from 'fs-extra' import fs from 'fs-extra'
import dayjs from 'dayjs' import dayjs from 'dayjs'
import path from 'path' import path from 'path'
// Electron modules
import { app } from 'electron'
// Custom utilities and modules
import { getLogger } from '../utils/localLogger'
// Custom types/enums
// External utility functions
// External utility functions
import writeFile from 'write-file-atomic' import writeFile from 'write-file-atomic'
// Custom types/enums import { getLogger } from '@core/utils/localLogger'
import { T } from '~/main/i18n'
import { T } from '~/i18n'
const STORE_PATH = app.getPath('userData') const STORE_PATH = app.getPath('userData')
const configFilePath = path.join(STORE_PATH, 'data.json') const configFilePath = path.join(STORE_PATH, 'data.json')
const configFileBackupPath = path.join(STORE_PATH, 'data.bak.json') const configFileBackupPath = path.join(STORE_PATH, 'data.bak.json')
export const defaultConfigPath = configFilePath export const defaultConfigPath = configFilePath
let _configFilePath = '' let _configFilePath = ''
let hasCheckPath = false let hasCheckPath = false

View File

@ -1,19 +1,10 @@
// External dependencies
import fs from 'fs-extra' import fs from 'fs-extra'
// Electron modules
// Custom utilities and modules
import { dbPathChecker, dbPathDir, getGalleryDBPath } from './dbChecker'
// Custom types/enums
// External utility functions
import { DBStore, JSONStore } from '@picgo/store' import { DBStore, JSONStore } from '@picgo/store'
// External utility functions import { dbPathChecker, dbPathDir, getGalleryDBPath } from '@core/datastore/dbChecker'
import { T } from '~/main/i18n'
import { configPaths } from '~/universal/utils/configPaths' import { T } from '~/i18n'
import { configPaths } from '#/utils/configPaths'
const STORE_PATH = dbPathDir() const STORE_PATH = dbPathDir()

View File

@ -1,17 +1,10 @@
// External dependencies
import pkg from 'root/package.json'
import debounce from 'lodash/debounce' import debounce from 'lodash/debounce'
// Electron modules
// Custom utilities and modules
import { PicGo } from 'piclist' import { PicGo } from 'piclist'
import db from 'apis/core/datastore'
import { dbChecker, dbPathChecker } from 'apis/core/datastore/dbChecker'
// Custom types/enums import db from '@core/datastore'
import { dbChecker, dbPathChecker } from '@core/datastore/dbChecker'
// External utility functions import pkg from 'root/package.json'
const CONFIG_PATH = dbPathChecker() const CONFIG_PATH = dbPathChecker()

View File

@ -1,31 +1,27 @@
// External dependencies import {
BrowserWindow,
dialog,
ipcMain,
Notification
} from 'electron'
import fs from 'fs-extra' import fs from 'fs-extra'
import { cloneDeep } from 'lodash' import { cloneDeep } from 'lodash'
// Electron modules
import {
dialog,
BrowserWindow,
Notification,
ipcMain
} from 'electron'
// Custom utilities and modules
import db, { GalleryDB } from 'apis/core/datastore'
import { dbPathChecker, defaultConfigPath, getGalleryDBPath } from 'apis/core/datastore/dbChecker'
import uploader from 'apis/app/uploader'
import pasteTemplate from '~/main/utils/pasteTemplate'
import { handleCopyUrl } from '~/main/utils/common'
import { getWindowId, getSettingWindowId } from '@core/bus/apis'
import { SHOW_INPUT_BOX } from '~/universal/events/constants'
// Custom types/enums
// External utility functions
import { DBStore } from '@picgo/store' import { DBStore } from '@picgo/store'
import { T } from '~/main/i18n'
import { configPaths } from '~/universal/utils/configPaths' import { getWindowId, getSettingWindowId } from '@core/bus/apis'
import { IPasteStyle } from '~/universal/types/enum'
import db, { GalleryDB } from '@core/datastore'
import { dbPathChecker, defaultConfigPath, getGalleryDBPath } from '@core/datastore/dbChecker'
import uploader from 'apis/app/uploader'
import { T } from '~/i18n'
import { handleCopyUrl } from '~/utils/common'
import pasteTemplate from '~/utils/pasteTemplate'
import { SHOW_INPUT_BOX } from '#/events/constants'
import { IPasteStyle } from '#/types/enum'
import { configPaths } from '#/utils/configPaths'
// Cross-process support may be required in the future // Cross-process support may be required in the future
class GuiApi implements IGuiApi { class GuiApi implements IGuiApi {

View File

@ -1,34 +1,27 @@
// External dependencies
import bus from '@core/bus' import bus from '@core/bus'
// Electron modules
// Custom utilities and modules
import { import {
uploadClipboardFiles, CREATE_APP_MENU,
uploadChoosedFiles
} from 'apis/app/uploader/apis'
import {
createMenu
} from 'apis/app/system'
import windowManager from 'apis/app/window/windowManager'
// Custom types/enums
import { IWindowList } from '#/types/enum'
// External utility functions
import {
UPLOAD_WITH_FILES,
UPLOAD_WITH_FILES_RESPONSE,
UPLOAD_WITH_CLIPBOARD_FILES,
UPLOAD_WITH_CLIPBOARD_FILES_RESPONSE,
GET_WINDOW_ID, GET_WINDOW_ID,
GET_WINDOW_ID_REPONSE, GET_WINDOW_ID_REPONSE,
GET_SETTING_WINDOW_ID, GET_SETTING_WINDOW_ID,
GET_SETTING_WINDOW_ID_RESPONSE, GET_SETTING_WINDOW_ID_RESPONSE,
CREATE_APP_MENU UPLOAD_WITH_FILES,
UPLOAD_WITH_FILES_RESPONSE,
UPLOAD_WITH_CLIPBOARD_FILES,
UPLOAD_WITH_CLIPBOARD_FILES_RESPONSE
} from '@core/bus/constants' } from '@core/bus/constants'
import {
createMenu
} from 'apis/app/system'
import {
uploadChoosedFiles,
uploadClipboardFiles
} from 'apis/app/uploader/apis'
import windowManager from 'apis/app/window/windowManager'
import { IWindowList } from '#/types/enum'
function initEventCenter () { function initEventCenter () {
const eventList: any = { const eventList: any = {
'picgo:upload': uploadClipboardFiles, 'picgo:upload': uploadClipboardFiles,

View File

@ -1,4 +1,3 @@
// Electron 相关
import { import {
app, app,
ipcMain, ipcMain,
@ -9,38 +8,34 @@ import {
screen, screen,
IpcMainInvokeEvent IpcMainInvokeEvent
} from 'electron' } from 'electron'
import fs from 'fs-extra'
import path from 'path'
import { ISftpPlistConfig } from 'piclist'
// 窗口管理器 import bus from '@core/bus'
import logger from '@core/picgo/logger'
import db, { GalleryDB } from '@core/datastore'
import shortKeyHandler from 'apis/app/shortKey/shortKeyHandler'
import uploader from 'apis/app/uploader'
import {
uploadClipboardFiles,
uploadChoosedFiles
} from 'apis/app/uploader/apis'
import windowManager from 'apis/app/window/windowManager' import windowManager from 'apis/app/window/windowManager'
// 枚举类型声明 import { T } from '~/i18n'
import { ILogType, IPasteStyle, IWindowList } from '#/types/enum' import server from '~/server'
import picgoCoreIPC from '~/events/picgoCoreIPC'
import { buildMainPageMenu, buildMiniPageMenu, buildPluginPageMenu, buildPicBedListMenu } from '~/events/remotes/menu'
import { handleCopyUrl, generateShortUrl, setTrayToolTip } from '~/utils/common'
import { removeFileFromS3InMain, removeFileFromDogeInMain, removeFileFromHuaweiInMain } from '~/utils/deleteFunc'
import getPicBeds from '~/utils/getPicBeds'
import pasteTemplate from '~/utils/pasteTemplate'
import SSHClient from '~/utils/sshClient'
import { uploadFile, downloadFile } from '~/utils/syncSettings'
import webServer from '~/server/webServer'
// 上传器
import uploader from 'apis/app/uploader'
// 粘贴模板函数
import pasteTemplate from '~/main/utils/pasteTemplate'
// 数据存储库和类型声明
import db, { GalleryDB } from '~/main/apis/core/datastore'
// 服务器模块
import server from '~/main/server'
// 获取图片床模块
import getPicBeds from '~/main/utils/getPicBeds'
// 快捷键处理器
import shortKeyHandler from 'apis/app/shortKey/shortKeyHandler'
// 全局事件总线
import bus from '@core/bus'
// 文件系统库
import fs from 'fs-extra'
// 事件常量
import { import {
TOGGLE_SHORTKEY_MODIFIED_MODE, TOGGLE_SHORTKEY_MODIFIED_MODE,
OPEN_DEVTOOLS, OPEN_DEVTOOLS,
@ -57,41 +52,8 @@ import {
GET_PICBEDS, GET_PICBEDS,
HIDE_DOCK HIDE_DOCK
} from '#/events/constants' } from '#/events/constants'
import { configPaths } from '#/utils/configPaths'
// 上传剪贴板文件和已选文件的函数 import { ILogType, IPasteStyle, IWindowList } from '#/types/enum'
import {
uploadClipboardFiles,
uploadChoosedFiles
} from '~/main/apis/app/uploader/apis'
// 核心 IPC 模块
import picgoCoreIPC from './picgoCoreIPC'
// 处理复制的 URL 和生成短链接的函数
import { handleCopyUrl, generateShortUrl, setTrayToolTip } from '~/main/utils/common'
// 构建主页面、迷你页面、插件页面、图片床列表的菜单函数
import { buildMainPageMenu, buildMiniPageMenu, buildPluginPageMenu, buildPicBedListMenu } from './remotes/menu'
// 路径处理库
import path from 'path'
// i18n 模块
import { T } from '~/main/i18n'
// 同步设置的上传和下载文件函数
import { uploadFile, downloadFile } from '../utils/syncSettings'
// SSH 客户端模块
import SSHClient from '../utils/sshClient'
// Sftp 配置类型声明
import { ISftpPlistConfig } from 'piclist'
import { removeFileFromS3InMain, removeFileFromDogeInMain, removeFileFromHuaweiInMain } from '~/main/utils/deleteFunc'
import webServer from '../server/webServer'
import { configPaths } from '~/universal/utils/configPaths'
import logger from '../apis/core/picgo/logger'
const STORE_PATH = app.getPath('userData') const STORE_PATH = app.getPath('userData')
const commonConfigList = ['data.json', 'data.bak.json'] const commonConfigList = ['data.json', 'data.bak.json']

View File

@ -1,5 +1,3 @@
// External dependencies
import path from 'path'
import { import {
dialog, dialog,
shell, shell,
@ -8,28 +6,23 @@ import {
clipboard clipboard
} from 'electron' } from 'electron'
import fs from 'fs-extra' import fs from 'fs-extra'
import path from 'path'
// Electron modules
// Custom utilities and modules
import GuiApi from 'apis/gui'
import shortKeyHandler from 'apis/app/shortKey/shortKeyHandler'
import picgo from '@core/picgo'
import { handleStreamlinePluginName, simpleClone } from '~/universal/utils/common'
import { IGuiMenuItem, PicGo as PicGoCore } from 'piclist' import { IGuiMenuItem, PicGo as PicGoCore } from 'piclist'
import windowManager from 'apis/app/window/windowManager'
import { showNotification } from '~/main/utils/common'
import { dbPathChecker } from 'apis/core/datastore/dbChecker'
import { GalleryDB } from 'apis/core/datastore'
import pasteTemplate from '../utils/pasteTemplate'
import { i18nManager, T } from '~/main/i18n'
import { rpcServer } from './rpc'
// Custom types/enums
import { IPasteStyle, IPicGoHelperType, IWindowList } from '#/types/enum'
import { IObject, IFilter } from '@picgo/store/dist/types' import { IObject, IFilter } from '@picgo/store/dist/types'
// External utility functions import picgo from '@core/picgo'
import { GalleryDB } from '@core/datastore'
import { dbPathChecker } from '@core/datastore/dbChecker'
import shortKeyHandler from 'apis/app/shortKey/shortKeyHandler'
import windowManager from 'apis/app/window/windowManager'
import GuiApi from 'apis/gui'
import { showNotification } from '~/utils/common'
import pasteTemplate from '~/utils/pasteTemplate'
import { i18nManager, T } from '~/i18n'
import { rpcServer } from '~/events/rpc'
import { import {
PICGO_SAVE_CONFIG, PICGO_SAVE_CONFIG,
PICGO_GET_CONFIG, PICGO_GET_CONFIG,
@ -47,7 +40,9 @@ import {
SET_CURRENT_LANGUAGE, SET_CURRENT_LANGUAGE,
GET_CURRENT_LANGUAGE GET_CURRENT_LANGUAGE
} from '#/events/constants' } from '#/events/constants'
import { configPaths } from '~/universal/utils/configPaths' import { configPaths } from '#/utils/configPaths'
import { IPasteStyle, IPicGoHelperType, IWindowList } from '#/types/enum'
import { handleStreamlinePluginName, simpleClone } from '#/utils/common'
// eslint-disable-next-line // eslint-disable-next-line
const requireFunc = typeof __webpack_require__ === 'function' ? __non_webpack_require__ : require const requireFunc = typeof __webpack_require__ === 'function' ? __non_webpack_require__ : require

View File

@ -1,37 +1,39 @@
// External dependencies import {
import pkg from 'root/package.json' app,
dialog,
BrowserWindow,
Menu,
shell
} from 'electron'
import { PicGo as PicGoCore } from 'piclist'
// Electron modules import db from '@core/datastore'
import { Menu, BrowserWindow, app, dialog, shell } from 'electron'
// Custom utilities and modules
import windowManager from 'apis/app/window/windowManager'
import getPicBeds from '~/main/utils/getPicBeds'
import picgo from '@core/picgo' import picgo from '@core/picgo'
import GuiApi from 'apis/gui'
import picgoCoreIPC from '~/main/events/picgoCoreIPC'
import { changeCurrentUploader } from '~/main/utils/handleUploaderConfig'
import db from '~/main/apis/core/datastore'
import clipboardPoll from '~/main/utils/clipboardPoll'
// Custom types/enums
import { IWindowList } from '#/types/enum'
// External utility functions
import { import {
uploadClipboardFiles uploadClipboardFiles
} from '~/main/apis/app/uploader/apis' } from 'apis/app/uploader/apis'
import windowManager from 'apis/app/window/windowManager'
import GuiApi from 'apis/gui'
import picgoCoreIPC from '~/events/picgoCoreIPC'
import { T } from '~/i18n'
import clipboardPoll from '~/utils/clipboardPoll'
import { setTrayToolTip } from '~/utils/common'
import getPicBeds from '~/utils/getPicBeds'
import { changeCurrentUploader } from '~/utils/handleUploaderConfig'
import { import {
PICGO_CONFIG_PLUGIN, PICGO_CONFIG_PLUGIN,
PICGO_HANDLE_PLUGIN_DONE, PICGO_HANDLE_PLUGIN_DONE,
PICGO_HANDLE_PLUGIN_ING, PICGO_HANDLE_PLUGIN_ING,
PICGO_TOGGLE_PLUGIN, PICGO_TOGGLE_PLUGIN,
SHOW_MAIN_PAGE_QRCODE SHOW_MAIN_PAGE_QRCODE
} from '~/universal/events/constants' } from '#/events/constants'
import { PicGo as PicGoCore } from 'piclist' import { IWindowList } from '#/types/enum'
import { T } from '~/main/i18n' import { configPaths } from '#/utils/configPaths'
import { configPaths } from '~/universal/utils/configPaths'
import { setTrayToolTip } from '~/main/utils/common' import pkg from 'root/package.json'
interface GuiMenuItem { interface GuiMenuItem {
label: string label: string

View File

@ -1,17 +1,10 @@
// External dependencies
import { ipcMain, IpcMainEvent } from 'electron' import { ipcMain, IpcMainEvent } from 'electron'
// Electron modules import { configRouter } from '~/events/rpc/routes/config'
import { toolboxRouter } from '~/events/rpc/routes/toolbox'
import { systemRouter } from '~/events/rpc/routes/system'
// Custom utilities and modules import { IRPCActionType } from '#/types/enum'
import { configRouter } from './routes/config'
import { toolboxRouter } from './routes/toolbox'
import { systemRouter } from './routes/system'
// Custom types/enums
import { IRPCActionType } from '~/universal/types/enum'
// External utility functions
import { RPC_ACTIONS } from '#/events/constants' import { RPC_ACTIONS } from '#/events/constants'
class RPCServer implements IRPCServer { class RPCServer implements IRPCServer {

View File

@ -1,4 +1,4 @@
import { IRPCActionType } from '~/universal/types/enum' import { IRPCActionType } from '#/types/enum'
export class RPCRouter implements IRPCRouter { export class RPCRouter implements IRPCRouter {
private routeMap: IRPCRoutes = new Map() private routeMap: IRPCRoutes = new Map()

View File

@ -1,12 +1,12 @@
import { IRPCActionType } from '~/universal/types/enum' import { RPCRouter } from '~/events/rpc/router'
import { RPCRouter } from '../router'
import { import {
deleteUploaderConfig, deleteUploaderConfig,
getUploaderConfigList, getUploaderConfigList,
resetUploaderConfig,
selectUploaderConfig, selectUploaderConfig,
updateUploaderConfig, updateUploaderConfig
resetUploaderConfig } from '~/utils/handleUploaderConfig'
} from '~/main/utils/handleUploaderConfig' import { IRPCActionType } from '#/types/enum'
const configRouter = new RPCRouter() const configRouter = new RPCRouter()

View File

@ -1,11 +1,7 @@
// External dependencies
import { app, clipboard, shell } from 'electron' import { app, clipboard, shell } from 'electron'
// Electron modules import { RPCRouter } from '~/events/rpc/router'
import { IRPCActionType } from '#/types/enum'
// Custom utilities and modules
import { IRPCActionType } from '~/universal/types/enum'
import { RPCRouter } from '../router'
const systemRouter = new RPCRouter() const systemRouter = new RPCRouter()

View File

@ -1,19 +1,14 @@
// External dependencies
import fs from 'fs-extra' import fs from 'fs-extra'
import path from 'path' import path from 'path'
// Electron modules import { dbPathChecker, defaultConfigPath } from '@core/datastore/dbChecker'
// Custom utilities and modules import { sendToolboxResWithType } from '~/events/rpc/routes/toolbox/utils'
import { dbPathChecker, defaultConfigPath } from '~/main/apis/core/datastore/dbChecker' import { T } from '~/i18n'
import { sendToolboxResWithType } from './utils'
// Custom types/enums import { IToolboxItemCheckStatus, IToolboxItemType } from '#/types/enum'
import { IToolboxItemCheckStatus, IToolboxItemType } from '~/universal/types/enum'
// External utility functions import { CLIPBOARD_IMAGE_FOLDER } from '#/utils/static'
import { CLIPBOARD_IMAGE_FOLDER } from '~/universal/utils/static'
import { T } from '~/main/i18n'
const sendToolboxRes = sendToolboxResWithType(IToolboxItemType.HAS_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD) const sendToolboxRes = sendToolboxResWithType(IToolboxItemType.HAS_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD)

View File

@ -1,20 +1,14 @@
// External dependencies import { IpcMainEvent } from 'electron'
import fs from 'fs-extra' import fs from 'fs-extra'
import path from 'path' import path from 'path'
// Electron modules import { dbPathChecker } from '@core/datastore/dbChecker'
import { IpcMainEvent } from 'electron' import { GalleryDB, DB_PATH } from '@core/datastore'
// Custom utilities and modules import { sendToolboxResWithType } from '~/events/rpc/routes/toolbox/utils'
import { dbPathChecker } from '~/main/apis/core/datastore/dbChecker' import { T } from '~/i18n'
import { GalleryDB, DB_PATH } from '~/main/apis/core/datastore'
import { sendToolboxResWithType } from './utils'
// Custom types/enums import { IToolboxItemCheckStatus, IToolboxItemType } from '#/types/enum'
import { IToolboxItemCheckStatus, IToolboxItemType } from '~/universal/types/enum'
// External utility functions
import { T } from '~/main/i18n'
export const checkFileMap: IToolboxCheckerMap< export const checkFileMap: IToolboxCheckerMap<
IToolboxItemType.IS_CONFIG_FILE_BROKEN | IToolboxItemType.IS_GALLERY_FILE_BROKEN IToolboxItemType.IS_CONFIG_FILE_BROKEN | IToolboxItemType.IS_GALLERY_FILE_BROKEN

View File

@ -1,22 +1,15 @@
// External dependencies
import fs from 'fs-extra'
import axios, { AxiosRequestConfig } from 'axios' import axios, { AxiosRequestConfig } from 'axios'
import fs from 'fs-extra'
import { IConfig } from 'piclist'
import tunnel from 'tunnel' import tunnel from 'tunnel'
// Electron modules import { dbPathChecker } from '@core/datastore/dbChecker'
// Custom utilities and modules import { sendToolboxResWithType } from '~/events/rpc/routes/toolbox/utils'
import { dbPathChecker } from '~/main/apis/core/datastore/dbChecker' import { T } from '~/i18n'
import { sendToolboxResWithType } from './utils'
// Custom types/enums import { IToolboxItemCheckStatus, IToolboxItemType } from '#/types/enum'
import { IToolboxItemCheckStatus, IToolboxItemType } from '~/universal/types/enum'
// External utility functions
// Custom types/enums
import { IConfig } from 'piclist'
import { T } from '~/main/i18n'
const getProxy = (proxyStr: string): AxiosRequestConfig['proxy'] | false => { const getProxy = (proxyStr: string): AxiosRequestConfig['proxy'] | false => {
if (proxyStr) { if (proxyStr) {

View File

@ -1,8 +1,9 @@
import { IRPCActionType, IToolboxItemType } from '~/universal/types/enum' import { checkClipboardUploadMap, fixClipboardUploadMap } from '~/events/rpc/routes/toolbox/checkClipboardUpload'
import { RPCRouter } from '../../router' import { checkFileMap, fixFileMap } from '~/events/rpc/routes/toolbox/checkFile'
import { checkFileMap, fixFileMap } from './checkFile' import { checkProxyMap } from '~/events/rpc/routes/toolbox/checkProxy'
import { checkClipboardUploadMap, fixClipboardUploadMap } from './checkClipboardUpload' import { RPCRouter } from '~/events/rpc/router'
import { checkProxyMap } from './checkProxy'
import { IRPCActionType, IToolboxItemType } from '#/types/enum'
const toolboxRouter = new RPCRouter() const toolboxRouter = new RPCRouter()

View File

@ -1,5 +1,5 @@
import { IpcMainEvent } from 'electron' import { IpcMainEvent } from 'electron'
import { IRPCActionType, IToolboxItemType } from '~/universal/types/enum' import { IRPCActionType, IToolboxItemType } from '#/types/enum'
export const sendToolboxResWithType = (type: IToolboxItemType) => (event: IpcMainEvent, res?: Omit<IToolboxCheckRes, 'type'>) => { export const sendToolboxResWithType = (type: IToolboxItemType) => (event: IpcMainEvent, res?: Omit<IToolboxCheckRes, 'type'>) => {
return event.sender.send(IRPCActionType.TOOLBOX_CHECK_RES, { return event.sender.send(IRPCActionType.TOOLBOX_CHECK_RES, {

View File

@ -1,13 +1,9 @@
// External dependencies
import http from 'http' import http from 'http'
import fs from 'fs-extra' import fs from 'fs-extra'
import path from 'path' import path from 'path'
// Electron modules
// Custom utilities and modules
import picgo from '@core/picgo' import picgo from '@core/picgo'
import logger from '../apis/core/picgo/logger' import logger from '@core/picgo/logger'
export const imgFilePath = path.join(picgo.baseDir, 'imgTemp') export const imgFilePath = path.join(picgo.baseDir, 'imgTemp')
fs.ensureDirSync(imgFilePath) fs.ensureDirSync(imgFilePath)

View File

@ -1,16 +1,9 @@
// External dependencies
import yaml from 'js-yaml'
import { ObjectAdapter, I18n } from '@picgo/i18n'
import path from 'path'
import fs from 'fs-extra' import fs from 'fs-extra'
import yaml from 'js-yaml'
import path from 'path'
// Electron modules import { ObjectAdapter, I18n } from '@picgo/i18n'
// Custom utilities and modules
// Custom types/enums
// External utility functions
import { builtinI18nList } from '#/i18n' import { builtinI18nList } from '#/i18n'
class I18nManager { class I18nManager {

View File

@ -1,6 +1,8 @@
import path from 'path' import path from 'path'
import { app } from 'electron' import { app } from 'electron'
import { getLogger } from 'apis/core/utils/localLogger'
import { getLogger } from '@core/utils/localLogger'
const STORE_PATH = app.getPath('userData') const STORE_PATH = app.getPath('userData')
const LOG_PATH = path.join(STORE_PATH, 'piclist-gui-local.log') const LOG_PATH = path.join(STORE_PATH, 'piclist-gui-local.log')

View File

@ -1,4 +1,5 @@
import './errorHandler' import axios from 'axios'
import fs from 'fs-extra'
import { import {
app, app,
globalShortcut, globalShortcut,
@ -8,46 +9,50 @@ import {
screen, screen,
shell shell
} from 'electron' } from 'electron'
import { UpdateInfo, autoUpdater } from 'electron-updater'
import path from 'path'
import { import {
createProtocol createProtocol
} from 'vue-cli-plugin-electron-builder/lib' } from 'vue-cli-plugin-electron-builder/lib'
import beforeOpen from '~/main/utils/beforeOpen'
import ipcList from '~/main/events/ipcList' import bus from '@core/bus'
import busEventList from '~/main/events/busEventList' import db from '@core/datastore'
import { II18nLanguage, IRemoteNoticeTriggerHook, ISartMode, IWindowList } from '#/types/enum' import picgo from '@core/picgo'
import windowManager from 'apis/app/window/windowManager' import logger from '@core/picgo/logger'
import { remoteNoticeHandler } from 'apis/app/remoteNotice'
import shortKeyHandler from 'apis/app/shortKey/shortKeyHandler'
import {
createTray, setDockMenu
} from 'apis/app/system'
import { import {
uploadChoosedFiles, uploadChoosedFiles,
uploadClipboardFiles uploadClipboardFiles
} from 'apis/app/uploader/apis' } from 'apis/app/uploader/apis'
import { import windowManager from 'apis/app/window/windowManager'
createTray, setDockMenu
} from 'apis/app/system' import busEventList from '~/events/busEventList'
import server from '~/main/server/index' import ipcList from '~/events/ipcList'
import shortKeyHandler from 'apis/app/shortKey/shortKeyHandler' import { startFileServer } from '~/fileServer'
import { getUploadFiles } from '~/main/utils/handleArgv' import { T } from '~/i18n'
import db from '~/main/apis/core/datastore' import '~/lifeCycle/errorHandler'
import bus from '@core/bus' import fixPath from '~/lifeCycle/fixPath'
import logger from 'apis/core/picgo/logger' import UpDownTaskQueue from '~/manage/datastore/upDownTaskQueue'
import picgo from 'apis/core/picgo' import { manageIpcList } from '~/manage/events/ipcList'
import fixPath from './fixPath' import getManageApi from '~/manage/Main'
import { clearTempFolder } from '../manage/utils/common' import { clearTempFolder } from '~/manage/utils/common'
import { initI18n } from '~/main/utils/handleI18n' import server from '~/server/index'
import { remoteNoticeHandler } from 'apis/app/remoteNotice' import webServer from '~/server/webServer'
import { manageIpcList } from '../manage/events/ipcList' import beforeOpen from '~/utils/beforeOpen'
import getManageApi from '../manage/Main' import clipboardPoll from '~/utils/clipboardPoll'
import UpDownTaskQueue from '../manage/datastore/upDownTaskQueue' import { getUploadFiles } from '~/utils/handleArgv'
import { T } from '~/main/i18n' import { initI18n } from '~/utils/handleI18n'
import { UpdateInfo, autoUpdater } from 'electron-updater' import updateChecker from '~/utils/updateChecker'
import updateChecker from '../utils/updateChecker'
import clipboardPoll from '../utils/clipboardPoll' import { II18nLanguage, IRemoteNoticeTriggerHook, ISartMode, IWindowList } from '#/types/enum'
import path from 'path' import { configPaths } from '#/utils/configPaths'
import { CLIPBOARD_IMAGE_FOLDER } from '~/universal/utils/static' import { CLIPBOARD_IMAGE_FOLDER } from '#/utils/static'
import fs from 'fs-extra'
import { startFileServer } from '../fileServer'
import webServer from '../server/webServer'
import axios from 'axios'
import { configPaths } from '~/universal/utils/configPaths'
const isDevelopment = process.env.NODE_ENV !== 'production' const isDevelopment = process.env.NODE_ENV !== 'production'
const handleStartUpFiles = (argv: string[], cwd: string) => { const handleStartUpFiles = (argv: string[], cwd: string) => {

View File

@ -1,6 +1,5 @@
/* eslint-disable */ import { manageDbChecker } from '~/manage/datastore/dbChecker'
import { manageDbChecker } from './datastore/dbChecker' import { ManageApi } from '~/manage/manageApi'
import { ManageApi } from './manageApi'
manageDbChecker() manageDbChecker()
const getManageApi = (picBedName: string = 'placeholder'): ManageApi => { const getManageApi = (picBedName: string = 'placeholder'): ManageApi => {

View File

@ -1,39 +1,20 @@
// Axios
import axios from 'axios'
// 加密函数、获取文件 MIME 类型、错误格式化函数、新的下载器、并发异步任务池
import { hmacSha1Base64, getFileMimeType, formatError, NewDownloader, ConcurrencyPromisePool } from '../utils/common'
// Electron 相关
import { ipcMain, IpcMainEvent } from 'electron'
// 快速 XML 解析器
import { XMLParser } from 'fast-xml-parser'
// 阿里云 OSS 客户端库
import OSS from 'ali-oss' import OSS from 'ali-oss'
import axios from 'axios'
// 路径处理库 import { ipcMain, IpcMainEvent } from 'electron'
import { XMLParser } from 'fast-xml-parser'
import path from 'path' import path from 'path'
// 是否为图片的判断函数
import { isImage } from '~/renderer/manage/utils/common'
// 窗口管理器
import windowManager from 'apis/app/window/windowManager' import windowManager from 'apis/app/window/windowManager'
// 枚举类型声明 import UpDownTaskQueue, { uploadTaskSpecialStatus, commonTaskStatus } from '~/manage/datastore/upDownTaskQueue'
import { IWindowList } from '#/types/enum' import { ManageLogger } from '~/manage/utils/logger'
import { hmacSha1Base64, getFileMimeType, formatError, NewDownloader, ConcurrencyPromisePool } from '~/manage/utils/common'
// 上传下载任务队列 import { isImage } from '@/manage/utils/common'
import UpDownTaskQueue, { uploadTaskSpecialStatus, commonTaskStatus } from '../datastore/upDownTaskQueue'
// 日志记录器
import { ManageLogger } from '../utils/logger'
// 取消下载任务的加载文件列表、刷新下载文件传输列表
import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static' import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static'
import { IWindowList } from '#/types/enum'
// 坑爹阿里云 返回数据类型标注和实际各种不一致 // 坑爹阿里云 返回数据类型标注和实际各种不一致
class AliyunApi { class AliyunApi {
ctx: OSS ctx: OSS

View File

@ -1,14 +1,14 @@
import AliyunApi from './aliyun' import AliyunApi from '~/manage/apis/aliyun'
import GithubApi from './github' import GithubApi from '~/manage/apis/github'
import ImgurApi from './imgur' import ImgurApi from '~/manage/apis/imgur'
import LocalApi from './local' import LocalApi from '~/manage/apis/local'
import QiniuApi from './qiniu' import QiniuApi from '~/manage/apis/qiniu'
import S3plistApi from './s3plist' import S3plistApi from '~/manage/apis/s3plist'
import SftpApi from './sftp' import SftpApi from '~/manage/apis/sftp'
import SmmsApi from './smms' import SmmsApi from '~/manage/apis/smms'
import TcyunApi from './tcyun' import TcyunApi from '~/manage/apis/tcyun'
import UpyunApi from './upyun' import UpyunApi from '~/manage/apis/upyun'
import WebdavplistApi from './webdavplist' import WebdavplistApi from '~/manage/apis/webdavplist'
export default { export default {
AliyunApi, AliyunApi,

View File

@ -1,36 +1,19 @@
// HTTP 请求库
import got from 'got'
// 日志记录器
import { ManageLogger } from '../utils/logger'
// HTTP 代理格式化函数、是否为图片的判断函数
import { formatHttpProxy, isImage } from '~/renderer/manage/utils/common'
// 窗口管理器
import windowManager from 'apis/app/window/windowManager'
// 枚举类型声明
import { IWindowList } from '#/types/enum'
// Electron 相关
import { ipcMain, IpcMainEvent } from 'electron' import { ipcMain, IpcMainEvent } from 'electron'
// got 上传函数、路径处理函数、新的下载器、获取请求代理、获取请求选项、并发异步任务池、错误格式化函数
import { gotUpload, trimPath, NewDownloader, getAgent, getOptions, ConcurrencyPromisePool, formatError } from '../utils/common'
// 上传下载任务队列
import UpDownTaskQueue, { commonTaskStatus } from '../datastore/upDownTaskQueue'
// 文件系统库
import fs from 'fs-extra' import fs from 'fs-extra'
import got from 'got'
// 路径处理库
import path from 'path' import path from 'path'
// 取消下载任务的加载文件列表、刷新下载文件传输列表 import windowManager from 'apis/app/window/windowManager'
import UpDownTaskQueue, { commonTaskStatus } from '~/manage/datastore/upDownTaskQueue'
import { gotUpload, trimPath, NewDownloader, getAgent, getOptions, ConcurrencyPromisePool, formatError } from '~/manage/utils/common'
import { ManageLogger } from '~/manage/utils/logger'
import { formatHttpProxy, isImage } from '@/manage/utils/common'
import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static' import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static'
import { IWindowList } from '#/types/enum'
class GithubApi { class GithubApi {
token: string token: string
username: string username: string

View File

@ -1,14 +1,12 @@
// External dependencies import { ipcMain, IpcMainEvent } from 'electron'
import fs from 'fs-extra'
import FormData from 'form-data' import FormData from 'form-data'
import fs from 'fs-extra'
import got from 'got' import got from 'got'
import path from 'path' import path from 'path'
// Electron modules import windowManager from 'apis/app/window/windowManager'
import { ipcMain, IpcMainEvent } from 'electron'
// Custom utilities and modules import UpDownTaskQueue, { commonTaskStatus } from '~/manage/datastore/upDownTaskQueue'
import { IWindowList } from '#/types/enum'
import { import {
ConcurrencyPromisePool, ConcurrencyPromisePool,
formatError, formatError,
@ -17,11 +15,12 @@ import {
getAgent, getAgent,
gotUpload, gotUpload,
NewDownloader NewDownloader
} from '../utils/common' } from '~/manage/utils/common'
import ManageLogger from '../utils/logger' import ManageLogger from '~/manage/utils/logger'
import windowManager from 'apis/app/window/windowManager'
import { formatHttpProxy, isImage } from '~/renderer/manage/utils/common' import { formatHttpProxy, isImage } from '@/manage/utils/common'
import UpDownTaskQueue, { commonTaskStatus } from '../datastore/upDownTaskQueue'
import { IWindowList } from '#/types/enum'
class ImgurApi { class ImgurApi {
userName: string userName: string

View File

@ -1,34 +1,18 @@
// 日志记录器
import ManageLogger from '../utils/logger'
// 错误格式化函数、端点地址格式化函数、获取内部代理、新的下载器、并发异步任务池
import { formatError } from '../utils/common'
// HTTP 代理格式化函数、是否为图片的判断函数
import { isImage } from '@/manage/utils/common'
// 窗口管理器
import windowManager from 'apis/app/window/windowManager'
// 枚举类型声明
import { IWindowList } from '#/types/enum'
// Electron 相关
import { ipcMain, IpcMainEvent } from 'electron' import { ipcMain, IpcMainEvent } from 'electron'
// 上传下载任务队列
import UpDownTaskQueue, { uploadTaskSpecialStatus, commonTaskStatus, downloadTaskSpecialStatus } from '../datastore/upDownTaskQueue'
// 文件系统库
import fs from 'fs-extra' import fs from 'fs-extra'
// 路径处理库
import path from 'path' import path from 'path'
import * as fsWalk from '@nodelib/fs.walk' import * as fsWalk from '@nodelib/fs.walk'
// 取消下载任务的加载文件列表、刷新下载文件传输列表 import windowManager from 'apis/app/window/windowManager'
import UpDownTaskQueue, { uploadTaskSpecialStatus, commonTaskStatus, downloadTaskSpecialStatus } from '~/manage/datastore/upDownTaskQueue'
import { formatError } from '~/manage/utils/common'
import ManageLogger from '~/manage/utils/logger'
import { isImage } from '@/manage/utils/common'
import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static' import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static'
import { IWindowList } from '#/types/enum'
class LocalApi { class LocalApi {
logger: ManageLogger logger: ManageLogger
isWindows: boolean isWindows: boolean

View File

@ -1,36 +1,20 @@
// Axios
import axios from 'axios' import axios from 'axios'
import { ipcMain, IpcMainEvent } from 'electron'
// 加密函数、获取文件 MIME 类型、新的下载器、错误格式化函数、并发异步任务池 import path from 'path'
import { hmacSha1Base64, getFileMimeType, NewDownloader, formatError, ConcurrencyPromisePool } from '../utils/common'
// 七牛云客户端库
import qiniu from 'qiniu/index' import qiniu from 'qiniu/index'
// 路径处理库
import path from 'path'
// 是否为图片的判断函数
import { isImage } from '~/renderer/manage/utils/common'
// 窗口管理器
import windowManager from 'apis/app/window/windowManager' import windowManager from 'apis/app/window/windowManager'
// 枚举类型声明 import UpDownTaskQueue, { uploadTaskSpecialStatus, commonTaskStatus } from '~/manage/datastore/upDownTaskQueue'
import { IWindowList } from '#/types/enum' import { hmacSha1Base64, getFileMimeType, NewDownloader, formatError, ConcurrencyPromisePool } from '~/manage/utils/common'
import { ManageLogger } from '~/manage/utils/logger'
// Electron 相关 import { isImage } from '@/manage/utils/common'
import { ipcMain, IpcMainEvent } from 'electron'
// 上传下载任务队列
import UpDownTaskQueue, { uploadTaskSpecialStatus, commonTaskStatus } from '../datastore/upDownTaskQueue'
// 日志记录器
import { ManageLogger } from '../utils/logger'
// 取消下载任务的加载文件列表、刷新下载文件传输列表
import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static' import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static'
import { IWindowList } from '#/types/enum'
class QiniuApi { class QiniuApi {
mac: qiniu.auth.digest.Mac mac: qiniu.auth.digest.Mac
accessKey: string accessKey: string

View File

@ -1,4 +1,3 @@
// AWS S3 相关
import { import {
S3Client, S3Client,
ListBucketsCommand, ListBucketsCommand,
@ -17,50 +16,26 @@ import {
PutPublicAccessBlockCommand, PutPublicAccessBlockCommand,
PutBucketAclCommand PutBucketAclCommand
} from '@aws-sdk/client-s3' } from '@aws-sdk/client-s3'
// AWS S3 上传和进度
import { Upload, Progress } from '@aws-sdk/lib-storage' import { Upload, Progress } from '@aws-sdk/lib-storage'
// AWS S3 请求签名
import { getSignedUrl } from '@aws-sdk/s3-request-presigner' import { getSignedUrl } from '@aws-sdk/s3-request-presigner'
// HTTP 和 HTTPS 模块
import https from 'https'
import http, { AgentOptions } from 'http'
import { NodeHttpHandler } from '@smithy/node-http-handler' import { NodeHttpHandler } from '@smithy/node-http-handler'
// 日志记录器
import { ManageLogger } from '../utils/logger'
// 端点地址格式化函数、错误格式化函数、获取请求代理、获取文件 MIME 类型、新的下载器、并发异步任务池
import { formatEndpoint, formatError, getAgent, getFileMimeType, NewDownloader, ConcurrencyPromisePool } from '../utils/common'
// 是否为图片的判断函数、HTTP 代理格式化函数
import { isImage, formatHttpProxy } from '@/manage/utils/common'
// 窗口管理器
import windowManager from 'apis/app/window/windowManager'
// 枚举类型声明
import { IWindowList } from '#/types/enum'
// Electron 相关
import { ipcMain, IpcMainEvent } from 'electron' import { ipcMain, IpcMainEvent } from 'electron'
// 上传下载任务队列
import UpDownTaskQueue, { uploadTaskSpecialStatus, commonTaskStatus } from '../datastore/upDownTaskQueue'
// 文件系统库
import fs from 'fs-extra' import fs from 'fs-extra'
import http, { AgentOptions } from 'http'
// 路径处理库 import https from 'https'
import path from 'path' import path from 'path'
// 取消下载任务的加载文件列表、刷新下载文件传输列表 import windowManager from 'apis/app/window/windowManager'
import UpDownTaskQueue, { uploadTaskSpecialStatus, commonTaskStatus } from '~/manage/datastore/upDownTaskQueue'
import { formatEndpoint, formatError, getAgent, getFileMimeType, NewDownloader, ConcurrencyPromisePool } from '~/manage/utils/common'
import { dogecloudApi, DogecloudToken, getTempToken } from '~/manage/utils/dogeAPI'
import { ManageLogger } from '~/manage/utils/logger'
import { isImage, formatHttpProxy } from '@/manage/utils/common'
import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static' import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static'
// dogecloudApi import { IWindowList } from '#/types/enum'
import { dogecloudApi, DogecloudToken, getTempToken } from '../utils/dogeAPI'
class S3plistApi { class S3plistApi {
baseOptions: S3ClientConfig baseOptions: S3ClientConfig

View File

@ -1,33 +1,19 @@
// 日志记录器
import ManageLogger from '../utils/logger'
// SSH 客户端
import SSHClient from '~/main/utils/sshClient'
// 错误格式化函数、新的下载器、并发异步任务池
import { formatError } from '../utils/common'
// 是否为图片的判断函数
import { isImage } from '@/manage/utils/common'
// 窗口管理器
import windowManager from 'apis/app/window/windowManager'
// 枚举类型声明
import { IWindowList } from '#/types/enum'
// Electron 相关
import { ipcMain, IpcMainEvent } from 'electron' import { ipcMain, IpcMainEvent } from 'electron'
// 上传下载任务队列
import UpDownTaskQueue, { commonTaskStatus, downloadTaskSpecialStatus, uploadTaskSpecialStatus } from '../datastore/upDownTaskQueue'
// 路径处理库
import path from 'path' import path from 'path'
// 取消下载任务的加载文件列表、刷新下载文件传输列表 import windowManager from 'apis/app/window/windowManager'
import SSHClient from '~/utils/sshClient'
import UpDownTaskQueue, { commonTaskStatus, downloadTaskSpecialStatus, uploadTaskSpecialStatus } from '~/manage/datastore/upDownTaskQueue'
import { formatError } from '~/manage/utils/common'
import ManageLogger from '~/manage/utils/logger'
import { isImage } from '@/manage/utils/common'
import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static' import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static'
import { Undefinable } from '~/universal/types/manage'
import { IWindowList } from '#/types/enum'
import { Undefinable } from '#/types/manage'
interface listDirResult { interface listDirResult {
permissions: string permissions: string

View File

@ -1,35 +1,17 @@
// 是否为图片的判断函数
import { isImage } from '@/manage/utils/common'
// Axios 和 Axios 实例类型声明
import axios, { AxiosInstance } from 'axios' import axios, { AxiosInstance } from 'axios'
// 窗口管理器
import windowManager from 'apis/app/window/windowManager'
// 枚举类型声明
import { IWindowList } from '#/types/enum'
// Electron 相关
import { ipcMain, IpcMainEvent } from 'electron' import { ipcMain, IpcMainEvent } from 'electron'
// 表单数据库
import FormData from 'form-data' import FormData from 'form-data'
// 文件系统库
import fs from 'fs-extra' import fs from 'fs-extra'
// 获取文件 MIME 类型、got 上传函数、新的下载器、并发异步任务池、错误格式化函数
import { getFileMimeType, gotUpload, NewDownloader, ConcurrencyPromisePool, formatError } from '../utils/common'
// 路径处理库
import path from 'path' import path from 'path'
// 上传下载任务队列 import windowManager from 'apis/app/window/windowManager'
import UpDownTaskQueue, { commonTaskStatus } from '../datastore/upDownTaskQueue'
// 日志记录器 import { getFileMimeType, gotUpload, NewDownloader, ConcurrencyPromisePool, formatError } from '~/manage/utils/common'
import { ManageLogger } from '../utils/logger' import { ManageLogger } from '~/manage/utils/logger'
import UpDownTaskQueue, { commonTaskStatus } from '~/manage/datastore/upDownTaskQueue'
import { isImage } from '@/manage/utils/common'
import { IWindowList } from '#/types/enum'
class SmmsApi { class SmmsApi {
baseUrl = 'https://smms.app/api/v2' baseUrl = 'https://smms.app/api/v2'

View File

@ -1,39 +1,21 @@
// 腾讯云 COS SDK
import COS from 'cos-nodejs-sdk-v5' import COS from 'cos-nodejs-sdk-v5'
import { ipcMain, IpcMainEvent } from 'electron'
// 文件系统库
import fs from 'fs-extra' import fs from 'fs-extra'
// 路径处理库
import path from 'path' import path from 'path'
// 是否为图片的判断函数
import { isImage } from '~/renderer/manage/utils/common'
// URL 编码处理函数
import { handleUrlEncode } from '~/universal/utils/common'
// 窗口管理器
import windowManager from 'apis/app/window/windowManager' import windowManager from 'apis/app/window/windowManager'
// 枚举类型声明 import { formatError, getFileMimeType } from '~/manage/utils/common'
import { IWindowList } from '#/types/enum' import { ManageLogger } from '~/manage/utils/logger'
import UpDownTaskQueue, { uploadTaskSpecialStatus, commonTaskStatus, downloadTaskSpecialStatus } from '~/manage/datastore/upDownTaskQueue'
// Electron 相关 import { isImage } from '@/manage/utils/common'
import { ipcMain, IpcMainEvent } from 'electron'
// 错误格式化函数、获取文件 MIME 类型
import { formatError, getFileMimeType } from '../utils/common'
// 上传下载任务队列
import UpDownTaskQueue, { uploadTaskSpecialStatus, commonTaskStatus, downloadTaskSpecialStatus } from '../datastore/upDownTaskQueue'
// 日志记录器
import { ManageLogger } from '../utils/logger'
// 取消下载任务的加载文件列表、刷新下载文件传输列表
import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static' import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static'
import { handleUrlEncode } from '#/utils/common'
import { IWindowList } from '#/types/enum'
class TcyunApi { class TcyunApi {
ctx: COS ctx: COS
logger: ManageLogger logger: ManageLogger

View File

@ -1,41 +1,21 @@
import axios from 'axios'
import { ipcMain, IpcMainEvent } from 'electron'
import FormData from 'form-data'
import fs from 'fs-extra'
import path from 'path'
import Upyun from 'upyun' import Upyun from 'upyun'
// 加密函数、获取文件 MIME 类型、新的下载器、got 上传函数、并发异步任务池、错误格式化函数
import { md5, hmacSha1Base64, getFileMimeType, NewDownloader, gotUpload, ConcurrencyPromisePool, formatError } from '../utils/common'
// 是否为图片的判断函数
import { isImage } from '~/renderer/manage/utils/common'
// 窗口管理器
import windowManager from 'apis/app/window/windowManager' import windowManager from 'apis/app/window/windowManager'
// 枚举类型声明 import { md5, hmacSha1Base64, getFileMimeType, NewDownloader, gotUpload, ConcurrencyPromisePool, formatError } from '~/manage/utils/common'
import { IWindowList } from '#/types/enum' import { ManageLogger } from '~/manage/utils/logger'
import UpDownTaskQueue, { commonTaskStatus } from '~/manage/datastore/upDownTaskQueue'
// Electron 相关 import { isImage } from '@/manage/utils/common'
import { ipcMain, IpcMainEvent } from 'electron'
// Axios
import axios from 'axios'
// 表单数据库
import FormData from 'form-data'
// 文件系统库
import fs from 'fs-extra'
// 路径处理库
import path from 'path'
// 上传下载任务队列
import UpDownTaskQueue, { commonTaskStatus } from '../datastore/upDownTaskQueue'
// 日志记录器
import { ManageLogger } from '../utils/logger'
// 取消下载任务的加载文件列表、刷新下载文件传输列表
import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static' import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static'
import { IWindowList } from '#/types/enum'
class UpyunApi { class UpyunApi {
ser: Upyun.Service ser: Upyun.Service
cli: Upyun.Client cli: Upyun.Client

View File

@ -1,40 +1,21 @@
// 日志记录器 import { ipcMain, IpcMainEvent } from 'electron'
import ManageLogger from '../utils/logger' import fs from 'fs-extra'
// WebDAV 客户端库
import { createClient, WebDAVClient, FileStat, ProgressEvent, AuthType, WebDAVClientOptions } from 'webdav'
// 错误格式化函数、端点地址格式化函数、获取内部代理、新的下载器、并发异步任务池
import { formatError, formatEndpoint, getInnerAgent, NewDownloader, ConcurrencyPromisePool } from '../utils/common'
// HTTP 代理格式化函数、是否为图片的判断函数
import { formatHttpProxy, isImage } from '@/manage/utils/common'
// HTTP 和 HTTPS 模块
import http from 'http' import http from 'http'
import https from 'https' import https from 'https'
import path from 'path'
import { createClient, WebDAVClient, FileStat, ProgressEvent, AuthType, WebDAVClientOptions } from 'webdav'
// 窗口管理器
import windowManager from 'apis/app/window/windowManager' import windowManager from 'apis/app/window/windowManager'
// 枚举类型声明 import UpDownTaskQueue, { uploadTaskSpecialStatus, commonTaskStatus } from '~/manage/datastore/upDownTaskQueue'
import { IWindowList } from '#/types/enum' import { formatError, formatEndpoint, getInnerAgent, NewDownloader, ConcurrencyPromisePool } from '~/manage/utils/common'
import ManageLogger from '~/manage/utils/logger'
// Electron 相关 import { formatHttpProxy, isImage } from '@/manage/utils/common'
import { ipcMain, IpcMainEvent } from 'electron'
// 上传下载任务队列
import UpDownTaskQueue, { uploadTaskSpecialStatus, commonTaskStatus } from '../datastore/upDownTaskQueue'
// 文件系统库
import fs from 'fs-extra'
// 路径处理库
import path from 'path'
// 取消下载任务的加载文件列表、刷新下载文件传输列表
import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static'
import { getAuthHeader } from '@/manage/utils/digestAuth' import { getAuthHeader } from '@/manage/utils/digestAuth'
import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static'
import { IWindowList } from '#/types/enum'
class WebdavplistApi { class WebdavplistApi {
endpoint: string endpoint: string

View File

@ -1,7 +1,7 @@
/* eslint-disable */
import { JSONStore } from '@picgo/store' import { JSONStore } from '@picgo/store'
import { IJSON } from '@picgo/store/dist/types' import { IJSON } from '@picgo/store/dist/types'
import { ManageApiType, ManageConfigType } from '~/universal/types/manage'
import { ManageApiType, ManageConfigType } from '#/types/manage'
class ManageDB { class ManageDB {
readonly #ctx: ManageApiType readonly #ctx: ManageApiType
@ -9,11 +9,11 @@ class ManageDB {
constructor (ctx: ManageApiType) { constructor (ctx: ManageApiType) {
this.#ctx = ctx this.#ctx = ctx
this.#db = new JSONStore(this.#ctx.configPath) this.#db = new JSONStore(this.#ctx.configPath)
let initParams: IStringKeyMap = { const initParams: IStringKeyMap = {
picBed: {}, picBed: {},
settings: {} settings: {}
} }
for (let key in initParams) { for (const key in initParams) {
if (!this.#db.has(key)) { if (!this.#db.has(key)) {
try { try {
this.#db.set(key, initParams[key]) this.#db.set(key, initParams[key])

View File

@ -1,10 +1,12 @@
import fs from 'fs-extra'
import writeFile from 'write-file-atomic'
import path from 'path'
import { app } from 'electron'
import { getLogger } from '@core/utils/localLogger'
import dayjs from 'dayjs' import dayjs from 'dayjs'
import { T } from '~/main/i18n' import { app } from 'electron'
import fs from 'fs-extra'
import path from 'path'
import writeFile from 'write-file-atomic'
import { getLogger } from '@core/utils/localLogger'
import { T } from '~/i18n'
const STORE_PATH = app.getPath('userData') const STORE_PATH = app.getPath('userData')
const manageConfigFilePath = path.join(STORE_PATH, 'manage.json') const manageConfigFilePath = path.join(STORE_PATH, 'manage.json')

View File

@ -1,9 +1,10 @@
// a singleton class to manage the up/down task queue // a singleton class to manage the up/down task queue
// qiniu tcyun aliyun smms imgur github upyun // qiniu tcyun aliyun smms imgur github upyun
import path from 'path'
import { app } from 'electron' import { app } from 'electron'
import fs from 'fs-extra' import fs from 'fs-extra'
import path from 'path'
export enum commonTaskStatus { export enum commonTaskStatus {
queuing = 'queuing', queuing = 'queuing',
failed = 'failed', failed = 'failed',

View File

@ -1,3 +1,3 @@
export const PICLIST_MANAGE_GET_CONFIG = 'PICLIST_MANAGE_GET_CONFIG' export const PICLIST_MANAGE_GET_CONFIG = 'PICLIST_MANAGE_GET_CONFIG'
export const PICLIST_MANAGE_SAVE_CONFIG = 'PICLIST_MANAGE_SAVE_CONFIG'
export const PICLIST_MANAGE_REMOVE_CONFIG = 'PICLIST_MANAGE_REMOVE_CONFIG' export const PICLIST_MANAGE_REMOVE_CONFIG = 'PICLIST_MANAGE_REMOVE_CONFIG'
export const PICLIST_MANAGE_SAVE_CONFIG = 'PICLIST_MANAGE_SAVE_CONFIG'

View File

@ -1,10 +1,12 @@
import manageCoreIPC from './manageCoreIPC'
import { ManageApi } from '../manageApi'
import { ipcMain, IpcMainInvokeEvent, dialog, app, shell } from 'electron' import { ipcMain, IpcMainInvokeEvent, dialog, app, shell } from 'electron'
import UpDownTaskQueue from '../datastore/upDownTaskQueue'
import { downloadFileFromUrl } from '../utils/common'
import path from 'path'
import fs from 'fs-extra' import fs from 'fs-extra'
import path from 'path'
import UpDownTaskQueue from '~/manage/datastore/upDownTaskQueue'
import manageCoreIPC from '~/manage/events/manageCoreIPC'
import { ManageApi } from '~/manage/manageApi'
import { downloadFileFromUrl } from '~/manage/utils/common'
import { selectDownloadFolder } from '@/manage/utils/static' import { selectDownloadFolder } from '@/manage/utils/static'
export const manageIpcList = { export const manageIpcList = {

View File

@ -2,8 +2,9 @@ import {
IpcMainEvent, IpcMainEvent,
ipcMain ipcMain
} from 'electron' } from 'electron'
import getManageApi from '../Main'
import { PICLIST_MANAGE_GET_CONFIG, PICLIST_MANAGE_SAVE_CONFIG, PICLIST_MANAGE_REMOVE_CONFIG } from './constants' import getManageApi from '~/manage/Main'
import { PICLIST_MANAGE_GET_CONFIG, PICLIST_MANAGE_SAVE_CONFIG, PICLIST_MANAGE_REMOVE_CONFIG } from '~/manage/events/constants'
const manageApi = getManageApi() const manageApi = getManageApi()

View File

@ -1,24 +1,28 @@
import fs from 'fs-extra' import { ipcMain } from 'electron'
import path from 'path'
import { EventEmitter } from 'events' import { EventEmitter } from 'events'
import { managePathChecker } from './datastore/dbChecker' import fs from 'fs-extra'
import { get, set, unset } from 'lodash'
import { homedir } from 'os'
import path from 'path'
import windowManager from 'apis/app/window/windowManager'
import API from '~/manage/apis/api'
import ManageDB from '~/manage/datastore/db'
import { managePathChecker } from '~/manage/datastore/dbChecker'
import { isInputConfigValid, formatError } from '~/manage/utils/common'
import { ManageLogger } from '~/manage/utils/logger'
import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static'
import { IWindowList } from '#/types/enum'
import { import {
ManageApiType, ManageApiType,
ManageConfigType, ManageConfigType,
ManageError, ManageError,
PicBedMangeConfig PicBedMangeConfig
} from '~/universal/types/manage' } from '#/types/manage'
import ManageDB from './datastore/db'
import { ManageLogger } from './utils/logger'
import { get, set, unset } from 'lodash'
import { homedir } from 'os'
import { isInputConfigValid, formatError } from './utils/common'
import API from './apis/api'
import windowManager from 'apis/app/window/windowManager'
import { IWindowList } from '#/types/enum'
import { ipcMain } from 'electron'
import { cancelDownloadLoadingFileList, refreshDownloadFileTransferList } from '@/manage/utils/static'
export class ManageApi extends EventEmitter implements ManageApiType { export class ManageApi extends EventEmitter implements ManageApiType {
private _config!: Partial<ManageConfigType> private _config!: Partial<ManageConfigType>

View File

@ -1,24 +1,26 @@
import fs from 'fs-extra'
import path from 'path'
import mime from 'mime-types'
import axios from 'axios' import axios from 'axios'
import { app } from 'electron'
import crypto from 'crypto' import crypto from 'crypto'
import { app } from 'electron'
import fs from 'fs-extra'
import got, { OptionsOfTextResponseBody, RequestError } from 'got' import got, { OptionsOfTextResponseBody, RequestError } from 'got'
import { HttpsProxyAgent, HttpProxyAgent } from 'hpagent'
import http from 'http'
import https from 'https'
import mime from 'mime-types'
import Downloader from 'nodejs-file-downloader'
import path from 'path'
import { Stream } from 'stream' import { Stream } from 'stream'
import { promisify } from 'util' import { promisify } from 'util'
import UpDownTaskQueue, import UpDownTaskQueue,
{ {
uploadTaskSpecialStatus, uploadTaskSpecialStatus,
commonTaskStatus, commonTaskStatus,
downloadTaskSpecialStatus downloadTaskSpecialStatus
} from '../datastore/upDownTaskQueue' } from '~/manage/datastore/upDownTaskQueue'
import { ManageLogger } from '../utils/logger' import { ManageLogger } from '~/manage/utils/logger'
import { formatHttpProxy, IHTTPProxy } from '@/manage/utils/common' import { formatHttpProxy, IHTTPProxy } from '@/manage/utils/common'
import { HttpsProxyAgent, HttpProxyAgent } from 'hpagent'
import http from 'http'
import https from 'https'
import Downloader from 'nodejs-file-downloader'
export const getFSFile = async ( export const getFSFile = async (
filePath: string, filePath: string,

View File

@ -1,6 +1,7 @@
import axios from 'axios' import axios from 'axios'
import crypto from 'crypto' import crypto from 'crypto'
import querystring from 'querystring' import querystring from 'querystring'
import picgo from '@core/picgo' import picgo from '@core/picgo'
export interface DogecloudToken { export interface DogecloudToken {

View File

@ -2,12 +2,13 @@ import chalk from 'chalk'
import dayjs from 'dayjs' import dayjs from 'dayjs'
import fs from 'fs-extra' import fs from 'fs-extra'
import path from 'path' import path from 'path'
import util from 'util'
import { ILogType } from '#/types/enum'
import { ILogColor, ILogger } from 'piclist/dist/types' import { ILogColor, ILogger } from 'piclist/dist/types'
import { ManageApiType, Undefinable } from '~/universal/types/manage' import util from 'util'
import { ILogType } from '#/types/enum'
import { ManageApiType, Undefinable } from '#/types/manage'
import { enforceNumber, isDev } from '#/utils/common' import { enforceNumber, isDev } from '#/utils/common'
import { configPaths } from '~/universal/utils/configPaths' import { configPaths } from '#/utils/configPaths'
export class ManageLogger implements ILogger { export class ManageLogger implements ILogger {
readonly #level = { readonly #level = {

View File

@ -1,17 +1,20 @@
import axios from 'axios'
import { app } from 'electron'
import fs from 'fs-extra'
import http from 'http' import http from 'http'
import routers from './routerManager' import multer from 'multer'
import path from 'path'
import picgo from '@core/picgo'
import logger from '@core/picgo/logger'
import routers from '~/server/routerManager'
import { import {
handleResponse, handleResponse,
ensureHTTPLink ensureHTTPLink
} from './utils' } from '~/server/utils'
import picgo from '@core/picgo'
import logger from '@core/picgo/logger' import { configPaths } from '#/utils/configPaths'
import axios from 'axios'
import multer from 'multer'
import { app } from 'electron'
import path from 'path'
import fs from 'fs-extra'
import { configPaths } from '~/universal/utils/configPaths'
const DEFAULT_PORT = 36677 const DEFAULT_PORT = 36677
const DEFAULT_HOST = '0.0.0.0' const DEFAULT_HOST = '0.0.0.0'

View File

@ -1,21 +1,26 @@
import router from './router'
import {
handleResponse
} from './utils'
import logger from '@core/picgo/logger'
import windowManager from 'apis/app/window/windowManager'
import { uploadChoosedFiles, uploadClipboardFiles, deleteChoosedFiles } from 'apis/app/uploader/apis'
import path from 'path'
import { dbPathDir } from 'apis/core/datastore/dbChecker'
import picgo from '@core/picgo'
import { changeCurrentUploader } from '../utils/handleUploaderConfig'
import { app } from 'electron' import { app } from 'electron'
import fs from 'fs-extra' import fs from 'fs-extra'
import { AESHelper } from '../utils/aesHelper'
import { marked } from 'marked'
import { markdownContent } from './apiDoc'
import http from 'http' import http from 'http'
import { configPaths } from '~/universal/utils/configPaths' import { marked } from 'marked'
import path from 'path'
import { dbPathDir } from '@core/datastore/dbChecker'
import picgo from '@core/picgo'
import logger from '@core/picgo/logger'
import { AESHelper } from '~/utils/aesHelper'
import { changeCurrentUploader } from '~/utils/handleUploaderConfig'
import { uploadChoosedFiles, uploadClipboardFiles, deleteChoosedFiles } from 'apis/app/uploader/apis'
import windowManager from 'apis/app/window/windowManager'
import { markdownContent } from '~/server/apiDoc'
import router from '~/server/router'
import {
handleResponse
} from '~/server/utils'
import { configPaths } from '#/utils/configPaths'
const appPath = app.getPath('userData') const appPath = app.getPath('userData')
const serverTempDir = path.join(appPath, 'serverTemp') const serverTempDir = path.join(appPath, 'serverTemp')

View File

@ -1,10 +1,12 @@
import http from 'http'
import fs from 'fs-extra' import fs from 'fs-extra'
import http from 'http'
import path from 'path' import path from 'path'
import picgo from '@core/picgo' import picgo from '@core/picgo'
import logger from '../../apis/core/picgo/logger' import logger from '@core/picgo/logger'
import { encodeFilePath } from '~/universal/utils/common'
import { configPaths } from '~/universal/utils/configPaths' import { encodeFilePath } from '#/utils/common'
import { configPaths } from '#/utils/configPaths'
const defaultPath = process.platform === 'win32' ? 'C:\\Users' : '/' const defaultPath = process.platform === 'win32' ? 'C:\\Users' : '/'

View File

@ -1,7 +1,9 @@
import crypto from 'crypto' import crypto from 'crypto'
import picgo from '@core/picgo' import picgo from '@core/picgo'
import { DEFAULT_AES_PASSWORD } from '~/universal/utils/static'
import { configPaths } from '~/universal/utils/configPaths' import { configPaths } from '#/utils/configPaths'
import { DEFAULT_AES_PASSWORD } from '#/utils/static'
export class AESHelper { export class AESHelper {
key: Buffer key: Buffer

View File

@ -1,9 +1,11 @@
import fs from 'fs-extra' import fs from 'fs-extra'
import yaml from 'js-yaml'
import path from 'path' import path from 'path'
import os from 'os' import os from 'os'
import { dbPathChecker } from 'apis/core/datastore/dbChecker'
import yaml from 'js-yaml' import { dbPathChecker } from '@core/datastore/dbChecker'
import { i18nManager } from '~/main/i18n'
import { i18nManager } from '~/i18n'
const configPath = dbPathChecker() const configPath = dbPathChecker()
const CONFIG_DIR = path.dirname(configPath) const CONFIG_DIR = path.dirname(configPath)

View File

@ -1,7 +1,8 @@
import crypto from 'crypto'
import { clipboard } from 'electron' import { clipboard } from 'electron'
import { EventEmitter } from 'events' import { EventEmitter } from 'events'
import crypto from 'crypto'
import logger from '../apis/core/picgo/logger' import logger from '@core/picgo/logger'
class ClipboardWatcher extends EventEmitter { class ClipboardWatcher extends EventEmitter {
timer: NodeJS.Timeout | null timer: NodeJS.Timeout | null

View File

@ -1,12 +1,14 @@
import fs from 'fs-extra'
import db from '~/main/apis/core/datastore'
import { clipboard, Notification, dialog, Tray } from 'electron'
import { handleUrlEncode } from '~/universal/utils/common'
import axios from 'axios' import axios from 'axios'
import { clipboard, Notification, dialog, Tray } from 'electron'
import FormData from 'form-data' import FormData from 'form-data'
import logger from '../apis/core/picgo/logger' import fs from 'fs-extra'
import { configPaths } from '~/universal/utils/configPaths'
import { IShortUrlServer } from '~/universal/types/enum' import db from '@core/datastore'
import logger from '@core/picgo/logger'
import { IShortUrlServer } from '#/types/enum'
import { handleUrlEncode } from '#/utils/common'
import { configPaths } from '#/utils/configPaths'
export let tray: Tray export let tray: Tray

View File

@ -1,11 +1,12 @@
import { S3Client, DeleteObjectCommand, S3ClientConfig } from '@aws-sdk/client-s3'
import { NodeHttpHandler } from '@smithy/node-http-handler'
import http, { AgentOptions } from 'http'
import https from 'https'
import { getAgent } from '../manage/utils/common'
import axios from 'axios' import axios from 'axios'
import crypto from 'crypto' import crypto from 'crypto'
import http, { AgentOptions } from 'http'
import https from 'https'
import querystring from 'querystring' import querystring from 'querystring'
import { S3Client, DeleteObjectCommand, S3ClientConfig } from '@aws-sdk/client-s3'
import { NodeHttpHandler } from '@smithy/node-http-handler'
import { getAgent } from '~/manage/utils/common'
interface DogecloudTokenFull { interface DogecloudTokenFull {
Credentials: { Credentials: {

View File

@ -1,7 +1,8 @@
// fork from https://github.com/sindresorhus/macos-version // fork from https://github.com/sindresorhus/macos-version
// cause I can't change it to common-js module // cause I can't change it to common-js module
import process from 'process'
import fs from 'fs' import fs from 'fs'
import process from 'process'
import semver from 'semver' import semver from 'semver'
export const isMacOS = process.platform === 'darwin' export const isMacOS = process.platform === 'darwin'

View File

@ -1,5 +1,5 @@
import picgo from '@core/picgo' import picgo from '@core/picgo'
import { configPaths } from '~/universal/utils/configPaths' import { configPaths } from '#/utils/configPaths'
const getPicBeds = () => { const getPicBeds = () => {
const picBedTypes = picgo.helper.uploader.getIdList() const picBedTypes = picgo.helper.uploader.getIdList()

View File

@ -1,7 +1,9 @@
import path from 'path'
import fs from 'fs-extra' import fs from 'fs-extra'
import path from 'path'
import { Logger } from 'piclist' import { Logger } from 'piclist'
import { isUrl } from '~/universal/utils/common'
import { isUrl } from '#/utils/common'
interface IResultFileObject { interface IResultFileObject {
path: string path: string
} }

View File

@ -1,7 +1,9 @@
import db from '~/main/apis/core/datastore' import db from '@core/datastore'
import { i18nManager } from '~/main/i18n'
import { II18nLanguage } from '~/universal/types/enum' import { i18nManager } from '~/i18n'
import { configPaths } from '~/universal/utils/configPaths'
import { II18nLanguage } from '#/types/enum'
import { configPaths } from '#/utils/configPaths'
export const initI18n = () => { export const initI18n = () => {
const currentLanguage = db.get(configPaths.settings.language) || II18nLanguage.ZH_CN const currentLanguage = db.get(configPaths.settings.language) || II18nLanguage.ZH_CN

View File

@ -1,8 +1,11 @@
import { v4 as uuid } from 'uuid' import { v4 as uuid } from 'uuid'
import { trimValues } from '#/utils/common'
import picgo from '@core/picgo' import picgo from '@core/picgo'
import { configPaths } from '~/universal/utils/configPaths'
import { setTrayToolTip } from './common' import { setTrayToolTip } from '~/utils/common'
import { trimValues } from '#/utils/common'
import { configPaths } from '#/utils/configPaths'
export const handleConfigWithFunction = (config: IPicGoPluginOriginConfig[]): IPicGoPluginConfig[] => { export const handleConfigWithFunction = (config: IPicGoPluginOriginConfig[]): IPicGoPluginConfig[] => {
for (const i in config) { for (const i in config) {

View File

@ -1,8 +1,9 @@
import db from '@core/datastore'
import { generateShortUrl, handleUrlEncodeWithSetting } from '~/utils/common'
import { IPasteStyle } from '#/types/enum' import { IPasteStyle } from '#/types/enum'
import { generateShortUrl } from '~/main/utils/common' import { configPaths } from '#/utils/configPaths'
import db from '~/main/apis/core/datastore'
import { handleUrlEncodeWithSetting } from './common'
import { configPaths } from '~/universal/utils/configPaths'
export const formatCustomLink = (customLink: string, item: ImgInfo) => { export const formatCustomLink = (customLink: string, item: ImgInfo) => {
const fileName = item.fileName!.replace(new RegExp(`\\${item.extname}$`), '') const fileName = item.fileName!.replace(new RegExp(`\\${item.extname}$`), '')

View File

@ -1,9 +1,9 @@
// @ts-nocheck // @ts-nocheck
import fs from 'fs-extra'
import { NodeSSH, Config, SSHExecCommandResponse } from 'node-ssh-no-cpu-features' import { NodeSSH, Config, SSHExecCommandResponse } from 'node-ssh-no-cpu-features'
import path from 'path' import path from 'path'
import { ISftpPlistConfig } from 'piclist/dist/types' import { ISftpPlistConfig } from 'piclist/dist/types'
import { Client } from 'ssh2-no-cpu-features' import { Client } from 'ssh2-no-cpu-features'
import fs from 'fs-extra'
class SSHClient { class SSHClient {
// eslint-disable-next-line no-use-before-define // eslint-disable-next-line no-use-before-define

View File

@ -1,12 +1,14 @@
import axios from 'axios'
import { app } from 'electron' import { app } from 'electron'
import fs from 'fs-extra' import fs from 'fs-extra'
import path from 'path'
import axios from 'axios'
import db from '~/main/apis/core/datastore'
import { HttpsProxyAgent } from 'hpagent' import { HttpsProxyAgent } from 'hpagent'
import path from 'path'
import { Octokit } from '@octokit/rest' import { Octokit } from '@octokit/rest'
import logger from 'apis/core/picgo/logger'
import { configPaths } from '~/universal/utils/configPaths' import db from '@core/datastore'
import logger from '@core/picgo/logger'
import { configPaths } from '#/utils/configPaths'
const STORE_PATH = app.getPath('userData') const STORE_PATH = app.getPath('userData')

View File

@ -1,6 +1,8 @@
import db from '~/main/apis/core/datastore'
import { autoUpdater } from 'electron-updater' import { autoUpdater } from 'electron-updater'
import { configPaths } from '~/universal/utils/configPaths'
import db from '@core/datastore'
import { configPaths } from '#/utils/configPaths'
const updateChecker = async () => { const updateChecker = async () => {
let showTip = db.get(configPaths.settings.showUpdateTip) let showTip = db.get(configPaths.settings.showUpdateTip)

View File

@ -6,12 +6,14 @@
<script lang="ts" setup> <script lang="ts" setup>
import { useStore } from '@/hooks/useStore' import { useStore } from '@/hooks/useStore'
import { onBeforeMount, onMounted, onUnmounted } from 'vue'
import { getConfig } from './utils/dataSender'
import type { IConfig } from 'piclist' import type { IConfig } from 'piclist'
import bus from './utils/bus' import { onBeforeMount, onMounted, onUnmounted } from 'vue'
import { FORCE_UPDATE } from '~/universal/events/constants'
import { useATagClick } from './hooks/useATagClick' import { useATagClick } from '@/hooks/useATagClick'
import bus from '@/utils/bus'
import { getConfig } from '@/utils/dataSender'
import { FORCE_UPDATE } from '#/events/constants'
useATagClick() useATagClick()
const store = useStore() const store = useStore()

View File

@ -1,7 +1,8 @@
import { deleteFailedLog, deleteLog } from '@/utils/common'
import axios from 'axios' import axios from 'axios'
import path from 'path' import path from 'path'
import { deleteFailedLog, deleteLog } from '@/utils/common'
interface IConfigMap { interface IConfigMap {
fileName: string fileName: string
config: { config: {

View File

@ -1,6 +1,7 @@
import { deleteFailedLog, deleteLog } from '@/utils/common'
import OSS from 'ali-oss' import OSS from 'ali-oss'
import { deleteFailedLog, deleteLog } from '@/utils/common'
interface IConfigMap { interface IConfigMap {
fileName: string fileName: string
config: PartialKeys<IAliYunConfig, 'path'> config: PartialKeys<IAliYunConfig, 'path'>

View File

@ -1,38 +1,38 @@
import AliyunApi from './aliyun' import AlistApi from '@/apis/alist'
import AwsS3Api from './awss3' import AliyunApi from '@/apis/aliyun'
import GithubApi from './github' import AwsS3Api from '@/apis/awss3'
import ImgurApi from './imgur' import DogeCloudApi from '@/apis/dogecloud'
import LocalApi from './local' import GithubApi from '@/apis/github'
import QiniuApi from './qiniu' import HuaweicloudApi from '@/apis/huaweiyun'
import SftpPlistApi from './sftpplist' import ImgurApi from '@/apis/imgur'
import SmmsApi from './smms' import LocalApi from '@/apis/local'
import TcyunApi from './tcyun' import LskyplistApi from '@/apis/lskyplist'
import UpyunApi from './upyun' import PiclistApi from '@/apis/piclist'
import WebdavApi from './webdav' import QiniuApi from '@/apis/qiniu'
import DogeCloudApi from './dogecloud' import SftpPlistApi from '@/apis/sftpplist'
import HuaweicloudApi from './huaweiyun' import SmmsApi from '@/apis/smms'
import AlistApi from './alist' import TcyunApi from '@/apis/tcyun'
import PiclistApi from './piclist' import UpyunApi from '@/apis/upyun'
import LskyplistApi from './lskyplist' import WebdavApi from '@/apis/webdav'
const apiMap: IStringKeyMap = { const apiMap: IStringKeyMap = {
alist: AlistApi,
aliyun: AliyunApi, aliyun: AliyunApi,
'aws-s3': AwsS3Api, 'aws-s3': AwsS3Api,
'aws-s3-plist': AwsS3Api, 'aws-s3-plist': AwsS3Api,
dogecloud: DogeCloudApi,
github: GithubApi, github: GithubApi,
'huaweicloud-uploader': HuaweicloudApi,
imgur: ImgurApi, imgur: ImgurApi,
local: LocalApi, local: LocalApi,
lskyplist: LskyplistApi,
piclist: PiclistApi,
qiniu: QiniuApi, qiniu: QiniuApi,
sftpplist: SftpPlistApi, sftpplist: SftpPlistApi,
smms: SmmsApi, smms: SmmsApi,
tcyun: TcyunApi, tcyun: TcyunApi,
upyun: UpyunApi, upyun: UpyunApi,
webdavplist: WebdavApi, webdavplist: WebdavApi
dogecloud: DogeCloudApi,
'huaweicloud-uploader': HuaweicloudApi,
alist: AlistApi,
piclist: PiclistApi,
lskyplist: LskyplistApi
} }
export default class ALLApi { export default class ALLApi {

View File

@ -1,6 +1,7 @@
import { ipcRenderer } from 'electron' import { ipcRenderer } from 'electron'
import { deleteFailedLog, getRawData } from '~/renderer/utils/common'
import { removeFileFromS3InMain } from '~/main/utils/deleteFunc' import { deleteFailedLog, getRawData } from '@/utils/common'
import { removeFileFromS3InMain } from '~/utils/deleteFunc'
export default class AwsS3Api { export default class AwsS3Api {
static async delete (configMap: IStringKeyMap): Promise<boolean> { static async delete (configMap: IStringKeyMap): Promise<boolean> {

View File

@ -1,6 +1,7 @@
import { ipcRenderer } from 'electron' import { ipcRenderer } from 'electron'
import { deleteFailedLog, getRawData } from '~/renderer/utils/common'
import { removeFileFromDogeInMain } from '~/main/utils/deleteFunc' import { deleteFailedLog, getRawData } from '@/utils/common'
import { removeFileFromDogeInMain } from '~/utils/deleteFunc'
export default class AwsS3Api { export default class AwsS3Api {
static async delete (configMap: IStringKeyMap): Promise<boolean> { static async delete (configMap: IStringKeyMap): Promise<boolean> {

View File

@ -1,6 +1,7 @@
import { deleteFailedLog, deleteLog } from '@/utils/common'
import { Octokit } from '@octokit/rest' import { Octokit } from '@octokit/rest'
import { deleteFailedLog, deleteLog } from '@/utils/common'
interface IConfigMap { interface IConfigMap {
fileName: string fileName: string
hash: string hash: string

View File

@ -1,6 +1,7 @@
import { ipcRenderer } from 'electron' import { ipcRenderer } from 'electron'
import { deleteFailedLog, getRawData } from '~/renderer/utils/common'
import { removeFileFromHuaweiInMain } from '~/main/utils/deleteFunc' import { deleteFailedLog, getRawData } from '@/utils/common'
import { removeFileFromHuaweiInMain } from '~/utils/deleteFunc'
export default class HuaweicloudApi { export default class HuaweicloudApi {
static async delete (configMap: IStringKeyMap): Promise<boolean> { static async delete (configMap: IStringKeyMap): Promise<boolean> {

View File

@ -1,6 +1,7 @@
import { deleteFailedLog, deleteLog } from '@/utils/common'
import axios, { AxiosResponse } from 'axios' import axios, { AxiosResponse } from 'axios'
import { deleteFailedLog, deleteLog } from '@/utils/common'
interface IConfigMap { interface IConfigMap {
config?: Partial<IImgurConfig> config?: Partial<IImgurConfig>
hash?: string hash?: string

View File

@ -1,6 +1,7 @@
import { deleteFailedLog, deleteLog } from '@/utils/common'
import fs from 'fs-extra' import fs from 'fs-extra'
import { deleteFailedLog, deleteLog } from '@/utils/common'
interface IConfigMap { interface IConfigMap {
hash: string hash: string
} }

View File

@ -1,7 +1,8 @@
import { deleteFailedLog, deleteLog } from '@/utils/common'
import axios, { AxiosResponse } from 'axios' import axios, { AxiosResponse } from 'axios'
import https from 'https' import https from 'https'
import { deleteFailedLog, deleteLog } from '@/utils/common'
export default class LskyplistApi { export default class LskyplistApi {
static async delete (configMap: IStringKeyMap): Promise<boolean> { static async delete (configMap: IStringKeyMap): Promise<boolean> {
const { hash, config } = configMap const { hash, config } = configMap

View File

@ -1,6 +1,7 @@
import { deleteFailedLog, deleteLog } from '@/utils/common'
import axios, { AxiosResponse } from 'axios' import axios, { AxiosResponse } from 'axios'
import { deleteFailedLog, deleteLog } from '@/utils/common'
export default class PiclistApi { export default class PiclistApi {
static async delete (configMap: IStringKeyMap): Promise<boolean> { static async delete (configMap: IStringKeyMap): Promise<boolean> {
const { config, fullResult } = configMap const { config, fullResult } = configMap

View File

@ -1,6 +1,7 @@
import { deleteFailedLog, deleteLog } from '@/utils/common'
import Qiniu from 'qiniu' import Qiniu from 'qiniu'
import { deleteFailedLog, deleteLog } from '@/utils/common'
interface IConfigMap { interface IConfigMap {
fileName: string fileName: string
config: PartialKeys<IQiniuConfig, 'path'> config: PartialKeys<IQiniuConfig, 'path'>

View File

@ -1,5 +1,6 @@
import { ipcRenderer } from 'electron' import { ipcRenderer } from 'electron'
import { deleteFailedLog, getRawData } from '~/renderer/utils/common'
import { deleteFailedLog, getRawData } from '@/utils/common'
export default class SftpPlistApi { export default class SftpPlistApi {
static async delete (configMap: IStringKeyMap): Promise<boolean> { static async delete (configMap: IStringKeyMap): Promise<boolean> {

View File

@ -1,6 +1,7 @@
import { deleteFailedLog, deleteLog } from '@/utils/common'
import axios, { AxiosResponse } from 'axios' import axios, { AxiosResponse } from 'axios'
import { deleteFailedLog, deleteLog } from '@/utils/common'
interface IConfigMap { interface IConfigMap {
hash?: string hash?: string
config?: Partial<ISMMSConfig> config?: Partial<ISMMSConfig>

View File

@ -1,6 +1,7 @@
import { deleteFailedLog, deleteLog } from '@/utils/common'
import COS from 'cos-nodejs-sdk-v5' import COS from 'cos-nodejs-sdk-v5'
import { deleteFailedLog, deleteLog } from '@/utils/common'
interface IConfigMap { interface IConfigMap {
fileName: string fileName: string
config: PartialKeys<ITcYunConfig, 'path'> config: PartialKeys<ITcYunConfig, 'path'>

View File

@ -1,6 +1,7 @@
import { deleteFailedLog, deleteLog } from '@/utils/common'
import Upyun from 'upyun' import Upyun from 'upyun'
import { deleteFailedLog, deleteLog } from '@/utils/common'
interface IConfigMap { interface IConfigMap {
fileName: string fileName: string
config: PartialKeys<IUpYunConfig, 'path'> config: PartialKeys<IUpYunConfig, 'path'>

View File

@ -1,6 +1,8 @@
import { deleteFailedLog, deleteLog } from '@/utils/common'
import { AuthType, WebDAVClientOptions, createClient } from 'webdav' import { AuthType, WebDAVClientOptions, createClient } from 'webdav'
import { formatEndpoint } from '~/main/manage/utils/common'
import { deleteFailedLog, deleteLog } from '@/utils/common'
import { formatEndpoint } from '~/manage/utils/common'
interface IConfigMap { interface IConfigMap {
fileName: string fileName: string

View File

@ -99,14 +99,16 @@
</el-form> </el-form>
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { reactive, ref, watch, toRefs } from 'vue'
import { cloneDeep, union } from 'lodash'
import { getConfig } from '@/utils/dataSender'
import { useRoute } from 'vue-router'
import type { FormInstance } from 'element-plus' import type { FormInstance } from 'element-plus'
import { InfoFilled } from '@element-plus/icons-vue' import { cloneDeep, union } from 'lodash'
import { marked } from 'marked' import { marked } from 'marked'
import { reactive, ref, watch, toRefs } from 'vue'
import { useRoute } from 'vue-router'
import { InfoFilled } from '@element-plus/icons-vue'
import { getConfig } from '@/utils/dataSender'
interface IProps { interface IProps {
config: any[] config: any[]

View File

@ -76,11 +76,13 @@
</el-form> </el-form>
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { reactive, ref, watch } from 'vue'
import { cloneDeep, union } from 'lodash'
import { getConfig } from '@/utils/dataSender'
import type { FormInstance } from 'element-plus' import type { FormInstance } from 'element-plus'
import { cloneDeep, union } from 'lodash'
import { reactive, ref, watch } from 'vue'
import { getConfig } from '@/utils/dataSender'
import { T as $T } from '@/i18n' import { T as $T } from '@/i18n'
interface IProps { interface IProps {

View File

@ -22,12 +22,13 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { ref, onBeforeMount } from 'vue'
import { getFileIconPath } from '@/manage/utils/common'
import { Loading } from '@element-plus/icons-vue'
import fs from 'fs-extra' import fs from 'fs-extra'
import mime from 'mime-types' import mime from 'mime-types'
import path from 'path' import path from 'path'
import { ref, onBeforeMount } from 'vue'
import { Loading } from '@element-plus/icons-vue'
import { getFileIconPath } from '@/manage/utils/common'
const base64Image = ref('') const base64Image = ref('')
const props = defineProps<{ const props = defineProps<{

View File

@ -262,11 +262,12 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { T as $T } from '@/i18n/index'
import { IBuildInCompressOptions, IBuildInWaterMarkOptions } from 'piclist' import { IBuildInCompressOptions, IBuildInWaterMarkOptions } from 'piclist'
import { onBeforeMount, reactive, ref, toRaw } from 'vue' import { onBeforeMount, reactive, ref, toRaw } from 'vue'
import { T as $T } from '@/i18n/index'
import { getConfig, saveConfig } from '@/utils/dataSender' import { getConfig, saveConfig } from '@/utils/dataSender'
import { configPaths } from '~/universal/utils/configPaths' import { configPaths } from '#/utils/configPaths'
const imageProcessDialogVisible = defineModel<boolean>() const imageProcessDialogVisible = defineModel<boolean>()

View File

@ -21,10 +21,12 @@
<script lang="ts" setup> <script lang="ts" setup>
import { ref, onMounted, watch, computed } from 'vue' import { ref, onMounted, watch, computed } from 'vue'
import { getFileIconPath } from '@/manage/utils/common'
import { Loading } from '@element-plus/icons-vue' import { Loading } from '@element-plus/icons-vue'
import { getAuthHeader } from '@/manage/utils/digestAuth' import { getAuthHeader } from '@/manage/utils/digestAuth'
import { formatEndpoint } from '~/main/manage/utils/common' import { getFileIconPath } from '@/manage/utils/common'
import { formatEndpoint } from '~/manage/utils/common'
const base64Url = ref('') const base64Url = ref('')
const success = ref(false) const success = ref(false)

View File

@ -1,9 +1,11 @@
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
import { getFileIconPath } from '@/manage/utils/common'
import { Loading } from '@element-plus/icons-vue'
import { getAuthHeader } from '@/manage/utils/digestAuth'
import { formatEndpoint } from '~/main/manage/utils/common'
import { ElImage, ElIcon } from 'element-plus' import { ElImage, ElIcon } from 'element-plus'
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
import { Loading } from '@element-plus/icons-vue'
import { getFileIconPath } from '@/manage/utils/common'
import { getAuthHeader } from '@/manage/utils/digestAuth'
import { formatEndpoint } from '~/manage/utils/common'
export default defineComponent({ export default defineComponent({
props: { props: {

View File

@ -26,16 +26,19 @@
</template> </template>
</el-dialog> </el-dialog>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { ref, reactive, onBeforeUnmount, onBeforeMount } from 'vue'
import { ipcRenderer, IpcRendererEvent } from 'electron' import { ipcRenderer, IpcRendererEvent } from 'electron'
import { ref, reactive, onBeforeUnmount, onBeforeMount } from 'vue'
import { T as $T } from '@/i18n/index'
import $bus from '@/utils/bus'
import { sendToMain } from '@/utils/dataSender'
import { import {
SHOW_INPUT_BOX, SHOW_INPUT_BOX,
SHOW_INPUT_BOX_RESPONSE SHOW_INPUT_BOX_RESPONSE
} from '~/universal/events/constants' } from '#/events/constants'
import $bus from '@/utils/bus'
import { sendToMain } from '@/utils/dataSender'
import { T as $T } from '@/i18n/index'
const inputBoxValue = ref('') const inputBoxValue = ref('')
const showInputBoxVisible = ref(false) const showInputBoxVisible = ref(false)

View File

@ -9,8 +9,9 @@
</ElButton> </ElButton>
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { IToolboxItemCheckStatus } from '~/universal/types/enum' import { IToolboxItemCheckStatus } from '#/types/enum'
interface IProps { interface IProps {
status: IToolboxItemCheckStatus status: IToolboxItemCheckStatus

View File

@ -14,10 +14,12 @@
</template> </template>
</el-icon> </el-icon>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { CircleCloseFilled, Loading, SuccessFilled } from '@element-plus/icons-vue' import { CircleCloseFilled, Loading, SuccessFilled } from '@element-plus/icons-vue'
import { computed } from 'vue' import { computed } from 'vue'
import { IToolboxItemCheckStatus } from '~/universal/types/enum'
import { IToolboxItemCheckStatus } from '#/types/enum'
interface IProps { interface IProps {
status: IToolboxItemCheckStatus status: IToolboxItemCheckStatus

Some files were not shown because too many files have changed in this diff Show More