فهرست منبع

处理缓存问题

ZaiZai 1 سال پیش
والد
کامیت
5691ac4e25
3فایلهای تغییر یافته به همراه29 افزوده شده و 7 حذف شده
  1. 8 4
      src/layout/modules/UserInfoBar.vue
  2. 2 3
      src/store/index.js
  3. 19 0
      src/utils/storage.js

+ 8 - 4
src/layout/modules/UserInfoBar.vue

@@ -22,8 +22,11 @@
 import { onMounted, ref, watch } from 'vue'
 import { useRouter } from 'vue-router'
 import { useAppStore } from '~src/store'
+import { getStore } from 'hc-vue3-ui'
+import { calcDate, isNullES } from 'js-fast-way'
+import website from '~src/config/index'
+import { LogOut, RefreshToken } from '~store/user'
 import avatarPng from '~src/assets/images/avatar.png'
-//import { LogOut, RefreshToken } from '~src/store/user'
 
 //事件
 const emit = defineEmits(['load'])
@@ -40,6 +43,7 @@ watch(() => store.userInfo, (info) => {
     emit('load', info)
 })
 
+//渲染完成
 onMounted(() => {
     getRefreshToken()
     emit('load', userInfo.value)
@@ -47,7 +51,7 @@ onMounted(() => {
 
 //刷新token
 const getRefreshToken = () => {
-    /*setInterval(() => {
+    setInterval(() => {
         const token = getStore('token', true) || {}
         const date = calcDate(token.datetime, new Date().getTime())
         if (isNullES(date)) return
@@ -61,14 +65,14 @@ const getRefreshToken = () => {
                 router.push({ name: 'login' })
             })
         }
-    }, 10000)*/
+    }, 10000)
 }
 
 const options = [{ key: 'logout', label: '退出登录', icon: 'login-box' }]
 
 const handleSelect = (key) => {
     if (key === 'logout') {
-        //LogOut().then()
+        LogOut()
         window.$message?.info('退出成功')
         router.push({ name: 'login' })
     }

+ 2 - 3
src/store/index.js

@@ -1,6 +1,7 @@
 import { defineStore } from 'pinia'
 import pinia from '~src/store/init'
-import { clearStoreAll, getStore, removeRefreshToken, removeToken, setStore } from 'hc-vue3-ui'
+import { clearStoreAll, getStore, setStore } from '~src/utils/storage'
+
 export const useAppStore = defineStore('main', {
     state: () => ({
         //用户信息
@@ -45,8 +46,6 @@ export const useAppStore = defineStore('main', {
             this.buttons = null
             //清除缓存
             clearStoreAll()
-            removeToken()
-            removeRefreshToken()
         },
     },
 })

+ 19 - 0
src/utils/storage.js

@@ -0,0 +1,19 @@
+import { clearStoreAll, delStoreData, getStoreData, setStoreData } from 'js-fast-way'
+import website from '~src/config/index'
+
+//获取缓存
+export const getStore = (key, debug = false, session = false) => {
+    return getStoreData(website.key + '-' + key, debug, session)
+}
+
+//保存缓存
+export const setStore = (key, value, session = false) => {
+    return setStoreData(website.key + '-' + key, value, session)
+}
+
+//删除缓存
+export const delStore = (key, session = false) => {
+    return delStoreData(website.key + '-' + key, session)
+}
+
+export { clearStoreAll }