From a738d4a3b96f88b494c5c9cd98ddf465b5838170 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Thu, 15 Feb 2024 15:04:59 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E7=B3=BB=E7=BB=9F=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E9=9D=A2=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/pages/setting.vue | 13 + .../setting/AccountSettingNotification.vue | 227 ++++++++++++------ src/views/setting/AccountSettingService.vue | 2 +- src/views/setting/AccountSettingSite.vue | 2 +- src/views/setting/AccountSettingSystem.vue | 194 +++++++++++++++ 6 files changed, 369 insertions(+), 71 deletions(-) create mode 100644 src/views/setting/AccountSettingSystem.vue diff --git a/package.json b/package.json index f99fe29a..55615b13 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "moviepilot", - "version": "1.6.4", + "version": "1.6.4-1", "private": true, "bin": "dist/service.js", "scripts": { diff --git a/src/pages/setting.vue b/src/pages/setting.vue index e866bfdd..bd3e42dd 100644 --- a/src/pages/setting.vue +++ b/src/pages/setting.vue @@ -8,6 +8,7 @@ import AccountSettingAbout from '@/views/setting/AccountSettingAbout.vue' import AccountSettingSearch from '@/views/setting/AccountSettingSearch.vue' import AccountSettingSubscribe from '@/views/setting/AccountSettingSubscribe.vue' import AccountSettingService from '@/views/setting/AccountSettingService.vue' +import AccountSettingSystem from '@/views/setting/AccountSettingSystem.vue' const route = useRoute() @@ -20,6 +21,11 @@ const tabs = [ icon: 'mdi-account', tab: 'account', }, + { + title: '系统', + icon: 'mdi-cog', + tab: 'system', + }, { title: '站点', icon: 'mdi-web', @@ -83,6 +89,13 @@ const tabs = [ + + + + + + + diff --git a/src/views/setting/AccountSettingNotification.vue b/src/views/setting/AccountSettingNotification.vue index 620e17c7..9deed320 100644 --- a/src/views/setting/AccountSettingNotification.vue +++ b/src/views/setting/AccountSettingNotification.vue @@ -5,6 +5,29 @@ import type { NotificationSwitch } from '@/api/types' const messagemTypes = ref([]) +// 选中的消息渠道 +const selectedChannels = ref([]) + +// 消息渠道 +const NotificationChannels = [ + { + title: '微信', + value: 'wechat', + }, + { + title: 'Telegram', + value: 'telegram', + }, + { + title: 'Slack', + value: 'slack', + }, + { + title: 'SynologyChat', + value: 'synologychat', + }, +] + // 提示框 const $toast = useToast() @@ -40,79 +63,147 @@ async function saveNotificationSwitchs() { } } +// 调用API查询消息渠道设置 +async function loadNotificationChannels() { + try { + const result: { [key: string]: any } = await api.get('system/setting/MESSAGER') + if (result.success) + selectedChannels.value = result.data?.value?.split(',') + } + catch (error) { + console.log(error) + } +} + +// 调用API保存消息渠道设置 +async function saveNotificationChannels() { + try { + const result: { [key: string]: any } = await api.post( + 'system/setting/MESSAGER', + selectedChannels.value.join(','), + ) + + if (result.success) + $toast.success('保存通知渠道设置成功') + else + $toast.error('保存通知渠道设置失败!') + } + catch (error) { + console.log(error) + } +} + onMounted(() => { loadNotificationSwitchs() + loadNotificationChannels() }) diff --git a/src/views/setting/AccountSettingService.vue b/src/views/setting/AccountSettingService.vue index 5fb23280..b1513f15 100644 --- a/src/views/setting/AccountSettingService.vue +++ b/src/views/setting/AccountSettingService.vue @@ -78,7 +78,7 @@ onUnmounted(() => {