From 2065992b177ee3763e476655cff79079a371f018 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Thu, 9 May 2024 14:45:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=AA=E8=A1=A8=E6=9D=BF=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=8B=96=E5=8A=A8=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 3 +- src/App.vue | 20 -- src/api/types.ts | 8 +- src/components/misc/DashboardElement.vue | 44 +++ src/pages/dashboard.vue | 262 +++++++++++------- src/pages/login.vue | 21 -- src/views/dashboard/AnalyticsCpu.vue | 150 +++++----- .../dashboard/AnalyticsMediaStatistic.vue | 24 +- src/views/dashboard/AnalyticsMemory.vue | 154 +++++----- src/views/dashboard/AnalyticsProcesses.vue | 41 +-- src/views/dashboard/AnalyticsScheduler.vue | 26 +- src/views/dashboard/AnalyticsSpeed.vue | 23 +- src/views/dashboard/AnalyticsStorage.vue | 37 +-- .../dashboard/AnalyticsWeeklyOverview.vue | 23 +- src/views/dashboard/MediaServerLatest.vue | 17 +- src/views/dashboard/MediaServerLibrary.vue | 18 +- src/views/dashboard/MediaServerPlaying.vue | 18 +- yarn.lock | 12 + 18 files changed, 437 insertions(+), 464 deletions(-) create mode 100644 src/components/misc/DashboardElement.vue diff --git a/package.json b/package.json index 509bd4ea..d321fe44 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "vue3-ace-editor": "^2.2.4", "vue3-apexcharts": "^1.4.1", "vue3-perfect-scrollbar": "^2.0.0", + "vuedraggable": "^4.1.0", "vuetify": "3.5.14", "vuetify-use-dialog": "^0.6.11", "vuex": "^4.1.0", @@ -114,4 +115,4 @@ "resolutions": { "postcss": "8" } -} \ No newline at end of file +} diff --git a/src/App.vue b/src/App.vue index 248d8cc1..17fd9d5d 100644 --- a/src/App.vue +++ b/src/App.vue @@ -34,30 +34,10 @@ function startSSEMessager() { } } -// 加载用户监控面板配置 -async function loadDashboardConfig() { - const response = await api.get('/user/config/Dashboard') - if (response && response.data && response.data.value) { - const data = JSON.stringify(response.data.value) - if (data != localStorage.getItem('MP_DASHBOARD')) { - localStorage.setItem('MP_DASHBOARD', data) - } - } -} - -// 尝试加载用户监控面板配置(本地无配置时才加载) -async function tryLoadDashboardConfig() { - if (localStorage.getItem('MP_DASHBOARD')) { - return - } - await loadDashboardConfig() -} - // 页面加载时,加载当前用户数据 onBeforeMount(async () => { setTheme() startSSEMessager() - await tryLoadDashboardConfig() }) diff --git a/src/api/types.ts b/src/api/types.ts index b279e94c..ab9cd40a 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -445,11 +445,11 @@ export interface Plugin { add_time?: number } -// 插件仪表板 -export interface PluginDashboard { - // 插件ID +// 仪表板组件 +export interface DashboardItem { + // ID id: string - // 插件名称 + // 名称 name: string // 全局配置 attrs: { [key: string]: any } diff --git a/src/components/misc/DashboardElement.vue b/src/components/misc/DashboardElement.vue new file mode 100644 index 00000000..9df4f0c9 --- /dev/null +++ b/src/components/misc/DashboardElement.vue @@ -0,0 +1,44 @@ + + diff --git a/src/pages/dashboard.vue b/src/pages/dashboard.vue index d5bb9a3d..e1f63a9b 100644 --- a/src/pages/dashboard.vue +++ b/src/pages/dashboard.vue @@ -1,20 +1,11 @@