From c3d2d07b6853a9f5e18fb87771cf16f513407c06 Mon Sep 17 00:00:00 2001 From: "Apple\\Apple" Date: Sat, 21 Jun 2025 02:56:38 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=9A=20refactor:=20Move=20DataDashboard?= =?UTF-8?q?=20settings=20from=20Operation=20to=20Dashboard=20section?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit relocates the DataDashboard settings component from the Operation section to the Dashboard section for better logical organization. The changes include: - Remove DataDashboard import and component from OperationSetting.js - Add DataDashboard component to DashboardSetting.js - Update import path from Operation to Dashboard directory - Add DataExport related state management in DashboardSetting This restructuring improves the application's information architecture by grouping related dashboard visualization settings together. --- web/src/components/settings/DashboardSetting.js | 15 +++++++++++++++ web/src/components/settings/OperationSetting.js | 10 ---------- .../SettingsDataDashboard.js | 0 3 files changed, 15 insertions(+), 10 deletions(-) rename web/src/pages/Setting/{Operation => Dashboard}/SettingsDataDashboard.js (100%) diff --git a/web/src/components/settings/DashboardSetting.js b/web/src/components/settings/DashboardSetting.js index bf4a26a3..86af88c0 100644 --- a/web/src/components/settings/DashboardSetting.js +++ b/web/src/components/settings/DashboardSetting.js @@ -5,6 +5,7 @@ import SettingsAPIInfo from '../../pages/Setting/Dashboard/SettingsAPIInfo.js'; import SettingsAnnouncements from '../../pages/Setting/Dashboard/SettingsAnnouncements.js'; import SettingsFAQ from '../../pages/Setting/Dashboard/SettingsFAQ.js'; import SettingsUptimeKuma from '../../pages/Setting/Dashboard/SettingsUptimeKuma.js'; +import SettingsDataDashboard from '../../pages/Setting/Dashboard/SettingsDataDashboard.js'; const DashboardSetting = () => { let [inputs, setInputs] = useState({ @@ -23,6 +24,11 @@ const DashboardSetting = () => { FAQ: '', UptimeKumaUrl: '', UptimeKumaSlug: '', + + /* 数据看板 */ + DataExportEnabled: false, + DataExportDefaultTime: 'hour', + DataExportInterval: 5, }); let [loading, setLoading] = useState(false); @@ -37,6 +43,10 @@ const DashboardSetting = () => { if (item.key in inputs) { newInputs[item.key] = item.value; } + if (item.key.endsWith('Enabled') && + (item.key === 'DataExportEnabled')) { + newInputs[item.key] = item.value === 'true' ? true : false; + } }); setInputs(newInputs); } else { @@ -106,6 +116,11 @@ const DashboardSetting = () => {

+ {/* 数据看板设置 */} + + + + {/* API信息管理 */} diff --git a/web/src/components/settings/OperationSetting.js b/web/src/components/settings/OperationSetting.js index 9b0e772c..75a5c81a 100644 --- a/web/src/components/settings/OperationSetting.js +++ b/web/src/components/settings/OperationSetting.js @@ -3,7 +3,6 @@ import { Card, Spin } from '@douyinfe/semi-ui'; import SettingsGeneral from '../../pages/Setting/Operation/SettingsGeneral.js'; import SettingsSensitiveWords from '../../pages/Setting/Operation/SettingsSensitiveWords.js'; import SettingsLog from '../../pages/Setting/Operation/SettingsLog.js'; -import SettingsDataDashboard from '../../pages/Setting/Operation/SettingsDataDashboard.js'; import SettingsMonitoring from '../../pages/Setting/Operation/SettingsMonitoring.js'; import SettingsCreditLimit from '../../pages/Setting/Operation/SettingsCreditLimit.js'; import { API, showError } from '../../helpers'; @@ -35,11 +34,6 @@ const OperationSetting = () => { /* 日志设置 */ LogConsumeEnabled: false, - /* 数据看板 */ - DataExportEnabled: false, - DataExportDefaultTime: 'hour', - DataExportInterval: 5, - /* 监控设置 */ ChannelDisableThreshold: 0, QuotaRemindThreshold: 0, @@ -102,10 +96,6 @@ const OperationSetting = () => { - {/* 数据看板 */} - - - {/* 监控设置 */} diff --git a/web/src/pages/Setting/Operation/SettingsDataDashboard.js b/web/src/pages/Setting/Dashboard/SettingsDataDashboard.js similarity index 100% rename from web/src/pages/Setting/Operation/SettingsDataDashboard.js rename to web/src/pages/Setting/Dashboard/SettingsDataDashboard.js