Skip to content

Commit

Permalink
feat: #319 PicGO图形化配置界面-PicGO相关操作统一访问入口
Browse files Browse the repository at this point in the history
  • Loading branch information
terwer committed Feb 7, 2023
1 parent aff2f81 commit bf8f3c6
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 39 deletions.
6 changes: 3 additions & 3 deletions composables/picgo/picgoUploadCom.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import { useI18n } from "vue-i18n"
import { LogFactory } from "~/utils/logUtil"
import { isInSiyuan } from "~/utils/platform/siyuan/siyuanUtil"
import { isInSiyuanNewWinBrowser } from "~/utils/otherlib/siyuanBrowserUtil"
import { uploadByPicGO } from "~/utils/otherlib/picgoUtil"
import picgoUtil from "~/utils/otherlib/picgoUtil"
import { isElectron } from "~/utils/browserUtil"
import { ImageItem } from "~/utils/models/imageItem"

Expand Down Expand Up @@ -144,7 +144,7 @@ export const usePicgoUpload = (props, deps, refs) => {
}
}

const imgInfos = await uploadByPicGO(filePaths)
const imgInfos = await picgoUtil.uploadByPicGO(filePaths)
// 处理后续
doAfterUpload(imgInfos)

Expand All @@ -164,7 +164,7 @@ export const usePicgoUpload = (props, deps, refs) => {
picgoCommonData.isUploadLoading = true

try {
const imgInfos = await uploadByPicGO()
const imgInfos = await picgoUtil.uploadByPicGO()
// 处理后续
doAfterUpload(imgInfos)

Expand Down
51 changes: 17 additions & 34 deletions utils/otherlib/picgoUtil.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2022, Terwer . All rights reserved.
* Copyright (c) 2022-2023, Terwer . All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
Expand All @@ -23,59 +23,42 @@
* questions.
*/

import { isInSiyuanNewWinBrowser } from "~/utils/otherlib/siyuanBrowserUtil"
import { PicGoUploadApi } from "~/utils/platform/picgo/picGoUploadApi"
import { isInSiyuanOrSiyuanNewWin } from "~/utils/platform/siyuan/siyuanUtil"

// Pico上传Api封装
const picGoUploadApi = new PicGoUploadApi()

/**
* 通过PicGO上传图片,主窗口
* @returns {Promise<void>}
*/
// export async function uploadQuickByPicGO() {
// const syWin = window.parent
// if (syWin.terwer && syWin.terwer.picGoUpload) {
// return syWin.terwer.picGoUpload()
// } else {
// ElMessage.warning(
// "uploadByPicGO失败,未找到hook方法,请在自定义js片段添加 import('/widgets/sy-post-publisher/lib/siyuanhook.js') ,并重启思源笔记"
// )
// }
// }

/**
* 通过PicGO上传图片
* @returns {Promise<any[]>}
*/
export async function uploadByPicGO(input) {
const uploadByPicGO = async (input) => {
// 通过PicGO上传图片
if (input) {
if (isInSiyuanNewWinBrowser()) {
return uploadNewWinByPicGO(input)
if (isInSiyuanOrSiyuanNewWin()) {
const syPicgo = window.SyPicgo
return syPicgo.upload(input)
} else {
// HTTP调用本地客户端上传
return picGoUploadApi.upload(input)
}
} else {
if (isInSiyuanNewWinBrowser()) {
return uploadNewWinClipboardByPicGO()
// 通过PicGO上传剪贴板图片
if (isInSiyuanOrSiyuanNewWin()) {
const syPicgo = window.SyPicgo
return syPicgo.uploadFormClipboard()
} else {
// HTTP调用本地客户端上传
return picGoUploadApi.upload()
}
}
}

/**
* 通过PicGO上传图片,思源笔记新窗口
* @returns {Promise<any[]>}
*/
async function uploadNewWinByPicGO(input) {
return await window.terwer.picgoExtension.upload(input)
}

/**
* 通过PicGO上传剪贴板图片,思源笔记新窗口
* @returns {Promise<any[]>}
* PicGO相关操作统一访问入口
*/
async function uploadNewWinClipboardByPicGO() {
return await window.terwer.picgoExtension.uploadFormClipboard()
const picgoUtil = {
uploadByPicGO,
}
export default picgoUtil
4 changes: 2 additions & 2 deletions utils/platform/picgo/picgoPostApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import { SiYuanApi } from "~/utils/platform/siyuan/siYuanApi"
import { isElectron } from "~/utils/browserUtil"
import { getSiyuanNewWinDataDir } from "~/utils/otherlib/siyuanBrowserUtil"
import { isFileExist } from "~/utils/otherlib/ChromeUtil"
import { uploadByPicGO } from "~/utils/otherlib/picgoUtil"
import picgoUtil from "~/utils/otherlib/picgoUtil"
import { ElMessage } from "element-plus"

/**
Expand Down Expand Up @@ -240,7 +240,7 @@ export class PicgoPostApi {
filePaths.push(imageFullPath)

// 批量上传
const imageJson: any = await uploadByPicGO(filePaths)
const imageJson: any = await picgoUtil.uploadByPicGO(filePaths)
this.logger.warn("图片上传完成,imageJson=>", imageJson)
const imageJsonObj = JSON.parse(imageJson)
// 处理后续
Expand Down

0 comments on commit bf8f3c6

Please sign in to comment.