whyczyk
2022-04-09 ca97bee1f554f2473c69ec42df16486d26f4a38a
修复首页地图弹窗口初始化位置不对问题
2个文件已修改
2863 ■■■■ 已修改文件
package-lock.json 572 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/index.vue 2291 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package-lock.json
@@ -1513,7 +1513,7 @@
      "dependencies": {
        "html-tags": {
          "version": "2.0.0",
          "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
          "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz",
          "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=",
          "dev": true
        }
@@ -1617,7 +1617,7 @@
        },
        "html-tags": {
          "version": "2.0.0",
          "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
          "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz",
          "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=",
          "dev": true
        }
@@ -2209,7 +2209,7 @@
        },
        "yallist": {
          "version": "2.1.2",
          "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
          "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
          "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
          "dev": true
        }
@@ -2512,7 +2512,7 @@
    },
    "alphanum-sort": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
      "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz",
      "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
      "dev": true
    },
@@ -2547,7 +2547,7 @@
    },
    "any-promise": {
      "version": "1.3.0",
      "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
      "resolved": "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz",
      "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
      "dev": true
    },
@@ -2593,7 +2593,7 @@
    },
    "arr-diff": {
      "version": "4.0.0",
      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz",
      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
    },
    "arr-flatten": {
@@ -2603,18 +2603,18 @@
    },
    "arr-union": {
      "version": "3.1.0",
      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz",
      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
    },
    "array-flatten": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
      "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz",
      "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
      "dev": true
    },
    "array-union": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
      "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz",
      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
      "dev": true,
      "requires": {
@@ -2623,13 +2623,13 @@
    },
    "array-uniq": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
      "resolved": "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz",
      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
      "dev": true
    },
    "array-unique": {
      "version": "0.3.2",
      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
      "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz",
      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
    },
    "asn1": {
@@ -2673,13 +2673,13 @@
      "dependencies": {
        "inherits": {
          "version": "2.0.1",
          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
          "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz",
          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
          "dev": true
        },
        "util": {
          "version": "0.10.3",
          "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
          "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz?cache=0&sync_timestamp=1588238457176&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.10.3.tgz",
          "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
          "dev": true,
          "requires": {
@@ -2690,13 +2690,13 @@
    },
    "assert-plus": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
      "dev": true
    },
    "assign-symbols": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz",
      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
    },
    "astral-regex": {
@@ -2734,7 +2734,7 @@
    },
    "asynckit": {
      "version": "0.4.0",
      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
      "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
      "dev": true
    },
@@ -2784,7 +2784,7 @@
    },
    "aws-sign2": {
      "version": "0.7.0",
      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
      "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz",
      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
      "dev": true
    },
@@ -2893,7 +2893,7 @@
    },
    "babel-polyfill": {
      "version": "6.26.0",
      "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
      "resolved": "https://registry.npm.taobao.org/babel-polyfill/download/babel-polyfill-6.26.0.tgz",
      "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
      "requires": {
        "babel-runtime": "^6.26.0",
@@ -2908,7 +2908,7 @@
        },
        "regenerator-runtime": {
          "version": "0.10.5",
          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
          "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.10.5.tgz?cache=0&sync_timestamp=1595456367497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.10.5.tgz",
          "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg="
        }
      }
@@ -2950,7 +2950,7 @@
      "dependencies": {
        "define-property": {
          "version": "1.0.0",
          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
          "requires": {
            "is-descriptor": "^1.0.0"
@@ -2992,13 +2992,13 @@
    },
    "batch": {
      "version": "0.6.1",
      "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
      "resolved": "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz",
      "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
      "dev": true
    },
    "bcrypt-pbkdf": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
      "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz",
      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
      "dev": true,
      "requires": {
@@ -3077,7 +3077,7 @@
    },
    "bonjour": {
      "version": "3.5.0",
      "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
      "resolved": "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz",
      "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
      "dev": true,
      "requires": {
@@ -3099,7 +3099,7 @@
    },
    "boolbase": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz",
      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
      "dev": true
    },
@@ -3131,7 +3131,7 @@
      "dependencies": {
        "extend-shallow": {
          "version": "2.0.1",
          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
          "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
          "requires": {
            "is-extendable": "^0.1.0"
@@ -3141,7 +3141,7 @@
    },
    "brorand": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz",
      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
      "dev": true
    },
@@ -3281,13 +3281,13 @@
    },
    "buffer-xor": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
      "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz",
      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
      "dev": true
    },
    "builtin-status-codes": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz",
      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
      "dev": true
    },
@@ -3361,13 +3361,13 @@
    },
    "call-me-maybe": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz",
      "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
      "dev": true
    },
    "caller-callsite": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz?cache=0&sync_timestamp=1562668933683&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaller-callsite%2Fdownload%2Fcaller-callsite-2.0.0.tgz",
      "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
      "dev": true,
      "requires": {
@@ -3401,7 +3401,7 @@
    },
    "camel-case": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz",
      "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
      "dev": true,
      "requires": {
@@ -3441,7 +3441,7 @@
    },
    "caseless": {
      "version": "0.12.0",
      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
      "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz",
      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
      "dev": true
    },
@@ -3576,7 +3576,7 @@
      "dependencies": {
        "define-property": {
          "version": "0.2.5",
          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
          "requires": {
            "is-descriptor": "^0.1.0"
@@ -3603,7 +3603,7 @@
    },
    "cli-cursor": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz",
      "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
      "dev": true,
      "requires": {
@@ -3777,7 +3777,7 @@
    },
    "clone": {
      "version": "1.0.4",
      "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
      "resolved": "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz",
      "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
      "dev": true
    },
@@ -3854,7 +3854,7 @@
    },
    "collection-visit": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz",
      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
      "requires": {
        "map-visit": "^1.0.0",
@@ -3882,7 +3882,7 @@
    },
    "color-name": {
      "version": "1.1.3",
      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
      "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz",
      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
      "dev": true
    },
@@ -3898,7 +3898,7 @@
    },
    "colors": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
      "resolved": "https://registry.npm.taobao.org/colors/download/colors-1.0.3.tgz",
      "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs="
    },
    "combined-stream": {
@@ -3917,7 +3917,7 @@
    },
    "commondir": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz",
      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
      "dev": true
    },
@@ -3952,7 +3952,7 @@
      "dependencies": {
        "bytes": {
          "version": "3.0.0",
          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
          "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.0.0.tgz",
          "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
          "dev": true
        }
@@ -3965,7 +3965,7 @@
    },
    "concat-map": {
      "version": "0.0.1",
      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
    },
    "concat-stream": {
@@ -4003,7 +4003,7 @@
    },
    "constants-browserify": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz",
      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
      "dev": true
    },
@@ -4039,7 +4039,7 @@
    },
    "cookie-signature": {
      "version": "1.0.6",
      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
      "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz",
      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
      "dev": true
    },
@@ -4068,7 +4068,7 @@
    },
    "copy-descriptor": {
      "version": "0.1.1",
      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
      "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz",
      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
    },
    "copy-webpack-plugin": {
@@ -4130,7 +4130,7 @@
        },
        "globby": {
          "version": "7.1.1",
          "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
          "resolved": "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz?cache=0&sync_timestamp=1591083812416&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-7.1.1.tgz",
          "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
          "dev": true,
          "requires": {
@@ -4221,7 +4221,7 @@
        },
        "pify": {
          "version": "3.0.0",
          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
          "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
          "dev": true
        },
@@ -4252,7 +4252,7 @@
        },
        "slash": {
          "version": "1.0.0",
          "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
          "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz",
          "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
          "dev": true
        },
@@ -4303,7 +4303,7 @@
    },
    "corser": {
      "version": "2.0.1",
      "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/corser/download/corser-2.0.1.tgz",
      "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c="
    },
    "cosmiconfig": {
@@ -4320,7 +4320,7 @@
      "dependencies": {
        "parse-json": {
          "version": "4.0.0",
          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
          "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz",
          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
          "dev": true,
          "requires": {
@@ -4450,7 +4450,7 @@
    },
    "css-color-names": {
      "version": "0.0.4",
      "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
      "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz",
      "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
      "dev": true
    },
@@ -4726,13 +4726,13 @@
    },
    "cssnano-util-get-arguments": {
      "version": "4.0.0",
      "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz",
      "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
      "dev": true
    },
    "cssnano-util-get-match": {
      "version": "4.0.0",
      "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz",
      "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
      "dev": true
    },
@@ -4816,13 +4816,13 @@
    },
    "cyclist": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz",
      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
      "dev": true
    },
    "dashdash": {
      "version": "1.14.1",
      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
      "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz",
      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
      "dev": true,
      "requires": {
@@ -4831,7 +4831,7 @@
    },
    "de-indent": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
      "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz",
      "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=",
      "dev": true
    },
@@ -4845,13 +4845,13 @@
    },
    "decamelize": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
      "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1580010393599&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz",
      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
      "dev": true
    },
    "decode-uri-component": {
      "version": "0.2.0",
      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
      "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz",
      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
    },
    "deep-equal": {
@@ -4996,7 +4996,7 @@
    },
    "defaults": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
      "resolved": "https://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz",
      "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
      "dev": true,
      "requires": {
@@ -5066,7 +5066,7 @@
      "dependencies": {
        "globby": {
          "version": "6.1.0",
          "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
          "resolved": "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz?cache=0&sync_timestamp=1591083812416&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-6.1.0.tgz",
          "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
          "dev": true,
          "requires": {
@@ -5079,7 +5079,7 @@
          "dependencies": {
            "pify": {
              "version": "2.3.0",
              "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
              "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
              "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
              "dev": true
            }
@@ -5089,13 +5089,13 @@
    },
    "delayed-stream": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
      "dev": true
    },
    "depd": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
      "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz",
      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
      "dev": true
    },
@@ -5111,7 +5111,7 @@
    },
    "destroy": {
      "version": "1.0.4",
      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
      "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz",
      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
      "dev": true
    },
@@ -5151,7 +5151,7 @@
    },
    "dns-equal": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz",
      "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
      "dev": true
    },
@@ -5167,7 +5167,7 @@
    },
    "dns-txt": {
      "version": "2.0.2",
      "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
      "resolved": "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz",
      "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
      "dev": true,
      "requires": {
@@ -5302,7 +5302,7 @@
    },
    "ecc-jsbn": {
      "version": "0.1.2",
      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
      "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz",
      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
      "dev": true,
      "requires": {
@@ -5336,7 +5336,7 @@
    },
    "ee-first": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
      "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
      "dev": true
    },
@@ -5402,7 +5402,7 @@
    },
    "encodeurl": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
      "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz",
      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
      "dev": true
    },
@@ -5528,13 +5528,13 @@
    },
    "escape-html": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
      "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
      "dev": true
    },
    "escape-string-regexp": {
      "version": "1.0.5",
      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
      "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1587627212242&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz",
      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
    },
    "eslint": {
@@ -6251,7 +6251,7 @@
    },
    "etag": {
      "version": "1.8.1",
      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
      "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz",
      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
      "dev": true
    },
