mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-09-06 16:16:42 +08:00
fix
This commit is contained in:
@@ -158,16 +158,16 @@ onMounted(() => {
|
|||||||
/>
|
/>
|
||||||
<VerticalNavLink
|
<VerticalNavLink
|
||||||
:item="{
|
:item="{
|
||||||
title: '站点管理',
|
title: '插件',
|
||||||
icon: 'mdi-web',
|
icon: 'mdi-apps',
|
||||||
to: '/site',
|
to: '/plugin',
|
||||||
}"
|
}"
|
||||||
/>
|
/>
|
||||||
<VerticalNavLink
|
<VerticalNavLink
|
||||||
:item="{
|
:item="{
|
||||||
title: '插件',
|
title: '站点管理',
|
||||||
icon: 'mdi-apps',
|
icon: 'mdi-web',
|
||||||
to: '/plugin',
|
to: '/site',
|
||||||
}"
|
}"
|
||||||
/>
|
/>
|
||||||
<VerticalNavLink
|
<VerticalNavLink
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import AccountSettingAccount from "@/views/account-setting/AccountSettingAccount.vue";
|
import AccountSettingAccount from "@/views/account-setting/AccountSettingAccount.vue";
|
||||||
import AccountSettingFilter from "@/views/account-setting/AccountSettingFilter.vue";
|
|
||||||
import AccountSettingNotification from "@/views/account-setting/AccountSettingNotification.vue";
|
import AccountSettingNotification from "@/views/account-setting/AccountSettingNotification.vue";
|
||||||
import AccountSettingSystem from "@/views/account-setting/AccountSettingSystem.vue";
|
import AccountSettingRule from "@/views/account-setting/AccountSettingRule.vue";
|
||||||
|
import AccountSettingSite from "@/views/account-setting/AccountSettingSite.vue";
|
||||||
import AccountSettingWords from "@/views/account-setting/AccountSettingWords.vue";
|
import AccountSettingWords from "@/views/account-setting/AccountSettingWords.vue";
|
||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@ const activeTab = ref(route.params.tab);
|
|||||||
// tabs
|
// tabs
|
||||||
const tabs = [
|
const tabs = [
|
||||||
{ title: "用户", icon: "mdi-account", tab: "account" },
|
{ title: "用户", icon: "mdi-account", tab: "account" },
|
||||||
{ title: "站点", icon: "mdi-sitemap", tab: "system" },
|
{ title: "站点", icon: "mdi-web", tab: "site" },
|
||||||
{ title: "规则", icon: "mdi-filter-cog", tab: "filter" },
|
{ title: "规则", icon: "mdi-filter-cog", tab: "filter" },
|
||||||
{ title: "通知", icon: "mdi-bell", tab: "notification" },
|
{ title: "通知", icon: "mdi-bell", tab: "notification" },
|
||||||
{ title: "自定义词表", icon: "mdi-file-word-box", tab: "words" },
|
{ title: "自定义词表", icon: "mdi-file-word-box", tab: "words" },
|
||||||
@@ -37,13 +37,13 @@ const tabs = [
|
|||||||
</VWindowItem>
|
</VWindowItem>
|
||||||
|
|
||||||
<!-- System -->
|
<!-- System -->
|
||||||
<VWindowItem value="system">
|
<VWindowItem value="site">
|
||||||
<AccountSettingSystem />
|
<AccountSettingSite />
|
||||||
</VWindowItem>
|
</VWindowItem>
|
||||||
|
|
||||||
<!-- Notification -->
|
<!-- Notification -->
|
||||||
<VWindowItem value="filter">
|
<VWindowItem value="filter">
|
||||||
<AccountSettingFilter />
|
<AccountSettingRule />
|
||||||
</VWindowItem>
|
</VWindowItem>
|
||||||
|
|
||||||
<!-- Notification -->
|
<!-- Notification -->
|
||||||
|
|||||||
+69
-4
@@ -16,6 +16,15 @@ interface FilterCard {
|
|||||||
// 提示框
|
// 提示框
|
||||||
const $toast = useToast();
|
const $toast = useToast();
|
||||||
|
|
||||||
|
// 种子优先规则
|
||||||
|
const selectedTorrentPriority = ref<string>("seeder");
|
||||||
|
|
||||||
|
// 种子优先规则下拉框
|
||||||
|
const TorrentPriorityItems = [
|
||||||
|
{ title: "站点优先", value: "site" },
|
||||||
|
{ title: "做种数优先", value: "seeder" },
|
||||||
|
];
|
||||||
|
|
||||||
// 查询已设置过滤规则
|
// 查询已设置过滤规则
|
||||||
const queryCustomFilters = async () => {
|
const queryCustomFilters = async () => {
|
||||||
try {
|
try {
|
||||||
@@ -37,6 +46,18 @@ const queryCustomFilters = async () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 查询种子优先规则
|
||||||
|
const queryTorrentPriority = async () => {
|
||||||
|
try {
|
||||||
|
const result: { [key: string]: any } = await api.get(
|
||||||
|
"system/setting/TorrentsPriority"
|
||||||
|
);
|
||||||
|
selectedTorrentPriority.value = result.data?.value;
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// 保存用户设置的识别词
|
// 保存用户设置的识别词
|
||||||
const saveCustomFilters = async () => {
|
const saveCustomFilters = async () => {
|
||||||
try {
|
try {
|
||||||
@@ -64,6 +85,24 @@ const saveCustomFilters = async () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 保存种子优先规则
|
||||||
|
const saveTorrentPriority = async () => {
|
||||||
|
try {
|
||||||
|
// 用户名密码
|
||||||
|
const result: { [key: string]: any } = await api.post(
|
||||||
|
"system/setting/TorrentsPriority",
|
||||||
|
selectedTorrentPriority.value
|
||||||
|
);
|
||||||
|
if (result.success) {
|
||||||
|
$toast.success("优先规则保存成功");
|
||||||
|
} else {
|
||||||
|
$toast.error("优先规则保存失败!");
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// 规则卡片列表
|
// 规则卡片列表
|
||||||
const filterCards = ref<FilterCard[]>([]);
|
const filterCards = ref<FilterCard[]>([]);
|
||||||
|
|
||||||
@@ -78,10 +117,20 @@ const updateFilterCardValue = (pri: string, rules: string[]) => {
|
|||||||
// 移除卡片
|
// 移除卡片
|
||||||
const filterCardClose = (pri: string) => {
|
const filterCardClose = (pri: string) => {
|
||||||
// 将卡片从列表中删除,并更新剩余卡片的序号
|
// 将卡片从列表中删除,并更新剩余卡片的序号
|
||||||
filterCards.value = filterCards.value.filter((card) => card.pri !== pri);
|
const index = filterCards.value.findIndex((card) => card.pri === pri);
|
||||||
filterCards.value.forEach((card, index) => {
|
if (index !== -1) {
|
||||||
card.pri = (index + 1).toString();
|
// 创建新的数组,然后使用 splice 方法来删除元素
|
||||||
});
|
const updatedCards = [...filterCards.value];
|
||||||
|
updatedCards.splice(index, 1);
|
||||||
|
|
||||||
|
// 更新剩余卡片的序号
|
||||||
|
updatedCards.forEach((card, i) => {
|
||||||
|
card.pri = (i + 1).toString();
|
||||||
|
});
|
||||||
|
|
||||||
|
// 更新 filterCards.value
|
||||||
|
filterCards.value = updatedCards;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// 增加卡片
|
// 增加卡片
|
||||||
@@ -95,6 +144,7 @@ const addFilterCard = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
queryTorrentPriority();
|
||||||
queryCustomFilters();
|
queryCustomFilters();
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@@ -126,6 +176,21 @@ onMounted(() => {
|
|||||||
</VCardItem>
|
</VCardItem>
|
||||||
</VCard>
|
</VCard>
|
||||||
</VCol>
|
</VCol>
|
||||||
|
<VCol cols="12">
|
||||||
|
<VCard title="下载优先规则">
|
||||||
|
<VCardText>
|
||||||
|
<VSelect
|
||||||
|
v-model="selectedTorrentPriority"
|
||||||
|
:items="TorrentPriorityItems"
|
||||||
|
label="优先规则"
|
||||||
|
outlined
|
||||||
|
></VSelect>
|
||||||
|
</VCardText>
|
||||||
|
<VCardItem>
|
||||||
|
<VBtn type="submit" @click="saveTorrentPriority"> 保存 </VBtn>
|
||||||
|
</VCardItem>
|
||||||
|
</VCard>
|
||||||
|
</VCol>
|
||||||
</VRow>
|
</VRow>
|
||||||
</template>
|
</template>
|
||||||
<style type="scss">
|
<style type="scss">
|
||||||
-56
@@ -21,15 +21,6 @@ const resetSitesText = ref("重置站点数据");
|
|||||||
// 站点重置按钮可用状态
|
// 站点重置按钮可用状态
|
||||||
const resetSitesDisabled = ref(false);
|
const resetSitesDisabled = ref(false);
|
||||||
|
|
||||||
// 种子优先规则下拉框
|
|
||||||
const TorrentPriorityItems = [
|
|
||||||
{ title: "站点优先", value: "site" },
|
|
||||||
{ title: "做种数优先", value: "seeder" },
|
|
||||||
];
|
|
||||||
|
|
||||||
// 种子优先规则
|
|
||||||
const selectedTorrentPriority = ref<string>("seeder");
|
|
||||||
|
|
||||||
// 查询所有站点
|
// 查询所有站点
|
||||||
const querySites = async () => {
|
const querySites = async () => {
|
||||||
try {
|
try {
|
||||||
@@ -52,18 +43,6 @@ const querySelectedSites = async () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// 查询种子优先规则
|
|
||||||
const queryTorrentPriority = async () => {
|
|
||||||
try {
|
|
||||||
const result: { [key: string]: any } = await api.get(
|
|
||||||
"system/setting/TorrentsPriority"
|
|
||||||
);
|
|
||||||
selectedTorrentPriority.value = result.data?.value;
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// 保存用户选中的站点
|
// 保存用户选中的站点
|
||||||
const saveSelectedSites = async () => {
|
const saveSelectedSites = async () => {
|
||||||
try {
|
try {
|
||||||
@@ -82,24 +61,6 @@ const saveSelectedSites = async () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// 保存种子优先规则
|
|
||||||
const saveTorrentPriority = async () => {
|
|
||||||
try {
|
|
||||||
// 用户名密码
|
|
||||||
const result: { [key: string]: any } = await api.post(
|
|
||||||
"system/setting/TorrentsPriority",
|
|
||||||
selectedTorrentPriority.value
|
|
||||||
);
|
|
||||||
if (result.success) {
|
|
||||||
$toast.success("优先规则保存成功");
|
|
||||||
} else {
|
|
||||||
$toast.error("优先规则保存失败!");
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// 重置站点
|
// 重置站点
|
||||||
const resetSites = async () => {
|
const resetSites = async () => {
|
||||||
try {
|
try {
|
||||||
@@ -109,7 +70,6 @@ const resetSites = async () => {
|
|||||||
if (result.success) {
|
if (result.success) {
|
||||||
$toast.success("站点重置成功,请等待CookieCloud同步完成!");
|
$toast.success("站点重置成功,请等待CookieCloud同步完成!");
|
||||||
querySites();
|
querySites();
|
||||||
queryTorrentPriority();
|
|
||||||
} else {
|
} else {
|
||||||
$toast.error("站点重置失败!");
|
$toast.error("站点重置失败!");
|
||||||
}
|
}
|
||||||
@@ -122,7 +82,6 @@ const resetSites = async () => {
|
|||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
querySites();
|
querySites();
|
||||||
queryTorrentPriority();
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -151,21 +110,6 @@ onMounted(() => {
|
|||||||
</VCardItem>
|
</VCardItem>
|
||||||
</VCard>
|
</VCard>
|
||||||
</VCol>
|
</VCol>
|
||||||
<VCol cols="12">
|
|
||||||
<VCard title="优先规则">
|
|
||||||
<VCardText>
|
|
||||||
<VSelect
|
|
||||||
v-model="selectedTorrentPriority"
|
|
||||||
:items="TorrentPriorityItems"
|
|
||||||
label="下载优先规则"
|
|
||||||
outlined
|
|
||||||
></VSelect>
|
|
||||||
</VCardText>
|
|
||||||
<VCardItem>
|
|
||||||
<VBtn type="submit" @click="saveTorrentPriority"> 保存 </VBtn>
|
|
||||||
</VCardItem>
|
|
||||||
</VCard>
|
|
||||||
</VCol>
|
|
||||||
<VCol cols="12">
|
<VCol cols="12">
|
||||||
<VCard title="站点重置">
|
<VCard title="站点重置">
|
||||||
<VCardText>
|
<VCardText>
|
||||||
Reference in New Issue
Block a user