Browse Source

tocken 加 本地缓存

1
mo 2 years ago
parent
commit
8530c57fb3
3 changed files with 61 additions and 2 deletions
  1. 2 0
      src/layout/components/imkit/storage.js
  2. 6 2
      src/utils/auth.js
  3. 53 0
      src/utils/storage.js

+ 2 - 0
src/layout/components/imkit/storage.js

@@ -69,3 +69,5 @@ export class LangStore {
     return lang;
   }
 }
+
+

+ 6 - 2
src/utils/auth.js

@@ -1,5 +1,5 @@
 import Cookies from "js-cookie";
-
+import {Session,Local} from './storage'
 const TokenKey = getKeyWordKey();
 // const CrossTokenKey = 'Admin-Token'
 const CrossTokenKey = "Admin-Token";
@@ -29,7 +29,7 @@ function getKeyWordKey() {
 }
 
 export function getToken() {
-  return Cookies.get(TokenKey, { domain: getCookieDomain() });
+  return Cookies.get(TokenKey, { domain: getCookieDomain() }) ||  Local.get('token') ||  Session.get('token');
 }
 
 export function getTenantId() {
@@ -39,10 +39,14 @@ export function getTenantId() {
 }
 
 export function setToken(token) {
+  Session.set('token',token)
+  Local.set('token',token)
   return Cookies.set(TokenKey, token, { domain: getCookieDomain() });
 }
 
 export function removeToken() {
+  Session.set('token','')
+  Local.set('token','')
   Cookies.set(TokenKey, "");
   return Cookies.remove(TokenKey);
 }

+ 53 - 0
src/utils/storage.js

@@ -0,0 +1,53 @@
+/**
+ * window.localStorage 浏览器永久缓存
+ * @method set 设置永久缓存
+ * @method get 获取永久缓存
+ * @method remove 移除永久缓存
+ * @method clear 移除全部永久缓存
+ */
+ export const Local = {
+  // 设置永久缓存
+  set(key, val) {
+    window.localStorage.setItem(key, JSON.stringify(val))
+  },
+  // 获取永久缓存
+  get(key) {
+    let json = window.localStorage.getItem(key)
+    return JSON.parse(json)
+  },
+  // 移除永久缓存
+  remove(key) {
+    window.localStorage.removeItem(key)
+  },
+  // 移除全部永久缓存
+  clear() {
+    window.localStorage.clear()
+  }
+}
+
+/**
+ * window.sessionStorage 浏览器临时缓存
+ * @method set 设置临时缓存
+ * @method get 获取临时缓存
+ * @method remove 移除临时缓存
+ * @method clear 移除全部临时缓存
+ */
+export const Session = {
+  // 设置临时缓存
+  set(key, val) {
+    window.sessionStorage.setItem(key, JSON.stringify(val))
+  },
+  // 获取临时缓存
+  get(key) {
+    let json = window.sessionStorage.getItem(key)
+    return JSON.parse(json)
+  },
+  // 移除临时缓存
+  remove(key) {
+    window.sessionStorage.removeItem(key)
+  },
+  // 移除全部临时缓存
+  clear() {
+    window.sessionStorage.clear()
+  }
+}