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

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