feat: Add new card with duplicate name judgment

- 给添加新卡片时,自动生成的名称增加一层重名判断,避免出现重名。
- 目录卡片特化处理,在保存时,增加一层重名检查。
This commit is contained in:
Aqr-K
2024-09-26 20:24:28 +08:00
parent 574464c1ea
commit a547e5c34b
3 changed files with 35 additions and 6 deletions

View File

@@ -81,6 +81,11 @@ async function loadDirectories() {
async function saveDirectories() {
orderDirectoryCards()
try {
const names = directories.value.map(item => item.name)
if (new Set(names).size !== names.length) {
$toast.error('存在重复目录名称!无法保存,请修改!')
return
}
const result: { [key: string]: any } = await api.post('system/setting/Directories', directories.value)
if (result.success) {
$toast.success('目录设置保存成功')
@@ -93,8 +98,12 @@ async function saveDirectories() {
// 添加媒体库目录
function addDirectory() {
let name = `目录${directories.value.length + 1}`;
while (directories.value.some(item => item.name === name)) {
name = `目录${parseInt(name.split('目录')[1]) + 1}`;
}
directories.value.push({
name: `目录${directories.value.length + 1}`,
name: name,
storage: 'local',
download_path: '',
priority: -1,

View File

@@ -52,9 +52,17 @@ async function saveCustomRules() {
// 添加自定义规则
function addCustomRule() {
let id = `RULE${customRules.value.length + 1}`;
while (customRules.value.some(item => item.id === id)) {
id = `RULE${parseInt(id.split('RULE')[1]) + 1}`;
}
let name = `规则${customRules.value.length + 1}`;
while (customRules.value.some(item => item.name === name)) {
name = `规则${parseInt(name.split('规则')[1]) + 1}`;
}
customRules.value.push({
id: `RULE${customRules.value.length + 1}`,
name: `规则${customRules.value.length + 1}`,
id: id,
name: name,
include: '',
exclude: '',
})
@@ -89,8 +97,12 @@ async function saveFilterRuleGroups() {
// 添加规则组
function addFilterRuleGroup() {
let name = `规则组${filterRuleGroups.value.length + 1}`;
while (filterRuleGroups.value.some(item => item.name === name)) {
name = `规则组${parseInt(name.split('规则组')[1]) + 1}`;
}
filterRuleGroups.value.push({
name: `规则组${filterRuleGroups.value.length + 1}`,
name: name,
rule_string: '',
media_type: '',
category: '',

View File

@@ -113,8 +113,12 @@ async function saveSystemSetting() {
// 添加下载器
function addDownloader(downloader: string) {
let name = `下载器${downloaders.value.length + 1}`;
while (downloaders.value.some(item => item.name === name)) {
name = `下载器${parseInt(name.split('下载器')[1]) + 1}`;
}
downloaders.value.push({
name: `下载器${downloaders.value.length + 1}`,
name: name,
type: downloader,
default: false,
enabled: false,
@@ -136,8 +140,12 @@ function onDownloaderChange(downloader: DownloaderConf) {
// 添加媒体服务器
function addMediaServer(mediaserver: string) {
let name = `服务器${mediaServers.value.length + 1}`;
while (mediaServers.value.some(item => item.name === name)) {
name = `服务器${parseInt(name.split('服务器')[1]) + 1}`;
}
mediaServers.value.push({
name: `服务器${mediaServers.value.length + 1}`,
name: name,
type: mediaserver,
enabled: false,
config: {},