@@ -6313,7 +6313,7 @@
    },
    "expand-brackets": {
      "version": "2.1.4",
      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
      "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz",
      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
      "requires": {
        "debug": "^2.3.3",
@@ -6327,7 +6327,7 @@
      "dependencies": {
        "define-property": {
          "version": "0.2.5",
          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
          "requires": {
            "is-descriptor": "^0.1.0"
@@ -6335,7 +6335,7 @@
        },
        "extend-shallow": {
          "version": "2.0.1",
          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
          "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
          "requires": {
            "is-extendable": "^0.1.0"
@@ -6396,7 +6396,7 @@
    },
    "extend-shallow": {
      "version": "3.0.2",
      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
      "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz",
      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
      "requires": {
        "assign-symbols": "^1.0.0",
@@ -6442,7 +6442,7 @@
      "dependencies": {
        "define-property": {
          "version": "1.0.0",
          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
          "requires": {
            "is-descriptor": "^1.0.0"
@@ -6450,7 +6450,7 @@
        },
        "extend-shallow": {
          "version": "2.0.1",
          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
          "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
          "requires": {
            "is-extendable": "^0.1.0"
@@ -6486,7 +6486,7 @@
    },
    "extsprintf": {
      "version": "1.3.0",
      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
      "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz",
      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
      "dev": true
    },
@@ -6523,7 +6523,7 @@
    },
    "fast-levenshtein": {
      "version": "2.0.6",
      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
      "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz",
      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
      "dev": true
    },
@@ -6616,7 +6616,7 @@
    },
    "fill-range": {
      "version": "4.0.0",
      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz",
      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
      "requires": {
        "extend-shallow": "^2.0.1",
@@ -6627,7 +6627,7 @@
      "dependencies": {
        "extend-shallow": {
          "version": "2.0.1",
          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
          "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
          "requires": {
            "is-extendable": "^0.1.0"
@@ -6728,12 +6728,12 @@
    },
    "for-in": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
      "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz",
      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
    },
    "forever-agent": {
      "version": "0.6.1",
      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
      "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
      "dev": true
    },
@@ -6761,7 +6761,7 @@
    },
    "fragment-cache": {
      "version": "0.2.1",
      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
      "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz",
      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
      "requires": {
        "map-cache": "^0.2.2"
@@ -6769,13 +6769,13 @@
    },
    "fresh": {
      "version": "0.5.2",
      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
      "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz",
      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
      "dev": true
    },
    "from2": {
      "version": "2.3.0",
      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
      "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz",
      "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
      "dev": true,
      "requires": {
@@ -6805,7 +6805,7 @@
    },
    "fs-write-stream-atomic": {
      "version": "1.0.10",
      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
      "resolved": "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz",
      "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
      "dev": true,
      "requires": {
@@ -6817,7 +6817,7 @@
    },
    "fs.realpath": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
    },
    "fsevents": {
@@ -6837,7 +6837,7 @@
    },
    "functional-red-black-tree": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz",
      "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
      "dev": true
    },
@@ -6884,12 +6884,12 @@
    },
    "get-value": {
      "version": "2.0.6",
      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
      "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz",
      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
    },
    "getpass": {
      "version": "0.1.7",
      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
      "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz",
      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
      "dev": true,
      "requires": {
@@ -6930,7 +6930,7 @@
    },
    "glob-to-regexp": {
      "version": "0.3.0",
      "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
      "resolved": "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz",
      "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
      "dev": true
    },
@@ -6996,7 +6996,7 @@
    },
    "har-schema": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz",
      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
      "dev": true
    },
@@ -7020,7 +7020,7 @@
    },
    "has-ansi": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz",
      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
      "requires": {
        "ansi-regex": "^2.0.0"
@@ -7053,7 +7053,7 @@
    },
    "has-value": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz",
      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
      "requires": {
        "get-value": "^2.0.6",
@@ -7063,7 +7063,7 @@
    },
    "has-values": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz",
      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
      "requires": {
        "is-number": "^3.0.0",
@@ -7072,7 +7072,7 @@
      "dependencies": {
        "kind-of": {
          "version": "4.0.0",
          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz",
          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
          "requires": {
            "is-buffer": "^1.1.5"
@@ -7145,7 +7145,7 @@
    },
    "hmac-drbg": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz",
      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
      "dev": true,
      "requires": {
@@ -7168,7 +7168,7 @@
    },
    "hpack.js": {
      "version": "2.1.6",
      "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
      "resolved": "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz",
      "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
      "dev": true,
      "requires": {
@@ -7180,13 +7180,13 @@
    },
    "hsl-regex": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz",
      "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=",
      "dev": true
    },
    "hsla-regex": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz",
      "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
      "dev": true
    },
@@ -7227,7 +7227,7 @@
    },
    "html-webpack-plugin": {
      "version": "3.2.0",
      "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz",
      "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz?cache=0&sync_timestamp=1588268411154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-3.2.0.tgz",
      "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=",
      "dev": true,
      "requires": {
@@ -7248,19 +7248,19 @@
        },
        "emojis-list": {
          "version": "2.1.0",
          "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
          "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz",
          "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
          "dev": true
        },
        "json5": {
          "version": "0.5.1",
          "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
          "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz?cache=0&sync_timestamp=1586046271069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-0.5.1.tgz",
          "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
          "dev": true
        },
        "loader-utils": {
          "version": "0.2.17",
          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
          "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz",
          "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
          "dev": true,
          "requires": {
@@ -7326,7 +7326,7 @@
    },
    "http-deceiver": {
      "version": "1.2.7",
      "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
      "resolved": "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz",
      "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
      "dev": true
    },
@@ -7345,7 +7345,7 @@
      "dependencies": {
        "inherits": {
          "version": "2.0.3",
          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
          "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
          "dev": true
        }
@@ -7396,7 +7396,7 @@
    },
    "http-signature": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
      "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz",
      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
      "dev": true,
      "requires": {
@@ -7407,7 +7407,7 @@
    },
    "https-browserify": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz",
      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
      "dev": true
    },
@@ -7503,7 +7503,7 @@
    },
    "iferr": {
      "version": "0.1.5",
      "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
      "resolved": "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz",
      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
      "dev": true
    },
@@ -7522,7 +7522,7 @@
    },
    "import-cwd": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz",
      "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
      "dev": true,
      "requires": {
@@ -7531,7 +7531,7 @@
    },
    "import-fresh": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz",
      "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
      "dev": true,
      "requires": {
@@ -7558,7 +7558,7 @@
    },
    "import-from": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz",
      "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
      "dev": true,
      "requires": {
@@ -7630,13 +7630,13 @@
    },
    "imurmurhash": {
      "version": "0.1.4",
      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
      "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz",
      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
      "dev": true
    },
    "indexes-of": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz",
      "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
      "dev": true
    },
@@ -7653,7 +7653,7 @@
    },
    "inflight": {
      "version": "1.0.6",
      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
      "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
      "requires": {
        "once": "^1.3.0",
@@ -7792,13 +7792,13 @@
    },
    "ip": {
      "version": "1.1.5",
      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
      "resolved": "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz",
      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
      "dev": true
    },
    "ip-regex": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz",
      "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
      "dev": true
    },
@@ -7810,13 +7810,13 @@
    },
    "is-absolute-url": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz?cache=0&sync_timestamp=1569736493122&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-absolute-url%2Fdownload%2Fis-absolute-url-2.1.0.tgz",
      "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
      "dev": true
    },
    "is-accessor-descriptor": {
      "version": "0.1.6",
      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
      "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz",
      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
      "requires": {
        "kind-of": "^3.0.2"
@@ -7824,7 +7824,7 @@
      "dependencies": {
        "kind-of": {
          "version": "3.2.2",
          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
          "requires": {
            "is-buffer": "^1.1.5"
@@ -7844,7 +7844,7 @@
    },
    "is-arrayish": {
      "version": "0.2.1",
      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
      "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz",
      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
      "dev": true
    },
@@ -7897,7 +7897,7 @@
    },
    "is-color-stop": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz",
      "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
      "dev": true,
      "requires": {
@@ -7920,7 +7920,7 @@
    },
    "is-data-descriptor": {
      "version": "0.1.4",
      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
      "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz",
      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
      "requires": {
        "kind-of": "^3.0.2"
@@ -7928,7 +7928,7 @@
      "dependencies": {
        "kind-of": {
          "version": "3.2.2",
          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
          "requires": {
            "is-buffer": "^1.1.5"
@@ -7964,7 +7964,7 @@
    },
    "is-directory": {
      "version": "0.3.1",
      "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
      "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz",
      "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
      "dev": true
    },
@@ -7976,12 +7976,12 @@
    },
    "is-extendable": {
      "version": "0.1.1",
      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
      "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz",
      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
    },
    "is-extglob": {
      "version": "2.1.1",
      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
      "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
    },
    "is-fullwidth-code-point": {
@@ -8011,7 +8011,7 @@
    },
    "is-number": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
      "requires": {
        "kind-of": "^3.0.2"
@@ -8019,7 +8019,7 @@
      "dependencies": {
        "kind-of": {
          "version": "3.2.2",
          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
          "requires": {
            "is-buffer": "^1.1.5"
@@ -8068,7 +8068,7 @@
    },
    "is-plain-obj": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz",
      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
      "dev": true
    },
@@ -8104,7 +8104,7 @@
    },
    "is-stream": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz",
      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
      "dev": true
    },
@@ -8128,7 +8128,7 @@
    },
    "is-typedarray": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
      "dev": true
    },
@@ -8154,28 +8154,28 @@
    },
    "is-wsl": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz?cache=0&sync_timestamp=1588494180082&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz",
      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
    },
    "isarray": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
    },
    "isexe": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz",
      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
      "dev": true
    },
    "isobject": {
      "version": "3.0.1",
      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz",
      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
    },
    "isstream": {
      "version": "0.1.2",
      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
      "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz",
      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
      "dev": true
    },
@@ -8228,7 +8228,7 @@
    },
    "jsbn": {
      "version": "0.1.1",
      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
      "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz",
      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
      "dev": true
    },
@@ -8269,13 +8269,13 @@
    },
    "json-stable-stringify-without-jsonify": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz",
      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
      "dev": true
    },
    "json-stringify-safe": {
      "version": "5.0.1",
      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
      "dev": true
    },
@@ -8463,7 +8463,7 @@
    },
    "levn": {
      "version": "0.3.0",
      "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
      "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz",
      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
      "dev": true,
      "requires": {
@@ -8489,7 +8489,7 @@
      "dependencies": {
        "find-cache-dir": {
          "version": "0.1.1",
          "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz",
          "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz?cache=0&sync_timestamp=1583734591888&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-0.1.1.tgz",
          "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=",
          "dev": true,
          "requires": {
@@ -8500,7 +8500,7 @@
        },
        "find-up": {
          "version": "1.1.2",
          "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
          "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1597169882796&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz",
          "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
          "dev": true,
          "requires": {
@@ -8510,7 +8510,7 @@
        },
        "path-exists": {
          "version": "2.1.0",
          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
          "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz",
          "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
          "dev": true,
          "requires": {
@@ -8519,7 +8519,7 @@
        },
        "pkg-dir": {
          "version": "1.0.0",
          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
          "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz",
          "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
          "dev": true,
          "requires": {
@@ -8584,31 +8584,31 @@
    },
    "lodash.kebabcase": {
      "version": "4.1.1",
      "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
      "resolved": "https://registry.npm.taobao.org/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz",
      "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=",
      "dev": true
    },
    "lodash.mapvalues": {
      "version": "4.6.0",
      "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz",
      "resolved": "https://registry.npm.taobao.org/lodash.mapvalues/download/lodash.mapvalues-4.6.0.tgz",
      "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=",
      "dev": true
    },
    "lodash.memoize": {
      "version": "4.1.2",
      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
      "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz",
      "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
      "dev": true
    },
    "lodash.transform": {
      "version": "4.6.0",
      "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz",
      "resolved": "https://registry.npm.taobao.org/lodash.transform/download/lodash.transform-4.6.0.tgz",
      "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=",
      "dev": true
    },
    "lodash.uniq": {
      "version": "4.5.0",
      "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
      "resolved": "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz",
      "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
      "dev": true
    },
@@ -8666,7 +8666,7 @@
    },
    "lower-case": {
      "version": "1.1.4",
      "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
      "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz",
      "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
      "dev": true
    },
@@ -8700,12 +8700,12 @@
    },
    "map-cache": {
      "version": "0.2.2",
      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
      "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz",
      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
    },
    "map-visit": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz",
      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
      "requires": {
        "object-visit": "^1.0.0"
@@ -8730,13 +8730,13 @@
    },
    "media-typer": {
      "version": "0.3.0",
      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
      "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz",
      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
      "dev": true
    },
    "memory-fs": {
      "version": "0.4.1",
      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
      "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz?cache=0&sync_timestamp=1570537491040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.4.1.tgz",
      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
      "dev": true,
      "requires": {
@@ -8746,7 +8746,7 @@
    },
    "merge-descriptors": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz",
      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
      "dev": true
    },
@@ -8781,7 +8781,7 @@
    },
    "methods": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
      "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz",
      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
      "dev": true
    },
@@ -8871,7 +8871,7 @@
      "dependencies": {
        "normalize-url": {
          "version": "1.9.1",
          "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
          "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz?cache=0&sync_timestamp=1596373165623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-1.9.1.tgz",
          "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
          "dev": true,
          "requires": {
@@ -8902,7 +8902,7 @@
    },
    "minimalistic-crypto-utils": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz",
      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
      "dev": true
    },
@@ -8971,7 +8971,7 @@
    },
    "move-concurrently": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz",
      "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
      "dev": true,
      "requires": {
@@ -9011,7 +9011,7 @@
    },
    "multicast-dns-service-types": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz",
      "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
      "dev": true
    },
@@ -9079,7 +9079,7 @@
    },
    "natural-compare": {
      "version": "1.4.0",
      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
      "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz",
      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
      "dev": true
    },
@@ -9160,7 +9160,7 @@
      "dependencies": {
        "punycode": {
          "version": "1.4.1",
          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
          "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz",
          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
          "dev": true
        }
@@ -9199,7 +9199,7 @@
    },
    "normalize-range": {
      "version": "0.1.2",
      "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
      "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz",
      "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
      "dev": true
    },
@@ -9216,7 +9216,7 @@
    },
    "npm-run-path": {
      "version": "2.0.2",
      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
      "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz",
      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
      "dev": true,
      "requires": {
@@ -9234,7 +9234,7 @@
    },
    "num2fraction": {
      "version": "1.2.2",
      "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
      "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz",
      "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
      "dev": true
    },
@@ -9246,12 +9246,12 @@
    },
    "object-assign": {
      "version": "4.1.1",
      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
      "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz",
      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
    },
    "object-copy": {
      "version": "0.1.0",
      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz",
      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
      "requires": {
        "copy-descriptor": "^0.1.0",
@@ -9261,7 +9261,7 @@
      "dependencies": {
        "define-property": {
          "version": "0.2.5",
          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
          "requires": {
            "is-descriptor": "^0.1.0"
@@ -9269,7 +9269,7 @@
        },
        "kind-of": {
          "version": "3.2.2",
          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
          "requires": {
            "is-buffer": "^1.1.5"
@@ -9306,7 +9306,7 @@
    },
    "object-visit": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz",
      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
      "requires": {
        "isobject": "^3.0.0"
@@ -9337,7 +9337,7 @@
    },
    "object.pick": {
      "version": "1.3.0",
      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
      "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz",
      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
      "requires": {
        "isobject": "^3.0.1"
@@ -9362,7 +9362,7 @@
    },
    "on-finished": {
      "version": "2.3.0",
      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
      "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz",
      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
      "dev": true,
      "requires": {
@@ -9377,7 +9377,7 @@
    },
    "once": {
      "version": "1.4.0",
      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
      "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
      "requires": {
        "wrappy": "1"
@@ -9385,7 +9385,7 @@
    },
    "onetime": {
      "version": "2.0.1",
      "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz",
      "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
      "dev": true,
      "requires": {
@@ -9416,7 +9416,7 @@
    },
    "optimist": {
      "version": "0.6.1",
      "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
      "resolved": "https://registry.npm.taobao.org/optimist/download/optimist-0.6.1.tgz",
      "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
      "requires": {
        "minimist": "~0.0.1",
@@ -9425,7 +9425,7 @@
      "dependencies": {
        "minimist": {
          "version": "0.0.10",
          "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
          "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-0.0.10.tgz",
          "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
        }
      }
@@ -9521,19 +9521,19 @@
    },
    "os-browserify": {
      "version": "0.3.0",
      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
      "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz",
      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
      "dev": true
    },
    "os-tmpdir": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
      "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz",
      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
      "dev": true
    },
    "p-finally": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz",
      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
      "dev": true
    },
@@ -9595,7 +9595,7 @@
    },
    "param-case": {
      "version": "2.1.1",
      "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
      "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz?cache=0&sync_timestamp=1576721608924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparam-case%2Fdownload%2Fparam-case-2.1.1.tgz",
      "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
      "dev": true,
      "requires": {
@@ -9680,7 +9680,7 @@
    },
    "pascalcase": {
      "version": "0.1.1",
      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
      "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz",
      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
    },
    "path-browserify": {
@@ -9691,7 +9691,7 @@
    },
    "path-dirname": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
      "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz",
      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
    },
    "path-exists": {
@@ -9702,18 +9702,18 @@
    },
    "path-is-absolute": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
    },
    "path-is-inside": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
      "resolved": "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz",
      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
      "dev": true
    },
    "path-key": {
      "version": "2.0.1",
      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1574441431664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz",
      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
      "dev": true
    },
@@ -9725,7 +9725,7 @@
    },
    "path-to-regexp": {
      "version": "0.1.7",
      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
      "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz",
      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
      "dev": true
    },
@@ -9740,7 +9740,7 @@
      "dependencies": {
        "pify": {
          "version": "3.0.0",
          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
          "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
          "dev": true
        }
@@ -9761,7 +9761,7 @@
    },
    "performance-now": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz",
      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
      "dev": true
    },
@@ -9786,13 +9786,13 @@
    },
    "pinkie": {
      "version": "2.0.4",
      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
      "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz",
      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
      "dev": true
    },
    "pinkie-promise": {
      "version": "2.0.1",
      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz",
      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
      "dev": true,
      "requires": {
@@ -9858,7 +9858,7 @@
    },
    "posix-character-classes": {
      "version": "0.1.1",
      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
      "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz",
      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
    },
    "postcss": {
@@ -11104,7 +11104,7 @@
    },
    "postcss-px2rem": {
      "version": "0.3.0",
      "resolved": "https://registry.npmjs.org/postcss-px2rem/-/postcss-px2rem-0.3.0.tgz",
      "resolved": "https://registry.npm.taobao.org/postcss-px2rem/download/postcss-px2rem-0.3.0.tgz",
      "integrity": "sha1-DfpOiiaPp0eCc/DEtHxhmDSJQEE=",
      "requires": {
        "postcss": "^5.0.0",
@@ -11283,13 +11283,13 @@
    },
    "prelude-ls": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
      "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz",
      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
      "dev": true
    },
    "prepend-http": {
      "version": "1.0.4",
      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
      "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz",
      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
      "dev": true
    },
@@ -11317,7 +11317,7 @@
    },
    "process": {
      "version": "0.11.10",
      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
      "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz",
      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
    },
    "process-nextick-args": {
@@ -11333,7 +11333,7 @@
    },
    "promise-inflight": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz",
      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
      "dev": true
    },
@@ -11349,13 +11349,13 @@
    },
    "prr": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz",
      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
      "dev": true
    },
    "pseudomap": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
      "resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
      "dev": true
    },
