diff --git a/package.json b/package.json index 5a65237d..7cd98492 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "multer": "^1.4.5-lts.1", "node-ssh-no-cpu-features": "^1.0.1", "nodejs-file-downloader": "^4.12.1", - "piclist": "^1.3.4", + "piclist": "^1.3.6", "pinia": "^2.1.6", "pinia-plugin-persistedstate": "^3.2.0", "qiniu": "^7.9.0", diff --git a/src/renderer/apis/allApi.ts b/src/renderer/apis/allApi.ts index df7c1abd..743f6bd8 100644 --- a/src/renderer/apis/allApi.ts +++ b/src/renderer/apis/allApi.ts @@ -12,6 +12,7 @@ import WebdavApi from './webdav' import DogeCloudApi from './dogecloud' import HuaweicloudApi from './huaweiyun' import AlistApi from './alist' +import PiclistApi from './piclist' const apiMap: IStringKeyMap = { aliyun: AliyunApi, @@ -27,7 +28,8 @@ const apiMap: IStringKeyMap = { webdavplist: WebdavApi, dogecloud: DogeCloudApi, 'huaweicloud-uploader': HuaweicloudApi, - alist: AlistApi + alist: AlistApi, + piclist: PiclistApi } export default class ALLApi { diff --git a/src/renderer/apis/piclist.ts b/src/renderer/apis/piclist.ts new file mode 100644 index 00000000..4e8f5b8e --- /dev/null +++ b/src/renderer/apis/piclist.ts @@ -0,0 +1,27 @@ +import axios, { AxiosResponse } from 'axios' + +export default class PiclistApi { + static async delete (configMap: IStringKeyMap): Promise { + const { config, fullResult } = configMap + const { host, port } = config + if (!host) { + console.error('PiclistApi.delete: invalid params') + return false + } + + const url = `http://${host || '127.0.0.1'}:${port || 36677}/delete` + + try { + const response: AxiosResponse = await axios.post( + url, + { + list: [fullResult] + } + ) + return response.status === 200 && response.data?.success + } catch (error) { + console.error(error) + return false + } + } +} diff --git a/src/renderer/pages/picbeds/index.vue b/src/renderer/pages/picbeds/index.vue index 96892afa..8843c8e3 100644 --- a/src/renderer/pages/picbeds/index.vue +++ b/src/renderer/pages/picbeds/index.vue @@ -242,6 +242,7 @@ async function handleCopyApi () { if (host === '0.0.0.0') { host = '127.0.0.1' } + const serverKey = await getConfig('settings.serverKey') || '' const uploader = await getConfig('uploader') as IStringKeyMap || {} const picBedConfigList = uploader[$route.params.type as string].configList || [] const picBedConfig = picBedConfigList.find((item: IUploaderConfigListItem) => item._id === $route.params.configId) @@ -249,7 +250,10 @@ async function handleCopyApi () { ElMessage.error('No config found') return } - const apiUrl = `http://${host}:${port}/upload?picbed=${$route.params.type}&configName=${picBedConfig?._configName}` + let apiUrl = `http://${host}:${port}/upload?picbed=${$route.params.type}&configName=${picBedConfig?._configName}` + if (serverKey) { + apiUrl += `&key=${serverKey}` + } clipboard.writeText(apiUrl) ElMessage.success($T('MANAGE_BUCKET_COPY_SUCCESS') + ' ' + apiUrl) } catch (error) { diff --git a/src/universal/utils/static.ts b/src/universal/utils/static.ts index f924cd1f..3d9bfc4a 100644 --- a/src/universal/utils/static.ts +++ b/src/universal/utils/static.ts @@ -6,4 +6,4 @@ export const RELEASE_URL_BACKUP = 'https://release.piclist.cn' export const STABLE_RELEASE_URL = 'https://github.com/Kuingsmile/PicList/releases/latest' export const C1 = Buffer.from(C1N, 'base64').toString() -export const picBedsCanbeDeleted = ['aliyun', 'aws-s3', 'github', 'imgur', 'local', 'sftpplist', 'smms', 'qiniu', 'tcyun', 'upyun', 'webdavplist', 'dogecloud', 'huaweicloud-uploader', 'alist'] +export const picBedsCanbeDeleted = ['aliyun', 'aws-s3', 'github', 'imgur', 'local', 'sftpplist', 'smms', 'qiniu', 'tcyun', 'upyun', 'webdavplist', 'dogecloud', 'huaweicloud-uploader', 'alist', 'piclist'] diff --git a/yarn.lock b/yarn.lock index 23ca1955..c749264f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12688,10 +12688,10 @@ performance-now@^2.1.0: resolved "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== -piclist@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/piclist/-/piclist-1.3.4.tgz#695e11140cbfd0bff254434ee10bd7f01b788779" - integrity sha512-qlfMx+O1JD12+Gkippn00Gi9Tfj9X3sNbNQnT4pa0SC5PvCJJeMt9va88P97GAhlX9JHjBlG+c3oTOhH4CLDLQ== +piclist@^1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/piclist/-/piclist-1.3.6.tgz#0a94f24749ad38badae1766e8f2bdaed7c3cec85" + integrity sha512-0GXn5bzx6iktOEKMNLdMoPcBPi3erYv33EAZPVhxVgiPUjBUl7dGYZ75QbJYNARwR+DnbuKEkrxIVO7Mi05Luw== dependencies: "@picgo/i18n" "^1.0.0" "@picgo/store" "^2.1.0"