diff --git a/src/renderer/apis/alist.ts b/src/renderer/apis/alist.ts new file mode 100644 index 00000000..96b65702 --- /dev/null +++ b/src/renderer/apis/alist.ts @@ -0,0 +1,28 @@ +import axios from 'axios' +import path from 'path' + +export default class AlistApi { + static async delete (configMap: IStringKeyMap): Promise { + const { fileName, config } = configMap + try { + const { version, url, uploadPath, token } = config + if (String(version) === '2') return true + const result = await axios.request({ + method: 'post', + url: `${url}/api/fs/remove`, + headers: { + 'Content-Type': 'application/json', + Authorization: token + }, + data: { + dir: path.join('/', uploadPath, path.dirname(fileName)), + names: [path.basename(fileName)] + } + }) + return result.data.code === 200 + } catch (error) { + console.error(error) + return false + } + } +} diff --git a/src/renderer/apis/allApi.ts b/src/renderer/apis/allApi.ts index db1bd88d..df7c1abd 100644 --- a/src/renderer/apis/allApi.ts +++ b/src/renderer/apis/allApi.ts @@ -11,6 +11,7 @@ import UpyunApi from './upyun' import WebdavApi from './webdav' import DogeCloudApi from './dogecloud' import HuaweicloudApi from './huaweiyun' +import AlistApi from './alist' const apiMap: IStringKeyMap = { aliyun: AliyunApi, @@ -25,7 +26,8 @@ const apiMap: IStringKeyMap = { upyun: UpyunApi, webdavplist: WebdavApi, dogecloud: DogeCloudApi, - 'huaweicloud-uploader': HuaweicloudApi + 'huaweicloud-uploader': HuaweicloudApi, + alist: AlistApi } export default class ALLApi { diff --git a/src/universal/utils/static.ts b/src/universal/utils/static.ts index 7dd0cf46..f924cd1f 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'] +export const picBedsCanbeDeleted = ['aliyun', 'aws-s3', 'github', 'imgur', 'local', 'sftpplist', 'smms', 'qiniu', 'tcyun', 'upyun', 'webdavplist', 'dogecloud', 'huaweicloud-uploader', 'alist']