mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-06-04 23:30:03 +08:00
feat(settings): AccountSettingDirectory
- 增加防抖。
This commit is contained in:
@@ -7,6 +7,10 @@ import api from '@/api'
|
||||
import { TransferDirectoryConf, StorageConf } from '@/api/types'
|
||||
import DirectoryCard from '@/components/cards/DirectoryCard.vue'
|
||||
import StorageCard from '@/components/cards/StorageCard.vue'
|
||||
import debounce from 'lodash/debounce'
|
||||
|
||||
// 防抖时间
|
||||
const debounceTime = 500
|
||||
|
||||
// 所有下载目录
|
||||
const directories = ref<TransferDirectoryConf[]>([])
|
||||
@@ -51,7 +55,7 @@ async function loadStorages() {
|
||||
}
|
||||
|
||||
// 保存存储
|
||||
async function saveStorages() {
|
||||
const saveStorages = debounce(async () => {
|
||||
try {
|
||||
const result: { [key: string]: any } = await api.post('system/setting/Storages', storages.value)
|
||||
if (result.success) $toast.success('存储设置保存成功')
|
||||
@@ -59,11 +63,11 @@ async function saveStorages() {
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
}
|
||||
}, debounceTime)
|
||||
|
||||
// 修改后生效
|
||||
async function updatedStorage() {
|
||||
loadStorages()
|
||||
await loadStorages()
|
||||
}
|
||||
|
||||
// 查询目录
|
||||
@@ -77,7 +81,7 @@ async function loadDirectories() {
|
||||
}
|
||||
|
||||
// 保存目录
|
||||
async function saveDirectories() {
|
||||
const saveDirectories = debounce(async () => {
|
||||
orderDirectoryCards()
|
||||
try {
|
||||
const names = directories.value.map(item => item.name)
|
||||
@@ -93,10 +97,10 @@ async function saveDirectories() {
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
}
|
||||
}, debounceTime)
|
||||
|
||||
// 添加媒体库目录
|
||||
function addDirectory() {
|
||||
const addDirectory = debounce(() => {
|
||||
let name = `目录${directories.value.length + 1}`
|
||||
while (directories.value.some(item => item.name === name)) {
|
||||
name = `目录${parseInt(name.split('目录')[1]) + 1}`
|
||||
@@ -111,15 +115,15 @@ function addDirectory() {
|
||||
media_category: '',
|
||||
})
|
||||
orderDirectoryCards()
|
||||
}
|
||||
}, debounceTime)
|
||||
|
||||
// 移除媒体库目录
|
||||
function removeDirectory(directory: TransferDirectoryConf) {
|
||||
const removeDirectory = debounce((directory: TransferDirectoryConf) => {
|
||||
const index = directories.value.indexOf(directory)
|
||||
if (index > -1) {
|
||||
directories.value.splice(index, 1)
|
||||
}
|
||||
}
|
||||
}, debounceTime)
|
||||
|
||||
// 调用API查询自动分类配置
|
||||
async function loadMediaCategories() {
|
||||
|
||||
Reference in New Issue
Block a user