Ver código fonte

路由跳转参数加密以及修改参数返回

zhuliu 1 ano atrás
pai
commit
82da85217d
5 arquivos alterados com 210 adições e 108 exclusões
  1. 106 101
      package-lock.json
  2. 1 0
      package.json
  3. 5 0
      src/api/newApi/patent.js
  4. 87 0
      src/utils/encryption.js
  5. 11 7
      src/utils/query.js

+ 106 - 101
package-lock.json

@@ -1775,87 +1775,6 @@
         "webpack-chain": "^6.4.0",
         "webpack-dev-server": "^3.11.0",
         "webpack-merge": "^4.2.2"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true,
-          "optional": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true,
-          "optional": true
-        },
-        "loader-utils": {
-          "version": "2.0.4",
-          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
-          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^2.1.2"
-          }
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        },
-        "vue-loader-v16": {
-          "version": "npm:vue-loader@16.8.3",
-          "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
-          "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "chalk": "^4.1.0",
-            "hash-sum": "^2.0.0",
-            "loader-utils": "^2.0.0"
-          }
-        }
       }
     },
     "@vue/cli-shared-utils": {
@@ -2572,7 +2491,7 @@
     "babel-plugin-syntax-dynamic-import": {
       "version": "6.18.0",
       "resolved": "https://registry.npmmirror.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
-      "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo= sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA==",
+      "integrity": "sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA==",
       "dev": true
     },
     "babel-runtime": {
@@ -3503,7 +3422,7 @@
     "clone": {
       "version": "2.1.2",
       "resolved": "https://registry.npmmirror.com/clone/-/clone-2.1.2.tgz",
-      "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w=="
+      "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w=="
     },
     "coa": {
       "version": "2.0.2",
@@ -4083,6 +4002,11 @@
         "randomfill": "^1.0.3"
       }
     },
+    "crypto-js": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz",
+      "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
+    },
     "css-color-names": {
       "version": "0.0.4",
       "resolved": "https://registry.nlark.com/css-color-names/download/css-color-names-0.0.4.tgz",
@@ -4710,7 +4634,7 @@
     "domready": {
       "version": "1.0.8",
       "resolved": "https://registry.npmmirror.com/domready/-/domready-1.0.8.tgz",
-      "integrity": "sha1-kfJS5Ze2Wvd+dFriTdAYXV4m1Yw= sha512-uIzsOJUNk+AdGE9a6VDeessoMCzF8RrZvJCX/W8QtyfgdR6Uofn/MvRonih3OtCO79b2VDzDOymuiABrQ4z3XA==",
+      "integrity": "sha512-uIzsOJUNk+AdGE9a6VDeessoMCzF8RrZvJCX/W8QtyfgdR6Uofn/MvRonih3OtCO79b2VDzDOymuiABrQ4z3XA==",
       "dev": true
     },
     "domutils": {
@@ -5892,7 +5816,7 @@
     "fuzzysearch": {
       "version": "1.0.3",
       "resolved": "https://registry.npmmirror.com/fuzzysearch/-/fuzzysearch-1.0.3.tgz",
-      "integrity": "sha1-3/yA9tawQiPyImqnndGUIxCW0Ag= sha512-s+kNWQuI3mo9OALw0HJ6YGmMbLqEufCh2nX/zzV5CrICQ/y4AwPxM+6TIiF9ItFCHXFCyM/BfCCmN57NTIJuPg=="
+      "integrity": "sha512-s+kNWQuI3mo9OALw0HJ6YGmMbLqEufCh2nX/zzV5CrICQ/y4AwPxM+6TIiF9ItFCHXFCyM/BfCCmN57NTIJuPg=="
     },
     "gensync": {
       "version": "1.0.0-beta.2",
@@ -6063,7 +5987,7 @@
     "has-ansi": {
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/has-ansi/-/has-ansi-2.0.0.tgz",
-      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
+      "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
       "dev": true,
       "requires": {
         "ansi-regex": "^2.0.0"
@@ -6530,7 +6454,7 @@
     "image-size": {
       "version": "0.5.5",
       "resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz",
-      "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ=="
+      "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ=="
     },
     "immutable": {
       "version": "4.0.0",
@@ -7902,7 +7826,7 @@
     "mitt": {
       "version": "1.1.2",
       "resolved": "https://registry.npmmirror.com/mitt/-/mitt-1.1.2.tgz",
-      "integrity": "sha1-OA5hSA1qYVtmDwertg1R4KTkvtY= sha512-3btxP0O9iGADGWAkteQ8mzDtEspZqu4I32y4GZYCV5BrwtzdcRpF4dQgNdJadCrbBx7Lu6Sq9AVrerMHR0Hkmw==",
+      "integrity": "sha512-3btxP0O9iGADGWAkteQ8mzDtEspZqu4I32y4GZYCV5BrwtzdcRpF4dQgNdJadCrbBx7Lu6Sq9AVrerMHR0Hkmw==",
       "dev": true
     },
     "mixin-deep": {
@@ -8695,7 +8619,7 @@
     "particles.js": {
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/particles.js/-/particles.js-2.0.0.tgz",
-      "integrity": "sha1-IThsQyjWx/lngKIB6W7t/AnHNvY= sha512-8e0JIqkRbMMPlFBnF9f+92hX1s07jdkd3tqB8uHE9L+cwGGjIYjQM7QLgt0FQ5MZp6SFFYYDm/Y48pqK3ZvJOQ==",
+      "integrity": "sha512-8e0JIqkRbMMPlFBnF9f+92hX1s07jdkd3tqB8uHE9L+cwGGjIYjQM7QLgt0FQ5MZp6SFFYYDm/Y48pqK3ZvJOQ==",
       "dev": true
     },
     "pascalcase": {
@@ -9461,7 +9385,7 @@
     "posthtml": {
       "version": "0.9.2",
       "resolved": "https://registry.npmmirror.com/posthtml/-/posthtml-0.9.2.tgz",
-      "integrity": "sha1-9MBtufZ7Yf0XxOJW5+PZUVv3Jv0= sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==",
+      "integrity": "sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==",
       "dev": true,
       "requires": {
         "posthtml-parser": "^0.2.0",
@@ -9471,7 +9395,7 @@
     "posthtml-parser": {
       "version": "0.2.1",
       "resolved": "https://registry.npmmirror.com/posthtml-parser/-/posthtml-parser-0.2.1.tgz",
-      "integrity": "sha1-NdUw3jhnQMK6JP8usvrznM3ycd0= sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==",
+      "integrity": "sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==",
       "dev": true,
       "requires": {
         "htmlparser2": "^3.8.3",
@@ -11309,13 +11233,13 @@
         "ansi-styles": {
           "version": "2.2.1",
           "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz",
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
+          "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
           "dev": true
         },
         "chalk": {
           "version": "1.1.3",
           "resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz",
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
+          "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^2.2.1",
@@ -11328,7 +11252,7 @@
             "supports-color": {
               "version": "2.0.0",
               "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz",
-              "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
+              "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
               "dev": true
             }
           }
@@ -11354,7 +11278,7 @@
         "has-flag": {
           "version": "1.0.0",
           "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-1.0.0.tgz",
-          "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==",
+          "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==",
           "dev": true
         },
         "is-extendable": {
@@ -11414,7 +11338,7 @@
         "supports-color": {
           "version": "3.2.3",
           "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-3.2.3.tgz",
-          "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==",
+          "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==",
           "dev": true,
           "requires": {
             "has-flag": "^1.0.0"
@@ -11436,7 +11360,7 @@
         "deepmerge": {
           "version": "1.3.2",
           "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.3.2.tgz",
-          "integrity": "sha1-FmNpFinU2/42T6EqKk8KqGqjoFA= sha512-qjMjTrk+RKv/sp4RPDpV5CnKhxjFI9p+GkLBOls5A8EEElldYWCWA9zceAkmfd0xIo2aU1nxiaLFoiya2sb6Cg==",
+          "integrity": "sha512-qjMjTrk+RKv/sp4RPDpV5CnKhxjFI9p+GkLBOls5A8EEElldYWCWA9zceAkmfd0xIo2aU1nxiaLFoiya2sb6Cg==",
           "dev": true
         }
       }
@@ -11460,7 +11384,7 @@
         "deepmerge": {
           "version": "1.3.2",
           "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.3.2.tgz",
-          "integrity": "sha1-FmNpFinU2/42T6EqKk8KqGqjoFA= sha512-qjMjTrk+RKv/sp4RPDpV5CnKhxjFI9p+GkLBOls5A8EEElldYWCWA9zceAkmfd0xIo2aU1nxiaLFoiya2sb6Cg==",
+          "integrity": "sha512-qjMjTrk+RKv/sp4RPDpV5CnKhxjFI9p+GkLBOls5A8EEElldYWCWA9zceAkmfd0xIo2aU1nxiaLFoiya2sb6Cg==",
           "dev": true
         }
       }
@@ -12122,7 +12046,7 @@
     "unidecode": {
       "version": "0.1.8",
       "resolved": "https://registry.npmmirror.com/unidecode/-/unidecode-0.1.8.tgz",
-      "integrity": "sha1-77swFTi8RSRqmsjFWdcvAVMFBT4= sha512-SdoZNxCWpN2tXTCrGkPF/0rL2HEq+i2gwRG1ReBvx8/0yTzC3enHfugOf8A9JBShVwwrRIkLX0YcDUGbzjbVCA==",
+      "integrity": "sha512-SdoZNxCWpN2tXTCrGkPF/0rL2HEq+i2gwRG1ReBvx8/0yTzC3enHfugOf8A9JBShVwwrRIkLX0YcDUGbzjbVCA==",
       "dev": true
     },
     "union-value": {
@@ -12309,7 +12233,7 @@
     "url-slug": {
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/url-slug/-/url-slug-2.0.0.tgz",
-      "integrity": "sha1-p4nVrtSZXA2VrzM3etHVxo1NcCc= sha512-aiNmSsVgrjCiJ2+KWPferjT46YFKoE8i0YX04BlMVDue022Xwhg/zYlnZ6V9/mP3p8Wj7LEp0myiTkC/p6sxew==",
+      "integrity": "sha512-aiNmSsVgrjCiJ2+KWPferjT46YFKoE8i0YX04BlMVDue022Xwhg/zYlnZ6V9/mP3p8Wj7LEp0myiTkC/p6sxew==",
       "dev": true,
       "requires": {
         "unidecode": "0.1.8"
@@ -12496,10 +12420,91 @@
         }
       }
     },
+    "vue-loader-v16": {
+      "version": "npm:vue-loader@16.8.3",
+      "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
+      "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "chalk": "^4.1.0",
+        "hash-sum": "^2.0.0",
+        "loader-utils": "^2.0.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true,
+          "optional": true
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true,
+          "optional": true
+        },
+        "loader-utils": {
+          "version": "2.0.4",
+          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
+          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^2.1.2"
+          }
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
+          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        }
+      }
+    },
     "vue-particles": {
       "version": "1.0.9",
       "resolved": "https://registry.npmmirror.com/vue-particles/-/vue-particles-1.0.9.tgz",
-      "integrity": "sha1-KdnMK+AVffHAqH7DuWyW8zJ5Um4= sha512-9MUkX6Sq1x7guUHoN4Br4Dwtb+gY1t+uJMg0wxJtKKOURe/zS+8PsKwMhspCfl4ch3EM5nrwhASVX2UizKb41w==",
+      "integrity": "sha512-9MUkX6Sq1x7guUHoN4Br4Dwtb+gY1t+uJMg0wxJtKKOURe/zS+8PsKwMhspCfl4ch3EM5nrwhASVX2UizKb41w==",
       "dev": true,
       "requires": {
         "particles.js": "^2.0.0",

+ 1 - 0
package.json

@@ -10,6 +10,7 @@
   "dependencies": {
     "@riophae/vue-treeselect": "^0.4.0",
     "core-js": "^3.6.5",
+    "crypto-js": "^4.2.0",
     "driver.js": "^1.3.0",
     "echarts": "^5.2.2",
     "el-table-infinite-scroll": "^1.0.0",

+ 5 - 0
src/api/newApi/patent.js

@@ -13,6 +13,11 @@ export default {
    * @returns 
    */
   QueryPatent(data) {
+    if(!data.projectId && !data.productId){
+      window.history.go(-1)
+      confirm('无效访问')
+      return
+    }
     return axios.post("/xiaoshi/patent/queryPatent", data);
   },
   /**

+ 87 - 0
src/utils/encryption.js

@@ -0,0 +1,87 @@
+ 
+import CryptoJS from 'crypto-js'
+import CryptoJSCore from 'crypto-js/core'
+import AES from 'crypto-js/aes'
+import ZeroPadding from 'crypto-js/pad-zeropadding'
+import Utf8, { parse } from 'crypto-js/enc-utf8'
+import Base64 from 'crypto-js/enc-base64'
+ 
+/*
+ * 加密 解密
+ */
+const keyHex = parse('1111111111111111') // 十六位数作为密钥,自行修改
+const ivHex = CryptoJS.lib.WordArray.random(128 / 8) // 十六位数作为密钥偏移量 随机生成
+ 
+/**
+ * 加密
+ * @param {String} key
+ * @returns {string}
+ */
+// 加密后的结果通常是一个CipherParams对象,其中包含了加密后的密文数据,而密文数据本身是一个WordArray对象。同样,在解密过程中,解密后的结果也是一个WordArray对象。
+export const getEncrypt = (key) => {
+  try {
+    key = JSON.stringify(key)
+  } catch (e) {
+    console.warn(e)
+  }
+  //   key需要是WordArray类型
+  return JSON.stringify({
+    encrypt: AES.encrypt(key, keyHex, {
+      mode: CryptoJSCore.mode.CBC,
+      padding: ZeroPadding,
+      iv: ivHex,
+    }).toString(),
+    iv: ivHex,
+  })
+}
+ 
+/**
+ * 加密后转base64
+ * @param {String}} key
+ */
+export const getEncryptToBase64 = (key) => {
+  const encryptStr = getEncrypt(key)
+  const wordArray = Utf8.parse(encryptStr) //转为WordArray对象
+  return Base64.stringify(wordArray)
+}
+ 
+/**
+ * 解密
+ * @param data
+ * @returns {string}
+ */
+export const getDecrypt = (data) => {
+  let { encrypt, iv } = JSON.parse(data)
+  let decrypted = AES.decrypt(
+    {
+      ciphertext: Base64.parse(encrypt),
+    },
+    keyHex,
+    {
+      mode: CryptoJSCore.mode.CBC,
+      padding: ZeroPadding,
+      iv: iv,
+    }
+  ).toString(Utf8) //转换为指定编码的字符串
+ 
+  try {
+    decrypted = JSON.parse(decrypted)
+  } catch (e) {
+    console.warn(e)
+  }
+  return decrypted
+}
+ 
+/**
+ * 对base64数据解密  先解析base64,在做解密
+ * @param {String} data
+ * @returns {string}
+ */
+export const getDecryptByBase64 = (data) => {
+  // 将Base64字符串转换为WordArray
+  const parsedWordArray = Base64.parse(data)
+  //   WordArray对象转换成一个UTF-8编码的字符串
+  const decryptStr = Utf8.stringify(parsedWordArray)
+ 
+  return getDecrypt(decryptStr)
+}

+ 11 - 7
src/utils/query.js

@@ -1,3 +1,7 @@
+import {
+    getEncryptToBase64 as encrypt,
+    getDecryptByBase64 as decrypt,
+  } from './encryption'
 const encodeReserveRE = /[!'()*]/g
 const encodeReserveReplacer = (c) => '%' + c.charCodeAt(0).toString(16)
 const commaRE = /&2c/g
@@ -50,7 +54,7 @@ export const stringifyQuery = (obj)=>{
             return encode(key) + '=' + encode(val)
         }).join('&')
         : null
-    return res ? `?${btoa(res)}` : ''
+    return res ? `?${encrypt(res)}` : ''
 }
 
 
@@ -63,12 +67,12 @@ export const parseQuery = (query) =>{
         return res
     }
 
-    // query = isBase64(query) ? decrypt(query) : query
-    try{
-        query = atob(query)
-    }catch(err){
-        query = query
-    }
+    query = isBase64(query) ? decrypt(query) : query
+    // try{
+    //     query = decrypt(query)
+    // }catch(err){
+    //     query = query
+    // }
 
     query.split('&').forEach((param)=>{
         const parts = param.split('=')