diff --git a/package-lock.json b/package-lock.json
index 72824067..e44672f0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,7 +7,7 @@
     "@ant-design/colors": {
       "version": "3.1.0",
       "resolved": "https://registry.npm.taobao.org/@ant-design/colors/download/@ant-design/colors-3.1.0.tgz",
-      "integrity": "sha1-t+LMYaTobT0QlJQDSs+xIi2sqjw=",
+      "integrity": "sha512-Td7g1P53sNFyT4Gya6836e70TrhoVZ+HjZs6mpWIHrxl4/VqsjjOyzj/8ktOuw0lCx+BfYu9UO1CiJ0MoYYfhg==",
       "requires": {
         "tinycolor2": "^1.4.1"
       }
@@ -15,113 +15,17 @@
     "@ant-design/icons": {
       "version": "2.1.1",
       "resolved": "https://registry.npm.taobao.org/@ant-design/icons/download/@ant-design/icons-2.1.1.tgz",
-      "integrity": "sha1-e5wI3/1PXUHbZn2dvl4BB9C9mko="
+      "integrity": "sha512-jCH+k2Vjlno4YWl6g535nHR09PwCEmTBKAG6VqF+rhkrSPRLfgpU2maagwbZPLjaHuU5Jd1DFQ2KJpQuI6uG8w=="
     },
     "@ant-design/icons-vue": {
       "version": "2.0.0",
       "resolved": "https://registry.npm.taobao.org/@ant-design/icons-vue/download/@ant-design/icons-vue-2.0.0.tgz",
-      "integrity": "sha1-A1f1AQpATp80qHpLQbKgjfaR284=",
+      "integrity": "sha512-2c0QQE5hL4N48k5NkPG5sdpMl9YnvyNhf0U7YkdZYDlLnspoRU7vIA0UK9eHBs6OpFLcJB6o8eJrIl2ajBskPg==",
       "requires": {
         "@ant-design/colors": "^3.1.0",
         "babel-runtime": "^6.26.0"
       }
     },
-    "@antv/adjust": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/@antv/adjust/-/adjust-0.1.1.tgz",
-      "integrity": "sha512-9FaMOyBlM4AgoRL0b5o0VhEKAYkexBNUrxV8XmpHU/9NBPJONBOB/NZUlQDqxtLItrt91tCfbAuMQmF529UX2Q==",
-      "requires": {
-        "@antv/util": "~1.3.1"
-      }
-    },
-    "@antv/attr": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/@antv/attr/-/attr-0.1.2.tgz",
-      "integrity": "sha512-QXjP+T2I+pJQcwZx1oCA4tipG43vgeCeKcGGKahlcxb71OBAzjJZm1QbF4frKXcnOqRkxVXtCr70X9TRair3Ew==",
-      "requires": {
-        "@antv/util": "~1.3.1"
-      }
-    },
-    "@antv/component": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/@antv/component/-/component-0.3.2.tgz",
-      "integrity": "sha512-iU/rxBhNFpT8ALaeLSnH9h2dnCwMM1igzLZDwnXGnRDLEagSl3kcMnKHIzAnoNiyI3u2T6Fh4TekuXnbrZlXpA==",
-      "requires": {
-        "@antv/attr": "~0.1.2",
-        "@antv/g": "~3.3.5",
-        "@antv/util": "~1.3.1",
-        "wolfy87-eventemitter": "~5.1.0"
-      }
-    },
-    "@antv/coord": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/@antv/coord/-/coord-0.1.0.tgz",
-      "integrity": "sha512-W1R8h3Jfb3AfMBVfCreFPMVetgEYuwHBIGn0+d3EgYXe2ckOF8XWjkpGF1fZhOMHREMr+Gt27NGiQh8yBdLUgg==",
-      "requires": {
-        "@antv/util": "~1.3.1"
-      }
-    },
-    "@antv/g": {
-      "version": "3.3.6",
-      "resolved": "https://registry.npmjs.org/@antv/g/-/g-3.3.6.tgz",
-      "integrity": "sha512-2GtyTz++s0BbN6s0ZL2/nrqGYCkd52pVoNH92YkrTdTOvpO6Z4DNoo6jGVgZdPX6Nzwli6yduC8MinVAhE8X6g==",
-      "requires": {
-        "@antv/gl-matrix": "~2.7.1",
-        "@antv/util": "~1.3.1",
-        "d3-ease": "~1.0.3",
-        "d3-interpolate": "~1.1.5",
-        "d3-timer": "~1.0.6",
-        "wolfy87-eventemitter": "~5.1.0"
-      }
-    },
-    "@antv/g2": {
-      "version": "3.5.3",
-      "resolved": "https://registry.npmjs.org/@antv/g2/-/g2-3.5.3.tgz",
-      "integrity": "sha512-JXaceNrJ186auehjBLatl0tz/mYLa2fhQ/SK5/aC4nTcvCdSDIJgMXPmAaKbsqz7y9G0iE9FDRxE2UMkYIzI2A==",
-      "requires": {
-        "@antv/adjust": "~0.1.0",
-        "@antv/attr": "~0.1.2",
-        "@antv/component": "~0.3.2",
-        "@antv/coord": "~0.1.0",
-        "@antv/g": "~3.3.6",
-        "@antv/scale": "~0.1.1",
-        "@antv/util": "~1.3.1",
-        "venn.js": "~0.2.20",
-        "wolfy87-eventemitter": "~5.1.0"
-      }
-    },
-    "@antv/g2-brush": {
-      "version": "0.0.2",
-      "resolved": "https://registry.npmjs.org/@antv/g2-brush/-/g2-brush-0.0.2.tgz",
-      "integrity": "sha512-7O9szwem19nmEgReXhFB8kVLRaz8J5MHvrzDSDY36YaBOaHSWRGHnvYt2KkkPqgWtHtLY1srssk4X/UmP5govA=="
-    },
-    "@antv/g2-plugin-slider": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@antv/g2-plugin-slider/-/g2-plugin-slider-2.1.1.tgz",
-      "integrity": "sha512-nB678VEGG3FkrvkDDFADAKjLQIeXzITEYqey5oeOpbf0vT5jOa55lQDyJDZ79cK8PmU/Hz6VPeSb3CNQBA+/FQ=="
-    },
-    "@antv/gl-matrix": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/@antv/gl-matrix/-/gl-matrix-2.7.1.tgz",
-      "integrity": "sha512-oOWcVNlpELIKi9x+Mm1Vwbz8pXfkbJKykoCIOJ/dNK79hSIANbpXJ5d3Rra9/wZqK6MC961B7sybFhPlLraT3Q=="
-    },
-    "@antv/scale": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/@antv/scale/-/scale-0.1.2.tgz",
-      "integrity": "sha512-lAJJUDiQIgoBSnlJDlMjbuaO2K71/e85hNtsjuv22os6QPqJZE/Q56JXLAgT5L5vXo9d4DFnxzwOBjdonHJXoA==",
-      "requires": {
-        "@antv/util": "~1.3.1",
-        "fecha": "~2.3.3"
-      }
-    },
-    "@antv/util": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz",
-      "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==",
-      "requires": {
-        "@antv/gl-matrix": "^2.7.1"
-      }
-    },
     "@babel/code-frame": {
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
@@ -1203,7 +1107,7 @@
     "@jest/source-map": {
       "version": "24.9.0",
       "resolved": "https://registry.npm.taobao.org/@jest/source-map/download/@jest/source-map-24.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fsource-map%2Fdownload%2F%40jest%2Fsource-map-24.9.0.tgz",
-      "integrity": "sha1-DiY6lEML5LQdpoPMwea//ioZFxQ=",
+      "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==",
       "dev": true,
       "requires": {
         "callsites": "^3.0.0",
@@ -1214,7 +1118,7 @@
         "callsites": {
           "version": "3.1.0",
           "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz",
-          "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=",
+          "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
           "dev": true
         },
         "source-map": {
@@ -1658,7 +1562,7 @@
     "@types/babel__core": {
       "version": "7.1.2",
       "resolved": "https://registry.npm.taobao.org/@types/babel__core/download/@types/babel__core-7.1.2.tgz",
-      "integrity": "sha1-YIx09VkoAz/OGLmbITwWvks9EU8=",
+      "integrity": "sha512-cfCCrFmiGY/yq0NuKNxIQvZFy9kY/1immpSpTngOnyIbD4+eJOG5mxphhHDv3CHL9GltO4GcKr54kGBg3RNdbg==",
       "dev": true,
       "requires": {
         "@babel/parser": "^7.1.0",
@@ -1671,7 +1575,7 @@
     "@types/babel__generator": {
       "version": "7.0.2",
       "resolved": "https://registry.npm.taobao.org/@types/babel__generator/download/@types/babel__generator-7.0.2.tgz",
-      "integrity": "sha1-0hEqayH61gDXZ0J0KTyF3ODLR/w=",
+      "integrity": "sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ==",
       "dev": true,
       "requires": {
         "@babel/types": "^7.0.0"
@@ -1680,7 +1584,7 @@
     "@types/babel__template": {
       "version": "7.0.2",
       "resolved": "https://registry.npm.taobao.org/@types/babel__template/download/@types/babel__template-7.0.2.tgz",
-      "integrity": "sha1-T/Y9a1Lt2sHee5daUiPtMuzqkwc=",
+      "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==",
       "dev": true,
       "requires": {
         "@babel/parser": "^7.1.0",
@@ -1690,17 +1594,12 @@
     "@types/babel__traverse": {
       "version": "7.0.7",
       "resolved": "https://registry.npm.taobao.org/@types/babel__traverse/download/@types/babel__traverse-7.0.7.tgz",
-      "integrity": "sha1-JJbp/1YZbMFCnHIDTgfqthIbbz8=",
+      "integrity": "sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw==",
       "dev": true,
       "requires": {
         "@babel/types": "^7.3.0"
       }
     },
-    "@types/d3-format": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-1.3.1.tgz",
-      "integrity": "sha512-KAWvReOKMDreaAwOjdfQMm0HjcUMlQG47GwqdVKgmm20vTd2pucj0a70c3gUSHrnsmo6H2AMrkBsZU2UhJLq8A=="
-    },
     "@types/events": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
@@ -1721,13 +1620,13 @@
     "@types/istanbul-lib-coverage": {
       "version": "2.0.1",
       "resolved": "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.1.tgz",
-      "integrity": "sha1-QplbRG25pIoRoH7Ag0mahg6ROP8=",
+      "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==",
       "dev": true
     },
     "@types/istanbul-lib-report": {
       "version": "1.1.1",
       "resolved": "https://registry.npm.taobao.org/@types/istanbul-lib-report/download/@types/istanbul-lib-report-1.1.1.tgz",
-      "integrity": "sha1-5Ucef6M8YTWN04QmGJwDelhDO4w=",
+      "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==",
       "dev": true,
       "requires": {
         "@types/istanbul-lib-coverage": "*"
@@ -1736,7 +1635,7 @@
     "@types/istanbul-reports": {
       "version": "1.1.1",
       "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-1.1.1.tgz",
-      "integrity": "sha1-eoy/akBvNsit2HFiWyeOrwsNJVo=",
+      "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==",
       "dev": true,
       "requires": {
         "@types/istanbul-lib-coverage": "*",
@@ -1753,11 +1652,6 @@
         "@types/webpack": "*"
       }
     },
-    "@types/lodash": {
-      "version": "4.14.133",
-      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.133.tgz",
-      "integrity": "sha512-/3JqnvPnY58GLzG3Y7fpphOhATV1DDZ/Ak3DQufjlRK5E4u+s0CfClfNFtAGBabw+jDGtRFbOZe+Z02ZMWCBNQ=="
-    },
     "@types/minimatch": {
       "version": "3.0.3",
       "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
@@ -1767,7 +1661,8 @@
     "@types/node": {
       "version": "12.0.4",
       "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.4.tgz",
-      "integrity": "sha512-j8YL2C0fXq7IONwl/Ud5Kt0PeXw22zGERt+HSSnwbKOJVsAGkEz3sFCYwaF9IOuoG1HOtE0vKCj6sXF7Q0+Vaw=="
+      "integrity": "sha512-j8YL2C0fXq7IONwl/Ud5Kt0PeXw22zGERt+HSSnwbKOJVsAGkEz3sFCYwaF9IOuoG1HOtE0vKCj6sXF7Q0+Vaw==",
+      "dev": true
     },
     "@types/normalize-package-data": {
       "version": "2.4.0",
@@ -1784,7 +1679,7 @@
     "@types/stack-utils": {
       "version": "1.0.1",
       "resolved": "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz",
-      "integrity": "sha1-CoUdO9lkmPolwzq3J47TvWXwbD4=",
+      "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==",
       "dev": true
     },
     "@types/strip-bom": {
@@ -1846,7 +1741,7 @@
     "@types/yargs": {
       "version": "13.0.2",
       "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-13.0.2.tgz?cache=0&sync_timestamp=1564593277142&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fyargs%2Fdownload%2F%40types%2Fyargs-13.0.2.tgz",
-      "integrity": "sha1-pkZ0/AFJV07NkLp0bpMrWl97NlM=",
+      "integrity": "sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ==",
       "dev": true,
       "requires": {
         "@types/yargs-parser": "*"
@@ -1855,7 +1750,7 @@
     "@types/yargs-parser": {
       "version": "13.0.0",
       "resolved": "https://registry.npm.taobao.org/@types/yargs-parser/download/@types/yargs-parser-13.0.0.tgz",
-      "integrity": "sha1-RTdDxbv58b7WHZWbqrWwa+ApstA=",
+      "integrity": "sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw==",
       "dev": true
     },
     "@vue/babel-helper-vue-jsx-merge-props": {
@@ -2802,7 +2697,7 @@
     "add-dom-event-listener": {
       "version": "1.1.0",
       "resolved": "https://registry.npm.taobao.org/add-dom-event-listener/download/add-dom-event-listener-1.1.0.tgz",
-      "integrity": "sha1-apLbOg3Qq8JU4JXA8dwUrLuq4xA=",
+      "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==",
       "requires": {
         "object-assign": "4.x"
       }
@@ -2845,27 +2740,12 @@
       "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==",
       "dev": true
     },
-    "align-text": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
-      "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
-      "requires": {
-        "kind-of": "^3.0.2",
-        "longest": "^1.0.1",
-        "repeat-string": "^1.5.2"
-      }
-    },
     "alphanum-sort": {
       "version": "1.0.2",
       "resolved": "http://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz",
       "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
       "dev": true
     },
-    "amdefine": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
-      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
-    },
     "animate.css": {
       "version": "3.7.2",
       "resolved": "https://registry.npmjs.org/animate.css/-/animate.css-3.7.2.tgz",
@@ -2892,17 +2772,19 @@
     "ansi-regex": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+      "dev": true
     },
     "ansi-styles": {
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+      "dev": true
     },
     "ant-design-vue": {
       "version": "1.3.16",
       "resolved": "https://registry.npm.taobao.org/ant-design-vue/download/ant-design-vue-1.3.16.tgz",
-      "integrity": "sha1-sY9/omXtx8eYpaZdFdktctOgvrE=",
+      "integrity": "sha512-4HZNGaAWOxkD1j05aMp8gU8z99vrz2lzmfcrjEQqTgr0gYBeHOuxq7U+NvZGuaIonYz4h/DlbBh/HK4fKdV/Xw==",
       "requires": {
         "@ant-design/icons": "^2.1.1",
         "@ant-design/icons-vue": "^2.0.0",
@@ -3052,7 +2934,7 @@
     "array-tree-filter": {
       "version": "2.1.0",
       "resolved": "https://registry.npm.taobao.org/array-tree-filter/download/array-tree-filter-2.1.0.tgz",
-      "integrity": "sha1-hzrAD+yDdJ8lWsjdCDgUtPYykZA="
+      "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw=="
     },
     "array-union": {
       "version": "1.0.2",
@@ -3084,7 +2966,7 @@
     "asap": {
       "version": "2.0.6",
       "resolved": "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz",
-      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+      "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
       "dev": true,
       "optional": true
     },
@@ -3342,7 +3224,7 @@
     "babel-helper-vue-jsx-merge-props": {
       "version": "2.0.3",
       "resolved": "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
-      "integrity": "sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY="
+      "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg=="
     },
     "babel-helpers": {
       "version": "6.24.1",
@@ -3848,7 +3730,8 @@
     "balanced-match": {
       "version": "1.0.0",
       "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz",
-      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+      "dev": true
     },
     "base": {
       "version": "0.11.2",
@@ -4035,6 +3918,7 @@
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "dev": true,
       "requires": {
         "balanced-match": "^1.0.0",
         "concat-map": "0.0.1"
@@ -4345,11 +4229,6 @@
         "upper-case": "^1.1.1"
       }
     },
-    "camelcase": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
-      "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk="
-    },
     "caniuse-api": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
@@ -4389,19 +4268,11 @@
       "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
       "dev": true
     },
-    "center-align": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
-      "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
-      "requires": {
-        "align-text": "^0.1.3",
-        "lazy-cache": "^1.0.3"
-      }
-    },
     "chalk": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
       "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+      "dev": true,
       "requires": {
         "ansi-styles": "^2.2.1",
         "escape-string-regexp": "^1.0.2",
@@ -4772,16 +4643,6 @@
       "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
       "dev": true
     },
-    "clipboard": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz",
-      "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==",
-      "requires": {
-        "good-listener": "^1.2.2",
-        "select": "^1.1.2",
-        "tiny-emitter": "^2.0.0"
-      }
-    },
     "clipboardy": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.0.0.tgz",
@@ -4792,16 +4653,6 @@
         "execa": "^1.0.0"
       }
     },
-    "cliui": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
-      "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
-      "requires": {
-        "center-align": "^0.1.1",
-        "right-align": "^0.1.1",
-        "wordwrap": "0.0.2"
-      }
-    },
     "clone": {
       "version": "1.0.4",
       "resolved": "http://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz",
@@ -4896,6 +4747,11 @@
         "color-name": "1.1.3"
       }
     },
+    "color-fns": {
+      "version": "0.0.10",
+      "resolved": "https://registry.npm.taobao.org/color-fns/download/color-fns-0.0.10.tgz",
+      "integrity": "sha1-sD80qzuzkCrCTnyG/zLYRfu6978="
+    },
     "color-name": {
       "version": "1.1.3",
       "resolved": "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz",
@@ -4936,7 +4792,7 @@
     "component-classes": {
       "version": "1.2.6",
       "resolved": "https://registry.npm.taobao.org/component-classes/download/component-classes-1.2.6.tgz",
-      "integrity": "sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE=",
+      "integrity": "sha512-hPFGULxdwugu1QWW3SvVOCUHLzO34+a2J6Wqy0c5ASQkfi9/8nZcBB0ZohaEbXOQlCflMAEMmEWk7u7BVs4koA==",
       "requires": {
         "component-indexof": "0.0.3"
       }
@@ -4950,7 +4806,7 @@
     "component-indexof": {
       "version": "0.0.3",
       "resolved": "https://registry.npm.taobao.org/component-indexof/download/component-indexof-0.0.3.tgz",
-      "integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ="
+      "integrity": "sha512-puDQKvx/64HZXb4hBwIcvQLaLgux8o1CbWl39s41hrIIZDl1lJiD5jc22gj3RBeGK0ovxALDYpIbyjqDUUl0rw=="
     },
     "compressible": {
       "version": "2.0.17",
@@ -4996,7 +4852,8 @@
     "concat-map": {
       "version": "0.0.1",
       "resolved": "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+      "dev": true
     },
     "concat-stream": {
       "version": "1.6.2",
@@ -5093,11 +4950,6 @@
       "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
       "dev": true
     },
-    "contour_plot": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/contour_plot/-/contour_plot-0.0.1.tgz",
-      "integrity": "sha1-R1hw8DK44zhBKqX8UHiA8L9JXHc="
-    },
     "convert-source-map": {
       "version": "1.6.0",
       "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
@@ -5736,57 +5588,6 @@
       "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
       "dev": true
     },
-    "d3-color": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.2.3.tgz",
-      "integrity": "sha512-x37qq3ChOTLd26hnps36lexMRhNXEtVxZ4B25rL0DVdDsGQIJGB18S7y9XDwlDD6MD/ZBzITCf4JjGMM10TZkw=="
-    },
-    "d3-dispatch": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.5.tgz",
-      "integrity": "sha512-vwKx+lAqB1UuCeklr6Jh1bvC4SZgbSqbkGBLClItFBIYH4vqDJCA7qfoy14lXmJdnBOdxndAMxjCbImJYW7e6g=="
-    },
-    "d3-ease": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.5.tgz",
-      "integrity": "sha512-Ct1O//ly5y5lFM9YTdu+ygq7LleSgSE4oj7vUt9tPLHUi8VCV7QoizGpdWRWAwCO9LdYzIrQDg97+hGVdsSGPQ=="
-    },
-    "d3-format": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.3.2.tgz",
-      "integrity": "sha512-Z18Dprj96ExragQ0DeGi+SYPQ7pPfRMtUXtsg/ChVIKNBCzjO8XYJvRTC1usblx52lqge56V5ect+frYTQc8WQ=="
-    },
-    "d3-interpolate": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.1.6.tgz",
-      "integrity": "sha512-mOnv5a+pZzkNIHtw/V6I+w9Lqm9L5bG3OTXPM5A+QO0yyVMQ4W1uZhR+VOJmazaOZXri2ppbiZ5BUNWT0pFM9A==",
-      "requires": {
-        "d3-color": "1"
-      }
-    },
-    "d3-selection": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.0.tgz",
-      "integrity": "sha512-EYVwBxQGEjLCKF2pJ4+yrErskDnz5v403qvAid96cNdCMr8rmCYfY5RGzWz24mdIbxmDf6/4EAH+K9xperD5jg=="
-    },
-    "d3-timer": {
-      "version": "1.0.9",
-      "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.9.tgz",
-      "integrity": "sha512-rT34J5HnQUHhcLvhSB9GjCkN0Ddd5Y8nCwDBG2u6wQEeYxT/Lf51fTFFkldeib/sE/J0clIe0pnCfs6g/lRbyg=="
-    },
-    "d3-transition": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.2.0.tgz",
-      "integrity": "sha512-VJ7cmX/FPIPJYuaL2r1o1EMHLttvoIuZhhuAlRoOxDzogV8iQS6jYulDm3xEU3TqL80IZIhI551/ebmCMrkvhw==",
-      "requires": {
-        "d3-color": "1",
-        "d3-dispatch": "1",
-        "d3-ease": "1",
-        "d3-interpolate": "1",
-        "d3-selection": "^1.1.0",
-        "d3-timer": "1"
-      }
-    },
     "dashdash": {
       "version": "1.14.1",
       "resolved": "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz",
@@ -5843,7 +5644,8 @@
     "decamelize": {
       "version": "1.2.0",
       "resolved": "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz",
-      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+      "dev": true
     },
     "decode-uri-component": {
       "version": "0.2.0",
@@ -5854,7 +5656,8 @@
     "deep-equal": {
       "version": "1.0.1",
       "resolved": "http://registry.npm.taobao.org/deep-equal/download/deep-equal-1.0.1.tgz",
-      "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
+      "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
+      "dev": true
     },
     "deep-is": {
       "version": "0.1.3",
@@ -5951,11 +5754,6 @@
         }
       }
     },
-    "defined": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
-      "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
-    },
     "del": {
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
@@ -6000,11 +5798,6 @@
       "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
       "dev": true
     },
-    "delegate": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
-      "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
-    },
     "depd": {
       "version": "1.1.2",
       "resolved": "http://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz",
@@ -6112,12 +5905,12 @@
     "dom-align": {
       "version": "1.10.2",
       "resolved": "https://registry.npm.taobao.org/dom-align/download/dom-align-1.10.2.tgz",
-      "integrity": "sha1-VA6hyeIEYr0RufwoxWHcg1Hs5MY="
+      "integrity": "sha512-AYZUzLepy05E9bCY4ExoqHrrIlM49PEak9oF93JEFoibqKL0F7w5DLM70/rosLOawerWZ3MlepQcl+EmHskOyw=="
     },
     "dom-closest": {
       "version": "0.2.0",
       "resolved": "https://registry.npm.taobao.org/dom-closest/download/dom-closest-0.2.0.tgz",
-      "integrity": "sha1-69n5HRvyLo1vR3h2u80+yQIWwM8=",
+      "integrity": "sha512-6neTn1BtJlTSt+XSISXpnOsF1uni1CHsP/tmzZMGWxasYFHsBOqrHPnzmneqEgKhpagnfnfSfbvRRW0xFsBHAA==",
       "requires": {
         "dom-matches": ">=1.0.1"
       }
@@ -6140,12 +5933,12 @@
     "dom-matches": {
       "version": "2.0.0",
       "resolved": "https://registry.npm.taobao.org/dom-matches/download/dom-matches-2.0.0.tgz",
-      "integrity": "sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw="
+      "integrity": "sha512-2VI856xEDCLXi19W+4BechR5/oIS6bKCKqcf16GR8Pg7dGLJ/eBOWVbCmQx2ISvYH6wTNx5Ef7JTOw1dRGRx6A=="
     },
     "dom-scroll-into-view": {
       "version": "1.2.1",
       "resolved": "https://registry.npm.taobao.org/dom-scroll-into-view/download/dom-scroll-into-view-1.2.1.tgz",
-      "integrity": "sha1-6PNnMt0ImwIBqI14Fdw/iObWbH4="
+      "integrity": "sha512-LwNVg3GJOprWDO+QhLL1Z9MMgWe/KAFLxVWKzjRTxNSPn8/LLDIfmuG71YHznXCqaqTjvHJDYO1MEAgX6XCNbQ=="
     },
     "dom-serializer": {
       "version": "0.1.1",
@@ -6438,7 +6231,8 @@
     "escape-string-regexp": {
       "version": "1.0.5",
       "resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+      "dev": true
     },
     "escodegen": {
       "version": "1.11.1",
@@ -7001,7 +6795,7 @@
     "eslint-plugin-vue": {
       "version": "5.2.3",
       "resolved": "https://registry.npm.taobao.org/eslint-plugin-vue/download/eslint-plugin-vue-5.2.3.tgz",
-      "integrity": "sha1-PudZfYI7VHiASy/rqYY7G3QnOWE=",
+      "integrity": "sha512-mGwMqbbJf0+VvpGR5Lllq0PMxvTdrZ/ZPjmhkacrCHbubJeJOt+T6E3HUzAifa2Mxi7RSdJfC9HFpOeSYVMMIw==",
       "dev": true,
       "requires": {
         "vue-eslint-parser": "^5.0.0"
@@ -7010,20 +6804,17 @@
         "acorn": {
           "version": "6.3.0",
           "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.3.0.tgz",
-          "integrity": "sha1-AIdQkRn/pPwKAEHR6TpBfmjLhW4=",
-          "dev": true
+          "integrity": "sha1-AIdQkRn/pPwKAEHR6TpBfmjLhW4="
         },
         "acorn-jsx": {
           "version": "5.0.1",
           "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.0.1.tgz",
-          "integrity": "sha1-MqBk/ZJUKSFqCbFBECv90YX65A4=",
-          "dev": true
+          "integrity": "sha1-MqBk/ZJUKSFqCbFBECv90YX65A4="
         },
         "debug": {
           "version": "4.1.1",
           "resolved": "http://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
           "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
-          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -7032,7 +6823,6 @@
           "version": "4.1.0",
           "resolved": "https://registry.npm.taobao.org/espree/download/espree-4.1.0.tgz",
           "integrity": "sha1-co1UUeD9FWwEOEp62J7VH/VOsl8=",
-          "dev": true,
           "requires": {
             "acorn": "^6.0.2",
             "acorn-jsx": "^5.0.0",
@@ -7042,13 +6832,12 @@
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz",
-          "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
-          "dev": true
+          "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
         },
         "vue-eslint-parser": {
           "version": "5.0.0",
           "resolved": "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-5.0.0.tgz",
-          "integrity": "sha1-APTk2pTsl0uCGib/DtD3p4QCuKE=",
+          "integrity": "sha512-JlHVZwBBTNVvzmifwjpZYn0oPWH2SgWv5dojlZBsrhablDu95VFD+hriB1rQGwbD+bms6g+rAFhQHk6+NyiS6g==",
           "dev": true,
           "requires": {
             "debug": "^4.1.0",
@@ -7057,6 +6846,92 @@
             "espree": "^4.1.0",
             "esquery": "^1.0.1",
             "lodash": "^4.17.11"
+          },
+          "dependencies": {
+            "acorn": {
+              "version": "6.3.0",
+              "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.3.0.tgz?cache=0&sync_timestamp=1565683293556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-6.3.0.tgz",
+              "integrity": "sha1-AIdQkRn/pPwKAEHR6TpBfmjLhW4=",
+              "dev": true
+            },
+            "acorn-jsx": {
+              "version": "5.0.2",
+              "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.0.2.tgz",
+              "integrity": "sha1-hLaOpEs3PE+GhgI6VR9hoht8Sk8=",
+              "dev": true
+            },
+            "debug": {
+              "version": "4.1.1",
+              "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+              "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+              "dev": true,
+              "requires": {
+                "ms": "^2.1.1"
+              }
+            },
+            "eslint-scope": {
+              "version": "4.0.3",
+              "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-4.0.3.tgz",
+              "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=",
+              "dev": true,
+              "requires": {
+                "esrecurse": "^4.1.0",
+                "estraverse": "^4.1.1"
+              }
+            },
+            "eslint-visitor-keys": {
+              "version": "1.1.0",
+              "resolved": "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.1.0.tgz",
+              "integrity": "sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI=",
+              "dev": true
+            },
+            "espree": {
+              "version": "4.1.0",
+              "resolved": "https://registry.npm.taobao.org/espree/download/espree-4.1.0.tgz?cache=0&sync_timestamp=1566612152812&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-4.1.0.tgz",
+              "integrity": "sha1-co1UUeD9FWwEOEp62J7VH/VOsl8=",
+              "dev": true,
+              "requires": {
+                "acorn": "^6.0.2",
+                "acorn-jsx": "^5.0.0",
+                "eslint-visitor-keys": "^1.0.0"
+              }
+            },
+            "esquery": {
+              "version": "1.0.1",
+              "resolved": "https://registry.npm.taobao.org/esquery/download/esquery-1.0.1.tgz",
+              "integrity": "sha1-QGxRZYsfWZGl+bYrHcJbAOPlxwg=",
+              "dev": true,
+              "requires": {
+                "estraverse": "^4.0.0"
+              }
+            },
+            "esrecurse": {
+              "version": "4.2.1",
+              "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz",
+              "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=",
+              "dev": true,
+              "requires": {
+                "estraverse": "^4.1.0"
+              }
+            },
+            "estraverse": {
+              "version": "4.3.0",
+              "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz",
+              "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=",
+              "dev": true
+            },
+            "lodash": {
+              "version": "4.17.15",
+              "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&sync_timestamp=1563508077056&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz",
+              "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=",
+              "dev": true
+            },
+            "ms": {
+              "version": "2.1.2",
+              "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz",
+              "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+              "dev": true
+            }
           }
         }
       }
@@ -7080,8 +6955,7 @@
     "eslint-visitor-keys": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
-      "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
-      "dev": true
+      "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ=="
     },
     "espree": {
       "version": "3.5.4",
@@ -7550,11 +7424,6 @@
         "bser": "^2.0.0"
       }
     },
-    "fecha": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz",
-      "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg=="
-    },
     "figgy-pudding": {
       "version": "3.5.1",
       "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
@@ -7742,18 +7611,6 @@
         "readable-stream": "^2.3.6"
       }
     },
-    "fmin": {
-      "version": "0.0.2",
-      "resolved": "https://registry.npmjs.org/fmin/-/fmin-0.0.2.tgz",
-      "integrity": "sha1-Wbu0DUP/3ByUzQClaMQflfGXMBc=",
-      "requires": {
-        "contour_plot": "^0.0.1",
-        "json2module": "^0.0.3",
-        "rollup": "^0.25.8",
-        "tape": "^4.5.1",
-        "uglify-js": "^2.6.2"
-      }
-    },
     "follow-redirects": {
       "version": "1.5.10",
       "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
@@ -7859,7 +7716,8 @@
     "fs.realpath": {
       "version": "1.0.0",
       "resolved": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+      "dev": true
     },
     "fsevents": {
       "version": "1.2.9",
@@ -8460,6 +8318,7 @@
       "version": "7.1.4",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
       "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+      "dev": true,
       "requires": {
         "fs.realpath": "^1.0.0",
         "inflight": "^1.0.4",
@@ -8578,14 +8437,6 @@
         }
       }
     },
-    "good-listener": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
-      "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=",
-      "requires": {
-        "delegate": "^3.1.2"
-      }
-    },
     "graceful-fs": {
       "version": "4.1.15",
       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
@@ -8611,7 +8462,7 @@
     "halo-editor": {
       "version": "2.7.6",
       "resolved": "https://registry.npm.taobao.org/halo-editor/download/halo-editor-2.7.6.tgz",
-      "integrity": "sha1-Rus1ba0bkgrjDboxgbzVmryu8dc=",
+      "integrity": "sha512-ipzW+pxWoC3JB5jAlC/7fFZnqBbXMtC6eOXZDM1dtuM4BN60kOH/tzJMlLCuEYCzWnhg+abtwtljAtOe66ASGg==",
       "requires": {
         "highlight.js": "^9.11.0",
         "highlight.js-async-webpack": "^1.0.4"
@@ -8682,6 +8533,7 @@
       "version": "2.0.0",
       "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz",
       "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+      "dev": true,
       "requires": {
         "ansi-regex": "^2.0.0"
       }
@@ -8781,7 +8633,7 @@
     "highlight.js-async-webpack": {
       "version": "1.0.4",
       "resolved": "https://registry.npm.taobao.org/highlight.js-async-webpack/download/highlight.js-async-webpack-1.0.4.tgz",
-      "integrity": "sha1-wGtnv5nwSQRdYrdW5YVbCRLsYWw="
+      "integrity": "sha512-IC0AwUgNr7BU8pqheaCEvOQvOtIZwO3I4rtbmT489Ndz8loE31IRmBmT6C4qDCbfZjzNO+k2w3VceZjTQ3JQ8Q=="
     },
     "hmac-drbg": {
       "version": "1.0.1",
@@ -9140,7 +8992,7 @@
     "image-size": {
       "version": "0.5.5",
       "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz",
-      "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+      "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
       "dev": true,
       "optional": true
     },
@@ -9245,6 +9097,7 @@
       "version": "1.0.6",
       "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
       "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+      "dev": true,
       "requires": {
         "once": "^1.3.0",
         "wrappy": "1"
@@ -9253,7 +9106,8 @@
     "inherits": {
       "version": "2.0.3",
       "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
-      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+      "dev": true
     },
     "ini": {
       "version": "1.3.5",
@@ -9348,7 +9202,7 @@
     "intersperse": {
       "version": "1.0.0",
       "resolved": "https://registry.npm.taobao.org/intersperse/download/intersperse-1.0.0.tgz",
-      "integrity": "sha1-8lYfsc/vn1J3zDNHoiiGtDUaUYE="
+      "integrity": "sha512-LGcfug7OTeWkaQ8PEq8XbTy9Jl6uCNg8DrPnQUmwxSY8UETj1Y+LLmpdD0qHdEj6KVchuH3BE3ZzIXQ1t3oFUw=="
     },
     "invariant": {
       "version": "2.2.4",
@@ -9550,7 +9404,7 @@
     "is-negative-zero": {
       "version": "2.0.0",
       "resolved": "https://registry.npm.taobao.org/is-negative-zero/download/is-negative-zero-2.0.0.tgz",
-      "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE="
+      "integrity": "sha512-Ue/ky+mZLjMl2g4Dl/168JjlCWJtszY/7m0NL1UHrRfMPDx6Dlo8uJ0TfYVWvVv+r9WbmWAEJZTa4mj+jS2Kew=="
     },
     "is-number": {
       "version": "3.0.0",
@@ -9706,7 +9560,7 @@
     "ismobilejs": {
       "version": "0.5.2",
       "resolved": "https://registry.npm.taobao.org/ismobilejs/download/ismobilejs-0.5.2.tgz",
-      "integrity": "sha1-6Bus9hh8UyrYNINV9P7Nbmrf3OE="
+      "integrity": "sha512-ta9UdV60xVZk/ZafFtSFslQaE76SvNkcs1r73d2PVR21zVzx9xuYv9tNe4MxA1NN7WoeCc2RjGot3Bz1eHDx3Q=="
     },
     "isobject": {
       "version": "3.0.1",
@@ -11527,18 +11381,10 @@
       "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
       "dev": true
     },
-    "json2module": {
-      "version": "0.0.3",
-      "resolved": "https://registry.npmjs.org/json2module/-/json2module-0.0.3.tgz",
-      "integrity": "sha1-APtfSpt638PwZHwpyxe80Zeb6bI=",
-      "requires": {
-        "rw": "^1.3.2"
-      }
-    },
     "json2mq": {
       "version": "0.2.0",
       "resolved": "https://registry.npm.taobao.org/json2mq/download/json2mq-0.2.0.tgz",
-      "integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=",
+      "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==",
       "requires": {
         "string-convert": "^0.2.0"
       }
@@ -11595,6 +11441,7 @@
       "version": "3.2.2",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
       "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
       "requires": {
         "is-buffer": "^1.1.5"
       },
@@ -11602,7 +11449,8 @@
         "is-buffer": {
           "version": "1.1.6",
           "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-          "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+          "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+          "dev": true
         }
       }
     },
@@ -11662,11 +11510,6 @@
         "launch-editor": "^2.2.1"
       }
     },
-    "lazy-cache": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
-      "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4="
-    },
     "lcid": {
       "version": "1.0.0",
       "resolved": "http://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz",
@@ -11904,7 +11747,7 @@
     "lodash.toarray": {
       "version": "4.4.0",
       "resolved": "https://registry.npm.taobao.org/lodash.toarray/download/lodash.toarray-4.4.0.tgz",
-      "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE="
+      "integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw=="
     },
     "lodash.transform": {
       "version": "4.6.0",
@@ -11964,11 +11807,6 @@
       "integrity": "sha512-Jt2MHrCNdtIe1W6co3tF5KXGRkzF+TYffiQstfXa04mrss9IKXzAAXYWak8LbZseAQY03sH2GzMCMU0ZOUc9bg==",
       "dev": true
     },
-    "longest": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
-      "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc="
-    },
     "loose-envify": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -12269,6 +12107,7 @@
       "version": "3.0.4",
       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
       "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+      "dev": true,
       "requires": {
         "brace-expansion": "^1.1.7"
       }
@@ -12276,7 +12115,8 @@
     "minimist": {
       "version": "1.2.0",
       "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
-      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+      "dev": true
     },
     "mississippi": {
       "version": "3.0.0",
@@ -12377,7 +12217,7 @@
     "mutationobserver-shim": {
       "version": "0.3.3",
       "resolved": "https://registry.npm.taobao.org/mutationobserver-shim/download/mutationobserver-shim-0.3.3.tgz",
-      "integrity": "sha1-ZYaWMLyJ17+MnNnLghiM2VWqzSs="
+      "integrity": "sha512-gciOLNN8Vsf7YzcqRjKzlAJ6y7e+B86u7i3KXes0xfxx/nfLmozlW1Vn+Sc9x3tPIePFgc1AeIFhtRgkqTjzDQ=="
     },
     "mute-stream": {
       "version": "0.0.7",
@@ -12559,7 +12399,7 @@
     "node-modules-regexp": {
       "version": "1.0.0",
       "resolved": "https://registry.npm.taobao.org/node-modules-regexp/download/node-modules-regexp-1.0.0.tgz",
-      "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
+      "integrity": "sha512-JMaRS9L4wSRIR+6PTVEikTrq/lMGEZR43a48ETeilY0Q0iMwVnccMFrUM1k+tNzmYuIU0Vh710bCUqHX+/+ctQ==",
       "dev": true
     },
     "node-notifier": {
@@ -12704,11 +12544,6 @@
       "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==",
       "dev": true
     },
-    "object-inspect": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
-      "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ=="
-    },
     "object-keys": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
@@ -12785,7 +12620,7 @@
     "omit.js": {
       "version": "1.0.2",
       "resolved": "https://registry.npm.taobao.org/omit.js/download/omit.js-1.0.2.tgz",
-      "integrity": "sha1-kaFPDrqEBm36AVvzDkdMR/MLyFg=",
+      "integrity": "sha512-/QPc6G2NS+8d4L/cQhbk6Yit1WTB6Us2g84A7A/1+w9d/eRGHyEqC5kkQtHVoHZ5NFWGG7tUGgrhVZwgZanKrQ==",
       "requires": {
         "babel-runtime": "^6.23.0"
       }
@@ -12809,6 +12644,7 @@
       "version": "1.4.0",
       "resolved": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
       "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+      "dev": true,
       "requires": {
         "wrappy": "1"
       }
@@ -13235,7 +13071,8 @@
     "path-is-absolute": {
       "version": "1.0.1",
       "resolved": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+      "dev": true
     },
     "path-is-inside": {
       "version": "1.0.2",
@@ -13252,7 +13089,8 @@
     "path-parse": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
-      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
+      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+      "dev": true
     },
     "path-to-regexp": {
       "version": "0.1.7",
@@ -13319,7 +13157,7 @@
     "pirates": {
       "version": "4.0.1",
       "resolved": "https://registry.npm.taobao.org/pirates/download/pirates-4.0.1.tgz",
-      "integrity": "sha1-ZDqSyviUVm+RsrmG0sZpUKji+4c=",
+      "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
       "dev": true,
       "requires": {
         "node-modules-regexp": "^1.0.0"
@@ -14244,7 +14082,7 @@
     "promise": {
       "version": "7.3.1",
       "resolved": "https://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz",
-      "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=",
+      "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
       "dev": true,
       "optional": true,
       "requires": {
@@ -14398,7 +14236,7 @@
     "raf": {
       "version": "3.4.1",
       "resolved": "https://registry.npm.taobao.org/raf/download/raf-3.4.1.tgz",
-      "integrity": "sha1-B0LpmkplUvRF1z4+4DKK8P8e3jk=",
+      "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
       "requires": {
         "performance-now": "^2.1.0"
       }
@@ -14717,7 +14555,8 @@
     "repeat-string": {
       "version": "1.6.1",
       "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+      "dev": true
     },
     "repeating": {
       "version": "2.0.1",
@@ -14820,12 +14659,13 @@
     "resize-observer-polyfill": {
       "version": "1.5.1",
       "resolved": "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz",
-      "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ="
+      "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
     },
     "resolve": {
       "version": "1.10.1",
       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz",
       "integrity": "sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==",
+      "dev": true,
       "requires": {
         "path-parse": "^1.0.6"
       }
@@ -14870,14 +14710,6 @@
         "signal-exit": "^3.0.2"
       }
     },
-    "resumer": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
-      "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=",
-      "requires": {
-        "through": "~2.3.4"
-      }
-    },
     "ret": {
       "version": "0.1.15",
       "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
@@ -14896,14 +14728,6 @@
       "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
       "dev": true
     },
-    "right-align": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
-      "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
-      "requires": {
-        "align-text": "^0.1.1"
-      }
-    },
     "rimraf": {
       "version": "2.6.3",
       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
@@ -14923,16 +14747,6 @@
         "inherits": "^2.0.1"
       }
     },
-    "rollup": {
-      "version": "0.25.8",
-      "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.25.8.tgz",
-      "integrity": "sha1-v2zoO4dRDRY0Ru6qV37WpvxYNeA=",
-      "requires": {
-        "chalk": "^1.1.1",
-        "minimist": "^1.2.0",
-        "source-map-support": "^0.3.2"
-      }
-    },
     "rsvp": {
       "version": "3.6.2",
       "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz",
@@ -14965,11 +14779,6 @@
         "individual": "^2.0.0"
       }
     },
-    "rw": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
-      "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q="
-    },
     "rx-lite": {
       "version": "4.0.8",
       "resolved": "http://registry.npm.taobao.org/rx-lite/download/rx-lite-4.0.8.tgz",
@@ -15058,11 +14867,6 @@
         "ajv-keywords": "^3.1.0"
       }
     },
-    "select": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
-      "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0="
-    },
     "select-hose": {
       "version": "2.0.0",
       "resolved": "http://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz",
@@ -15252,12 +15056,12 @@
     "shallow-equal": {
       "version": "1.2.0",
       "resolved": "https://registry.npm.taobao.org/shallow-equal/download/shallow-equal-1.2.0.tgz",
-      "integrity": "sha1-/YKNICn/ThlWnbfhnlNelOLR9cw="
+      "integrity": "sha512-Z21pVxR4cXsfwpMKMhCEIO1PCi5sp7KEp+CmOpBQ+E8GpHwKOw2sEzk7sgblM3d/j4z4gakoWEoPcjK0VJQogA=="
     },
     "shallowequal": {
       "version": "1.1.0",
       "resolved": "https://registry.npm.taobao.org/shallowequal/download/shallowequal-1.1.0.tgz",
-      "integrity": "sha1-GI1SHelbkIdAT9TctosT3wrk5/g="
+      "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
     },
     "shebang-command": {
       "version": "1.2.0",
@@ -15525,14 +15329,6 @@
       "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
       "dev": true
     },
-    "source-map": {
-      "version": "0.1.32",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz",
-      "integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=",
-      "requires": {
-        "amdefine": ">=0.0.4"
-      }
-    },
     "source-map-resolve": {
       "version": "0.5.2",
       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
@@ -15546,14 +15342,6 @@
         "urix": "^0.1.0"
       }
     },
-    "source-map-support": {
-      "version": "0.3.3",
-      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.3.3.tgz",
-      "integrity": "sha1-NJAJd9W6PwfHdX7nLnO7GptTdU8=",
-      "requires": {
-        "source-map": "0.1.32"
-      }
-    },
     "source-map-url": {
       "version": "0.4.0",
       "resolved": "http://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz",
@@ -15804,7 +15592,7 @@
     "string-convert": {
       "version": "0.2.1",
       "resolved": "https://registry.npm.taobao.org/string-convert/download/string-convert-0.2.1.tgz",
-      "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c="
+      "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A=="
     },
     "string-length": {
       "version": "2.0.0",
@@ -15905,6 +15693,7 @@
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
       "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+      "dev": true,
       "requires": {
         "ansi-regex": "^2.0.0"
       }
@@ -15963,7 +15752,8 @@
     "supports-color": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+      "dev": true
     },
     "svg-tags": {
       "version": "1.0.0",
@@ -16119,26 +15909,6 @@
       "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
       "dev": true
     },
-    "tape": {
-      "version": "4.10.2",
-      "resolved": "https://registry.npmjs.org/tape/-/tape-4.10.2.tgz",
-      "integrity": "sha512-mgl23h7W2yuk3N85FOYrin2OvThTYWdwbk6XQ1pr2PMJieyW2FM/4Bu/+kD/wecb3aZ0Enm+Syinyq467OPq2w==",
-      "requires": {
-        "deep-equal": "~1.0.1",
-        "defined": "~1.0.0",
-        "for-each": "~0.3.3",
-        "function-bind": "~1.1.1",
-        "glob": "~7.1.4",
-        "has": "~1.0.3",
-        "inherits": "~2.0.3",
-        "minimist": "~1.2.0",
-        "object-inspect": "~1.6.0",
-        "resolve": "~1.10.1",
-        "resumer": "~0.0.0",
-        "string.prototype.trim": "~1.1.2",
-        "through": "~2.3.8"
-      }
-    },
     "terser": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/terser/-/terser-4.0.0.tgz",
@@ -16353,7 +16123,8 @@
     "through": {
       "version": "2.3.8",
       "resolved": "http://registry.npm.taobao.org/through/download/through-2.3.8.tgz",
-      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+      "dev": true
     },
     "through2": {
       "version": "2.0.5",
@@ -16386,15 +16157,10 @@
       "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
       "dev": true
     },
-    "tiny-emitter": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
-      "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
-    },
     "tinycolor2": {
       "version": "1.4.1",
       "resolved": "https://registry.npm.taobao.org/tinycolor2/download/tinycolor2-1.4.1.tgz",
-      "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g="
+      "integrity": "sha512-5gQXogvRKAhJChgQPSAXaXbrQVq+w2Ckl/5jeno5N9eMcYbz0docSS3n0YNywAyDQBsUFokmHzNM8yvX2+eLVg=="
     },
     "tmp": {
       "version": "0.0.33",
@@ -16588,29 +16354,6 @@
       "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
       "dev": true
     },
-    "uglify-js": {
-      "version": "2.8.29",
-      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
-      "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
-      "requires": {
-        "source-map": "~0.5.1",
-        "uglify-to-browserify": "~1.0.0",
-        "yargs": "~3.10.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
-        }
-      }
-    },
-    "uglify-to-browserify": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
-      "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
-      "optional": true
-    },
     "unicode-canonical-property-names-ecmascript": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
@@ -16917,16 +16660,6 @@
       "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==",
       "dev": true
     },
-    "venn.js": {
-      "version": "0.2.20",
-      "resolved": "https://registry.npmjs.org/venn.js/-/venn.js-0.2.20.tgz",
-      "integrity": "sha512-bb5SYq/wamY9fvcuErb9a0FJkgIFHJjkLZWonQ+DoKKuDX3WPH2B4ouI1ce4K2iejBklQy6r1ly8nOGIyOCO6w==",
-      "requires": {
-        "d3-selection": "^1.0.2",
-        "d3-transition": "^1.0.1",
-        "fmin": "0.0.2"
-      }
-    },
     "verror": {
       "version": "1.10.0",
       "resolved": "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz",
@@ -16938,6 +16671,14 @@
         "extsprintf": "^1.2.0"
       }
     },
+    "verte": {
+      "version": "0.0.12",
+      "resolved": "https://registry.npm.taobao.org/verte/download/verte-0.0.12.tgz",
+      "integrity": "sha1-+Rs/gs8tbqgawsytZrua7+eZdQM=",
+      "requires": {
+        "color-fns": "^0.0.10"
+      }
+    },
     "video.js": {
       "version": "6.13.0",
       "resolved": "https://registry.npmjs.org/video.js/-/video.js-6.13.0.tgz",
@@ -17020,38 +16761,6 @@
         "global": "^4.3.1"
       }
     },
-    "viser": {
-      "version": "2.4.6",
-      "resolved": "https://registry.npmjs.org/viser/-/viser-2.4.6.tgz",
-      "integrity": "sha512-iIodwrdhDedqKb4cT6gp35wUCysfdNnzEZlFg1u7xa6wfuEcQuWKQYTiiqGhUkJwWv2isSQvCJDAbDjFsgohsw==",
-      "requires": {
-        "@antv/g2": "3.5.3",
-        "@antv/g2-brush": "^0.0.2",
-        "@antv/g2-plugin-slider": "^2.1.0",
-        "@types/d3-format": "*",
-        "@types/lodash": "*",
-        "@types/node": "^8.0.53",
-        "d3-format": "^1.3.0",
-        "lodash": "^4.17.4"
-      },
-      "dependencies": {
-        "@types/node": {
-          "version": "8.10.49",
-          "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.49.tgz",
-          "integrity": "sha512-YX30JVx0PvSmJ3Eqr74fYLGeBxD+C7vIL20ek+GGGLJeUbVYRUW3EzyAXpIRA0K8c8o0UWqR/GwEFYiFoz1T8w=="
-        }
-      }
-    },
-    "viser-vue": {
-      "version": "2.4.6",
-      "resolved": "https://registry.npmjs.org/viser-vue/-/viser-vue-2.4.6.tgz",
-      "integrity": "sha512-M6MtTx6NM3ao7nt0YUIkg9HPBn0T3+OTv4PZZDFmz4gvCCP5jwYsqdyeEEJQ+QEF58CL66f5/VFbWLNawqE5Hw==",
-      "requires": {
-        "@types/node": "*",
-        "viser": "^2.0.0",
-        "vue": "^2.5.3"
-      }
-    },
     "vm-browserify": {
       "version": "0.0.4",
       "resolved": "http://registry.npm.taobao.org/vm-browserify/download/vm-browserify-0.0.4.tgz",
@@ -17066,14 +16775,6 @@
       "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz",
       "integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ=="
     },
-    "vue-clipboard2": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/vue-clipboard2/-/vue-clipboard2-0.3.0.tgz",
-      "integrity": "sha512-6/Y9NJErWb4LNBLMgsJSdKb7KpF6/jqXagvKlYut6VQzQsNj6515FpwH0r5hhmeJMqaPzf1kxAw8L8Qvw/QBJQ==",
-      "requires": {
-        "clipboard": "^2.0.0"
-      }
-    },
     "vue-codemirror-lite": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/vue-codemirror-lite/-/vue-codemirror-lite-1.0.4.tgz",
@@ -17087,11 +16788,6 @@
       "resolved": "https://registry.npmjs.org/vue-count-to/-/vue-count-to-1.0.13.tgz",
       "integrity": "sha512-6R4OVBVNtQTlcbXu6SJ8ENR35M2/CdWt3Jmv57jOUM+1ojiFmjVGvZPH8DfHpMDSA+ITs+EW5V6qthADxeyYOQ=="
     },
-    "vue-cropper": {
-      "version": "0.4.9",
-      "resolved": "https://registry.npmjs.org/vue-cropper/-/vue-cropper-0.4.9.tgz",
-      "integrity": "sha512-Uf1i/sCh+ZqSM9hb2YTGRENzJFH+mvDuv8N2brGLjK7UBuF7XDP7zbis8g/dcqZiMojAcBDtObFCn4ERFbRMxQ=="
-    },
     "vue-eslint-parser": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz",
@@ -17202,12 +16898,12 @@
     "vue-ref": {
       "version": "1.0.6",
       "resolved": "https://registry.npm.taobao.org/vue-ref/download/vue-ref-1.0.6.tgz",
-      "integrity": "sha1-ubPX0OKQ7i/T1Q1de9rFIIBssmU="
+      "integrity": "sha512-UzD8t1CG+aoWVOOpGd5KcaCNtCgUc0byaKhJMH+6N7H/p1ThVkYl/VCt7DmCrdhUlzZK+hT5JPTKAdrbWi0nNw=="
     },
     "vue-router": {
       "version": "3.1.2",
       "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.1.2.tgz",
-      "integrity": "sha1-LgkEcDVF2r3UKyt6LmF/AvmaGWk="
+      "integrity": "sha512-WssQEHSEvIS1/CI4CO2T8LJdoK4Q9Ngox28K7FDNMTfzNTk2WS5D0dDlqYCaPG+AG4Z8wJkn1KrBc7AhspZJUQ=="
     },
     "vue-style-loader": {
       "version": "4.1.2",
@@ -17330,7 +17026,7 @@
     "warning": {
       "version": "3.0.0",
       "resolved": "https://registry.npm.taobao.org/warning/download/warning-3.0.0.tgz",
-      "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=",
+      "integrity": "sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==",
       "requires": {
         "loose-envify": "^1.0.0"
       }
@@ -17841,20 +17537,11 @@
       "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
       "dev": true
     },
-    "window-size": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
-      "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0="
-    },
-    "wolfy87-eventemitter": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.1.0.tgz",
-      "integrity": "sha1-NcGsDdGsDBXjXZgVCPwiCEoToBE="
-    },
     "wordwrap": {
       "version": "0.0.2",
       "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
-      "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8="
+      "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+      "dev": true
     },
     "worker-farm": {
       "version": "1.7.0",
@@ -17900,7 +17587,8 @@
     "wrappy": {
       "version": "1.0.2",
       "resolved": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz",
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+      "dev": true
     },
     "write": {
       "version": "0.2.1",
@@ -17966,17 +17654,6 @@
       "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
       "dev": true
     },
-    "yargs": {
-      "version": "3.10.0",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
-      "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
-      "requires": {
-        "camelcase": "^1.0.2",
-        "cliui": "^2.1.0",
-        "decamelize": "^1.0.0",
-        "window-size": "0.1.0"
-      }
-    },
     "yargs-parser": {
       "version": "9.0.2",
       "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-9.0.2.tgz",
diff --git a/package.json b/package.json
index 01e2b3a2..4ac85cf5 100644
--- a/package.json
+++ b/package.json
@@ -18,12 +18,9 @@
     "moment": "^2.24.0",
     "nprogress": "^0.2.0",
     "verte": "^0.0.12",
-    "viser-vue": "^2.4.6",
     "vue": "^2.6.10",
-    "vue-clipboard2": "^0.3.0",
     "vue-codemirror-lite": "^1.0.4",
     "vue-count-to": "^1.0.13",
-    "vue-cropper": "0.4.9",
     "vue-ls": "^3.2.1",
     "vue-router": "^3.1.2",
     "vue-video-player": "^5.0.2",
diff --git a/src/App.vue b/src/App.vue
index 5e0bdd2e..0e8e318f 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,21 +1,13 @@
 <template>
-  <a-locale-provider :locale="locale">
-    <div id="app">
-      <router-view />
-    </div>
-  </a-locale-provider>
+  <div id="app">
+    <router-view />
+  </div>
 </template>
 
 <script>
-import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN'
 import { deviceEnquire, DEVICE_TYPE } from '@/utils/device'
 
 export default {
-  data() {
-    return {
-      locale: zhCN
-    }
-  },
   mounted() {
     const { $store } = this
     deviceEnquire(deviceType => {
diff --git a/src/api/theme.js b/src/api/theme.js
index 68b1427c..8bfc703a 100644
--- a/src/api/theme.js
+++ b/src/api/theme.js
@@ -11,9 +11,16 @@ themeApi.listAll = () => {
   })
 }
 
-themeApi.listFiles = () => {
+themeApi.listFilesActivated = () => {
   return service({
-    url: `${baseUrl}/files`,
+    url: `${baseUrl}/activation/files`,
+    method: 'get'
+  })
+}
+
+themeApi.listFiles = themeId => {
+  return service({
+    url: `${baseUrl}/${themeId}/files`,
     method: 'get'
   })
 }
diff --git a/src/components/SettingDrawer/settingConfig.js b/src/components/SettingDrawer/settingConfig.js
deleted file mode 100644
index f8bc3534..00000000
--- a/src/components/SettingDrawer/settingConfig.js
+++ /dev/null
@@ -1,90 +0,0 @@
-import { message } from 'ant-design-vue/es'
-// import defaultSettings from '../defaultSettings';
-
-let lessNodesAppended
-
-const colorList = [
-  {
-    key: '薄暮', color: '#F5222D'
-  },
-  {
-    key: '火山', color: '#FA541C'
-  },
-  {
-    key: '日暮', color: '#FAAD14'
-  },
-  {
-    key: '明青', color: '#13C2C2'
-  },
-  {
-    key: '极光绿', color: '#52C41A'
-  },
-  {
-    key: '拂晓蓝(默认)', color: '#1890FF'
-  },
-  {
-    key: '极客蓝', color: '#2F54EB'
-  },
-  {
-    key: '酱紫', color: '#722ED1'
-  }
-]
-
-const updateTheme = primaryColor => {
-  // Don't compile less in production!
-  /* if (process.env.NODE_ENV === 'production') {
-    return;
-  } */
-  // Determine if the component is remounted
-  if (!primaryColor) {
-    return
-  }
-  const hideMessage = message.loading('正在编译主题!', 0)
-  function buildIt() {
-    if (!window.less) {
-      return
-    }
-    setTimeout(() => {
-      window.less
-        .modifyVars({
-          '@primary-color': primaryColor
-        })
-        .then(() => {
-          hideMessage()
-        })
-        .catch(() => {
-          message.error('Failed to update theme')
-          hideMessage()
-        })
-    }, 200)
-  }
-  if (!lessNodesAppended) {
-    // insert less.js and color.less
-    const lessStyleNode = document.createElement('link')
-    const lessConfigNode = document.createElement('script')
-    const lessScriptNode = document.createElement('script')
-    lessStyleNode.setAttribute('rel', 'stylesheet/less')
-    lessStyleNode.setAttribute('href', '/color.less')
-    lessConfigNode.innerHTML = `
-      window.less = {
-        async: true,
-        env: 'production',
-        javascriptEnabled: true
-      };
-    `
-    lessScriptNode.src = 'https://cdnjs.loli.net/ajax/libs/less.js/3.8.1/less.min.js'
-    lessScriptNode.async = true
-    lessScriptNode.onload = () => {
-      buildIt()
-      lessScriptNode.onload = null
-    }
-    document.body.appendChild(lessStyleNode)
-    document.body.appendChild(lessConfigNode)
-    document.body.appendChild(lessScriptNode)
-    lessNodesAppended = true
-  } else {
-    buildIt()
-  }
-}
-
-export { updateTheme, colorList }
diff --git a/src/components/Upload/UploadPhoto.vue b/src/components/Upload/UploadPhoto.vue
index 86bec4ed..42b1a31d 100644
--- a/src/components/Upload/UploadPhoto.vue
+++ b/src/components/Upload/UploadPhoto.vue
@@ -122,7 +122,6 @@ export default {
 }
 </script>
 <style>
-/* you can make up upload button and sample style by using stylesheets */
 .ant-upload-select-picture-card i {
   font-size: 32px;
   color: #999;
diff --git a/src/components/global.less b/src/components/global.less
index b739412d..1c19c278 100644
--- a/src/components/global.less
+++ b/src/components/global.less
@@ -701,28 +701,16 @@ body {
   }
 }
 
-.post-thumb {
+.post-thumb,.sheet-thumb {
   .img {
     width: 100%;
     cursor: pointer;
     border-radius: 4px;
   }
-
-  .post-thumb-remove {
-    margin-top: 16px;
-  }
 }
 
-.sheet-thumb {
-  .img {
-    width: 100%;
-    cursor: pointer;
-    border-radius: 4px;
-  }
-
-  .sheet-thumb-remove {
-    margin-top: 16px;
-  }
+.post-thumb-remove,.sheet-thumb-remove {
+  margin-top: 16px;
 }
 
 .ant-calendar-picker {
@@ -733,4 +721,21 @@ body {
   .v-note-wrapper {
     min-height: 580px;
   }
+}
+
+.attach-item {
+  width: 50%;
+  margin: 0 auto;
+  position: relative;
+  padding-bottom: 28%;
+  overflow: hidden;
+  float: left;
+  cursor: pointer;
+  img {
+    width: 100%;
+    height: 100%;
+    position: absolute;
+    top: 0;
+    left: 0;
+  }
 }
\ No newline at end of file
diff --git a/src/core/lazy_use.js b/src/core/lazy_use.js
index 4f5751ca..9c64339e 100644
--- a/src/core/lazy_use.js
+++ b/src/core/lazy_use.js
@@ -4,20 +4,9 @@ import config from '@/config/defaultSettings'
 
 // base library
 import '@/core/lazy_lib/components_use'
-import Viser from 'viser-vue'
-import VueCropper from 'vue-cropper'
 import 'ant-design-vue/dist/antd.less'
 import bootstrap from './bootstrap'
 
-// ext library
-import VueClipboard from 'vue-clipboard2'
-
-VueClipboard.config.autoSetContainer = true
-
-Vue.use(Viser)
-
 Vue.use(VueStorage, config.storageOptions)
-Vue.use(VueClipboard)
-Vue.use(VueCropper)
 
 bootstrap()
diff --git a/src/core/use.js b/src/core/use.js
index 02fd7ed3..c53d10b8 100644
--- a/src/core/use.js
+++ b/src/core/use.js
@@ -4,18 +4,8 @@ import config from '@/config/defaultSettings'
 
 // base library
 import Antd from 'ant-design-vue'
-import Viser from 'viser-vue'
-import VueCropper from 'vue-cropper'
 import 'ant-design-vue/dist/antd.less'
 
-// ext library
-import VueClipboard from 'vue-clipboard2'
-
-VueClipboard.config.autoSetContainer = true
-
 Vue.use(Antd)
-Vue.use(Viser)
 
 Vue.use(VueStorage, config.storageOptions)
-Vue.use(VueClipboard)
-Vue.use(VueCropper)
diff --git a/src/views/404.vue b/src/views/404.vue
deleted file mode 100644
index c9675d47..00000000
--- a/src/views/404.vue
+++ /dev/null
@@ -1,14 +0,0 @@
-<template>
-  <div>
-    404 page
-  </div>
-</template>
-
-<script>
-export default {
-  name: '404'
-}
-</script>
-
-<style scoped>
-</style>
diff --git a/src/views/Home.vue b/src/views/Home.vue
deleted file mode 100644
index 92cde694..00000000
--- a/src/views/Home.vue
+++ /dev/null
@@ -1,9 +0,0 @@
-<template>
-  <div> </div>
-</template>
-
-<script>
-</script>
-
-<style scoped>
-</style>
diff --git a/src/views/attachment/components/AttachmentDrawer.vue b/src/views/attachment/components/AttachmentDrawer.vue
index 1b676b0b..6e2c9236 100644
--- a/src/views/attachment/components/AttachmentDrawer.vue
+++ b/src/views/attachment/components/AttachmentDrawer.vue
@@ -197,20 +197,4 @@ export default {
 </script>
 
 <style lang="less" scope>
-.attach-item {
-  width: 50%;
-  margin: 0 auto;
-  position: relative;
-  padding-bottom: 28%;
-  overflow: hidden;
-  float: left;
-  cursor: pointer;
-  img {
-    width: 100%;
-    height: 100%;
-    position: absolute;
-    top: 0;
-    left: 0;
-  }
-}
 </style>
diff --git a/src/views/attachment/components/AttachmentSelectDrawer.vue b/src/views/attachment/components/AttachmentSelectDrawer.vue
index 7bdff399..03b81e68 100644
--- a/src/views/attachment/components/AttachmentSelectDrawer.vue
+++ b/src/views/attachment/components/AttachmentSelectDrawer.vue
@@ -185,20 +185,4 @@ export default {
 </script>
 
 <style lang="less" scope>
-.attach-item {
-  width: 50%;
-  margin: 0 auto;
-  position: relative;
-  padding-bottom: 28%;
-  overflow: hidden;
-  float: left;
-  cursor: pointer;
-  img {
-    width: 100%;
-    height: 100%;
-    position: absolute;
-    top: 0;
-    left: 0;
-  }
-}
 </style>
diff --git a/src/views/interface/ThemeEdit.vue b/src/views/interface/ThemeEdit.vue
index 699eba14..682caf7b 100644
--- a/src/views/interface/ThemeEdit.vue
+++ b/src/views/interface/ThemeEdit.vue
@@ -35,7 +35,20 @@
         :xs="24"
         :style="{'padding-bottom':'12px'}"
       >
-        <a-card :title="activatedTheme.name+' 主题'">
+        <a-card>
+          <template slot="title">
+            <a-select
+              style="width: 100%"
+              @change="onSelectTheme"
+              v-model="selectedTheme.id"
+            >
+              <a-select-option
+                v-for="(theme,index) in themes"
+                :key="index"
+                :value="theme.id"
+              >{{ theme.name }} <a-icon v-if="theme.activated" type="check"/></a-select-option>
+            </a-select>
+          </template>
           <theme-file
             :files="files"
             @listenToSelect="handleSelectFile"
@@ -68,22 +81,34 @@ export default {
       files: [],
       file: {},
       content: '',
-      activatedTheme: {}
+      themes: [],
+      selectedTheme: {}
     }
   },
   created() {
-    this.loadFiles()
     this.loadActivatedTheme()
+    this.loadFiles()
+    this.loadThemes()
   },
   methods: {
+    loadActivatedTheme() {
+      themeApi.getActivatedTheme().then(response => {
+        this.selectedTheme = response.data.data
+      })
+    },
     loadFiles() {
-      themeApi.listFiles().then(response => {
+      themeApi.listFilesActivated().then(response => {
         this.files = response.data.data
       })
     },
-    loadActivatedTheme() {
-      themeApi.getActivatedTheme().then(response => {
-        this.activatedTheme = response.data.data
+    loadThemes() {
+      themeApi.listAll().then(response => {
+        this.themes = response.data.data
+      })
+    },
+    onSelectTheme(themeId) {
+      themeApi.listFiles(themeId).then(response => {
+        this.files = response.data.data
       })
     },
     handleSelectFile(file) {
@@ -95,7 +120,12 @@ export default {
         this.buttonDisabled = true
         return
       }
-      if (file.name === 'settings.yaml' || file.name === 'settings.yml' || file.name === 'theme.yaml' || file.name === 'theme.yml') {
+      if (
+        file.name === 'settings.yaml' ||
+        file.name === 'settings.yml' ||
+        file.name === 'theme.yaml' ||
+        file.name === 'theme.yml'
+      ) {
         this.$confirm({
           title: '警告:请谨慎修改该配置文件',
           content: '修改之后可能会产生不可预料的问题!',
diff --git a/src/views/interface/ThemeList.vue b/src/views/interface/ThemeList.vue
index 9ed8f1b3..70afe74d 100644
--- a/src/views/interface/ThemeList.vue
+++ b/src/views/interface/ThemeList.vue
@@ -387,7 +387,7 @@ export default {
 }
 </script>
 
-<style lang="less" scoped>
+<style lang="less">
 @keyframes scaleDraw {
   0% {
     transform: scale(1);
diff --git a/src/views/post/CategoryList.vue b/src/views/post/CategoryList.vue
index 6fc7b353..34c612a9 100644
--- a/src/views/post/CategoryList.vue
+++ b/src/views/post/CategoryList.vue
@@ -240,8 +240,5 @@ export default {
 }
 </script>
 
-<style scoped>
-.category-tree {
-  margin-top: 1rem;
-}
+<style>
 </style>