From 43230267b6881fc4f1e645df206eba674d14050e Mon Sep 17 00:00:00 2001 From: "meilin.huang" <954537473@qq.com> Date: Wed, 15 Nov 2023 12:28:49 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=95=8C=E9=9D=A2=E5=B0=8F?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mayfly_go_web/package.json | 2 +- mayfly_go_web/src/App.vue | 9 +- mayfly_go_web/src/common/utils/storage.ts | 34 +++-- mayfly_go_web/src/types/pinia.d.ts | 4 +- .../src/views/ops/component/TagTree.vue | 3 +- mayfly_go_web/src/views/ops/db/SqlExec.vue | 138 +++++++++--------- .../db/component/sqleditor/DbSqlEditor.vue | 15 -- .../ops/db/component/table/DbTablesOp.vue | 4 +- .../src/views/ops/mongo/MongoDataOp.vue | 4 +- .../src/views/ops/redis/DataOperation.vue | 4 +- mayfly_go_web/yarn.lock | 8 +- 11 files changed, 115 insertions(+), 110 deletions(-) diff --git a/mayfly_go_web/package.json b/mayfly_go_web/package.json index 97708e1f..784e9157 100644 --- a/mayfly_go_web/package.json +++ b/mayfly_go_web/package.json @@ -11,7 +11,7 @@ "dependencies": { "@element-plus/icons-vue": "^2.1.0", "asciinema-player": "^3.6.2", - "axios": "^1.6.0", + "axios": "^1.6.2", "countup.js": "^2.7.0", "cropperjs": "^1.5.11", "echarts": "^5.4.3", diff --git a/mayfly_go_web/src/App.vue b/mayfly_go_web/src/App.vue index 48e688da..6999c57d 100644 --- a/mayfly_go_web/src/App.vue +++ b/mayfly_go_web/src/App.vue @@ -40,6 +40,12 @@ const openSetingsDrawer = () => { setingsRef.value.openDrawer(); }; +const prefers = matchMedia('(prefers-color-scheme: dark)'); +const switchDarkFollowOS = () => { + // 跟随系统主题 + themeConfigStores.switchDark(prefers.matches); +}; + // 页面加载时 onMounted(() => { nextTick(() => { @@ -53,9 +59,8 @@ onMounted(() => { if (tc) { themeConfigStores.setThemeConfig({ themeConfig: tc }); document.documentElement.style.cssText = getLocal('themeConfigStyle'); - - themeConfigStores.switchDark(tc.isDark); } + switchDarkFollowOS(); // 是否开启水印 useWatermark().then((res) => { diff --git a/mayfly_go_web/src/common/utils/storage.ts b/mayfly_go_web/src/common/utils/storage.ts index ff9275dd..e832ecfc 100644 --- a/mayfly_go_web/src/common/utils/storage.ts +++ b/mayfly_go_web/src/common/utils/storage.ts @@ -1,9 +1,9 @@ import { randomUuid } from './string'; -const TokenKey = 'token'; -const UserKey = 'user'; -const TagViewsKey = 'tagViews'; -const ClientIdKey = 'clientId'; +const TokenKey = 'm-token'; +const UserKey = 'm-user'; +const TagViewsKey = 'm-tagViews'; +const ClientIdKey = 'm-clientId'; // 获取请求token export function getToken(): string { @@ -64,13 +64,20 @@ export function getClientId(): string { // 1. localStorage // 设置永久缓存 export function setLocal(key: string, val: any) { - window.localStorage.setItem(key, JSON.stringify(val)); + if (typeof val == 'object') { + val = JSON.stringify(val); + } + window.localStorage.setItem(key, val); } // 获取永久缓存 export function getLocal(key: string) { - let json: any = window.localStorage.getItem(key); - return JSON.parse(json); + let val: any = window.localStorage.getItem(key); + try { + return JSON.parse(val); + } catch (e) { + return val; + } } // 移除永久缓存 @@ -86,13 +93,20 @@ export function clearLocal() { // 2. sessionStorage // 设置临时缓存 export function setSession(key: string, val: any) { - window.sessionStorage.setItem(key, JSON.stringify(val)); + if (typeof val == 'object') { + val = JSON.stringify(val); + } + window.sessionStorage.setItem(key, val); } // 获取临时缓存 export function getSession(key: string) { - let json: any = window.sessionStorage.getItem(key); - return JSON.parse(json); + let val: any = window.sessionStorage.getItem(key); + try { + return JSON.parse(val); + } catch (e) { + return val; + } } // 移除临时缓存 diff --git a/mayfly_go_web/src/types/pinia.d.ts b/mayfly_go_web/src/types/pinia.d.ts index 873d2afc..f6039ba3 100644 --- a/mayfly_go_web/src/types/pinia.d.ts +++ b/mayfly_go_web/src/types/pinia.d.ts @@ -1,5 +1,5 @@ declare interface UserInfoState { - userInfo: any; + userInfo: T; } declare interface ThemeConfigState { @@ -92,7 +92,7 @@ declare interface TagsView { } // TagsView 路由列表 -declare interface TagsViewsState { +declare interface TagsViewsState<> { tagsViews: TagsView[]; } diff --git a/mayfly_go_web/src/views/ops/component/TagTree.vue b/mayfly_go_web/src/views/ops/component/TagTree.vue index 20cc72f7..6a59fafa 100644 --- a/mayfly_go_web/src/views/ops/component/TagTree.vue +++ b/mayfly_go_web/src/views/ops/component/TagTree.vue @@ -8,7 +8,7 @@ ref="treeRef" :style="{ maxHeight: state.height, height: state.height, overflow: 'auto' }" :highlight-current="true" - :indent="7" + :indent="10" :load="loadNode" :props="treeProps" lazy @@ -190,6 +190,7 @@ defineExpose({ overflow: 'auto'; position: relative; + border-radius: var(--el-input-border-radius, var(--el-border-radius-base)); border: 1px solid var(--el-border-color-light, #ebeef5); .el-tree { diff --git a/mayfly_go_web/src/views/ops/db/SqlExec.vue b/mayfly_go_web/src/views/ops/db/SqlExec.vue index a6ab19d4..be63e1bd 100644 --- a/mayfly_go_web/src/views/ops/db/SqlExec.vue +++ b/mayfly_go_web/src/views/ops/db/SqlExec.vue @@ -1,43 +1,8 @@