@@ -11428,7 +11428,7 @@
    },
    "px2rem": {
      "version": "0.5.0",
      "resolved": "https://registry.npmjs.org/px2rem/-/px2rem-0.5.0.tgz",
      "resolved": "https://registry.npm.taobao.org/px2rem/download/px2rem-0.5.0.tgz",
      "integrity": "sha1-JLOmz3TRSttO13byB4cdmJPkEOI=",
      "requires": {
        "chalk": "~0.5.1",
@@ -11440,17 +11440,17 @@
      "dependencies": {
        "ansi-regex": {
          "version": "0.2.1",
          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-0.2.1.tgz",
          "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk="
        },
        "ansi-styles": {
          "version": "1.1.0",
          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
          "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-1.1.0.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-1.1.0.tgz",
          "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94="
        },
        "chalk": {
          "version": "0.5.1",
          "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
          "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-0.5.1.tgz",
          "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
          "requires": {
            "ansi-styles": "^1.1.0",
@@ -11462,7 +11462,7 @@
        },
        "has-ansi": {
          "version": "0.1.0",
          "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
          "resolved": "https://registry.npm.taobao.org/has-ansi/download/has-ansi-0.1.0.tgz",
          "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
          "requires": {
            "ansi-regex": "^0.2.0"
@@ -11470,7 +11470,7 @@
        },
        "strip-ansi": {
          "version": "0.3.0",
          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-0.3.0.tgz?cache=0&sync_timestamp=1589682795383&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-0.3.0.tgz",
          "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
          "requires": {
            "ansi-regex": "^0.2.1"
@@ -11478,14 +11478,14 @@
        },
        "supports-color": {
          "version": "0.2.0",
          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-0.2.0.tgz?cache=0&sync_timestamp=1606205060845&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-0.2.0.tgz",
          "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo="
        }
      }
    },
    "q": {
      "version": "1.5.1",
      "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
      "resolved": "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz",
      "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
      "dev": true
    },
@@ -11499,7 +11499,7 @@
    },
    "query-string": {
      "version": "4.3.4",
      "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
      "resolved": "https://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz?cache=0&sync_timestamp=1591853352562&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquery-string%2Fdownload%2Fquery-string-4.3.4.tgz",
      "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
      "dev": true,
      "requires": {
@@ -11509,13 +11509,13 @@
    },
    "querystring": {
      "version": "0.2.0",
      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
      "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz",
      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
      "dev": true
    },
    "querystring-es3": {
      "version": "0.2.1",
      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
      "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz",
      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
      "dev": true
    },
@@ -11689,7 +11689,7 @@
      "dependencies": {
        "jsesc": {
          "version": "0.5.0",
          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
          "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz",
          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
          "dev": true
        }
@@ -11697,13 +11697,13 @@
    },
    "relateurl": {
      "version": "0.2.7",
      "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
      "resolved": "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz",
      "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
      "dev": true
    },
    "remove-trailing-separator": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz",
      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
    },
    "renderkid": {
@@ -11784,7 +11784,7 @@
    },
    "repeat-string": {
      "version": "1.6.1",
      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
      "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
    },
    "request": {
@@ -11845,7 +11845,7 @@
    },
    "require-directory": {
      "version": "2.1.1",
      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
      "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz",
      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
      "dev": true
    },
@@ -11868,7 +11868,7 @@
    },
    "requires-port": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz",
      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
    },
    "resize-observer-polyfill": {
@@ -11888,7 +11888,7 @@
    },
    "resolve-cwd": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz",
      "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
      "dev": true,
      "requires": {
@@ -11912,12 +11912,12 @@
    },
    "resolve-url": {
      "version": "0.2.1",
      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
      "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz?cache=0&sync_timestamp=1585438700247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve-url%2Fdownload%2Fresolve-url-0.2.1.tgz",
      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
    },
    "restore-cursor": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz",
      "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
      "dev": true,
      "requires": {
@@ -11932,19 +11932,19 @@
    },
    "retry": {
      "version": "0.12.0",
      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
      "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz",
      "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
      "dev": true
    },
    "rgb-regex": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz",
      "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=",
      "dev": true
    },
    "rgba-regex": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz",
      "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
      "dev": true
    },
@@ -11990,7 +11990,7 @@
    },
    "run-queue": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
      "resolved": "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz",
      "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
      "dev": true,
      "requires": {
@@ -12046,7 +12046,7 @@
    },
    "safe-regex": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz",
      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
      "requires": {
        "ret": "~0.1.10"
@@ -12085,7 +12085,7 @@
    },
    "select-hose": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz",
      "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
      "dev": true
    },
