Explorar el Código

fix: 处理本地存储序列化的问题

奔跑的面条 hace 2 años
padre
commit
faafb02534
Se han modificado 2 ficheros con 5 adiciones y 3 borrados
  1. 4 2
      src/utils/storage.ts
  2. 1 1
      src/utils/utils.ts

+ 4 - 2
src/utils/storage.ts

@@ -1,3 +1,5 @@
+import { JSONStringify, JSONParse } from './utils'
+
 /**
  * * 存储本地会话数据
  * @param k 键名
@@ -6,7 +8,7 @@
  */
 export const setLocalStorage = <T>(k: string, v: T) => {
   try {
-    window.localStorage.setItem(k, JSON.stringify(v))
+    window.localStorage.setItem(k, JSONStringify(v))
   } catch (error) {
     return false
   }
@@ -20,7 +22,7 @@ export const setLocalStorage = <T>(k: string, v: T) => {
 export const getLocalStorage = (k: string) => {
   const item = window.localStorage.getItem(k)
   try {
-    return item ? JSON.parse(item) : item
+    return item ? JSONParse(item) : item
   } catch (err) {
     return item
   }

+ 1 - 1
src/utils/utils.ts

@@ -295,7 +295,7 @@ export const setKeyboardDressShow = (keyCode?: number) => {
  * * JSON序列化,支持函数和 undefined
  * @param data
  */
-export const JSONStringify = (data: object) => {
+export const JSONStringify = <T>(data: T) => {
   return JSON.stringify(
     data,
     (key, val) => {