From 09b118697108872d621336efa14511a6919d999b Mon Sep 17 00:00:00 2001 From: fuguobin Date: Mon, 4 Sep 2023 18:01:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AE=BE=E5=A4=87=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/images/avatar.png | Bin 8416 -> 14060 bytes src/mock/routes.json | 4 +- src/permission.ts | 2 +- src/router/index.ts | 14 +-- src/store/modules/user.ts | 6 +- src/types/auto-imports.d.ts | 2 - src/utils/socket.ts | 2 +- src/utils/useStorage.ts | 111 +++++++++++++++++ src/views/dashboard/index.scss | 4 +- src/views/dashboard/index.vue | 11 +- .../devicemanage/components/menu.vue | 7 +- src/views/monitoring/devicemanage/index.vue | 33 +++-- .../monitoring/screen/components/main.vue | 14 ++- .../monitoring/screen/components/menu.vue | 114 +++++++++--------- src/views/monitoring/screen/index.scss | 4 + src/views/monitoring/screen/index.vue | 47 +++++--- vite.config.ts | 4 +- 17 files changed, 266 insertions(+), 113 deletions(-) create mode 100644 src/utils/useStorage.ts diff --git a/src/assets/images/avatar.png b/src/assets/images/avatar.png index b5bce2a45b85e6f8ec64c274312515f7d8b17adc..592d266e110e8f346a7e985cec7686c31236d376 100644 GIT binary patch literal 14060 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 K4lkE63iw~8;*DYe literal 8416 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 { NProgress.start(); - const hasToken = localStorage.getItem('userToken'); + const hasToken = sessionStorage.getItem('userToken'); if (hasToken) { if (to.path === '/login') { // 如果已登录,跳转首页 diff --git a/src/router/index.ts b/src/router/index.ts index f08e391..cbd85e5 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -43,14 +43,14 @@ export const constantRoutes: RouteRecordRaw[] = [ { path: '/', component: Layout, - redirect: '/monitoring/screen', + redirect: '/dashboard', children: [ - // { - // path: 'dashboard', - // component: () => import('@/views/dashboard/index.vue'), - // name: 'Dashboard', - // meta: { title: 'dashboard', icon: 'icon-home', affix: true } - // }, + { + path: 'dashboard', + component: () => import('@/views/dashboard/index.vue'), + name: 'Dashboard', + meta: { title: 'dashboard', icon: 'dashboard', affix: true } + }, { path: '401', component: () => import('@/views/error-page/401.vue'), diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 77a5a16..cbe3cd4 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -8,11 +8,11 @@ import { store } from '@/store'; import { LoginData } from '@/api/auth/types'; import { UserInfo } from '@/api/user/types'; -import { useStorage } from '@vueuse/core'; +import { useSessionStorage } from '@vueuse/core'; export const useUserStore = defineStore('user', () => { // state - const token = useStorage('userToken', ''); + const token = useSessionStorage('userToken', ''); const nickname = ref(''); const avatar = ref(''); const roles = ref>([]); // 用户角色编码集合 → 判断路由权限 @@ -54,7 +54,7 @@ export const useUserStore = defineStore('user', () => { avatar.value = user.avatar; roles.value = data.roles; perms.value = data.permissions; - useStorage('userInfo', user); + useSessionStorage('userInfo', user); resolve(data); }) .catch(error => { diff --git a/src/types/auto-imports.d.ts b/src/types/auto-imports.d.ts index e21443a..89da715 100644 --- a/src/types/auto-imports.d.ts +++ b/src/types/auto-imports.d.ts @@ -2,7 +2,6 @@ export {} declare global { const EffectScope: typeof import('vue')['EffectScope'] - const ElForm: typeof import('element-plus/es')['ElForm'] const ElMessage: typeof import('element-plus/es')['ElMessage'] const ElMessageBox: typeof import('element-plus/es')['ElMessageBox'] const NEllipsis: typeof import('naive-ui')['NEllipsis'] @@ -272,7 +271,6 @@ import { UnwrapRef } from 'vue' declare module 'vue' { interface ComponentCustomProperties { readonly EffectScope: UnwrapRef - readonly ElForm: UnwrapRef readonly ElMessage: UnwrapRef readonly ElMessageBox: UnwrapRef readonly NEllipsis: UnwrapRef diff --git a/src/utils/socket.ts b/src/utils/socket.ts index 5346e18..2f3e505 100644 --- a/src/utils/socket.ts +++ b/src/utils/socket.ts @@ -1,6 +1,6 @@ /** * Author: Fu Guobin - * Date: 2020/06/28 + * Date: 2022/08/02 * Last Modified by: Fu Guobin * Last Modified time: 2023/08/28 * Copyright:Daniel(Fu Guobin) diff --git a/src/utils/useStorage.ts b/src/utils/useStorage.ts new file mode 100644 index 0000000..ee5ceda --- /dev/null +++ b/src/utils/useStorage.ts @@ -0,0 +1,111 @@ +/** + * Author: Fu Guobin + * Date: 2022/08/22 + * Last Modified by: Fu Guobin + * Last Modified time: 2023/08/28 + * Copyright:Daniel(Fu Guobin) + * Description:storage方法封装 + */ + +import { ref, computed } from 'vue'; + +type StorageData = { + key: string; + value: any; +}; + +type StorageType = 'localStorage' | 'sessionStorage'; + +const getItem = (key: string, storageType: StorageType): any => { + debugger + try { + const storage = getStorage(storageType); + const item = storage.getItem(key); + if (item) { + return JSON.parse(item); + } + return null; + } catch (error) { + console.error(`Error getting item from ${storageType}: ${error}`); + return null; + } +}; + +const setItem = (key: string, value: any, storageType: StorageType): void => { + try { + const storage = getStorage(storageType); + const stringValue = JSON.stringify(value); + storage.setItem(key, stringValue); + } catch (error) { + console.error(`Error setting item in ${storageType}: ${error}`); + } +}; + +const removeItem = (key: string, storageType: StorageType): void => { + try { + const storage = getStorage(storageType); + storage.removeItem(key); + } catch (error) { + console.error(`Error removing item from ${storageType}: ${error}`); + } +}; + +const clearStorage = (storageType: StorageType): void => { + try { + const storage = getStorage(storageType); + storage.clear(); + } catch (error) { + console.error(`Error clearing ${storageType}: ${error}`); + } +}; + +const getStorage = (storageType: StorageType): Storage => { + return storageType === 'localStorage' ? localStorage : sessionStorage; +}; + +const storageData = ref>([]); + +const initializeStorage = (storageType: StorageType): void => { + const storage = getStorage(storageType); + const keys = Object.keys(storage); + + storageData.value = keys.map((key) => ({ + key, + value: getItem(key, storageType) + })); +}; + +const useStorage = (storageType: StorageType) => { + const getUseStorage = () => { + debugger + return computed(() => storageData.value); + }; + + const setUseStorage = (key: string, value: any) => { + setItem(key, value, storageType); + const newData = { key, value }; + storageData.value.push(newData); + }; + + const removeUseStorage = (key: string) => { + removeItem(key, storageType); + const index = storageData.value.findIndex((item) => item.key === key); + if (index !== -1) { + storageData.value.splice(index, 1); + } + }; + + const clearUseStorage = () => { + clearStorage(storageType); + storageData.value = []; + }; + + return { + getUseStorage, + setUseStorage, + removeUseStorage, + clearUseStorage + }; +}; + +export default useStorage; diff --git a/src/views/dashboard/index.scss b/src/views/dashboard/index.scss index a30259e..b2cbecd 100644 --- a/src/views/dashboard/index.scss +++ b/src/views/dashboard/index.scss @@ -5,8 +5,8 @@ margin-bottom: 15px; .userName { img { - width: 40px; - height: 40px; + width: 50px; + height: 50px; border-radius: 50%; margin-right: 10px; } diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index 11e718d..4188936 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -8,7 +8,7 @@ {{ userStore.nickname }} -->
- +
{{ userStore.nickname }}
{{ currentTime }}
@@ -18,10 +18,10 @@
-
+
@@ -75,6 +75,7 @@ import countTo from '@/utils/countTo'; import LineChart from './components/LineChart.vue'; import BarChart from './components/BarChart.vue'; import PieChart from './components/PieChart.vue'; +import avatar from '@/assets/images/avatar.png'; const userStore = useUserStore(); const duration = 5000; diff --git a/src/views/monitoring/devicemanage/components/menu.vue b/src/views/monitoring/devicemanage/components/menu.vue index c2c3f7e..38544eb 100644 --- a/src/views/monitoring/devicemanage/components/menu.vue +++ b/src/views/monitoring/devicemanage/components/menu.vue @@ -21,6 +21,7 @@ diff --git a/src/views/monitoring/screen/index.scss b/src/views/monitoring/screen/index.scss index 9c3add0..fdd96ff 100644 --- a/src/views/monitoring/screen/index.scss +++ b/src/views/monitoring/screen/index.scss @@ -205,6 +205,10 @@ background-color: red; } + .name{ + cursor: pointer; + } + .cellName { display: flex; justify-content: center; diff --git a/src/views/monitoring/screen/index.vue b/src/views/monitoring/screen/index.vue index b2dacea..44a0b4c 100644 --- a/src/views/monitoring/screen/index.vue +++ b/src/views/monitoring/screen/index.vue @@ -16,18 +16,18 @@ {{ tapsShow === true ? '隐藏' : '显示' }} --> - + 显示项 + + + 返回首页 +
@@ -52,14 +64,14 @@
- + - - - @@ -70,12 +82,12 @@