From cfc012dc7eccc4a1b51ea7725a22aa87cf3a7c64 Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Thu, 13 Jan 2022 15:34:17 +0800 Subject: [PATCH] refactor: theme setting page Signed-off-by: Ryan Wang --- src/components/Input/AttachmentInput.vue | 47 ++++ src/config/router.config.js | 14 +- src/layouts/PageView.vue | 2 + src/views/interface/ThemeList.vue | 78 ++----- src/views/interface/ThemeSetting.vue | 220 ++++++++++++++++++ .../components/ThemeDeleteConfirmModal.vue | 85 +++++++ src/views/system/About.vue | 15 +- 7 files changed, 390 insertions(+), 71 deletions(-) create mode 100644 src/components/Input/AttachmentInput.vue create mode 100644 src/views/interface/ThemeSetting.vue create mode 100644 src/views/interface/components/ThemeDeleteConfirmModal.vue diff --git a/src/components/Input/AttachmentInput.vue b/src/components/Input/AttachmentInput.vue new file mode 100644 index 000000000..0aee3f3e7 --- /dev/null +++ b/src/components/Input/AttachmentInput.vue @@ -0,0 +1,47 @@ + + diff --git a/src/config/router.config.js b/src/config/router.config.js index 24a0d7aa8..5d7a8b14b 100644 --- a/src/config/router.config.js +++ b/src/config/router.config.js @@ -141,16 +141,22 @@ export const asyncRouterMap = [ meta: { title: '主题', hiddenHeaderContent: false } }, { - path: '/interface/menus', - name: 'MenuList', - component: () => import('@/views/interface/MenuList'), - meta: { title: '菜单', hiddenHeaderContent: false } + path: '/interface/themes/setting', + name: 'ThemeSetting', + component: () => import('@/views/interface/ThemeSetting'), + meta: { title: '主题设置', hiddenHeaderContent: false } }, { path: '/interface/themes/edit', name: 'ThemeEdit', component: () => import('@/views/interface/ThemeEdit'), meta: { title: '主题编辑', hiddenHeaderContent: false } + }, + { + path: '/interface/menus', + name: 'MenuList', + component: () => import('@/views/interface/MenuList'), + meta: { title: '菜单设置', hiddenHeaderContent: false } } ] }, diff --git a/src/layouts/PageView.vue b/src/layouts/PageView.vue index 4fcfd6c8c..caf63d00b 100644 --- a/src/layouts/PageView.vue +++ b/src/layouts/PageView.vue @@ -6,6 +6,7 @@ + @@ -15,6 +16,7 @@ + diff --git a/src/views/interface/ThemeList.vue b/src/views/interface/ThemeList.vue index 99354b3a8..782793d29 100644 --- a/src/views/interface/ThemeList.vue +++ b/src/views/interface/ThemeList.vue @@ -29,7 +29,7 @@ 启用 -
+
设置
@@ -49,7 +49,7 @@ - 从主题包更新 + 本地更新 @@ -143,45 +143,27 @@ @success="handleUploadSucceed" > - - -

确定删除【{{ themeDeleteModal.selected.name }}】主题?

- - 同时删除主题配置 - -
+ + diff --git a/src/views/interface/components/ThemeDeleteConfirmModal.vue b/src/views/interface/components/ThemeDeleteConfirmModal.vue new file mode 100644 index 000000000..c34300aa8 --- /dev/null +++ b/src/views/interface/components/ThemeDeleteConfirmModal.vue @@ -0,0 +1,85 @@ + + diff --git a/src/views/system/About.vue b/src/views/system/About.vue index 83f23f638..1eb46881d 100644 --- a/src/views/system/About.vue +++ b/src/views/system/About.vue @@ -27,6 +27,7 @@
  • 版本:{{ environments.version }}
  • 数据库:{{ environments.database }}
  • 运行模式:{{ environments.mode }}
  • +
  • 启用主题:{{ activatedTheme.name }}
  • 启动时间:{{ environments.startTime | moment }}
  • { - this.environments = response.data - }) + const { data } = await apiClient.getEnvironment() + this.environments = data this.checkServerUpdate() }, + async handleGetActivatedTheme() { + const { data } = await apiClient.theme.getActivatedTheme() + this.activatedTheme = data + }, handleCopyEnvironments() { const text = `版本:${this.environments.version} 数据库:${this.environments.database} 运行模式:${this.environments.mode} +启用主题:${this.activatedTheme.name} User Agent:${navigator.userAgent}` this.$copyText(text) .then(message => {