Feature: add piclist itself as a picbed

This commit is contained in:
Kuingsmile
2023-10-10 23:54:46 +08:00
parent 6e2210130b
commit 9f49fc0a7d
6 changed files with 41 additions and 8 deletions

View File

@@ -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",

View File

@@ -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 {

View File

@@ -0,0 +1,27 @@
import axios, { AxiosResponse } from 'axios'
export default class PiclistApi {
static async delete (configMap: IStringKeyMap): Promise<boolean> {
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
}
}
}

View File

@@ -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) {

View File

@@ -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']

View File

@@ -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"