mirror of
https://github.com/Kuingsmile/PicList.git
synced 2026-05-06 20:42:57 +08:00
49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
import axios from 'axios'
|
|
import path from 'path'
|
|
|
|
import { deleteFailedLog, deleteLog } from '#/utils/deleteLog'
|
|
|
|
interface IConfigMap {
|
|
fileName: string
|
|
config: {
|
|
version: string
|
|
url: string
|
|
uploadPath: string
|
|
token: string
|
|
}
|
|
}
|
|
|
|
export default class AlistApi {
|
|
static async delete(configMap: IConfigMap): Promise<boolean> {
|
|
const { fileName, config } = configMap
|
|
try {
|
|
const { version, url, uploadPath, token } = config
|
|
if (String(version) === '2') {
|
|
deleteLog(fileName, 'Alist', false, 'Alist version 2 is not supported, deletion is skipped')
|
|
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)]
|
|
}
|
|
})
|
|
if (result.data.code === 200) {
|
|
deleteLog(fileName, 'Alist')
|
|
return true
|
|
}
|
|
deleteLog(fileName, 'Alist', false)
|
|
return false
|
|
} catch (error: any) {
|
|
deleteFailedLog(fileName, 'Alist', error)
|
|
return false
|
|
}
|
|
}
|
|
}
|