Browse Source

fix: 修复反序列化无法处理es6简写函数的问题

奔跑的面条 2 years ago
parent
commit
f49a556953
1 changed files with 6 additions and 0 deletions
  1. 6 0
      src/utils/utils.ts

+ 6 - 0
src/utils/utils.ts

@@ -321,6 +321,12 @@ export const JSONParse = (data: string) => {
   return JSON.parse(data, (k, v) => {
     if (typeof v === 'string' && v.indexOf && (v.indexOf('function') > -1 || v.indexOf('=>') > -1)) {
       return eval(`(function(){return ${v}})()`)
+    } else if (typeof v === 'string' && v.indexOf && (v.indexOf('return ') > -1)) {
+      const baseLeftIndex = v.indexOf('(')
+      if (baseLeftIndex > -1) {
+        const newFn = `function ${v.substring(baseLeftIndex)}`
+        return eval(`(function(){return ${newFn}})()`)
+      }
     }
     return v
   })