From c12906e57651f67af6831b0cbda25b517a625d7e Mon Sep 17 00:00:00 2001 From: Rewrite0 Date: Tue, 25 Apr 2023 17:35:37 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=A1=B5=E6=B8=B2=E6=9F=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/config.ts | 11 ++- src/components.d.ts | 8 ++ src/components/ConfigFormCol.vue | 13 ++++ src/components/ConfigFormRow.vue | 17 +++++ src/pages/bangumi/index.vue | 6 -- .../config/components/BangumiManageItem.vue | 64 ++++++++++++++++ .../config/components/DownloaderItem.vue | 46 +++++++++++ src/pages/config/components/LogItem.vue | 20 +++++ .../config/components/NotificationItem.vue | 39 ++++++++++ src/pages/config/components/ProgramItem.vue | 21 +++++ src/pages/config/components/ProxyItem.vue | 47 ++++++++++++ src/pages/config/components/RssParserItem.vue | 69 +++++++++++++++++ src/pages/config/form-data.ts | 70 +++++++++++++++++ src/pages/config/index.vue | 57 +++++++++++--- src/pages/debug/index.vue | 26 ++++++- src/store/config.ts | 76 ++++++------------- tsconfig.json | 11 ++- types/config.ts | 74 ++++++++++++++++++ types/utils.ts | 39 ++++++++++ 19 files changed, 640 insertions(+), 74 deletions(-) create mode 100644 src/components/ConfigFormCol.vue create mode 100644 src/components/ConfigFormRow.vue create mode 100644 src/pages/config/components/BangumiManageItem.vue create mode 100644 src/pages/config/components/DownloaderItem.vue create mode 100644 src/pages/config/components/LogItem.vue create mode 100644 src/pages/config/components/NotificationItem.vue create mode 100644 src/pages/config/components/ProgramItem.vue create mode 100644 src/pages/config/components/ProxyItem.vue create mode 100644 src/pages/config/components/RssParserItem.vue create mode 100644 src/pages/config/form-data.ts create mode 100644 types/config.ts create mode 100644 types/utils.ts diff --git a/src/api/config.ts b/src/api/config.ts index 9b144bbd..db0ac8ed 100644 --- a/src/api/config.ts +++ b/src/api/config.ts @@ -1,5 +1,12 @@ import axios from 'axios'; +import type { Config } from '#/config'; -export const setConfig = () => axios.post('/api/v1/updateConfig'); +export async function setConfig(newConfig: Config) { + const { data } = await axios.post('/api/v1/updateConfig', newConfig); + return data; +} -export const getConfig = () => axios.post('/api/v1/getConfig'); +export async function getConfig() { + const { data } = await axios.get('/api/v1/getConfig'); + return data; +} diff --git a/src/components.d.ts b/src/components.d.ts index f83b703a..8f45ce0b 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -7,6 +7,9 @@ export {} declare module '@vue/runtime-core' { export interface GlobalComponents { + ConfigFormCol: typeof import('./components/ConfigFormCol.vue')['default'] + ConfigFormRow: typeof import('./components/ConfigFormRow.vue')['default'] + copy: typeof import('./components/ConfigFormCol copy.vue')['default'] ElAside: typeof import('element-plus/es')['ElAside'] ElButton: typeof import('element-plus/es')['ElButton'] ElCard: typeof import('element-plus/es')['ElCard'] @@ -16,13 +19,18 @@ declare module '@vue/runtime-core' { ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider'] ElContainer: typeof import('element-plus/es')['ElContainer'] ElDialog: typeof import('element-plus/es')['ElDialog'] + ElForm: typeof import('element-plus/es')['ElForm'] + ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElHeader: typeof import('element-plus/es')['ElHeader'] ElInput: typeof import('element-plus/es')['ElInput'] ElMain: typeof import('element-plus/es')['ElMain'] ElMenu: typeof import('element-plus/es')['ElMenu'] ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] + ElOption: typeof import('element-plus/es')['ElOption'] + ElOptions: typeof import('element-plus/es')['ElOptions'] ElRow: typeof import('element-plus/es')['ElRow'] ElScrollbar: typeof import('element-plus/es')['ElScrollbar'] + ElSelect: typeof import('element-plus/es')['ElSelect'] ElTable: typeof import('element-plus/es')['ElTable'] ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] RouterLink: typeof import('vue-router')['RouterLink'] diff --git a/src/components/ConfigFormCol.vue b/src/components/ConfigFormCol.vue new file mode 100644 index 00000000..30bc3266 --- /dev/null +++ b/src/components/ConfigFormCol.vue @@ -0,0 +1,13 @@ + + + diff --git a/src/components/ConfigFormRow.vue b/src/components/ConfigFormRow.vue new file mode 100644 index 00000000..b9851a76 --- /dev/null +++ b/src/components/ConfigFormRow.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/pages/bangumi/index.vue b/src/pages/bangumi/index.vue index 2df75966..7d0f9974 100644 --- a/src/pages/bangumi/index.vue +++ b/src/pages/bangumi/index.vue @@ -1,12 +1,6 @@