Просмотр исходного кода

Merge branch 'dev'

更新后台首页  wel->index
Amodoro 4 лет назад
Родитель
Сommit
ad751b547e

+ 85 - 85
package-lock.json

@@ -1736,7 +1736,7 @@
     },
     "amdefine": {
       "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+      "resolved": "https://registry.nlark.com/amdefine/download/amdefine-1.0.1.tgz",
       "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
       "dev": true
     },
@@ -1839,7 +1839,7 @@
     },
     "array-find-index": {
       "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+      "resolved": "https://registry.nlark.com/array-find-index/download/array-find-index-1.0.2.tgz",
       "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
       "dev": true
     },
@@ -1958,7 +1958,7 @@
     },
     "async-foreach": {
       "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
+      "resolved": "https://registry.npm.taobao.org/async-foreach/download/async-foreach-0.1.3.tgz",
       "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
       "dev": true
     },
@@ -2319,7 +2319,7 @@
     },
     "block-stream": {
       "version": "0.0.9",
-      "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+      "resolved": "https://registry.nlark.com/block-stream/download/block-stream-0.0.9.tgz",
       "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
       "dev": true,
       "requires": {
@@ -2733,7 +2733,7 @@
     },
     "camelcase-keys": {
       "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+      "resolved": "https://registry.npmmirror.com/camelcase-keys/download/camelcase-keys-2.1.0.tgz?cache=0&sync_timestamp=1633332959770&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-2.1.0.tgz",
       "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
       "dev": true,
       "requires": {
@@ -2743,7 +2743,7 @@
       "dependencies": {
         "camelcase": {
           "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+          "resolved": "https://registry.npmmirror.com/camelcase/download/camelcase-2.1.1.tgz?cache=0&sync_timestamp=1636945151239&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-2.1.1.tgz",
           "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
           "dev": true
         }
@@ -3896,7 +3896,7 @@
     },
     "currently-unhandled": {
       "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+      "resolved": "https://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz",
       "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
       "dev": true,
       "requires": {
@@ -5481,8 +5481,8 @@
     },
     "fstream": {
       "version": "1.0.12",
-      "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
-      "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
+      "resolved": "https://registry.npm.taobao.org/fstream/download/fstream-1.0.12.tgz",
+      "integrity": "sha1-Touo7i1Ivk99DeUFRVVI6uWTIEU=",
       "dev": true,
       "requires": {
         "graceful-fs": "^4.1.2",
@@ -5521,8 +5521,8 @@
     },
     "gaze": {
       "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
-      "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
+      "resolved": "https://registry.nlark.com/gaze/download/gaze-1.1.3.tgz",
+      "integrity": "sha1-xEFzPhO5J6yMD/C0w7Az8ogSkko=",
       "dev": true,
       "requires": {
         "globule": "^1.0.0"
@@ -5559,7 +5559,7 @@
     },
     "get-stdin": {
       "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+      "resolved": "https://registry.nlark.com/get-stdin/download/get-stdin-4.0.1.tgz",
       "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
       "dev": true
     },
@@ -5657,8 +5657,8 @@
     },
     "globule": {
       "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz",
-      "integrity": "sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==",
+      "resolved": "https://registry.nlark.com/globule/download/globule-1.3.3.tgz",
+      "integrity": "sha1-gRkZ7qwatzROkF8uO+gKE0R5c8I=",
       "dev": true,
       "requires": {
         "glob": "~7.1.1",
@@ -5668,8 +5668,8 @@
       "dependencies": {
         "glob": {
           "version": "7.1.7",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
-          "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+          "resolved": "https://registry.npmmirror.com/glob/download/glob-7.1.7.tgz",
+          "integrity": "sha1-Oxk+kjPwHULQs/eClLvutBj5SpA=",
           "dev": true,
           "requires": {
             "fs.realpath": "^1.0.0",
@@ -6314,13 +6314,13 @@
     },
     "in-publish": {
       "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz",
-      "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==",
+      "resolved": "https://registry.nlark.com/in-publish/download/in-publish-2.0.1.tgz",
+      "integrity": "sha1-lIsaU1yAMFYc6lIvc/ePS+NX4Aw=",
       "dev": true
     },
     "indent-string": {
       "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+      "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz?cache=0&sync_timestamp=1618679561483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-2.1.0.tgz",
       "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
       "dev": true,
       "requires": {
@@ -6673,8 +6673,8 @@
     },
     "is-finite": {
       "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
-      "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
+      "resolved": "https://registry.npmmirror.com/is-finite/download/is-finite-1.1.0.tgz",
+      "integrity": "sha1-kEE1x3+0LAZB1qobzbxNqo2ggvM=",
       "dev": true
     },
     "is-fullwidth-code-point": {
@@ -6833,7 +6833,7 @@
     },
     "is-utf8": {
       "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+      "resolved": "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz",
       "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
       "dev": true
     },
@@ -7067,7 +7067,7 @@
     },
     "load-json-file": {
       "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+      "resolved": "https://registry.nlark.com/load-json-file/download/load-json-file-1.1.0.tgz",
       "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
       "dev": true,
       "requires": {
@@ -7080,7 +7080,7 @@
       "dependencies": {
         "parse-json": {
           "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+          "resolved": "https://registry.npmmirror.com/parse-json/download/parse-json-2.2.0.tgz",
           "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
           "dev": true,
           "requires": {
@@ -7089,7 +7089,7 @@
         },
         "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
         }
@@ -7257,7 +7257,7 @@
     },
     "loud-rejection": {
       "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+      "resolved": "https://registry.nlark.com/loud-rejection/download/loud-rejection-1.6.0.tgz",
       "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
       "dev": true,
       "requires": {
@@ -7305,7 +7305,7 @@
     },
     "map-obj": {
       "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+      "resolved": "https://registry.npmmirror.com/map-obj/download/map-obj-1.0.1.tgz?cache=0&sync_timestamp=1634552719803&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmap-obj%2Fdownload%2Fmap-obj-1.0.1.tgz",
       "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
       "dev": true
     },
@@ -7353,7 +7353,7 @@
     },
     "meow": {
       "version": "3.7.0",
-      "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+      "resolved": "https://registry.npmmirror.com/meow/download/meow-3.7.0.tgz?cache=0&sync_timestamp=1637477569022&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmeow%2Fdownload%2Fmeow-3.7.0.tgz",
       "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
       "dev": true,
       "requires": {
@@ -7807,8 +7807,8 @@
     },
     "node-sass": {
       "version": "4.14.1",
-      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz",
-      "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==",
+      "resolved": "https://registry.npmmirror.com/node-sass/download/node-sass-4.14.1.tgz",
+      "integrity": "sha1-mch+wu+3BH7WOPtMnbfzpC4iF7U=",
       "dev": true,
       "requires": {
         "async-foreach": "^0.1.3",
@@ -7832,13 +7832,13 @@
       "dependencies": {
         "ansi-styles": {
           "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+          "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-2.2.1.tgz",
           "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
           "dev": true
         },
         "chalk": {
           "version": "1.1.3",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+          "resolved": "https://registry.npmmirror.com/chalk/download/chalk-1.1.3.tgz",
           "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
           "dev": true,
           "requires": {
@@ -7851,7 +7851,7 @@
         },
         "cross-spawn": {
           "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
+          "resolved": "https://registry.nlark.com/cross-spawn/download/cross-spawn-3.0.1.tgz",
           "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
           "dev": true,
           "requires": {
@@ -7861,8 +7861,8 @@
         },
         "lru-cache": {
           "version": "4.1.5",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
-          "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+          "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-4.1.5.tgz",
+          "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=",
           "dev": true,
           "requires": {
             "pseudomap": "^1.0.2",
@@ -7871,8 +7871,8 @@
         },
         "node-gyp": {
           "version": "3.8.0",
-          "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
-          "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
+          "resolved": "https://registry.npmmirror.com/node-gyp/download/node-gyp-3.8.0.tgz?cache=0&sync_timestamp=1637570177658&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-gyp%2Fdownload%2Fnode-gyp-3.8.0.tgz",
+          "integrity": "sha1-VAMEJhwzDoDQ1e3OJTpoyzlkIYw=",
           "dev": true,
           "requires": {
             "fstream": "^1.0.0",
@@ -7891,7 +7891,7 @@
         },
         "nopt": {
           "version": "3.0.6",
-          "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+          "resolved": "https://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz",
           "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
           "dev": true,
           "requires": {
@@ -7900,20 +7900,20 @@
         },
         "semver": {
           "version": "5.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+          "resolved": "https://registry.nlark.com/semver/download/semver-5.3.0.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.3.0.tgz",
           "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
           "dev": true
         },
         "supports-color": {
           "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+          "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-2.0.0.tgz",
           "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
           "dev": true
         },
         "tar": {
           "version": "2.2.2",
-          "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
-          "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
+          "resolved": "https://registry.nlark.com/tar/download/tar-2.2.2.tgz?cache=0&sync_timestamp=1629994977916&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftar%2Fdownload%2Ftar-2.2.2.tgz",
+          "integrity": "sha1-DKiEhWLHKZuLRG/2pNYM27I+3EA=",
           "dev": true,
           "requires": {
             "block-stream": "*",
@@ -7923,7 +7923,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
         }
@@ -9546,7 +9546,7 @@
     },
     "read-pkg-up": {
       "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+      "resolved": "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-1.0.1.tgz",
       "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
       "dev": true,
       "requires": {
@@ -9556,7 +9556,7 @@
       "dependencies": {
         "find-up": {
           "version": "1.1.2",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+          "resolved": "https://registry.npmmirror.com/find-up/download/find-up-1.1.2.tgz",
           "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
           "dev": true,
           "requires": {
@@ -9566,7 +9566,7 @@
         },
         "path-exists": {
           "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+          "resolved": "https://registry.nlark.com/path-exists/download/path-exists-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-exists%2Fdownload%2Fpath-exists-2.1.0.tgz",
           "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
           "dev": true,
           "requires": {
@@ -9575,7 +9575,7 @@
         },
         "path-type": {
           "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+          "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz?cache=0&sync_timestamp=1611752107592&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-1.1.0.tgz",
           "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
           "dev": true,
           "requires": {
@@ -9586,13 +9586,13 @@
         },
         "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
         },
         "read-pkg": {
           "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+          "resolved": "https://registry.nlark.com/read-pkg/download/read-pkg-1.1.0.tgz",
           "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
           "dev": true,
           "requires": {
@@ -9629,7 +9629,7 @@
     },
     "redent": {
       "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+      "resolved": "https://registry.nlark.com/redent/download/redent-1.0.0.tgz",
       "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
       "dev": true,
       "requires": {
@@ -9639,7 +9639,7 @@
       "dependencies": {
         "strip-indent": {
           "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+          "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-1.0.1.tgz?cache=0&sync_timestamp=1620053310624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-indent%2Fdownload%2Fstrip-indent-1.0.1.tgz",
           "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
           "dev": true,
           "requires": {
@@ -9838,7 +9838,7 @@
     },
     "repeating": {
       "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+      "resolved": "https://registry.nlark.com/repeating/download/repeating-2.0.1.tgz",
       "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
       "dev": true,
       "requires": {
@@ -10078,8 +10078,8 @@
     },
     "sass-graph": {
       "version": "2.2.5",
-      "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz",
-      "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==",
+      "resolved": "https://registry.nlark.com/sass-graph/download/sass-graph-2.2.5.tgz",
+      "integrity": "sha1-qYHIdEa4MZ2W3OBnHkh4eb0kwug=",
       "dev": true,
       "requires": {
         "glob": "^7.0.0",
@@ -10090,20 +10090,20 @@
       "dependencies": {
         "ansi-regex": {
           "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz",
+          "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
           "dev": true
         },
         "emoji-regex": {
           "version": "7.0.3",
-          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-          "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+          "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1632751408145&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz",
+          "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=",
           "dev": true
         },
         "find-up": {
           "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+          "resolved": "https://registry.npmmirror.com/find-up/download/find-up-3.0.0.tgz",
+          "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
           "dev": true,
           "requires": {
             "locate-path": "^3.0.0"
@@ -10111,14 +10111,14 @@
         },
         "is-fullwidth-code-point": {
           "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+          "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
           "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
           "dev": true
         },
         "locate-path": {
           "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-          "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+          "resolved": "https://registry.nlark.com/locate-path/download/locate-path-3.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz",
+          "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
           "dev": true,
           "requires": {
             "p-locate": "^3.0.0",
@@ -10127,8 +10127,8 @@
         },
         "p-limit": {
           "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+          "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1628812721654&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz",
+          "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
           "dev": true,
           "requires": {
             "p-try": "^2.0.0"
@@ -10136,8 +10136,8 @@
         },
         "p-locate": {
           "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-          "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+          "resolved": "https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz",
+          "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
           "dev": true,
           "requires": {
             "p-limit": "^2.0.0"
@@ -10145,14 +10145,14 @@
         },
         "p-try": {
           "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+          "resolved": "https://registry.npmmirror.com/p-try/download/p-try-2.2.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-2.2.0.tgz",
+          "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=",
           "dev": true
         },
         "string-width": {
           "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+          "resolved": "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1632420968947&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz",
+          "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=",
           "dev": true,
           "requires": {
             "emoji-regex": "^7.0.1",
@@ -10162,8 +10162,8 @@
         },
         "strip-ansi": {
           "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+          "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz",
+          "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
           "dev": true,
           "requires": {
             "ansi-regex": "^4.1.0"
@@ -10171,8 +10171,8 @@
         },
         "yargs": {
           "version": "13.3.2",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
-          "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
+          "resolved": "https://registry.npmmirror.com/yargs/download/yargs-13.3.2.tgz",
+          "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=",
           "dev": true,
           "requires": {
             "cliui": "^5.0.0",
@@ -10189,8 +10189,8 @@
         },
         "yargs-parser": {
           "version": "13.1.2",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
-          "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
+          "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1637031026512&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz",
+          "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=",
           "dev": true,
           "requires": {
             "camelcase": "^5.0.0",
@@ -10247,7 +10247,7 @@
     },
     "scss-tokenizer": {
       "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
+      "resolved": "https://registry.nlark.com/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz",
       "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
       "dev": true,
       "requires": {
@@ -10257,7 +10257,7 @@
       "dependencies": {
         "source-map": {
           "version": "0.4.4",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+          "resolved": "https://registry.nlark.com/source-map/download/source-map-0.4.4.tgz",
           "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
           "dev": true,
           "requires": {
@@ -10954,8 +10954,8 @@
     },
     "stdout-stream": {
       "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
-      "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
+      "resolved": "https://registry.npm.taobao.org/stdout-stream/download/stdout-stream-1.4.1.tgz",
+      "integrity": "sha1-WsF0zdXNcmEEqgwLK9g4FdjVNd4=",
       "dev": true,
       "requires": {
         "readable-stream": "^2.0.1"
@@ -11082,7 +11082,7 @@
     },
     "strip-bom": {
       "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+      "resolved": "https://registry.nlark.com/strip-bom/download/strip-bom-2.0.0.tgz",
       "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
       "dev": true,
       "requires": {
@@ -11593,14 +11593,14 @@
     },
     "trim-newlines": {
       "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+      "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-1.0.0.tgz?cache=0&sync_timestamp=1623341510447&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-1.0.0.tgz",
       "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
       "dev": true
     },
     "true-case-path": {
       "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
-      "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
+      "resolved": "https://registry.npm.taobao.org/true-case-path/download/true-case-path-1.0.3.tgz",
+      "integrity": "sha1-+BO1qMhrQNpZYGcisUTjIleZ9H0=",
       "dev": true,
       "requires": {
         "glob": "^7.1.2"

BIN
public/img/bg/login_CnEn.png


BIN
public/img/bg/login_bg.png


BIN
public/img/bg/login_box_inputIcon1.png


BIN
public/img/bg/login_box_inputIcon2.png


BIN
public/img/bg/login_box_inputIcon3.png


BIN
public/img/bg/login_box_inputIcon4.png


BIN
public/img/bg/login_box_inputIcon5.png


BIN
public/img/bg/login_box_inputIcon6.png


BIN
public/img/bg/login_logo.png


BIN
public/img/bg/login_time.png


BIN
public/img/icon/ic_huodong.png


BIN
public/img/icon/ic_huodong1.png


BIN
public/img/icon/ic_yonghu.png


BIN
public/img/icon/ic_yonghu1.png


BIN
public/img/icon/ic_yonghu2.png


BIN
public/img/icon/ic_zaixian.png


BIN
public/img/icon/ic_zuopin.png


BIN
public/img/icon/ic_zuopin1.png


+ 1 - 1
src/lang/en.js

@@ -66,7 +66,7 @@ export default {
     test: 'test'
   },
   login: {
-    title: 'Login ',
+    title: 'User Login',
     info: 'Enterprise Development Platform',
     tenantId: 'Please input tenantId',
     username: 'Please input username',

+ 1 - 1
src/lang/zh.js

@@ -66,7 +66,7 @@ export default {
     test: '测试页面'
   },
   login: {
-    title: '登录 ',
+    title: '用户登录',
     info: 'BladeX 企业级开发平台',
     tenantId: '请输入租户ID',
     username: '请输入账号',

+ 1 - 1
src/page/index/top/top-lang.vue

@@ -1,7 +1,7 @@
 <template>
   <el-dropdown trigger="click"
                @command="handleSetLanguage">
-    <i class="icon-zhongyingwen"></i>
+    <img src="@/../public/img/bg/login_CnEn.png" alt="">
     <el-dropdown-menu slot="dropdown">
       <el-dropdown-item :disabled="language==='zh'"
                         command="zh">中文

+ 26 - 24
src/page/login/index.vue

@@ -2,31 +2,33 @@
   <div class="login-container"
        ref="login"
        @keyup.enter.native="handleLogin">
-    <top-color v-show="false"></top-color>
-    <div class="login-weaper animated bounceInDown">
-      <div class="login-left">
-        <div class="login-time">
-          {{time}}
+    <div class="login-wrapper animated bounceInDown">
+      <div class="login-bg">
+        <div class="title-box">
+          <div class="icon-box">
+            <img src="@/../public/img/bg/login_logo.png" alt="">
+          </div>
+          <div class="title">后台管理系统</div>
         </div>
-        <img class="img" src="/img/logo.png" alt="">
-        <p class="title">{{ $t('login.info') }}</p>
+        <img class="bg" src="@/../public/img/bg/login_bg.png" alt="">
       </div>
-      <div class="login-border">
-        <div class="login-main">
-          <h4 class="login-title">
-            {{ $t('login.title') }}{{website.title}}
-            <top-lang></top-lang>
-          </h4>
-          <userLogin v-if="activeName==='user'"></userLogin>
-          <codeLogin v-else-if="activeName==='code'"></codeLogin>
-          <thirdLogin v-else-if="activeName==='third'"></thirdLogin>
-          <div class="login-menu">
-            <a href="#" @click.stop="activeName='user'">{{ $t('login.userLogin') }}</a>
-            <!--<a href="#" @click.stop="activeName='code'">{{ $t('login.phoneLogin') }}</a>-->
-            <a href="#" @click.stop="activeName='third'">{{ $t('login.thirdLogin') }}</a>
-          </div>
+      <div class="login-main">
+        <div class="time">
+          <img src="@/../public/img/bg/login_time.png" alt="">
+          <span>{{time}}</span>
+        </div>
+        <top-lang class="lang"></top-lang>
+        <h4 class="login-title">
+          {{ $t('login.title') }}
+        </h4>
+        <userLogin v-if="activeName==='user'"></userLogin>
+        <codeLogin v-else-if="activeName==='code'"></codeLogin>
+        <thirdLogin v-else-if="activeName==='third'"></thirdLogin>
+        <div class="login-menu">
+          <a href="#" @click.stop="activeName='user'">{{ $t('login.userLogin') }}</a>
+          <!--<a href="#" @click.stop="activeName='code'">{{ $t('login.phoneLogin') }}</a>-->
+          <a href="#" @click.stop="activeName='third'">{{ $t('login.thirdLogin') }}</a>
         </div>
-
       </div>
     </div>
   </div>
@@ -114,6 +116,6 @@
   };
 </script>
 
-<style lang="scss">
-  @import "@/styles/login.scss";
+<style lang="scss" scoped>
+  @import "~@/styles/login.scss";
 </style>

+ 41 - 13
src/page/login/userlogin.vue

@@ -1,6 +1,5 @@
 <template>
   <el-form class="login-form"
-           status-icon
            :rules="loginRules"
            ref="loginForm"
            :model="loginForm"
@@ -11,7 +10,7 @@
                 v-model="loginForm.tenantId"
                 auto-complete="off"
                 :placeholder="$t('login.tenantId')">
-        <i slot="prefix" class="icon-quanxian"/>
+        <img slot="prefix" src="@/../public/img/bg/login_box_inputIcon1.png" alt="">
       </el-input>
     </el-form-item>
     <el-form-item prop="username">
@@ -20,18 +19,26 @@
                 v-model="loginForm.username"
                 auto-complete="off"
                 :placeholder="$t('login.username')">
-        <i slot="prefix" class="icon-yonghu"/>
+        <img slot="prefix" src="@/../public/img/bg/login_box_inputIcon2.png" alt="">
       </el-input>
     </el-form-item>
-    <el-form-item prop="password">
+    <el-form-item prop="password" class="pwd-input">
       <el-input size="small"
                 @keyup.enter.native="handleLogin"
                 :type="passwordType"
                 v-model="loginForm.password"
                 auto-complete="off"
                 :placeholder="$t('login.password')">
-        <i class="el-icon-view el-input__icon" slot="suffix" @click="showPassword"/>
-        <i slot="prefix" class="icon-mima"/>
+        <img slot="prefix" src="@/../public/img/bg/login_box_inputIcon3.png" alt="">
+        <img
+          slot="suffix"
+          style="margin-right: 16px"
+          src="@/../public/img/bg/login_box_inputIcon5.png"
+          @click="showPassword" alt="">
+        <img
+          slot="suffix"
+          src="@/../public/img/bg/login_box_inputIcon6.png"
+          @click="showPassword" alt="">
       </el-input>
     </el-form-item>
     <el-form-item v-if="this.website.captchaMode" prop="code">
@@ -42,7 +49,7 @@
                     v-model="loginForm.code"
                     auto-complete="off"
                     :placeholder="$t('login.code')">
-            <i slot="prefix" class="icon-yanzhengma"/>
+            <img slot="prefix" src="@/../public/img/bg/login_box_inputIcon4.png" alt="">
           </el-input>
         </el-col>
         <el-col :span="8">
@@ -54,11 +61,7 @@
       </el-row>
     </el-form-item>
     <el-form-item>
-      <el-button type="primary"
-                 size="small"
-                 @click.native.prevent="handleLogin"
-                 class="login-submit">{{$t('login.submit')}}
-      </el-button>
+      <el-button type="primary" @click.native.prevent="handleLogin" plain class="login-submit">{{$t('login.submit')}}</el-button>
     </el-form-item>
     <el-dialog title="用户信息选择"
                append-to-body
@@ -263,5 +266,30 @@
   };
 </script>
 
-<style>
+<style lang="scss" scoped>
+::v-deep .el-input {
+
+  border-bottom: 1px solid #F4F4F4;
+}
+::v-deep .el-input__inner {
+  border: 0;
+  box-sizing: border-box;
+  padding-left: 42px;
+}
+.pwd-input ::v-deep .el-input__inner {
+  padding-right: 80px;
+}
+.login-submit {
+  width: 100%;
+  height: 45px;
+  border: 1px solid #409EFF;
+  background: none;
+  font-size: 18px;
+  letter-spacing: 2px;
+  font-weight: 300;
+  color: #409EFF;
+  cursor: pointer;
+  font-family: "neo";
+  transition: 0.25s;
+}
 </style>

+ 69 - 95
src/styles/login.scss

@@ -1,85 +1,84 @@
 .login-container {
-  display: flex;
-  align-items: center;
-  position: relative;
   width: 100%;
   height: 100%;
-  margin: 0 auto;
-  background-image: url("/img/bg/bg.jpg");
-  background-size: 100% 100%;
+  display: block;
+  background: linear-gradient(to right, #06D2FF, #6F2BFF);
 }
 
-.login-weaper {
-  margin: 0 auto;
-  width: 1000px;
-  box-shadow: -4px 5px 10px rgba(0, 0, 0, 0.4);
-
-  .el-input-group__append {
-    border: none;
-  }
-}
-
-.login-left,
-.login-border {
-  position: relative;
-  min-height: 500px;
-  align-items: center;
+.login-wrapper {
   display: flex;
-}
-
-.login-left {
-  border-top-left-radius: 5px;
-  border-bottom-left-radius: 5px;
+  align-items: center;
   justify-content: center;
-  flex-direction: column;
-  background-color: #409EFF;
-  color: #fff;
-  float: left;
-  width: 50%;
-  position: relative;
-}
-
-.login-left .img {
-  width: 140px;
+  padding-top: 240px;
+  .login-bg {
+    position: relative;
+    .title-box {
+      position: absolute;
+      left: -55px;
+      top: -99px;
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      .icon-box {
+        width: 72px;
+        height: 72px;
+        border-radius: 24px;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        background-color: #fff;
+      }
+      .title {
+        font-size: 32px;
+        color: #fff;
+        margin-left: 20px;
+      }
+    }
+  }
+  .login-main {
+    width: 500px;
+    height: 600px;
+    position: relative;
+    margin-left: 206px;
+    background-color: #fff;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    flex-direction: column;
+    border-radius: 20px;
+    position: relative;
+    .lang {
+      position: absolute;
+      right: 36px;
+      top: 36px;
+    }
+    .login-title {
+      color: #353535;
+      margin: 50px 0 60px;
+      font-weight: bold;
+      font-size: 30px;
+      text-align: center;
+      letter-spacing: 4px;
+    }
+    .time {
+      position: absolute;
+      top: -65px;
+      right: 0;
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      span {
+        font-size: 20px;
+        color: #fff;
+        margin-left: 15px;
+      }
+    }
+  }
 }
 
-.login-time {
-  position: absolute;
-  left: 25px;
-  top: 25px;
-  width: 100%;
-  color: #fff;
-  font-weight: 200;
-  opacity: 0.9;
-  font-size: 18px;
-  overflow: hidden;
-}
 
-.login-left .title {
-  margin-top: 60px;
-  text-align: center;
-  color: #fff;
-  font-weight: 300;
-  letter-spacing: 2px;
-  font-size: 25px;
-}
 
-.login-border {
-  border-left: none;
-  border-top-right-radius: 5px;
-  border-bottom-right-radius: 5px;
-  color: #fff;
-  background-color: #fff;
-  width: 50%;
-  float: left;
-  box-sizing: border-box;
-}
 
-.login-main {
-  margin: 0 auto;
-  width: 65%;
-  box-sizing: border-box;
-}
 
 .login-main > h3 {
   margin-bottom: 20px;
@@ -89,17 +88,8 @@
   color: #76838f;
 }
 
-.login-title {
-  color: #333;
-  margin-bottom: 40px;
-  font-weight: 500;
-  font-size: 22px;
-  text-align: center;
-  letter-spacing: 4px;
-}
 
 .login-menu {
-  margin-top: 40px;
   width: 100%;
   text-align: center;
 
@@ -109,22 +99,6 @@
     margin: 0px 8px;
   }
 }
-
-.login-submit {
-  width: 100%;
-  height: 45px;
-  border: 1px solid #409EFF;
-  background: none;
-  font-size: 18px;
-  letter-spacing: 2px;
-  font-weight: 300;
-  color: #409EFF;
-  cursor: pointer;
-  margin-top: 30px;
-  font-family: "neo";
-  transition: 0.25s;
-}
-
 .login-form {
   margin: 10px 0;
 

+ 198 - 49
src/views/wel/index.vue

@@ -1,27 +1,101 @@
 <template>
-  <el-row>
-    <el-col :span="24">
-      <basic-container>
-        <avue-data-panel :option="optionTotal"></avue-data-panel>
-      </basic-container>
-    </el-col>
-    <el-col :span="24">
-      <basic-container>
-        <h3>今日新增</h3>
-        <avue-data-display :option="optionToday"></avue-data-display>
-      </basic-container>
-    </el-col>
-  </el-row>
+  <div class="front-page">
+    <div class="data-summary">
+      <h3>数据汇总</h3>
+      <div class="list-item">
+        <router-link class="item" v-for="item in dataSummaryData" :key="item.icon" :to="item.path">
+          <img :src="require(`@/../public/img/icon/${item.icon}.png`)" alt="">
+          <div class="info">
+            <span class="tips">{{item.tips}}</span>
+            <span class="count">{{item.count}}</span>
+          </div>
+        </router-link>
+      </div>
+    </div>
+    <div class="added-today">
+      <h3>今日新增</h3>
+      <div class="list-item">
+        <router-link class="item" v-for="item in addedTodayData" :key="item.icon" :to="item.path">
+          <div class="icon">
+            <img :src="require(`@/../public/img/icon/${item.icon}.png`)" alt="">
+          </div>
+          <span class="count">{{item.count}}</span>
+          <span class="tips">{{item.tips}}</span>
+        </router-link>
+      </div>
+    </div>
+  </div>
 </template>
 
 <script>
-import {censusAllTotal, censusTodayTotal} from "@/api/wel/index.js";
+import {censusAllTotal, censusTodayTotal} from "@/api/wel/index";
 
 export default {
     name: "wel",
     data() {
       return {
-        optionTotal: {
+        // 数据的key属性对应后台数据key,用来循环匹配数据
+        dataSummaryData: [
+          {
+            tips: '作品总数',
+            count: 0,
+            icon: 'ic_zuopin',
+            key: 'activeProductCount',
+            path: '/sing_active/activeproductrecord'
+          },
+          {
+            tips: '活动总数',
+            count: 0,
+            key: 'activeCount',
+            icon: 'ic_huodong',
+            path: '/sing_active/activerecord'
+          },
+          {
+            tips: '用户总数',
+            count: 0,
+            key: 'userCount',
+            icon: 'ic_yonghu',
+            path: '/sing_user/loginuser'
+          },
+          {
+            tips: '在线用户',
+            count: 0,
+            key: 'onlinePeopleNumber',
+            icon: 'ic_zaixian',
+            path: '/sing_user/loginuser'
+          },
+        ],
+        addedTodayData: [
+          {
+            tips: '今日新增作品',
+            count: 0,
+            key: 'activeProductCount',
+            icon: 'ic_zuopin1',
+            path: '/sing_active/activeproductrecord'
+          },
+          {
+            tips: '今日新增活动',
+            count: 0,
+            key: 'activeCount',
+            icon: 'ic_huodong1',
+            path: '/sing_active/activerecord'
+          },
+          {
+            tips: '今日新增用户',
+            count: 0,
+            key: 'userCount',
+            icon: 'ic_yonghu1',
+            path: '/sing_user/loginuser'
+          },
+          {
+            tips: '在线用户',
+            count: 0,
+            key: 'onlinePeopleNumber',
+            icon: 'ic_yonghu2',
+            path: '/sing_user/loginuser'
+          },
+        ],
+        /*optionTotal: {
           data: [
             {
               click: () => {
@@ -31,7 +105,7 @@ export default {
               prop: 'activeProductCount',
               count: 0,
               icon: 'el-icon-star-on',
-              color: '#00a7d0',
+              color: '#4065E0'
             },
             {
               click: () => {
@@ -41,7 +115,7 @@ export default {
               prop: 'activeCount',
               count: 0,
               icon: 'el-icon-s-flag',
-              color: 'rgb(27, 201, 142)',
+              color: '#6F7FFA',
             },
             {
               click: () => {
@@ -51,7 +125,7 @@ export default {
               prop: 'userCount',
               count: 0,
               icon: 'el-icon-user-solid',
-              color: 'rgb(230, 71, 88)',
+              color: '#6FCAFA',
             },
             {
               click: () => {
@@ -61,7 +135,7 @@ export default {
               prop: 'onlinePeopleNumber',
               count: 0,
               icon: 'el-icon-user-solid',
-              color: 'rgb(31,246,10)',
+              color: '#1DD3B7',
             },
           ],
           span: 6,
@@ -76,7 +150,7 @@ export default {
               title: '今日新增作品',
               count: 0,
               icon: 'el-icon-star-on',
-              color: '#00a7d0',
+              color: '#409EFF',
             },
             {
               click: () => {
@@ -86,7 +160,7 @@ export default {
               prop: 'activeCount',
               count: 0,
               icon: 'el-icon-s-flag',
-              color: 'rgb(27, 201, 142)',
+              color: '#e44447',
             },
             {
               click: () => {
@@ -96,7 +170,7 @@ export default {
               prop: 'userCount',
               count: 0,
               icon: 'el-icon-user-solid',
-              color: 'rgb(230, 71, 88)',
+              color: '#5669e7',
             },
             {
               click: () => {
@@ -106,48 +180,123 @@ export default {
               prop: 'onlinePeopleNumber',
               count: 0,
               icon: 'el-icon-user-solid',
-              color: 'rgb(31,246,10)',
+              color: '#25b03f',
             },
           ],
           span: 6,
-        },
+        },*/
       };
     },
     created() {
-      this.init();
+      this.init()
     },
     methods: {
       init(){
-        censusAllTotal().then(res=>{
-          let data = res.data.data;
-          for(const item in data){
-            let find = this.optionTotal.data.find(ele=>{
-              return ele.prop===item;
-            });
-            if(find!==undefined){
-              find.count = data[item];
-            }
-          }
-        });
+        censusAllTotal().then(res => {
+          let { data } = res.data
+          this.dataSummaryData.map(item => {
+            return (item.count = data[item.key]) && item
+          })
+        })
         censusTodayTotal().then(res=>{
-          let data = res.data.data;
-          for(const item in data){
-            let find = this.optionToday.data.find(ele=>{
-              return ele.prop===item;
-            });
-            if(find!==undefined){
-              find.count = data[item];
-            }
-          }
-        });
+          let { data } = res.data
+          this.addedTodayData.map(item => {
+            return (item.count = data[item.key]) && item
+          })
+        })
       }
     },
   };
 </script>
 
-<style>
-  .el-font-size {
-    font-size: 14px;
+<style scoped lang="scss">
+  .front-page {
+    padding-top: 30px;
+    padding-left: 15px;
+    h3 {
+      font-size: 18px;
+      color: #353535;
+      font-weight: bold;
+      margin-bottom: 15px;
+    }
+    .data-summary {
+      margin-bottom: 30px;
+      .list-item {
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        .item {
+          flex: 1;
+          display: flex;
+          justify-content: center;
+          align-items: center;
+          margin-right: 15px;
+          height: 200px;
+          color: #fff;
+          border-radius: 10px;
+          &:nth-child(1) {
+            background-color: #4065E0;
+          }
+          &:nth-child(2) {
+            background-color: #6F7FFA;
+          }
+          &:nth-child(3) {
+            background-color: #6FCAFA;
+          }
+          &:nth-child(4) {
+            background-color: #1DD3B7;
+          }
+          .info {
+            margin-left: 40px;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            .count {
+              font-weight: bold;
+              font-size: 36px;
+              margin-top: 37px;
+            }
+          }
+        }
+      }
+    }
+    .added-today {
+      border-radius: 10px;
+      .list-item {
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        height: 280px;
+        background-color: #fff;
+        .item {
+          flex: 1;
+          display: flex;
+          flex-direction: column;
+          justify-content: center;
+          align-items: center;
+          .icon {
+            width: 90px;
+            height: 90px;
+            border-radius: 50%;
+            background-color: #F2F6FA;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+          }
+          .count {
+            color: #409EFF;
+            font-weight: bold;
+            font-size: 36px;
+            margin: 30px 0 20px;
+          }
+          .tips {
+            font-size: 14px;
+            color: #888;
+            font-weight: 400;
+          }
+        }
+      }
+    }
   }
 </style>