@@ -12144,7 +12144,7 @@
    },
    "serve-index": {
      "version": "1.9.1",
      "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
      "resolved": "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz",
      "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
      "dev": true,
      "requires": {
@@ -12159,7 +12159,7 @@
      "dependencies": {
        "http-errors": {
          "version": "1.6.3",
          "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
          "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1593407647372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz",
          "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
          "dev": true,
          "requires": {
@@ -12171,7 +12171,7 @@
        },
        "inherits": {
          "version": "2.0.3",
          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
          "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
          "dev": true
        },
@@ -12197,7 +12197,7 @@
    },
    "set-blocking": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz",
      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
      "dev": true
    },
@@ -12214,7 +12214,7 @@
      "dependencies": {
        "extend-shallow": {
          "version": "2.0.1",
          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
          "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
          "requires": {
            "is-extendable": "^0.1.0"
@@ -12224,7 +12224,7 @@
    },
    "setimmediate": {
      "version": "1.0.5",
      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
      "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz",
      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
      "dev": true
    },
@@ -12246,7 +12246,7 @@
    },
    "shebang-command": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
      "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz",
      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
      "dev": true,
      "requires": {
@@ -12255,7 +12255,7 @@
    },
    "shebang-regex": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz",
      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
      "dev": true
    },
@@ -12283,7 +12283,7 @@
    },
    "simple-swizzle": {
      "version": "0.2.2",
      "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
      "resolved": "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz",
      "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
      "dev": true,
      "requires": {
@@ -12331,7 +12331,7 @@
      "dependencies": {
        "define-property": {
          "version": "0.2.5",
          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
          "requires": {
            "is-descriptor": "^0.1.0"
@@ -12339,7 +12339,7 @@
        },
        "extend-shallow": {
          "version": "2.0.1",
          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
          "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
          "requires": {
            "is-extendable": "^0.1.0"
@@ -12359,7 +12359,7 @@
      "dependencies": {
        "define-property": {
          "version": "1.0.0",
          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
          "requires": {
            "is-descriptor": "^1.0.0"
@@ -12403,7 +12403,7 @@
      "dependencies": {
        "kind-of": {
          "version": "3.2.2",
          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
          "requires": {
            "is-buffer": "^1.1.5"
@@ -12463,7 +12463,7 @@
    },
    "sort-keys": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
      "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz?cache=0&sync_timestamp=1565864727994&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsort-keys%2Fdownload%2Fsort-keys-1.1.2.tgz",
      "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
      "dev": true,
      "requires": {
@@ -12483,7 +12483,7 @@
    },
    "source-map": {
      "version": "0.5.7",
      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
      "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
    },
    "source-map-resolve": {
@@ -12635,7 +12635,7 @@
    },
    "sprintf-js": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
      "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz",
      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
      "dev": true
    },
@@ -12687,7 +12687,7 @@
    },
    "static-extend": {
      "version": "0.1.2",
      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
      "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz",
      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
      "requires": {
        "define-property": "^0.2.5",
@@ -12696,7 +12696,7 @@
      "dependencies": {
        "define-property": {
          "version": "0.2.5",
          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
          "requires": {
            "is-descriptor": "^0.1.0"
@@ -12706,7 +12706,7 @@
    },
    "statuses": {
      "version": "1.5.0",
      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
      "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1587328859420&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz",
      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
      "dev": true
    },
@@ -12757,7 +12757,7 @@
    },
    "strict-uri-encode": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz",
      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
      "dev": true
    },
@@ -12851,7 +12851,7 @@
    },
    "strip-eof": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz",
      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
      "dev": true
    },
@@ -12930,7 +12930,7 @@
    },
    "svg-tags": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz",
      "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=",
      "dev": true
    },
@@ -13221,7 +13221,7 @@
    },
    "text-table": {
      "version": "0.2.0",
      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
      "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz",
      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
      "dev": true
    },
@@ -13236,7 +13236,7 @@
    },
    "thenify-all": {
      "version": "1.6.0",
      "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
      "resolved": "https://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz",
      "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
      "dev": true,
      "requires": {
@@ -13261,7 +13261,7 @@
    },
    "through": {
      "version": "2.3.8",
      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
      "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz",
      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
      "dev": true
    },
@@ -13292,7 +13292,7 @@
    },
    "timsort": {
      "version": "0.3.0",
      "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
      "resolved": "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz",
      "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
      "dev": true
    },
@@ -13307,19 +13307,19 @@
    },
    "to-arraybuffer": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz",
      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
      "dev": true
    },
    "to-fast-properties": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
      "dev": true
    },
    "to-object-path": {
      "version": "0.3.0",
      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
      "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz",
      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
      "requires": {
        "kind-of": "^3.0.2"
@@ -13327,7 +13327,7 @@
      "dependencies": {
        "kind-of": {
          "version": "3.2.2",
          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
          "requires": {
            "is-buffer": "^1.1.5"
@@ -13348,7 +13348,7 @@
    },
    "to-regex-range": {
      "version": "2.1.1",
      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
      "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz",
      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
      "requires": {
        "is-number": "^3.0.0",
@@ -13363,7 +13363,7 @@
    },
    "toposort": {
      "version": "1.0.7",
      "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz",
      "resolved": "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz",
      "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=",
      "dev": true
    },
@@ -13396,13 +13396,13 @@
    },
    "tty-browserify": {
      "version": "0.0.0",
      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz",
      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
      "dev": true
    },
    "tunnel-agent": {
      "version": "0.6.0",
      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
      "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
      "dev": true,
      "requires": {
@@ -13411,13 +13411,13 @@
    },
    "tweetnacl": {
      "version": "0.14.5",
      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
      "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz",
      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
      "dev": true
    },
    "type-check": {
      "version": "0.3.2",
      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
      "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz",
      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
      "dev": true,
      "requires": {
@@ -13442,7 +13442,7 @@
    },
    "typedarray": {
      "version": "0.0.6",
      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
      "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz",
      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
      "dev": true
    },
@@ -13531,13 +13531,13 @@
    },
    "uniq": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz",
      "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
      "dev": true
    },
    "uniqs": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz",
      "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
      "dev": true
    },
@@ -13567,19 +13567,19 @@
    },
    "unpipe": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz",
      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
      "dev": true
    },
    "unquote": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
      "resolved": "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz",
      "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
      "dev": true
    },
    "unset-value": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz",
      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
      "requires": {
        "has-value": "^0.3.1",
@@ -13588,7 +13588,7 @@
      "dependencies": {
        "has-value": {
          "version": "0.3.1",
          "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
          "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz",
          "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
          "requires": {
            "get-value": "^2.0.3",
@@ -13598,7 +13598,7 @@
          "dependencies": {
            "isobject": {
              "version": "2.1.0",
              "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
              "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz",
              "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
              "requires": {
                "isarray": "1.0.0"
@@ -13608,7 +13608,7 @@
        },
        "has-values": {
          "version": "0.1.4",
          "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
          "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz",
          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
        }
      }
@@ -13620,7 +13620,7 @@
    },
    "upper-case": {
      "version": "1.1.3",
      "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
      "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupper-case%2Fdownload%2Fupper-case-1.1.3.tgz",
      "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
      "dev": true
    },
@@ -13635,12 +13635,12 @@
    },
    "urix": {
      "version": "0.1.0",
      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
      "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz",
      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
    },
    "url": {
      "version": "0.11.0",
      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
      "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz",
      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
      "dev": true,
      "requires": {
@@ -13650,7 +13650,7 @@
      "dependencies": {
        "punycode": {
          "version": "1.3.2",
          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
          "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz",
          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
          "dev": true
        }
@@ -13658,7 +13658,7 @@
    },
    "url-join": {
      "version": "2.0.5",
      "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz",
      "resolved": "https://registry.npm.taobao.org/url-join/download/url-join-2.0.5.tgz",
      "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg="
    },
    "url-loader": {
@@ -13722,7 +13722,7 @@
      "dependencies": {
        "inherits": {
          "version": "2.0.3",
          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
          "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
          "dev": true
        }
@@ -13730,7 +13730,7 @@
    },
    "util-deprecate": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
      "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
    },
    "util.promisify": {
@@ -13747,13 +13747,13 @@
    },
    "utila": {
      "version": "0.4.0",
      "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
      "resolved": "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz",
      "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
      "dev": true
    },
    "utils-merge": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz",
      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
      "dev": true
    },
@@ -13781,7 +13781,7 @@
    },
    "vary": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
      "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz",
      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
      "dev": true
    },
@@ -13793,7 +13793,7 @@
    },
    "verror": {
      "version": "1.10.0",
      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
      "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz",
      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
      "dev": true,
      "requires": {
@@ -14372,7 +14372,7 @@
    },
    "wcwidth": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
      "resolved": "https://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz",
      "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
      "dev": true,
      "requires": {
@@ -14816,7 +14816,7 @@
    },
    "which-module": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
      "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz",
      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
      "dev": true
    },
@@ -14838,7 +14838,7 @@
    },
    "wordwrap": {
      "version": "0.0.3",
      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
      "resolved": "https://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.3.tgz",
      "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
    },
    "worker-farm": {
@@ -14921,7 +14921,7 @@
    },
    "wrappy": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
      "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz",
      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
    },
    "write": {
src/pages/index.vue
@@ -1,109 +1,84 @@
<template>
  <flex-layout direction="row" class="page-index">
    <home-list slot="header" @leaf-click="leafClick"></home-list>
    <div
      class="map-container"
      :class="{ 'card-station': mapStyle == '卡片站点' }"
    >
<!--      <div class="scroll-warn-wrapper" v-show="mapStyle == '地图轮廓图'">-->
<!--        <flex-box title="实时告警" size="mini">-->
<!--          <data-scroll :list="newItems"></data-scroll>-->
<!--        </flex-box>-->
<!--      </div>-->
      <city-chart
        ref="cityChart"
        id="cityChart"
        :name="mapName"
        v-if="mapStyle == '地图轮廓图'"
      ></city-chart>
      <div
        class="map-content"
        id="allmap"
        v-else-if="mapStyle == '百度地图'"
      ></div>
      <the-fault-sites v-else-if="mapStyle == '卡片站点'"></the-fault-sites>
      <div class="map-tools-wrapper">
        <el-radio-group v-model="mapStyle" size="mini" @change="mapStyleChange">
          <el-radio-button
            label="地图轮廓图"
            :disabled="isDisabled"
          ></el-radio-button>
          <el-radio-button label="百度地图"></el-radio-button>
          <!--          <el-radio-button label="卡片站点"></el-radio-button>-->
        </el-radio-group>
      </div>
      <div class="map-icon-details-wrapper">
        <div class="map-icon-details-title">地图图标说明</div>
        <div class="map-icon-details-content">
          <div class="map-icon-list">
            <div class="map-icon-item">
              <div class="item-wrapper icon-wrapper">
                <img src="../assets/images/home-discharge.png" />
              </div>
              <div class="item-wrapper text-wrapper">电池组落后机房</div>
            </div>
            <div class="map-icon-item">
              <div class="item-wrapper icon-wrapper">
                <img src="../assets/images/home-warn.png" />
              </div>
              <div class="item-wrapper text-wrapper">电池组告警机房</div>
            </div>
            <div class="map-icon-item">
              <div class="item-wrapper icon-wrapper">
                <img src="../assets/images/home-charge.png" />
              </div>
              <div class="item-wrapper text-wrapper">电池组放电延时机房</div>
            </div>
            <div class="map-icon-item">
              <div class="item-wrapper icon-wrapper">
                <img src="../assets/images/home-normal.png" />
              </div>
              <div class="item-wrapper text-wrapper">正常机房</div>
            </div>
          </div>
        </div>
      </div>
    <flex-layout direction="row" class="page-index">
        <home-list slot="header" @leaf-click="leafClick"></home-list>
        <div class="map-container" :class="{ 'card-station': mapStyle == '卡片站点' }">
            <!--      <div class="scroll-warn-wrapper" v-show="mapStyle == '地图轮廓图'">-->
            <!--        <flex-box title="实时告警" size="mini">-->
            <!--          <data-scroll :list="newItems"></data-scroll>-->
            <!--        </flex-box>-->
            <!--      </div>-->
            <city-chart ref="cityChart" id="cityChart" :name="mapName" v-if="mapStyle == '地图轮廓图'"></city-chart>
            <div class="map-content" id="allmap" v-else-if="mapStyle == '百度地图'"></div>
            <the-fault-sites v-else-if="mapStyle == '卡片站点'"></the-fault-sites>
            <div class="map-tools-wrapper">
                <el-radio-group v-model="mapStyle" size="mini" @change="mapStyleChange">
                    <el-radio-button label="地图轮廓图" :disabled="isDisabled"></el-radio-button>
                    <el-radio-button label="百度地图"></el-radio-button>
                    <!--          <el-radio-button label="卡片站点"></el-radio-button>-->
                </el-radio-group>
            </div>
            <div class="map-icon-details-wrapper">
                <div class="map-icon-details-title">地图图标说明</div>
                <div class="map-icon-details-content">
                    <div class="map-icon-list">
                        <div class="map-icon-item">
                            <div class="item-wrapper icon-wrapper">
                                <img src="../assets/images/home-discharge.png" />
                            </div>
                            <div class="item-wrapper text-wrapper">电池组落后机房</div>
                        </div>
                        <div class="map-icon-item">
                            <div class="item-wrapper icon-wrapper">
                                <img src="../assets/images/home-warn.png" />
                            </div>
                            <div class="item-wrapper text-wrapper">电池组告警机房</div>
                        </div>
                        <div class="map-icon-item">
                            <div class="item-wrapper icon-wrapper">
                                <img src="../assets/images/home-charge.png" />
                            </div>
                            <div class="item-wrapper text-wrapper">电池组放电延时机房</div>
                        </div>
                        <div class="map-icon-item">
                            <div class="item-wrapper icon-wrapper">
                                <img src="../assets/images/home-normal.png" />
                            </div>
                            <div class="item-wrapper text-wrapper">正常机房</div>
                        </div>
                    </div>
                </div>
            </div>
      <div
        class="infoPanel"
        v-show="isShowInfoPanel"
        :style="{ left: mapInfoX + 'px', top: mapInfoY + 'px' }"
      >
        <h4 class="infoPanel-Title">
          {{ mapInfoTitle }}
          <div class="closeBtn" @click.self="closeInfoPanel"></div>
        </h4>
        <div class="infoPanel-center">
          <info-panel ref="infoPanel"></info-panel>
        </div>
      </div>
    </div>
    <content-box
      title="站点列表"
      slot="footer"
      style="width:380px"
      no-header
      v-if="false"
    >
      <div class="pie-list">
        <div class="pie-item">
          <pie-chart ref="chart1" id="chart1"></pie-chart>
        </div>
        <div class="pie-item">
          <pie-chart ref="chart2" id="chart2"></pie-chart>
        </div>
        <div class="pie-item">
          <pie-chart ref="chart3" id="chart3"></pie-chart>
        </div>
        <div class="pie-item">
          <pie-chart ref="chart4" id="chart4"></pie-chart>
        </div>
      </div>
    </content-box>
    <hdw-dialog :visible.sync="hdwDialog">
      <pages-three-home v-if="hdwDialog" :areas="areas"></pages-three-home>
    </hdw-dialog>
  </flex-layout>
            <div class="infoPanel" v-show="isShowInfoPanel" :style="{ left: mapInfoX + 'px', top: mapInfoY + 'px' }">
                <h4 class="infoPanel-Title">
                    {{ mapInfoTitle }}
                    <div class="closeBtn" @click.self="closeInfoPanel"></div>
                </h4>
                <div class="infoPanel-center">
                    <info-panel ref="infoPanel"></info-panel>
                </div>
            </div>
        </div>
        <content-box title="站点列表" slot="footer" style="width:380px" no-header v-if="false">
            <div class="pie-list">
                <div class="pie-item">
                    <pie-chart ref="chart1" id="chart1"></pie-chart>
                </div>
                <div class="pie-item">
                    <pie-chart ref="chart2" id="chart2"></pie-chart>
                </div>
                <div class="pie-item">
                    <pie-chart ref="chart3" id="chart3"></pie-chart>
                </div>
                <div class="pie-item">
                    <pie-chart ref="chart4" id="chart4"></pie-chart>
                </div>
            </div>
        </content-box>
        <hdw-dialog :visible.sync="hdwDialog">
            <pages-three-home v-if="hdwDialog" :areas="areas"></pages-three-home>
        </hdw-dialog>
    </flex-layout>
</template>
<script>
@@ -120,16 +95,16 @@
import PagesThreeHome from "@/pages/dataTest/threeHome";
import TheFaultSites from "@/pages/dataMager/theFaultSites";
import {
  searchCoordinateMove,
  searchMap,
  searchRoomLocation,
  searchHomeNum,
  addMapHomeList,
  setMapCenterPoint,
  delMapHome,
  searchMapHomeState,
  getAllMapOutlineAction,
  searchAddressById, getAllRealAlarm,
    searchCoordinateMove,
    searchMap,
    searchRoomLocation,
    searchHomeNum,
    addMapHomeList,
    setMapCenterPoint,
    delMapHome,
    searchMapHomeState,
    getAllMapOutlineAction,
    searchAddressById, getAllRealAlarm,
} from "../assets/js/api";
import { isHasPermit, Timeout } from "../assets/js/tools";
@@ -166,20 +141,20 @@
let homeDischargeImage = new Image();
homeDischargeImage.src = HomeDischargeImage;
const behindOverlay = {
  animate: "",
  img: "",
    animate: "",
    img: "",
};
const warnOverlay = {
  animate: "",
  img: "",
    animate: "",
    img: "",
};
const timeoutOverlay = {
  animate: "",
  img: "",
    animate: "",
    img: "",
};
const normalOverlay = {
  animate: "",
  img: "",
    animate: "",
    img: "",
};
import mapSkinJson from "@/assets/map/skin/custom_map_config.json";
// 引入 ECharts 主模块
@@ -194,1057 +169,1059 @@
let tempData = []; //站点数组
let chart, chartLng, chartLat;
export default {
  components: {
    DataScroll,
    MarqueeLeft,
    FlexBox,
    ContentBox,
    PieChart,
    HomeList,
    cityChart,
    InfoPanel,
    HdwDialog,
    PagesThreeHome,
    TheFaultSites,
  },
  data() {
    let permits = this.$store.state.user.permits;
    let isCanEdit = isHasPermit("batt_map_edit_permit", permits);
    let isCanDel = isHasPermit("batt_map_delete_permit", permits);
    let mapStyle = "地图轮廓图";
    if (this.$store.state.user.autoLogin) {
      mapStyle = "百度地图";
    }
    return {
      isCanEdit: isCanEdit,
      isCanDel: isCanDel,
      hdwDialog: false,
      timer: new Timeout("index"),
      mapName: "",
      mapNameCopy: "",
      mapInfoX: null,
      mapInfoY: null,
      mapInfoTitle: "",
      isShowInfoPanel: false,
      areas: [],
      mapStyle: mapStyle,
      newItems: [],
    };
  },
  watch: {
    mapStyle(n) {
      if (n != "地图轮廓图") {
        this.isShowInfoPanel = false;
      }
    },
  },
  methods: {
    initPage() {
      // 初始化地图
      if (this.mapStyle == "地图轮廓图") {
        //this.getAllMapOutlineAction();
        chart = ECharts.init(document.getElementById("cityChart"));
        this.initCityChart();
        let timers = null;
        chart.on("georoam", (params) => {
          this.timer.stop();
          if (!this.isShowInfoPanel) {
            return;
          }
          this.isShowInfoPanel = false;
          clearTimeout(timers);
          timers = setTimeout(() => {
            this.isShowInfoPanel = true;
            let poit = this.convertMain(chartLng, chartLat);
            this.mapInfoX = poit[0] - 120;
            this.mapInfoY = poit[1] - 190;
    components: {
        DataScroll,
        MarqueeLeft,
        FlexBox,
        ContentBox,
        PieChart,
        HomeList,
        cityChart,
        InfoPanel,
        HdwDialog,
        PagesThreeHome,
        TheFaultSites,
    },
    data() {
        let permits = this.$store.state.user.permits;
        let isCanEdit = isHasPermit("batt_map_edit_permit", permits);
        let isCanDel = isHasPermit("batt_map_delete_permit", permits);
        let mapStyle = "地图轮廓图";
        if (this.$store.state.user.autoLogin) {
            mapStyle = "百度地图";
        }
        return {
            isCanEdit: isCanEdit,
            isCanDel: isCanDel,
            hdwDialog: false,
            timer: new Timeout("index"),
            mapName: "",
            mapNameCopy: "",
            mapInfoX: null,
            mapInfoY: null,
            mapInfoTitle: "",
            isShowInfoPanel: false,
            areas: [],
            mapStyle: mapStyle,
            newItems: [],
        };
    },
    watch: {
        mapStyle(n) {
            if (n != "地图轮廓图") {
                this.isShowInfoPanel = false;
            }
        },
    },
    methods: {
        initPage() {
            // 初始化地图
            if (this.mapStyle == "地图轮廓图") {
                //this.getAllMapOutlineAction();
                chart = ECharts.init(document.getElementById("cityChart"));
                this.initCityChart();
                let timers = null;
                chart.on("georoam", (params) => {
                    this.timer.stop();
                    if (!this.isShowInfoPanel) {
                        return;
                    }
                    this.isShowInfoPanel = false;
                    clearTimeout(timers);
                    timers = setTimeout(() => {
                        this.isShowInfoPanel = true;
                        let poit = this.convertMain(chartLng, chartLat);
                        this.mapInfoX = poit[0] - 120;
                        this.mapInfoY = poit[1] - 190;
            var option = chart.getOption(); //获得option对象
            if (params.zoom != null && params.zoom != undefined) {
              //捕捉到缩放时
              option.series[0].zoom = option.geo[0].zoom; //下层geo的缩放等级跟着上层的geo一起改变
              option.series[0].center = option.geo[0].center; //下层的geo的中心位置随着上层geo一起改变
            } else {
              //捕捉到拖曳时
              option.series[0].center = option.geo[0].center; //下层的geo的中心位置着上层geo一起改变
            }
            chart.setOption(option); //设置option
                        var option = chart.getOption(); //获得option对象
                        if (params.zoom != null && params.zoom != undefined) {
                            //捕捉到缩放时
                            option.series[0].zoom = option.geo[0].zoom; //下层geo的缩放等级跟着上层的geo一起改变
                            option.series[0].center = option.geo[0].center; //下层的geo的中心位置随着上层geo一起改变
                        } else {
                            //捕捉到拖曳时
                            option.series[0].center = option.geo[0].center; //下层的geo的中心位置着上层geo一起改变
                        }
                        chart.setOption(option); //设置option
            this.startSearchMapHomeState();
          }, 300);
        });
        chart.off("click"); //防止chart点击触发多次
        chart.on("click", (params) => {
          //点击跳转实时数据
          if (params.seriesType == "scatter") {
            chartLng = params.data.longitude;
            chartLat = params.data.latitude;
            this.showChartPanel(
              params.data.StationId,
              params.data.FBSDeviceId,
              params.data
            );
          }
        });
      } else if (this.mapStyle == "百度地图") {
        this.initMap();
      }
    },
    initCityChart() {
      searchMap()
        .then((res) => {
          let rs = JSON.parse(res.data.result);
          let list = this.mergeMapInfos(rs);
          if (list != undefined && list.length > 0) {
            list.map((item, index) => {
              item.name = item.StationName;
              item.value = [];
              item.value.push(item.longitude);
              item.value.push(item.latitude);
              tempData.push(item);
            });
            this.startSearchMapHomeState();
                        this.startSearchMapHomeState();
                    }, 300);
                });
                chart.off("click"); //防止chart点击触发多次
                chart.on("click", (params) => {
                    //点击跳转实时数据
                    if (params.seriesType == "scatter") {
                        chartLng = params.data.longitude;
                        chartLat = params.data.latitude;
                        this.showChartPanel(
                            params.data.StationId,
                            params.data.FBSDeviceId,
                            params.data
                        );
                    }
                });
            } else if (this.mapStyle == "百度地图") {
                this.initMap();
            }
        },
        initCityChart() {
            searchMap()
                .then((res) => {
                    let rs = JSON.parse(res.data.result);
                    let list = this.mergeMapInfos(rs);
                    if (list != undefined && list.length > 0) {
                        list.map((item, index) => {
                            item.name = item.StationName;
                            item.value = [];
                            item.value.push(item.longitude);
                            item.value.push(item.latitude);
                            tempData.push(item);
                        });
                        this.startSearchMapHomeState();
            let mapDotList = list.map((data) => {
              return {
                lng: data.longitude,
                lat: data.latitude,
                title: data.StationName,
                data: data,
                name: data.StationName,
                geometry: {
                  type: "Point",
                  coordinates: [data.longitude, data.latitude],
                },
              };
            });
            addHomeData = mapDotList;
          } else {
            this.initChart([], []);
          }
        })
        .catch((err) => {
          console.log(err);
        });
    },
    searchChartHomeState() {
      searchMapHomeState()
        .then((res) => {
          let rsState = JSON.parse(res.data.result);
          let arr = [];
          abnormalArr = [];
          if (rsState.code === 1) {
            let data = rsState.data;
            data.map((item, i) => {
              let infos = tempData.filter((jtem) => {
                return jtem.StationId == item.StationId;
              });
                        let mapDotList = list.map((data) => {
                            return {
                                lng: data.longitude,
                                lat: data.latitude,
                                title: data.StationName,
                                data: data,
                                name: data.StationName,
                                geometry: {
                                    type: "Point",
                                    coordinates: [data.longitude, data.latitude],
                                },
                            };
                        });
                        addHomeData = mapDotList;
                    } else {
                        this.initChart([], []);
                    }
                })
                .catch((err) => {
                    console.log(err);
                });
        },
        searchChartHomeState() {
            searchMapHomeState()
                .then((res) => {
                    let rsState = JSON.parse(res.data.result);
                    let arr = [];
                    abnormalArr = [];
                    if (rsState.code === 1) {
                        let data = rsState.data;
                        data.map((item, i) => {
                            let infos = tempData.filter((jtem) => {
                                return jtem.StationId == item.StationId;
                            });
              if (infos.length > 0) {
                let info = JSON.parse(JSON.stringify(infos[0]));
                switch (item.num) {
                  case 1: // 落后
                    info.img = HomeDischargeImage;
                    info.color = "#ff6a6a";
                    abnormalArr.push(info);
                    break;
                  case 2: // 告警
                    info.img = HomeWarnImage;
                    info.color = "#d4ac6e";
                    abnormalArr.push(info);
                    break;
                  case 3:
                    info.img = HomeChargeImage;
                    info.color = "#4ba1fa";
                    abnormalArr.push(info);
                    break;
                  default:
                    info.img = HomeNormalImage;
                    break;
                }
                arr.push(info);
              }
            });
            let arrId = [];
            for (let item of arr) {
              if (arrId.indexOf(item["StationId"]) == -1) {
                arrId.push(item["StationId"]);
                chartData.push(item);
              }
            }
            this.initChart(chartData, abnormalArr);
          }
        })
        .catch((err) => {
          console.log(err);
        });
    },
    initChart(chartData, abnormalArr) {
      //初始化chart图
      let option = {};
      if (abnormalArr.length > 0) {
        option = {
          series: [
            {
              //图片
              name: "图片",
              type: "scatter",
              coordinateSystem: "geo",
              symbol: function(value, params) {
                return "image://" + params.data.img;
              },
              symbolSize: [26, 26],
              label: {
                normal: {
                  show: false,
                },
              },
              data: chartData,
              showEffectOn: "render",
              rippleEffect: {
                brushType: "stroke",
              },
              hoverAnimation: true,
              zlevel: 2,
            },
            {
              //波纹点
              type: "effectScatter",
              coordinateSystem: "geo",
              showEffectOn: "render",
              zlevel: 1,
              rippleEffect: {
                period: 4,
                scale: 4,
                brushType: "fill",
              },
              hoverAnimation: false,
              label: {
                normal: {
                  show: false,
                },
              },
              itemStyle: {
                normal: {
                  color: function(value, params) {
                    return value.data.color;
                  },
                  shadowBlur: 8,
                  shadowColor: function(value, params) {
                    return value.data.color;
                  },
                },
              },
              symbolSize: [15, 15],
              data: abnormalArr,
            },
          ],
        };
      } else {
        option = {
          series: [
            {
              //图片
              name: "图片",
              type: "scatter",
              coordinateSystem: "geo",
              symbol: function(value, params) {
                return "image://" + params.data.img;
              },
              symbolSize: [26, 26],
              label: {
                normal: {
                  show: false,
                },
              },
              data: chartData,
              showEffectOn: "render",
              rippleEffect: {
                brushType: "stroke",
              },
              hoverAnimation: true,
              zlevel: 2,
            },
          ],
        };
      }
                            if (infos.length > 0) {
                                let info = JSON.parse(JSON.stringify(infos[0]));
                                switch (item.num) {
                                    case 1: // 落后
                                        info.img = HomeDischargeImage;
                                        info.color = "#ff6a6a";
                                        abnormalArr.push(info);
                                        break;
                                    case 2: // 告警
                                        info.img = HomeWarnImage;
                                        info.color = "#d4ac6e";
                                        abnormalArr.push(info);
                                        break;
                                    case 3:
                                        info.img = HomeChargeImage;
                                        info.color = "#4ba1fa";
                                        abnormalArr.push(info);
                                        break;
                                    default:
                                        info.img = HomeNormalImage;
                                        break;
                                }
                                arr.push(info);
                            }
                        });
                        let arrId = [];
                        for (let item of arr) {
                            if (arrId.indexOf(item["StationId"]) == -1) {
                                arrId.push(item["StationId"]);
                                chartData.push(item);
                            }
                        }
                        this.initChart(chartData, abnormalArr);
                    }
                })
                .catch((err) => {
                    console.log(err);
                });
        },
        initChart(chartData, abnormalArr) {
            //初始化chart图
            let option = {};
            if (abnormalArr.length > 0) {
                option = {
                    series: [
                        {
                            //图片
                            name: "图片",
                            type: "scatter",
                            coordinateSystem: "geo",
                            symbol: function (value, params) {
                                return "image://" + params.data.img;
                            },
                            symbolSize: [26, 26],
                            label: {
                                normal: {
                                    show: false,
                                },
                            },
                            data: chartData,
                            showEffectOn: "render",
                            rippleEffect: {
                                brushType: "stroke",
                            },
                            hoverAnimation: true,
                            zlevel: 2,
                        },
                        {
                            //波纹点
                            type: "effectScatter",
                            coordinateSystem: "geo",
                            showEffectOn: "render",
                            zlevel: 1,
                            rippleEffect: {
                                period: 4,
                                scale: 4,
                                brushType: "fill",
                            },
                            hoverAnimation: false,
                            label: {
                                normal: {
                                    show: false,
                                },
                            },
                            itemStyle: {
                                normal: {
                                    color: function (value, params) {
                                        return value.data.color;
                                    },
                                    shadowBlur: 8,
                                    shadowColor: function (value, params) {
                                        return value.data.color;
                                    },
                                },
                            },
                            symbolSize: [15, 15],
                            data: abnormalArr,
                        },
                    ],
                };
            } else {
                option = {
                    series: [
                        {
                            //图片
                            name: "图片",
                            type: "scatter",
                            coordinateSystem: "geo",
                            symbol: function (value, params) {
                                return "image://" + params.data.img;
                            },
                            symbolSize: [26, 26],
                            label: {
                                normal: {
                                    show: false,
                                },
                            },
                            data: chartData,
                            showEffectOn: "render",
                            rippleEffect: {
                                brushType: "stroke",
                            },
                            hoverAnimation: true,
                            zlevel: 2,
                        },
                    ],
                };
            }
      this.$refs.cityChart.setOption(option);
    },
    initMap() {
      inmap = new inMap.Map({
        id: "allmap",
        center: ["119.2376", "40.0436"], // 秦皇岛市
        zoom: {
          value: 9,
          show: true,
          max: 22,
        },
      });
      map = inmap.getMap();
            this.$refs.cityChart.setOption(option);
        },
        initMap() {
            inmap = new inMap.Map({
                id: "allmap",
                center: ["119.2376", "40.0436"], // 秦皇岛市
                zoom: {
                    value: 9,
                    show: true,
                    max: 22,
                },
            });
            map = inmap.getMap();
      // 地图拖动事件监听
      map.addEventListener("moving", () => {
        this.initOverlay();
      });
            // 地图拖动事件监听
            map.addEventListener("moving", () => {
                this.initOverlay();
            });
      map.addEventListener("moveend", () => {
        this.searchMapHomeState();
      });
            map.addEventListener("moveend", () => {
                this.searchMapHomeState();
            });
      // 查询设置的中心点
      this.searchCoordinateMove();
      // 查询地图上的机房
      this.searchMap();
      // 设置右键菜单
      let menu = new BMap.ContextMenu();
      let txtMenuItem = [
        {
          text: "设置中心点",
          callback: (e) => {
            let point = new BMap.Point(e.lng, e.lat);
            this.$layer.confirm(
              "确认修改地图默认中心坐标",
              {
                icon: 3,
                title: "系统提示",
              },
              (index) => {
                // 关闭确认框
                this.$layer.close(index);
                // 设置地图中心点
                this.setMapCenterPoint(point);
              }
            );
          },
        },
      ];
      // 可以编辑
      if (this.isCanEdit) {
        txtMenuItem.push({
          text: "设置机房",
          callback: (e) => {
            let point = new BMap.Point(e.lng, e.lat);
            // 添加机房
            this.addHomeDot(map, point);
          },
        });
      }
            // 查询设置的中心点
            this.searchCoordinateMove();
            // 查询地图上的机房
            this.searchMap();
            // 设置右键菜单
            let menu = new BMap.ContextMenu();
            let txtMenuItem = [
                {
                    text: "设置中心点",
                    callback: (e) => {
                        let point = new BMap.Point(e.lng, e.lat);
                        this.$layer.confirm(
                            "确认修改地图默认中心坐标",
                            {
                                icon: 3,
                                title: "系统提示",
                            },
                            (index) => {
                                // 关闭确认框
                                this.$layer.close(index);
                                // 设置地图中心点
                                this.setMapCenterPoint(point);
                            }
                        );
                    },
                },
            ];
            // 可以编辑
            if (this.isCanEdit) {
                txtMenuItem.push({
                    text: "设置机房",
                    callback: (e) => {
                        let point = new BMap.Point(e.lng, e.lat);
                        // 添加机房
                        this.addHomeDot(map, point);
                    },
                });
            }
      for (var i = 0; i < txtMenuItem.length; i++) {
        menu.addItem(
          new BMap.MenuItem(txtMenuItem[i].text, txtMenuItem[i].callback, 100)
        );
      }
      // 地图菜单
      map.addContextMenu(menu);
    },
    initOverlay() {
      console.log(normalOverlay);
      normalOverlay.img.setData([]);
      normalOverlay.animate.setData([]);
            for (var i = 0; i < txtMenuItem.length; i++) {
                menu.addItem(
                    new BMap.MenuItem(txtMenuItem[i].text, txtMenuItem[i].callback, 100)
                );
            }
            // 地图菜单
            map.addContextMenu(menu);
        },
        initOverlay() {
            console.log(normalOverlay);
            normalOverlay.img.setData([]);
            normalOverlay.animate.setData([]);
      behindOverlay.img.setData([]);
      behindOverlay.animate.setData([]);
            behindOverlay.img.setData([]);
            behindOverlay.animate.setData([]);
      warnOverlay.img.setData([]);
      warnOverlay.animate.setData([]);
            warnOverlay.img.setData([]);
            warnOverlay.animate.setData([]);
      timeoutOverlay.img.setData([]);
      timeoutOverlay.animate.setData([]);
    },
    // 查询设置的地图的中心点,并初始化地图位置
    searchCoordinateMove() {
      searchCoordinateMove()
        .then((res) => {
          let rs = JSON.parse(res.data.result);
          if (rs.code == 1) {
            let data = rs.data[0];
            var _point = new BMap.Point(data.map_longitude, data.map_latitude);
            map.centerAndZoom(_point, 9); // 用城市名设置地图中心点
          }
        })
        .catch((error) => {
          console.log(error);
        });
    },
    searchMap() {
      searchMap()
        .then((res) => {
          let rs = JSON.parse(res.data.result);
          let list = this.mergeMapInfos(rs);
          if (list != undefined && list.length > 0) {
            let mapDotList = list.map((data) => {
              return {
                lng: data.longitude,
                lat: data.latitude,
                title: data.StationName,
                data: data,
                name: data.StationName,
                geometry: {
                  type: "Point",
                  coordinates: [data.longitude, data.latitude],
                },
              };
            });
            // 设置正常机房
            this.createMapHome("", mapDotList);
            // 设置落后机房
            this.createMapHome("timeout", []);
            // 设置告警机房
            this.createMapHome("warn", []);
            // 设置延时机房
            this.createMapHome("behind", []);
            addHomeData = mapDotList;
          } else {
            // 设置正常机房
            this.createMapHome("", []);
            // 设置落后机房
            this.createMapHome("timeout", []);
            // 设置告警机房
            this.createMapHome("warn", []);
            // 设置延时机房
            this.createMapHome("behind", []);
          }
          this.startSearchMapHomeState();
        })
        .catch((error) => {
          console.log(error);
        });
    },
    startSearchMapHomeState() {
      this.timer.start(() => {
        if (this.mapName) {
          this.$axios
            .all([
                this.searchChartHomeState(),
                // this.getAllRealAlarm(),
            ])
            .then(() => {
              this.timer.open();
            })
            .catch(() => {
              this.timer.open();
            });
        } else {
          this.$axios
            .all([this.searchMapHomeState()])
            .then(() => {
              this.timer.open();
            })
            .catch(() => {
              this.timer.open();
            });
        }
      }, 4000);
    },
    searchMapHomeState() {
      searchMapHomeState()
        .then((res) => {
          let rs = JSON.parse(res.data.result);
          let behind = [];
          let warn = [];
          let timeout = [];
          let normal = [];
          if (rs.code === 1) {
            let data = rs.data;
            data.forEach((item) => {
              let infos = this.getHomeInfoByName(item.StationName);
              if (infos.length !== 0) {
                let info = infos[0];
                switch (item.num) {
                  case 1: // 落后
                    behind.push(info);
                    break;
                  case 2: // 告警
                    warn.push(info);
                    break;
                  case 3:
                    timeout.push(info);
                    break;
                  default:
                    normal.push(info);
                    break;
                }
              }
            });
          }
          // 更新正常地图图标
          behindOverlay.animate.setData(behind);
          behindOverlay.img.setData(behind);
          // 更新正常地图图标
          warnOverlay.animate.setData(warn);
          warnOverlay.img.setData(warn);
          // 更新正常地图图标
          timeoutOverlay.animate.setData(timeout);
          timeoutOverlay.img.setData(timeout);
          // 更新正常地图图标
          normalOverlay.animate.setData(normal);
          normalOverlay.img.setData(normal);
        })
        .catch((error) => {
          console.log(error);
        });
    },
    getHomeInfoByName(name) {
      return addHomeData.filter((item) => {
        return item.name === name;
      });
    },
    mergeMapInfos(list) {
      var mergeData = [];
      // 遍历list
      for (var i = 0; i < list.length; i++) {
        var _list = list[i];
        var isIn = this.checkMapInfoIsIn(_list, mergeData);
        if (isIn == -1) {
          mergeData.push(_list);
        }
      }
      // 返回合并值
      return mergeData;
    },
    checkMapInfoIsIn(mapInfo, mergeData) {
      var rs = -1;
      // 遍历mergeData
      for (var i = 0; i < mergeData.length; i++) {
        var _mergeData = mergeData[i];
        // 经纬度相同
        if (
          mapInfo.latitude == _mergeData.latitude &&
          mapInfo.longitude == _mergeData.longitude
        ) {
          rs = i;
        }
      }
      return rs;
    },
    createMapHome(type, data) {
      let overlay = normalOverlay;
      let color = "";
      let img = homeNormalImage;
      switch (type) {
        case "behind":
          overlay = behindOverlay;
          color = "#FD696A";
          img = homeDischargeImage;
          break;
        case "warn":
          overlay = warnOverlay;
          color = "#C5A26E";
          img = homeWarnImage;
          break;
        case "timeout":
          overlay = timeoutOverlay;
          color = "#3274CA";
          img = homeChargeImage;
          break;
      }
      // 设置动画
      let animationOverlay = new inMap.PointAnimationOverlay({
        style: {
          fps: 25, //动画帧数
          color: color,
          size: color ? 20 : 0,
          speed: 0.5,
        },
        data: data,
      });
      // 设置动画层
      overlay.animate = animationOverlay;
      inmap.add(animationOverlay);
            timeoutOverlay.img.setData([]);
            timeoutOverlay.animate.setData([]);
        },
        // 查询设置的地图的中心点,并初始化地图位置
        searchCoordinateMove() {
            searchCoordinateMove()
                .then((res) => {
                    let rs = JSON.parse(res.data.result);
                    if (rs.code == 1) {
                        let data = rs.data[0];
                        var _point = new BMap.Point(data.map_longitude, data.map_latitude);
                        map.centerAndZoom(_point, 9); // 用城市名设置地图中心点
                    }
                })
                .catch((error) => {
                    console.log(error);
                });
        },
        searchMap() {
            searchMap()
                .then((res) => {
                    let rs = JSON.parse(res.data.result);
                    let list = this.mergeMapInfos(rs);
                    if (list != undefined && list.length > 0) {
                        let mapDotList = list.map((data) => {
                            return {
                                lng: data.longitude,
                                lat: data.latitude,
                                title: data.StationName,
                                data: data,
                                name: data.StationName,
                                geometry: {
                                    type: "Point",
                                    coordinates: [data.longitude, data.latitude],
                                },
                            };
                        });
                        // 设置正常机房
                        this.createMapHome("", mapDotList);
                        // 设置落后机房
                        this.createMapHome("timeout", []);
                        // 设置告警机房
                        this.createMapHome("warn", []);
                        // 设置延时机房
                        this.createMapHome("behind", []);
                        addHomeData = mapDotList;
                    } else {
                        // 设置正常机房
                        this.createMapHome("", []);
                        // 设置落后机房
                        this.createMapHome("timeout", []);
                        // 设置告警机房
                        this.createMapHome("warn", []);
                        // 设置延时机房
                        this.createMapHome("behind", []);
                    }
                    this.startSearchMapHomeState();
                })
                .catch((error) => {
                    console.log(error);
                });
        },
        startSearchMapHomeState() {
            this.timer.start(() => {
                if (this.mapName) {
                    this.$axios
                        .all([
                            this.searchChartHomeState(),
                            // this.getAllRealAlarm(),
                        ])
                        .then(() => {
                            this.timer.open();
                        })
                        .catch(() => {
                            this.timer.open();
                        });
                } else {
                    this.$axios
                        .all([this.searchMapHomeState()])
                        .then(() => {
                            this.timer.open();
                        })
                        .catch(() => {
                            this.timer.open();
                        });
                }
            }, 4000);
        },
        searchMapHomeState() {
            searchMapHomeState()
                .then((res) => {
                    let rs = JSON.parse(res.data.result);
                    let behind = [];
                    let warn = [];
                    let timeout = [];
                    let normal = [];
                    if (rs.code === 1) {
                        let data = rs.data;
                        data.forEach((item) => {
                            let infos = this.getHomeInfoByName(item.StationName);
                            if (infos.length !== 0) {
                                let info = infos[0];
                                switch (item.num) {
                                    case 1: // 落后
                                        behind.push(info);
                                        break;
                                    case 2: // 告警
                                        warn.push(info);
                                        break;
                                    case 3:
                                        timeout.push(info);
                                        break;
                                    default:
                                        normal.push(info);
                                        break;
                                }
                            }
                        });
                    }
                    // 更新正常地图图标
                    behindOverlay.animate.setData(behind);
                    behindOverlay.img.setData(behind);
                    // 更新正常地图图标
                    warnOverlay.animate.setData(warn);
                    warnOverlay.img.setData(warn);
                    // 更新正常地图图标
                    timeoutOverlay.animate.setData(timeout);
                    timeoutOverlay.img.setData(timeout);
                    // 更新正常地图图标
                    normalOverlay.animate.setData(normal);
                    normalOverlay.img.setData(normal);
                })
                .catch((error) => {
                    console.log(error);
                });
        },
        getHomeInfoByName(name) {
            return addHomeData.filter((item) => {
                return item.name === name;
            });
        },
        mergeMapInfos(list) {
            var mergeData = [];
            // 遍历list
            for (var i = 0; i < list.length; i++) {
                var _list = list[i];
                var isIn = this.checkMapInfoIsIn(_list, mergeData);
                if (isIn == -1) {
                    mergeData.push(_list);
                }
            }
            // 返回合并值
            return mergeData;
        },
        checkMapInfoIsIn(mapInfo, mergeData) {
            var rs = -1;
            // 遍历mergeData
            for (var i = 0; i < mergeData.length; i++) {
                var _mergeData = mergeData[i];
                // 经纬度相同
                if (
                    mapInfo.latitude == _mergeData.latitude &&
                    mapInfo.longitude == _mergeData.longitude
                ) {
                    rs = i;
                }
            }
            return rs;
        },
        createMapHome(type, data) {
            let overlay = normalOverlay;
            let color = "";
            let img = homeNormalImage;
            switch (type) {
                case "behind":
                    overlay = behindOverlay;
                    color = "#FD696A";
                    img = homeDischargeImage;
                    break;
                case "warn":
                    overlay = warnOverlay;
                    color = "#C5A26E";
                    img = homeWarnImage;
                    break;
                case "timeout":
                    overlay = timeoutOverlay;
                    color = "#3274CA";
                    img = homeChargeImage;
                    break;
            }
            // 设置动画
            let animationOverlay = new inMap.PointAnimationOverlay({
                style: {
                    fps: 25, //动画帧数
                    color: color,
                    size: color ? 20 : 0,
                    speed: 0.5,
                },
                data: data,
            });
            // 设置动画层
            overlay.animate = animationOverlay;
            inmap.add(animationOverlay);
      let imgOverlay = new inMap.ImgOverlay({
        tooltip: {
          show: true,
          formatter: "{name}",
        },
        style: {
          normal: {
            icon: img,
            width: 26,
            height: 26,
            offsets: {
              top: "-50%",
              left: "-50%",
            },
          },
        },
        data: data,
      });
      // 添加事件
      imgOverlay.on("mouseClick", (info) => {
        let homeInfo = this.getHomeByPoint(info[0]);
        if (homeInfo) {
          this.searchHomeNum(
            homeInfo.data.StationId,
            homeInfo.data.FBSDeviceId,
            homeInfo.data
          );
        }
      });
      // 添加图片层
      overlay.img = imgOverlay;
      inmap.add(imgOverlay);
    },
    createMapDot(list) {
      let self = this;
      mkList = [];
      list.forEach((item) => {
        let pt = new BMap.Point(item.lng, item.lat);
        let mk = new BMap.Marker(pt); // 定义marker点
        // 向mk点添加label
        var home_name = new BMap.Label(item.title, {
          offset: new BMap.Size(20, -10),
        });
        home_name.setStyle({
          display: "none",
          padding: "4px 2px",
        });
        mk.setLabel(home_name);
        mk.addEventListener("mouseover", function(e) {
          this.getLabel().setStyle({
            display: "block",
          });
        });
            let imgOverlay = new inMap.ImgOverlay({
                tooltip: {
                    show: true,
                    formatter: "{name}",
                },
                style: {
                    normal: {
                        icon: img,
                        width: 26,
                        height: 26,
                        offsets: {
                            top: "-50%",
                            left: "-50%",
                        },
                    },
                },
                data: data,
            });
            // 添加事件
            imgOverlay.on("mouseClick", (info) => {
                let homeInfo = this.getHomeByPoint(info[0]);
                if (homeInfo) {
                    this.searchHomeNum(
                        homeInfo.data.StationId,
                        homeInfo.data.FBSDeviceId,
                        homeInfo.data
                    );
                }
            });
            // 添加图片层
            overlay.img = imgOverlay;
            inmap.add(imgOverlay);
        },
        createMapDot(list) {
            let self = this;
            mkList = [];
            list.forEach((item) => {
                let pt = new BMap.Point(item.lng, item.lat);
                let mk = new BMap.Marker(pt); // 定义marker点
                // 向mk点添加label
                var home_name = new BMap.Label(item.title, {
                    offset: new BMap.Size(20, -10),
                });
                home_name.setStyle({
                    display: "none",
                    padding: "4px 2px",
                });
                mk.setLabel(home_name);
                mk.addEventListener("mouseover", function (e) {
                    this.getLabel().setStyle({
                        display: "block",
                    });
                });
        mk.addEventListener("mouseout", function(e) {
          this.getLabel().setStyle({
            display: "none",
          });
        });
        mk.addEventListener("click", function(e) {
          var target = e.target;
          let homeInfo = self.getHomeByPoint(target.point);
          if (homeInfo) {
            self.searchHomeNum(
              homeInfo.data.StationId,
              homeInfo.data.FBSDeviceId,
              homeInfo.data
            );
          }
        });
        mkList.push(mk);
        // 设置覆盖物的右键菜单
        let menu = new BMap.ContextMenu();
        menu.addItem(
          new BMap.MenuItem("删除", (e) => {
            let point = new BMap.Point(e.lng, e.lat);
            this.delMapHome(mk);
          })
        );
        mk.addContextMenu(menu);
        // 向地图添加覆盖物
        map.addOverlay(mk);
      });
    },
    leafClick(data) {
      console.log(data);
      // 构造查询条件
      let searchParams = {
        StationName1: data.data.StationName1,
        StationName2: data.data.StationName2,
        StationName5: data.data.StationName5,
        StationName3: data.data.StationName3,
        StationId: data.data.StationId,
      };
                mk.addEventListener("mouseout", function (e) {
                    this.getLabel().setStyle({
                        display: "none",
                    });
                });
                mk.addEventListener("click", function (e) {
                    var target = e.target;
                    let homeInfo = self.getHomeByPoint(target.point);
                    if (homeInfo) {
                        self.searchHomeNum(
                            homeInfo.data.StationId,
                            homeInfo.data.FBSDeviceId,
                            homeInfo.data
                        );
                    }
                });
                mkList.push(mk);
                // 设置覆盖物的右键菜单
                let menu = new BMap.ContextMenu();
                menu.addItem(
                    new BMap.MenuItem("删除", (e) => {
                        let point = new BMap.Point(e.lng, e.lat);
                        this.delMapHome(mk);
                    })
                );
                mk.addContextMenu(menu);
                // 向地图添加覆盖物
                map.addOverlay(mk);
            });
        },
        leafClick(data) {
            console.log(data);
            // 构造查询条件
            let searchParams = {
                StationName1: data.data.StationName1,
                StationName2: data.data.StationName2,
                StationName5: data.data.StationName5,
                StationName3: data.data.StationName3,
                StationId: data.data.StationId,
            };
      // 查询机房的定位信息
      this.searchRoomLocation(searchParams);
    },
    // 根据查询条件查询机房的定位信息
    searchRoomLocation(searchParams) {
      let loading = this.$layer.loading();
      searchAddressById(searchParams)
        .then((res) => {
          this.$layer.close(loading);
          let rs = JSON.parse(res.data.result);
          if (rs.code == 1) {
            let data = rs.data[0];
            // 构造点
            let point = {
              lng: data.longitude,
              lat: data.latitude,
            };
            let homeInfo = this.getHomeByPoint(point);
            if (homeInfo) {
              this.searchHomeNum(
                homeInfo.data.StationId,
                homeInfo.data.FBSDeviceId,
                homeInfo.data
              );
            }
          } else {
            this.isShowInfoPanel = false;
            this.$layer.msg("当前机房未定位");
          }
        })
        .catch((error) => {
          this.$layer.close(loading);
          console.log(error);
        });
    },
    // 查询告警落后的信息
    searchHomeNum(sId, dev_id, homeData) {
      // 检测是否存在3D机房
      this.$apis.pageSetting.threeHomeSetting
        .searchByDevId({
          deviceId: dev_id,
        })
        .then((res) => {
          let rs = JSON.parse(res.data.result);
          if (rs.data.length != 0) {
            this.areas = rs.data;
            //this.hdwDialog = true;
            this.showThreeHomeDialog(this.areas);
          } else {
            searchHomeNum({
              StationId: sId,
              FBSDeviceId: dev_id,
            })
              .then((res) => {
                let rs = JSON.parse(res.data.result);
                homeData.nums = rs;
                if (this.mapName) {
                  this.changeChartPanelStatus(homeData);
                } else {
                  this.showMapPanel(homeData);
                }
              })
              .catch((error) => {
                console.log(error);
              });
          }
        })
        .catch((error) => {
          console.log(error);
        });
    },
    getMkByPoint(point) {
      let result = 0;
      for (let i = 0; i < mkList.length; i++) {
        let mk = mkList[i];
        if (mk.point.lng == point.lng && mk.point.lat == point.lat) {
          result = mk;
          break;
        }
      }
      return result;
    },
    getHomeByPoint(point) {
      let result = 0;
      for (let i = 0; i < addHomeData.length; i++) {
        let homeData = addHomeData[i];
        if (homeData.lng == point.lng && homeData.lat == point.lat) {
          result = homeData;
          break;
        }
      }
      return result;
    },
    showMapPanel(homeData) {
      let BMapLib = window.BMapLib;
      let infoWindow = null;
      let point = new BMap.Point(homeData.longitude, homeData.latitude);
      /* 设置站点窗口 */
      var opts = {
        title: homeData.StationName, // 信息窗口标题
        width: "auto", //宽度
        height: "atuo", //高度
        panel: "panel", //检索结果面板
        enableAutoPan: true, //自动平移
        enableSendToPhone: false,
        searchTypes: [],
      };
      infoPanel.info = homeData;
      infoPanel.isCanDel = this.isCanDel;
      this.$nextTick(() => {
        infoWindow = new BMapLib.SearchInfoWindow(map, infoPanel.$el, opts);
        infoWindow.open(point);
      });
    },
    addHomeDot(map, point) {
      // 向地图中添加覆盖物
      let removeMarker = function(e, ee, marker) {
        map.removeOverlay(marker);
      };
      let mk = new BMap.Marker(point);
      mk.enableDragging(); // 设置覆盖物可以移动
      // 设置覆盖物的右键菜单
      let menu = new BMap.ContextMenu();
      menu.addItem(new BMap.MenuItem("删除", removeMarker.bind(mk)));
      mk.addContextMenu(menu);
      // 向覆盖物添加点击事件,显示添加机房的面板
      mk.addEventListener("click", (e) => {
        let target = e.target;
        let point = new BMap.Point(
          target.getPosition().lng,
          target.getPosition().lat
        );
        this.addMapHomeList(point);
      });
      // 将覆盖物添加到地图上
      map.addOverlay(mk);
    },
    // 查询还未添加到地图上的机房
    addMapHomeList(point) {
      // 查询后台
      addMapHomeList()
        .then((res) => {
          let rs = JSON.parse(res.data.result);
          let data = [];
          if (rs.code == 1) {
            data = rs.data.map((item) => {
              let home =
                item.StationName1 +
                "-" +
                item.StationName2 +
                "-" +
                item.StationName5 +
                "-" +
                item.StationName3;
              item.label = home;
              item.value = home;
              return item;
            });
          }
          // 设置组件的值
          addPanel.homeList = data;
          addPanel.point = point;
          // 显示添加机房的面板
          this.showMapAddPanel(point);
        })
        .catch((error) => {});
    },
    showMapAddPanel(info) {
      let BMapLib = window.BMapLib;
      let infoWindow = null;
      let point = new BMap.Point(info.lng, info.lat);
      /* 设置站点窗口 */
      var opts = {
        title: "设置站点位置信息", // 信息窗口标题
        width: "auto", //宽度
        height: "atuo", //高度
        panel: "panel", //检索结果面板
        enableAutoPan: true, //自动平移
        enableSendToPhone: false,
        searchTypes: [],
      };
      infoWindow = new BMapLib.SearchInfoWindow(map, addPanel.$el, opts);
      infoWindow.open(point);
    },
    delMapHome(mk) {
      // 删除地图图标
      let homeInfo = this.getHomeByPoint(mk.point);
      if (homeInfo) {
        // 添加确认框
        this.$layer.confirm(
          "确认从地图上删除" + homeInfo.title,
          {
            icon: 3,
            title: "系统提示",
          },
          (index) => {
            // 关闭确认框
            this.$layer.close(index);
            // 执行删除操作
            delMapHome(homeInfo.data)
              .then((res) => {
                let rs = JSON.parse(res.data.result);
                if (rs.code == 1) {
                  this.$layer.msg("删除成功");
                  map.removeOverlay(mk);
                } else {
                  this.$layer.msg("删除失败");
                }
              })
              .catch((error) => {
                console.log(error);
              });
          }
        );
      } else {
        this.$layer.msg("获取机房信息失败!");
      }
    },
    setMapCenterPoint(point) {
      // 设置地图的中心点坐标
      let searchParams = {
        map_longitude: point.lng,
        map_latitude: point.lat,
        map_level: 9,
      };
      let loading = this.$layer.loading();
      setMapCenterPoint(searchParams)
        .then((res) => {
          let rs = JSON.parse(res.data.result);
          if (rs.code == 1) {
            this.$layer.msg("设置中心点成功");
          } else {
            this.$layer.msg("设置中心点失败");
          }
          // 关闭弹出框
          this.$layer.close(loading);
        })
        .catch((error) => {
          console.log(error);
          // 关闭弹出框
          this.$layer.close(loading);
        });
    },
    convertMain(Lng, lat) {
      //根据经纬度计算定位
      let getModel = chart.getModel().getSeries()[1];
      let seriesModel = chart.getModel().getSeriesByIndex(0);
      let coordSys = seriesModel.coordinateSystem;
      let point = coordSys.dataToPoint([Lng, lat]);
      return point;
    },
    closeInfoPanel() {
      //关闭信息层
      this.isShowInfoPanel = false;
    },
    showChartPanel(sId, dev_id, homeData) {
      // 检测是否存在3D机房
      this.$apis.pageSetting.threeHomeSetting
        .searchByDevId({
          deviceId: dev_id,
        })
        .then((res) => {
          let rs = JSON.parse(res.data.result);
          if (rs.data.length != 0) {
            this.areas = rs.data;
            //this.hdwDialog = true;
            this.showThreeHomeDialog(this.areas);
          } else {
            searchHomeNum({
              // 查询告警落后的信息
              StationId: sId,
              FBSDeviceId: dev_id,
            })
              .then((res) => {
                let rs = JSON.parse(res.data.result);
                homeData.nums = rs;
                this.changeChartPanelStatus(homeData);
              })
              .catch((error) => {
                console.log(error);
              });
          }
        })
        .catch((error) => {
          console.log(error);
        });
    },
    changeChartPanelStatus(homeData) {
      //panel面板状态改变
      this.isShowInfoPanel = true;
      let poit = this.convertMain(homeData.longitude, homeData.latitude);
      this.mapInfoX = poit[0] - 120;
      this.mapInfoY = poit[1] - 190;
      this.mapInfoTitle = homeData.StationName;
      this.$nextTick(() => {
        this.$refs.infoPanel.setInfo(homeData); //传值子组件
      });
    },
    getAllMapOutlineAction() {
      //查询激活轮廓图
      getAllMapOutlineAction()
        .then((res) => {
          let rs = JSON.parse(res.data.result);
          if (rs.code == 1) {
            let data = rs.data;
            data.map((item, index) => {
              if (item.status == 1) {
                this.mapName = item.name;
              }
            });
          }
          if (!this.mapName) {
            this.mapStyle = "百度地图";
          }
          this.mapNameCopy = this.mapName;
          this.$nextTick(() => {
            this.initPage();
          });
        })
        .catch((err) => {
          console.log(err);
        });
    },
    showThreeHomeDialog(areas) {
      window.parent.postMessage(
        {
          cmd: "showDialog",
          params: {
            dialog: "hdwDialog",
            pageInfo: areas,
          },
        },
        "*"
      );
    },
    mapStyleChange(label) {
      if (label == "百度地图" || label == "卡片站点") {
        this.mapName = "";
      } else {
        this.mapName = this.mapNameCopy;
      }
      this.$nextTick(() => {
        this.initPage();
      });
    },
    getAllRealAlarm() {
      getAllRealAlarm()
          .then((res) => {
            let resData = JSON.parse(res.data.result);
            this.newItems = resData.data;
          })
          .catch((err) => {
            console.log(err);
          });
    },
  },
  computed: {
    isDisabled() {
      return !this.mapName && !this.mapNameCopy ? true : false;
    },
  },
  mounted() {
    // 初始化页面
    this.getAllMapOutlineAction();
    // 监听chartMap的面板
    window.addEventListener("resize", () => {
      let timers = null;
      if (!this.isShowInfoPanel || !this.mapName) {
        return;
      }
      this.isShowInfoPanel = false;
      timers = setTimeout(() => {
        this.isShowInfoPanel = true;
        let poit = this.convertMain(chartLng, chartLat);
        this.mapInfoX = poit[0] - 120;
        this.mapInfoY = poit[1] - 190;
      }, 300);
    });
            // 查询机房的定位信息
            this.searchRoomLocation(searchParams);
        },
        // 根据查询条件查询机房的定位信息
        searchRoomLocation(searchParams) {
            let loading = this.$layer.loading();
            searchAddressById(searchParams)
                .then((res) => {
                    this.$layer.close(loading);
                    let rs = JSON.parse(res.data.result);
                    if (rs.code == 1) {
                        let data = rs.data[0];
                        // 构造点
                        let point = {
                            lng: data.longitude,
                            lat: data.latitude,
                        };
                        let homeInfo = this.getHomeByPoint(point);
                        if (homeInfo) {
                            chartLng = data.longitude;
                            chartLat = data.latitude;
                            this.searchHomeNum(
                                homeInfo.data.StationId,
                                homeInfo.data.FBSDeviceId,
                                homeInfo.data
                            );
                        }
                    } else {
                        this.isShowInfoPanel = false;
                        this.$layer.msg("当前机房未定位");
                    }
                })
                .catch((error) => {
                    this.$layer.close(loading);
                    console.log(error);
                });
        },
        // 查询告警落后的信息
        searchHomeNum(sId, dev_id, homeData) {
            // 检测是否存在3D机房
            this.$apis.pageSetting.threeHomeSetting
                .searchByDevId({
                    deviceId: dev_id,
                })
                .then((res) => {
                    let rs = JSON.parse(res.data.result);
                    if (rs.data.length != 0) {
                        this.areas = rs.data;
                        //this.hdwDialog = true;
                        this.showThreeHomeDialog(this.areas);
                    } else {
                        searchHomeNum({
                            StationId: sId,
                            FBSDeviceId: dev_id,
                        })
                            .then((res) => {
                                let rs = JSON.parse(res.data.result);
                                homeData.nums = rs;
                                if (this.mapName) {
                                    this.changeChartPanelStatus(homeData);
                                } else {
                                    this.showMapPanel(homeData);
                                }
                            })
                            .catch((error) => {
                                console.log(error);
                            });
                    }
                })
                .catch((error) => {
                    console.log(error);
                });
        },
        getMkByPoint(point) {
            let result = 0;
            for (let i = 0; i < mkList.length; i++) {
                let mk = mkList[i];
                if (mk.point.lng == point.lng && mk.point.lat == point.lat) {
                    result = mk;
                    break;
                }
            }
            return result;
        },
        getHomeByPoint(point) {
            let result = 0;
            for (let i = 0; i < addHomeData.length; i++) {
                let homeData = addHomeData[i];
                if (homeData.lng == point.lng && homeData.lat == point.lat) {
                    result = homeData;
                    break;
                }
            }
            return result;
        },
        showMapPanel(homeData) {
            let BMapLib = window.BMapLib;
            let infoWindow = null;
            let point = new BMap.Point(homeData.longitude, homeData.latitude);
            /* 设置站点窗口 */
            var opts = {
                title: homeData.StationName, // 信息窗口标题
                width: "auto", //宽度
                height: "atuo", //高度
                panel: "panel", //检索结果面板
                enableAutoPan: true, //自动平移
                enableSendToPhone: false,
                searchTypes: [],
            };
            infoPanel.info = homeData;
            infoPanel.isCanDel = this.isCanDel;
            this.$nextTick(() => {
                infoWindow = new BMapLib.SearchInfoWindow(map, infoPanel.$el, opts);
                infoWindow.open(point);
            });
        },
        addHomeDot(map, point) {
            // 向地图中添加覆盖物
            let removeMarker = function (e, ee, marker) {
                map.removeOverlay(marker);
            };
            let mk = new BMap.Marker(point);
            mk.enableDragging(); // 设置覆盖物可以移动
            // 设置覆盖物的右键菜单
            let menu = new BMap.ContextMenu();
            menu.addItem(new BMap.MenuItem("删除", removeMarker.bind(mk)));
            mk.addContextMenu(menu);
            // 向覆盖物添加点击事件,显示添加机房的面板
            mk.addEventListener("click", (e) => {
                let target = e.target;
                let point = new BMap.Point(
                    target.getPosition().lng,
                    target.getPosition().lat
                );
                this.addMapHomeList(point);
            });
            // 将覆盖物添加到地图上
            map.addOverlay(mk);
        },
        // 查询还未添加到地图上的机房
        addMapHomeList(point) {
            // 查询后台
            addMapHomeList()
                .then((res) => {
                    let rs = JSON.parse(res.data.result);
                    let data = [];
                    if (rs.code == 1) {
                        data = rs.data.map((item) => {
                            let home =
                                item.StationName1 +
                                "-" +
                                item.StationName2 +
                                "-" +
                                item.StationName5 +
                                "-" +
                                item.StationName3;
                            item.label = home;
                            item.value = home;
                            return item;
                        });
                    }
                    // 设置组件的值
                    addPanel.homeList = data;
                    addPanel.point = point;
                    // 显示添加机房的面板
                    this.showMapAddPanel(point);
                })
                .catch((error) => { });
        },
        showMapAddPanel(info) {
            let BMapLib = window.BMapLib;
            let infoWindow = null;
            let point = new BMap.Point(info.lng, info.lat);
            /* 设置站点窗口 */
            var opts = {
                title: "设置站点位置信息", // 信息窗口标题
                width: "auto", //宽度
                height: "atuo", //高度
                panel: "panel", //检索结果面板
                enableAutoPan: true, //自动平移
                enableSendToPhone: false,
                searchTypes: [],
            };
            infoWindow = new BMapLib.SearchInfoWindow(map, addPanel.$el, opts);
            infoWindow.open(point);
        },
        delMapHome(mk) {
            // 删除地图图标
            let homeInfo = this.getHomeByPoint(mk.point);
            if (homeInfo) {
                // 添加确认框
                this.$layer.confirm(
                    "确认从地图上删除" + homeInfo.title,
                    {
                        icon: 3,
                        title: "系统提示",
                    },
                    (index) => {
                        // 关闭确认框
                        this.$layer.close(index);
                        // 执行删除操作
                        delMapHome(homeInfo.data)
                            .then((res) => {
                                let rs = JSON.parse(res.data.result);
                                if (rs.code == 1) {
                                    this.$layer.msg("删除成功");
                                    map.removeOverlay(mk);
                                } else {
                                    this.$layer.msg("删除失败");
                                }
                            })
                            .catch((error) => {
                                console.log(error);
                            });
                    }
                );
            } else {
                this.$layer.msg("获取机房信息失败!");
            }
        },
        setMapCenterPoint(point) {
            // 设置地图的中心点坐标
            let searchParams = {
                map_longitude: point.lng,
                map_latitude: point.lat,
                map_level: 9,
            };
            let loading = this.$layer.loading();
            setMapCenterPoint(searchParams)
                .then((res) => {
                    let rs = JSON.parse(res.data.result);
                    if (rs.code == 1) {
                        this.$layer.msg("设置中心点成功");
                    } else {
                        this.$layer.msg("设置中心点失败");
                    }
                    // 关闭弹出框
                    this.$layer.close(loading);
                })
                .catch((error) => {
                    console.log(error);
                    // 关闭弹出框
                    this.$layer.close(loading);
                });
        },
        convertMain(Lng, lat) {
            //根据经纬度计算定位
            let getModel = chart.getModel().getSeries()[1];
            let seriesModel = chart.getModel().getSeriesByIndex(0);
            let coordSys = seriesModel.coordinateSystem;
            let point = coordSys.dataToPoint([Lng, lat]);
            return point;
        },
        closeInfoPanel() {
            //关闭信息层
            this.isShowInfoPanel = false;
        },
        showChartPanel(sId, dev_id, homeData) {
            // 检测是否存在3D机房
            this.$apis.pageSetting.threeHomeSetting
                .searchByDevId({
                    deviceId: dev_id,
                })
                .then((res) => {
                    let rs = JSON.parse(res.data.result);
                    if (rs.data.length != 0) {
                        this.areas = rs.data;
                        //this.hdwDialog = true;
                        this.showThreeHomeDialog(this.areas);
                    } else {
                        searchHomeNum({
                            // 查询告警落后的信息
                            StationId: sId,
                            FBSDeviceId: dev_id,
                        })
                            .then((res) => {
                                let rs = JSON.parse(res.data.result);
                                homeData.nums = rs;
                                this.changeChartPanelStatus(homeData);
                            })
                            .catch((error) => {
                                console.log(error);
                            });
                    }
                })
                .catch((error) => {
                    console.log(error);
                });
        },
        changeChartPanelStatus(homeData) {
            //panel面板状态改变
            this.isShowInfoPanel = true;
            let poit = this.convertMain(homeData.longitude, homeData.latitude);
            this.mapInfoX = poit[0] - 120;
            this.mapInfoY = poit[1] - 190;
            this.mapInfoTitle = homeData.StationName;
            this.$nextTick(() => {
                this.$refs.infoPanel.setInfo(homeData); //传值子组件
            });
        },
        getAllMapOutlineAction() {
            //查询激活轮廓图
            getAllMapOutlineAction()
                .then((res) => {
                    let rs = JSON.parse(res.data.result);
                    if (rs.code == 1) {
                        let data = rs.data;
                        data.map((item, index) => {
                            if (item.status == 1) {
                                this.mapName = item.name;
                            }
                        });
                    }
                    if (!this.mapName) {
                        this.mapStyle = "百度地图";
                    }
                    this.mapNameCopy = this.mapName;
                    this.$nextTick(() => {
                        this.initPage();
                    });
                })
                .catch((err) => {
                    console.log(err);
                });
        },
        showThreeHomeDialog(areas) {
            window.parent.postMessage(
                {
                    cmd: "showDialog",
                    params: {
                        dialog: "hdwDialog",
                        pageInfo: areas,
                    },
                },
                "*"
            );
        },
        mapStyleChange(label) {
            if (label == "百度地图" || label == "卡片站点") {
                this.mapName = "";
            } else {
                this.mapName = this.mapNameCopy;
            }
            this.$nextTick(() => {
                this.initPage();
            });
        },
        getAllRealAlarm() {
            getAllRealAlarm()
                .then((res) => {
                    let resData = JSON.parse(res.data.result);
                    this.newItems = resData.data;
                })
                .catch((err) => {
                    console.log(err);
                });
        },
    },
    computed: {
        isDisabled() {
            return !this.mapName && !this.mapNameCopy ? true : false;
        },
    },
    mounted() {
        // 初始化页面
        this.getAllMapOutlineAction();
        // 监听chartMap的面板
        window.addEventListener("resize", () => {
            let timers = null;
            if (!this.isShowInfoPanel || !this.mapName) {
                return;
            }
            this.isShowInfoPanel = false;
            timers = setTimeout(() => {
                this.isShowInfoPanel = true;
                let poit = this.convertMain(chartLng, chartLat);
                this.mapInfoX = poit[0] - 120;
                this.mapInfoY = poit[1] - 190;
            }, 300);
        });
    // 监听添加机房的事件
    addPanel.$on("handleEvent", (res) => {
      // 清空覆盖物
      map.clearOverlays();
      // 查询地图上的机房
      this.searchMap();
    });
    infoPanel.$on("delHome", (res) => {
      // 清空覆盖物
      map.clearOverlays();
      // 查询地图上的机房
      this.searchMap();
    });
  },
  destroyed() {
    this.timer.stop();
  },
        // 监听添加机房的事件
        addPanel.$on("handleEvent", (res) => {
            // 清空覆盖物
            map.clearOverlays();
            // 查询地图上的机房
            this.searchMap();
        });
        infoPanel.$on("delHome", (res) => {
            // 清空覆盖物
            map.clearOverlays();
            // 查询地图上的机房
            this.searchMap();
        });
    },
    destroyed() {
        this.timer.stop();
    },
};
</script>