提交 b8290d3f 编写于 作者: huangwensu's avatar huangwensu

图片涂鸦插件

上级 2195795f
......@@ -8,6 +8,11 @@
<meta content="" name="description"/>
<meta content="" name="author"/>
<link rel="shortcut icon" href="./static/img/index_logoicon.png">
<link
rel="stylesheet"
href="https://uicdn.toast.com/tui-image-editor/latest/tui-image-editor.css"
/>
</head>
<body>
<div id="app"></div>
......@@ -15,6 +20,7 @@
<!--oss upload start-->
<script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-5.1.1.min.js"></script>
<script src="https://unpkg.com/qiniu-js@2.2.0/dist/qiniu.min.js"></script>
<script src="https://uicdn.toast.com/tui-image-editor/latest/tui-image-editor.js"></script>
<!--oss upload end-->
</body>
</html>
......@@ -4,11 +4,25 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@toast-ui/vue-image-editor": {
"version": "1.3.0",
"resolved": "http://192.168.110.93:4873/@toast-ui%2fvue-image-editor/-/vue-image-editor-1.3.0.tgz",
"integrity": "sha1-GUMGI4ygYAMje0lZz3JCKwgzegA=",
"requires": {
"fabric": "4.2.0",
"tui-image-editor": "^3.11.0"
}
},
"abab": {
"version": "2.0.5",
"resolved": "http://192.168.110.93:4873/abab/-/abab-2.0.5.tgz",
"integrity": "sha1-wLZ4+zLWD8EhnHhNaoJv44Wut5o=",
"optional": true
},
"abbrev": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
"dev": true
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
},
"accepts": {
"version": "1.3.5",
......@@ -43,6 +57,30 @@
}
}
},
"acorn-globals": {
"version": "4.3.4",
"resolved": "http://192.168.110.93:4873/acorn-globals/-/acorn-globals-4.3.4.tgz",
"integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
"optional": true,
"requires": {
"acorn": "^6.0.1",
"acorn-walk": "^6.0.1"
},
"dependencies": {
"acorn": {
"version": "6.4.2",
"resolved": "http://192.168.110.93:4873/acorn/-/acorn-6.4.2.tgz",
"integrity": "sha1-NYZv1xBSjpLeEM8GAWSY5H454eY=",
"optional": true
}
}
},
"acorn-walk": {
"version": "6.2.0",
"resolved": "http://192.168.110.93:4873/acorn-walk/-/acorn-walk-6.2.0.tgz",
"integrity": "sha1-Ejy487hMIXHx9/slJhWxx4prGow=",
"optional": true
},
"adler-32": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.0.0.tgz",
......@@ -110,8 +148,7 @@
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
},
"ansi-styles": {
"version": "2.2.1",
......@@ -405,6 +442,54 @@
}
}
},
"aproba": {
"version": "1.2.0",
"resolved": "http://192.168.110.93:4873/aproba/-/aproba-1.2.0.tgz",
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
"optional": true
},
"are-we-there-yet": {
"version": "1.1.5",
"resolved": "http://192.168.110.93:4873/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
"integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
"optional": true,
"requires": {
"delegates": "^1.0.0",
"readable-stream": "^2.0.6"
},
"dependencies": {
"isarray": {
"version": "1.0.0",
"resolved": "http://192.168.110.93:4873/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"optional": true
},
"readable-stream": {
"version": "2.3.7",
"resolved": "http://192.168.110.93:4873/readable-stream/-/readable-stream-2.3.7.tgz",
"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"optional": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"string_decoder": {
"version": "1.1.1",
"resolved": "http://192.168.110.93:4873/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"optional": true,
"requires": {
"safe-buffer": "~5.1.0"
}
}
}
},
"argparse": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
......@@ -435,6 +520,12 @@
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
"dev": true
},
"array-equal": {
"version": "1.0.0",
"resolved": "http://192.168.110.93:4873/array-equal/-/array-equal-1.0.0.tgz",
"integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
"optional": true
},
"array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
......@@ -458,7 +549,6 @@
"version": "0.2.4",
"resolved": "http://192.168.110.93:4873/asn1/-/asn1-0.2.4.tgz",
"integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=",
"dev": true,
"optional": true,
"requires": {
"safer-buffer": "~2.1.0"
......@@ -505,7 +595,6 @@
"version": "1.0.0",
"resolved": "http://192.168.110.93:4873/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true,
"optional": true
},
"assign-symbols": {
......@@ -547,7 +636,6 @@
"version": "0.4.0",
"resolved": "http://192.168.110.93:4873/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true,
"optional": true
},
"atob": {
......@@ -574,14 +662,12 @@
"version": "0.7.0",
"resolved": "http://192.168.110.93:4873/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
"dev": true,
"optional": true
},
"aws4": {
"version": "1.8.0",
"resolved": "http://192.168.110.93:4873/aws4/-/aws4-1.8.0.tgz",
"integrity": "sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8=",
"dev": true,
"optional": true
},
"axios": {
......@@ -1369,8 +1455,7 @@
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"base": {
"version": "0.11.2",
......@@ -1449,7 +1534,6 @@
"version": "1.0.2",
"resolved": "http://192.168.110.93:4873/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"dev": true,
"optional": true,
"requires": {
"tweetnacl": "^0.14.3"
......@@ -1518,7 +1602,6 @@
"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"
......@@ -1541,6 +1624,12 @@
"integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
"dev": true
},
"browser-process-hrtime": {
"version": "1.0.0",
"resolved": "http://192.168.110.93:4873/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
"integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
"optional": true
},
"browserify-aes": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
......@@ -1723,11 +1812,29 @@
"integrity": "sha1-vSWDDEHvq2Qzmi44H0lnc0PIRQk=",
"dev": true
},
"canvas": {
"version": "2.6.1",
"resolved": "http://192.168.110.93:4873/canvas/-/canvas-2.6.1.tgz",
"integrity": "sha1-DQh91NYPWlqe+iAnVycKvqi++J4=",
"optional": true,
"requires": {
"nan": "^2.14.0",
"node-pre-gyp": "^0.11.0",
"simple-get": "^3.0.3"
},
"dependencies": {
"nan": {
"version": "2.14.2",
"resolved": "http://192.168.110.93:4873/nan/-/nan-2.14.2.tgz",
"integrity": "sha1-9TdkAGlRaPTMaUrJOT0MlYXu6hk=",
"optional": true
}
}
},
"caseless": {
"version": "0.12.0",
"resolved": "http://192.168.110.93:4873/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
"dev": true,
"optional": true
},
"center-align": {
......@@ -1894,6 +2001,12 @@
}
}
},
"chownr": {
"version": "1.1.4",
"resolved": "http://192.168.110.93:4873/chownr/-/chownr-1.1.4.tgz",
"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
"optional": true
},
"cipher-base": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
......@@ -2000,8 +2113,7 @@
"code-point-at": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
},
"codemirror": {
"version": "5.35.0",
......@@ -2113,7 +2225,6 @@
"version": "1.0.8",
"resolved": "http://192.168.110.93:4873/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=",
"dev": true,
"optional": true,
"requires": {
"delayed-stream": "~1.0.0"
......@@ -2140,8 +2251,7 @@
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"concat-stream": {
"version": "1.6.1",
......@@ -2207,6 +2317,12 @@
"date-now": "^0.1.4"
}
},
"console-control-strings": {
"version": "1.1.0",
"resolved": "http://192.168.110.93:4873/console-control-strings/-/console-control-strings-1.1.0.tgz",
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"optional": true
},
"consolidate": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz",
......@@ -2263,6 +2379,11 @@
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
"integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4="
},
"core-js-pure": {
"version": "3.8.1",
"resolved": "http://192.168.110.93:4873/core-js-pure/-/core-js-pure-3.8.1.tgz",
"integrity": "sha1-I/hASPNm/fz1LT/Rxo/sNJF30Rk="
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
......@@ -2523,16 +2644,49 @@
"source-map": "^0.5.3"
}
},
"cssom": {
"version": "0.4.4",
"resolved": "http://192.168.110.93:4873/cssom/-/cssom-0.4.4.tgz",
"integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
"optional": true
},
"cssstyle": {
"version": "2.3.0",
"resolved": "http://192.168.110.93:4873/cssstyle/-/cssstyle-2.3.0.tgz",
"integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
"optional": true,
"requires": {
"cssom": "~0.3.6"
},
"dependencies": {
"cssom": {
"version": "0.3.8",
"resolved": "http://192.168.110.93:4873/cssom/-/cssom-0.3.8.tgz",
"integrity": "sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o=",
"optional": true
}
}
},
"dashdash": {
"version": "1.14.1",
"resolved": "http://192.168.110.93:4873/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
"optional": true,
"requires": {
"assert-plus": "^1.0.0"
}
},
"data-urls": {
"version": "1.1.0",
"resolved": "http://192.168.110.93:4873/data-urls/-/data-urls-1.1.0.tgz",
"integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
"optional": true,
"requires": {
"abab": "^2.0.0",
"whatwg-mimetype": "^2.2.0",
"whatwg-url": "^7.0.0"
}
},
"date-now": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
......@@ -2566,11 +2720,32 @@
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
},
"decompress-response": {
"version": "4.2.1",
"resolved": "http://192.168.110.93:4873/decompress-response/-/decompress-response-4.2.1.tgz",
"integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
"optional": true,
"requires": {
"mimic-response": "^2.0.0"
}
},
"deep-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
"integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
},
"deep-extend": {
"version": "0.6.0",
"resolved": "http://192.168.110.93:4873/deep-extend/-/deep-extend-0.6.0.tgz",
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
"optional": true
},
"deep-is": {
"version": "0.1.3",
"resolved": "http://192.168.110.93:4873/deep-is/-/deep-is-0.1.3.tgz",
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"optional": true
},
"deepmerge": {
"version": "1.5.2",
"resolved": "http://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz",
......@@ -2639,7 +2814,12 @@
"version": "1.0.0",
"resolved": "http://192.168.110.93:4873/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true,
"optional": true
},
"delegates": {
"version": "1.0.0",
"resolved": "http://192.168.110.93:4873/delegates/-/delegates-1.0.0.tgz",
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
"optional": true
},
"depd": {
......@@ -2673,6 +2853,12 @@
"repeating": "^2.0.0"
}
},
"detect-libc": {
"version": "1.0.3",
"resolved": "http://192.168.110.93:4873/detect-libc/-/detect-libc-1.0.3.tgz",
"integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
"optional": true
},
"diffie-hellman": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
......@@ -2731,6 +2917,15 @@
"integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
"dev": true
},
"domexception": {
"version": "1.0.1",
"resolved": "http://192.168.110.93:4873/domexception/-/domexception-1.0.1.tgz",
"integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
"optional": true,
"requires": {
"webidl-conversions": "^4.0.2"
}
},
"domhandler": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz",
......@@ -2760,7 +2955,6 @@
"version": "0.1.2",
"resolved": "http://192.168.110.93:4873/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"dev": true,
"optional": true,
"requires": {
"jsbn": "~0.1.0",
......@@ -2914,17 +3108,49 @@
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
"escodegen": {
"version": "1.14.3",
"resolved": "http://192.168.110.93:4873/escodegen/-/escodegen-1.14.3.tgz",
"integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",
"optional": true,
"requires": {
"esprima": "^4.0.1",
"estraverse": "^4.2.0",
"esutils": "^2.0.2",
"optionator": "^0.8.1",
"source-map": "~0.6.1"
},
"dependencies": {
"esprima": {
"version": "4.0.1",
"resolved": "http://192.168.110.93:4873/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"optional": true
},
"source-map": {
"version": "0.6.1",
"resolved": "http://192.168.110.93:4873/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"optional": true
}
}
},
"esprima": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
"integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
"dev": true
},
"estraverse": {
"version": "4.3.0",
"resolved": "http://192.168.110.93:4873/estraverse/-/estraverse-4.3.0.tgz",
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"optional": true
},
"esutils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
"dev": true
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
},
"etag": {
"version": "1.8.1",
......@@ -3092,9 +3318,17 @@
"version": "1.3.0",
"resolved": "http://192.168.110.93:4873/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
"dev": true,
"optional": true
},
"fabric": {
"version": "4.2.0",
"resolved": "http://192.168.110.93:4873/fabric/-/fabric-4.2.0.tgz",
"integrity": "sha1-wW2vVVmp7UV9Ue65OAmVZe8bRLo=",
"requires": {
"canvas": "^2.6.1",
"jsdom": "^15.2.1"
}
},
"fast-deep-equal": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
......@@ -3109,8 +3343,13 @@
"fast-json-stable-stringify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
"dev": true
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
},
"fast-levenshtein": {
"version": "2.0.6",
"resolved": "http://192.168.110.93:4873/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
"optional": true
},
"fastparse": {
"version": "1.1.2",
......@@ -3140,6 +3379,11 @@
}
}
},
"file-saver": {
"version": "2.0.5",
"resolved": "http://192.168.110.93:4873/file-saver/-/file-saver-2.0.5.tgz",
"integrity": "sha1-1hz+LOBZ9BTYmendbUEH7iVnDDg="
},
"filename-regex": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
......@@ -3244,14 +3488,12 @@
"version": "0.6.1",
"resolved": "http://192.168.110.93:4873/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"dev": true,
"optional": true
},
"form-data": {
"version": "2.3.3",
"resolved": "http://192.168.110.93:4873/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=",
"dev": true,
"optional": true,
"requires": {
"asynckit": "^0.4.0",
......@@ -3299,11 +3541,19 @@
"string-length": "^1.0.1"
}
},
"fs-minipass": {
"version": "1.2.7",
"resolved": "http://192.168.110.93:4873/fs-minipass/-/fs-minipass-1.2.7.tgz",
"integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
"optional": true,
"requires": {
"minipass": "^2.6.0"
}
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"fsevents": {
"version": "1.2.4",
......@@ -3859,6 +4109,22 @@
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
"gauge": {
"version": "2.7.4",
"resolved": "http://192.168.110.93:4873/gauge/-/gauge-2.7.4.tgz",
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
"optional": true,
"requires": {
"aproba": "^1.0.3",
"console-control-strings": "^1.0.0",
"has-unicode": "^2.0.0",
"object-assign": "^4.1.0",
"signal-exit": "^3.0.0",
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1",
"wide-align": "^1.1.0"
}
},
"get-caller-file": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
......@@ -3875,7 +4141,6 @@
"version": "0.1.7",
"resolved": "http://192.168.110.93:4873/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
"optional": true,
"requires": {
"assert-plus": "^1.0.0"
......@@ -3987,14 +4252,12 @@
"version": "2.0.0",
"resolved": "http://192.168.110.93:4873/har-schema/-/har-schema-2.0.0.tgz",
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
"dev": true,
"optional": true
},
"har-validator": {
"version": "5.1.3",
"resolved": "http://192.168.110.93:4873/har-validator/-/har-validator-5.1.3.tgz",
"integrity": "sha1-HvievT5JllV2de7ZiTEQ3DUPoIA=",
"dev": true,
"optional": true,
"requires": {
"ajv": "^6.5.5",
......@@ -4005,7 +4268,6 @@
"version": "6.10.2",
"resolved": "http://192.168.110.93:4873/ajv/-/ajv-6.10.2.tgz",
"integrity": "sha1-086gTWsBeyiUrWkED+yLYj60vVI=",
"dev": true,
"optional": true,
"requires": {
"fast-deep-equal": "^2.0.1",
......@@ -4018,14 +4280,12 @@
"version": "2.0.1",
"resolved": "http://192.168.110.93:4873/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
"dev": true,
"optional": true
},
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "http://192.168.110.93:4873/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true,
"optional": true
}
}
......@@ -4054,6 +4314,12 @@
"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
"dev": true
},
"has-unicode": {
"version": "2.0.1",
"resolved": "http://192.168.110.93:4873/has-unicode/-/has-unicode-2.0.1.tgz",
"integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
"optional": true
},
"has-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
......@@ -4184,6 +4450,15 @@
"integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
"dev": true
},
"html-encoding-sniffer": {
"version": "1.0.2",
"resolved": "http://192.168.110.93:4873/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
"integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
"optional": true,
"requires": {
"whatwg-encoding": "^1.0.1"
}
},
"html-entities": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
......@@ -4303,7 +4578,6 @@
"version": "1.2.0",
"resolved": "http://192.168.110.93:4873/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"dev": true,
"optional": true,
"requires": {
"assert-plus": "^1.0.0",
......@@ -4320,8 +4594,7 @@
"iconv-lite": {
"version": "0.4.19",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
"integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
"dev": true
"integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="
},
"icss-replace-symbols": {
"version": "1.1.0",
......@@ -4398,6 +4671,15 @@
"integrity": "sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg==",
"dev": true
},
"ignore-walk": {
"version": "3.0.3",
"resolved": "http://192.168.110.93:4873/ignore-walk/-/ignore-walk-3.0.3.tgz",
"integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
"optional": true,
"requires": {
"minimatch": "^3.0.4"
}
},
"image-size": {
"version": "0.5.5",
"resolved": "http://192.168.110.93:4873/image-size/-/image-size-0.5.5.tgz",
......@@ -4421,7 +4703,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
......@@ -4435,8 +4716,7 @@
"ini": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
"dev": true
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
},
"interpret": {
"version": "1.1.0",
......@@ -4459,6 +4739,12 @@
"integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
"dev": true
},
"ip-regex": {
"version": "2.1.0",
"resolved": "http://192.168.110.93:4873/ip-regex/-/ip-regex-2.1.0.tgz",
"integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
"optional": true
},
"ipaddr.js": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz",
......@@ -4583,7 +4869,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true,
"requires": {
"number-is-nan": "^1.0.0"
}
......@@ -4671,7 +4956,6 @@
"version": "1.0.0",
"resolved": "http://192.168.110.93:4873/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true,
"optional": true
},
"is-utf8": {
......@@ -4713,7 +4997,6 @@
"version": "0.1.2",
"resolved": "http://192.168.110.93:4873/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true,
"optional": true
},
"js-base64": {
......@@ -4754,9 +5037,73 @@
"version": "0.1.1",
"resolved": "http://192.168.110.93:4873/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"dev": true,
"optional": true
},
"jsdom": {
"version": "15.2.1",
"resolved": "http://192.168.110.93:4873/jsdom/-/jsdom-15.2.1.tgz",
"integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==",
"optional": true,
"requires": {
"abab": "^2.0.0",
"acorn": "^7.1.0",
"acorn-globals": "^4.3.2",
"array-equal": "^1.0.0",
"cssom": "^0.4.1",
"cssstyle": "^2.0.0",
"data-urls": "^1.1.0",
"domexception": "^1.0.1",
"escodegen": "^1.11.1",
"html-encoding-sniffer": "^1.0.2",
"nwsapi": "^2.2.0",
"parse5": "5.1.0",
"pn": "^1.1.0",
"request": "^2.88.0",
"request-promise-native": "^1.0.7",
"saxes": "^3.1.9",
"symbol-tree": "^3.2.2",
"tough-cookie": "^3.0.1",
"w3c-hr-time": "^1.0.1",
"w3c-xmlserializer": "^1.1.2",
"webidl-conversions": "^4.0.2",
"whatwg-encoding": "^1.0.5",
"whatwg-mimetype": "^2.3.0",
"whatwg-url": "^7.0.0",
"ws": "^7.0.0",
"xml-name-validator": "^3.0.0"
},
"dependencies": {
"acorn": {
"version": "7.4.1",
"resolved": "http://192.168.110.93:4873/acorn/-/acorn-7.4.1.tgz",
"integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=",
"optional": true
},
"punycode": {
"version": "2.1.1",
"resolved": "http://192.168.110.93:4873/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"optional": true
},
"tough-cookie": {
"version": "3.0.1",
"resolved": "http://192.168.110.93:4873/tough-cookie/-/tough-cookie-3.0.1.tgz",
"integrity": "sha1-nfT1fnOcJpMKAYGEiH9K233Kc7I=",
"optional": true,
"requires": {
"ip-regex": "^2.1.0",
"psl": "^1.1.28",
"punycode": "^2.1.1"
}
},
"ws": {
"version": "7.4.1",
"resolved": "http://192.168.110.93:4873/ws/-/ws-7.4.1.tgz",
"integrity": "sha1-ozO+Amlr0OVM6gQ04h3MiprClLs=",
"optional": true
}
}
},
"jsesc": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
......@@ -4773,7 +5120,6 @@
"version": "0.2.3",
"resolved": "http://192.168.110.93:4873/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
"dev": true,
"optional": true
},
"json-schema-traverse": {
......@@ -4795,7 +5141,6 @@
"version": "5.0.1",
"resolved": "http://192.168.110.93:4873/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true,
"optional": true
},
"json5": {
......@@ -4814,7 +5159,6 @@
"version": "1.4.1",
"resolved": "http://192.168.110.93:4873/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"dev": true,
"optional": true,
"requires": {
"assert-plus": "1.0.0",
......@@ -4930,6 +5274,16 @@
}
}
},
"levn": {
"version": "0.3.0",
"resolved": "http://192.168.110.93:4873/levn/-/levn-0.3.0.tgz",
"integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
"optional": true,
"requires": {
"prelude-ls": "~1.1.2",
"type-check": "~0.3.2"
}
},
"load-json-file": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
......@@ -4979,6 +5333,12 @@
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
"dev": true
},
"lodash.sortby": {
"version": "4.7.0",
"resolved": "http://192.168.110.93:4873/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
"integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
"optional": true
},
"lodash.uniq": {
"version": "4.5.0",
"resolved": "http://192.168.110.93:4873/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
......@@ -5221,14 +5581,12 @@
"mime-db": {
"version": "1.33.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
"integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
"dev": true
"integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ=="
},
"mime-types": {
"version": "2.1.18",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
"integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
"dev": true,
"requires": {
"mime-db": "~1.33.0"
}
......@@ -5239,6 +5597,12 @@
"integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
"dev": true
},
"mimic-response": {
"version": "2.1.0",
"resolved": "http://192.168.110.93:4873/mimic-response/-/mimic-response-2.1.0.tgz",
"integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==",
"optional": true
},
"minimalistic-assert": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
......@@ -5255,7 +5619,6 @@
"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"
}
......@@ -5263,8 +5626,40 @@
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
},
"minipass": {
"version": "2.9.0",
"resolved": "http://192.168.110.93:4873/minipass/-/minipass-2.9.0.tgz",
"integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
"optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
},
"dependencies": {
"safe-buffer": {
"version": "5.2.1",
"resolved": "http://192.168.110.93:4873/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"optional": true
},
"yallist": {
"version": "3.1.1",
"resolved": "http://192.168.110.93:4873/yallist/-/yallist-3.1.1.tgz",
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"optional": true
}
}
},
"minizlib": {
"version": "1.3.3",
"resolved": "http://192.168.110.93:4873/minizlib/-/minizlib-1.3.3.tgz",
"integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
"optional": true,
"requires": {
"minipass": "^2.9.0"
}
},
"mixin-deep": {
"version": "1.3.1",
......@@ -5291,7 +5686,6 @@
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true,
"requires": {
"minimist": "0.0.8"
}
......@@ -5357,6 +5751,34 @@
"xml-char-classes": "^1.0.0"
}
},
"needle": {
"version": "2.5.2",
"resolved": "http://192.168.110.93:4873/needle/-/needle-2.5.2.tgz",
"integrity": "sha1-zxqPzjgrWigBCLupChSZPADkAQo=",
"optional": true,
"requires": {
"debug": "^3.2.6",
"iconv-lite": "^0.4.4",
"sax": "^1.2.4"
},
"dependencies": {
"debug": {
"version": "3.2.7",
"resolved": "http://192.168.110.93:4873/debug/-/debug-3.2.7.tgz",
"integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=",
"optional": true,
"requires": {
"ms": "^2.1.1"
}
},
"ms": {
"version": "2.1.3",
"resolved": "http://192.168.110.93:4873/ms/-/ms-2.1.3.tgz",
"integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=",
"optional": true
}
}
},
"negotiator": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
......@@ -5441,6 +5863,36 @@
}
}
},
"node-pre-gyp": {
"version": "0.11.0",
"resolved": "http://192.168.110.93:4873/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz",
"integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==",
"optional": true,
"requires": {
"detect-libc": "^1.0.2",
"mkdirp": "^0.5.1",
"needle": "^2.2.1",
"nopt": "^4.0.1",
"npm-packlist": "^1.1.6",
"npmlog": "^4.0.2",
"rc": "^1.2.7",
"rimraf": "^2.6.1",
"semver": "^5.3.0",
"tar": "^4"
},
"dependencies": {
"nopt": {
"version": "4.0.3",
"resolved": "http://192.168.110.93:4873/nopt/-/nopt-4.0.3.tgz",
"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
"optional": true,
"requires": {
"abbrev": "1",
"osenv": "^0.1.4"
}
}
}
},
"nopt": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
......@@ -5494,6 +5946,44 @@
"resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz",
"integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
},
"npm-bundled": {
"version": "1.1.1",
"resolved": "http://192.168.110.93:4873/npm-bundled/-/npm-bundled-1.1.1.tgz",
"integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
"optional": true,
"requires": {
"npm-normalize-package-bin": "^1.0.1"
}
},
"npm-normalize-package-bin": {
"version": "1.0.1",
"resolved": "http://192.168.110.93:4873/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
"integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
"optional": true
},
"npm-packlist": {
"version": "1.4.8",
"resolved": "http://192.168.110.93:4873/npm-packlist/-/npm-packlist-1.4.8.tgz",
"integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==",
"optional": true,
"requires": {
"ignore-walk": "^3.0.1",
"npm-bundled": "^1.0.1",
"npm-normalize-package-bin": "^1.0.1"
}
},
"npmlog": {
"version": "4.1.2",
"resolved": "http://192.168.110.93:4873/npmlog/-/npmlog-4.1.2.tgz",
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
"optional": true,
"requires": {
"are-we-there-yet": "~1.1.2",
"console-control-strings": "~1.1.0",
"gauge": "~2.7.3",
"set-blocking": "~2.0.0"
}
},
"nth-check": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz",
......@@ -5512,21 +6002,24 @@
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
},
"nwsapi": {
"version": "2.2.0",
"resolved": "http://192.168.110.93:4873/nwsapi/-/nwsapi-2.2.0.tgz",
"integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
"optional": true
},
"oauth-sign": {
"version": "0.9.0",
"resolved": "http://192.168.110.93:4873/oauth-sign/-/oauth-sign-0.9.0.tgz",
"integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=",
"dev": true,
"optional": true
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
"object-copy": {
"version": "0.1.0",
......@@ -5607,7 +6100,6 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
"wrappy": "1"
}
......@@ -5637,6 +6129,20 @@
"pinkie-promise": "^2.0.0"
}
},
"optionator": {
"version": "0.8.3",
"resolved": "http://192.168.110.93:4873/optionator/-/optionator-0.8.3.tgz",
"integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
"optional": true,
"requires": {
"deep-is": "~0.1.3",
"fast-levenshtein": "~2.0.6",
"levn": "~0.3.0",
"prelude-ls": "~1.1.2",
"type-check": "~0.3.2",
"word-wrap": "~1.2.3"
}
},
"ora": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/ora/-/ora-1.4.0.tgz",
......@@ -5695,8 +6201,7 @@
"os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
},
"os-locale": {
"version": "1.4.0",
......@@ -5710,8 +6215,17 @@
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
},
"osenv": {
"version": "0.1.5",
"resolved": "http://192.168.110.93:4873/osenv/-/osenv-0.1.5.tgz",
"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
"optional": true,
"requires": {
"os-homedir": "^1.0.0",
"os-tmpdir": "^1.0.0"
}
},
"pako": {
"version": "1.0.6",
......@@ -5784,6 +6298,12 @@
"error-ex": "^1.2.0"
}
},
"parse5": {
"version": "5.1.0",
"resolved": "http://192.168.110.93:4873/parse5/-/parse5-5.1.0.tgz",
"integrity": "sha1-xZNByXI/QUxFKXVWTHwApo1YrNI=",
"optional": true
},
"parseurl": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
......@@ -5820,8 +6340,7 @@
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
"path-parse": {
"version": "1.0.5",
......@@ -5863,7 +6382,6 @@
"version": "2.1.0",
"resolved": "http://192.168.110.93:4873/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
"dev": true,
"optional": true
},
"pify": {
......@@ -5896,6 +6414,12 @@
"find-up": "^1.0.0"
}
},
"pn": {
"version": "1.1.0",
"resolved": "http://192.168.110.93:4873/pn/-/pn-1.1.0.tgz",
"integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
"optional": true
},
"posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
......@@ -6484,6 +7008,12 @@
"uniqs": "^2.0.0"
}
},
"prelude-ls": {
"version": "1.1.2",
"resolved": "http://192.168.110.93:4873/prelude-ls/-/prelude-ls-1.1.2.tgz",
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
"optional": true
},
"prepend-http": {
"version": "1.0.4",
"resolved": "http://192.168.110.93:4873/prepend-http/-/prepend-http-1.0.4.tgz",
......@@ -6570,7 +7100,6 @@
"version": "1.3.0",
"resolved": "http://192.168.110.93:4873/psl/-/psl-1.3.0.tgz",
"integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==",
"dev": true,
"optional": true
},
"public-encrypt": {
......@@ -6589,8 +7118,7 @@
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
},
"q": {
"version": "1.5.1",
......@@ -6711,6 +7239,26 @@
"unpipe": "1.0.0"
}
},
"rc": {
"version": "1.2.8",
"resolved": "http://192.168.110.93:4873/rc/-/rc-1.2.8.tgz",
"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"optional": true,
"requires": {
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
"minimist": "^1.2.0",
"strip-json-comments": "~2.0.1"
},
"dependencies": {
"minimist": {
"version": "1.2.5",
"resolved": "http://192.168.110.93:4873/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"optional": true
}
}
},
"read-pkg": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
......@@ -6966,7 +7514,6 @@
"version": "2.88.0",
"resolved": "http://192.168.110.93:4873/request/-/request-2.88.0.tgz",
"integrity": "sha1-nC/KT301tZLv5Xx/ClXoEFIST+8=",
"dev": true,
"optional": true,
"requires": {
"aws-sign2": "~0.7.0",
......@@ -6995,21 +7542,18 @@
"version": "3.0.2",
"resolved": "http://192.168.110.93:4873/extend/-/extend-3.0.2.tgz",
"integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=",
"dev": true,
"optional": true
},
"mime-db": {
"version": "1.40.0",
"resolved": "http://192.168.110.93:4873/mime-db/-/mime-db-1.40.0.tgz",
"integrity": "sha1-plBX6ZjbCQ9zKmj2wnbTh9QSbDI=",
"dev": true,
"optional": true
},
"mime-types": {
"version": "2.1.24",
"resolved": "http://192.168.110.93:4873/mime-types/-/mime-types-2.1.24.tgz",
"integrity": "sha1-tvjQs+lR77d97eyhlM/20W9nb4E=",
"dev": true,
"optional": true,
"requires": {
"mime-db": "1.40.0"
......@@ -7019,18 +7563,44 @@
"version": "6.5.2",
"resolved": "http://192.168.110.93:4873/qs/-/qs-6.5.2.tgz",
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
"dev": true,
"optional": true
},
"safe-buffer": {
"version": "5.2.0",
"resolved": "http://192.168.110.93:4873/safe-buffer/-/safe-buffer-5.2.0.tgz",
"integrity": "sha1-t02uxJsRSPiMZLaNSbHoFcHy9Rk=",
"dev": true,
"optional": true
}
}
},
"request-promise-core": {
"version": "1.1.4",
"resolved": "http://192.168.110.93:4873/request-promise-core/-/request-promise-core-1.1.4.tgz",
"integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==",
"optional": true,
"requires": {
"lodash": "^4.17.19"
},
"dependencies": {
"lodash": {
"version": "4.17.20",
"resolved": "http://192.168.110.93:4873/lodash/-/lodash-4.17.20.tgz",
"integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI=",
"optional": true
}
}
},
"request-promise-native": {
"version": "1.0.9",
"resolved": "http://192.168.110.93:4873/request-promise-native/-/request-promise-native-1.0.9.tgz",
"integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==",
"optional": true,
"requires": {
"request-promise-core": "1.1.4",
"stealthy-require": "^1.1.1",
"tough-cookie": "^2.3.3"
}
},
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
......@@ -7100,6 +7670,31 @@
"align-text": "^0.1.1"
}
},
"rimraf": {
"version": "2.7.1",
"resolved": "http://192.168.110.93:4873/rimraf/-/rimraf-2.7.1.tgz",
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
"optional": true,
"requires": {
"glob": "^7.1.3"
},
"dependencies": {
"glob": {
"version": "7.1.6",
"resolved": "http://192.168.110.93:4873/glob/-/glob-7.1.6.tgz",
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
"optional": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
}
}
},
"ripemd160": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
......@@ -7128,14 +7723,21 @@
"version": "2.1.2",
"resolved": "http://192.168.110.93:4873/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true,
"optional": true
},
"sax": {
"version": "1.2.4",
"resolved": "http://192.168.110.93:4873/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
"dev": true
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"saxes": {
"version": "3.1.11",
"resolved": "http://192.168.110.93:4873/saxes/-/saxes-3.1.11.tgz",
"integrity": "sha1-1Z0f0zLskq2YouCy7mRHAjhLHFs=",
"optional": true,
"requires": {
"xmlchars": "^2.1.1"
}
},
"schart.js": {
"version": "1.0.2",
......@@ -7154,8 +7756,7 @@
"semver": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
"integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
"dev": true
"integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA=="
},
"send": {
"version": "0.16.1",
......@@ -7193,8 +7794,7 @@
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
},
"set-immediate-shim": {
"version": "1.0.1",
......@@ -7267,8 +7867,24 @@
"signal-exit": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
},
"simple-concat": {
"version": "1.0.1",
"resolved": "http://192.168.110.93:4873/simple-concat/-/simple-concat-1.0.1.tgz",
"integrity": "sha1-9Gl2CCujXCJj8cirXt/ibEHJVS8=",
"optional": true
},
"simple-get": {
"version": "3.1.0",
"resolved": "http://192.168.110.93:4873/simple-get/-/simple-get-3.1.0.tgz",
"integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==",
"optional": true,
"requires": {
"decompress-response": "^4.2.0",
"once": "^1.3.1",
"simple-concat": "^1.0.0"
}
},
"simplemde": {
"version": "1.11.2",
......@@ -7516,7 +8132,6 @@
"version": "1.16.1",
"resolved": "http://192.168.110.93:4873/sshpk/-/sshpk-1.16.1.tgz",
"integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=",
"dev": true,
"optional": true,
"requires": {
"asn1": "~0.2.3",
......@@ -7563,6 +8178,12 @@
"integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
"dev": true
},
"stealthy-require": {
"version": "1.1.1",
"resolved": "http://192.168.110.93:4873/stealthy-require/-/stealthy-require-1.1.1.tgz",
"integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
"optional": true
},
"stream-browserify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
......@@ -7669,7 +8290,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
......@@ -7686,7 +8306,6 @@
"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"
}
......@@ -7700,6 +8319,12 @@
"is-utf8": "^0.2.0"
}
},
"strip-json-comments": {
"version": "2.0.1",
"resolved": "http://192.168.110.93:4873/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"optional": true
},
"style-loader": {
"version": "0.23.1",
"resolved": "http://192.168.110.93:4873/style-loader/-/style-loader-0.23.1.tgz",
......@@ -7809,12 +8434,47 @@
"whet.extend": "~0.9.9"
}
},
"symbol-tree": {
"version": "3.2.4",
"resolved": "http://192.168.110.93:4873/symbol-tree/-/symbol-tree-3.2.4.tgz",
"integrity": "sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I=",
"optional": true
},
"tapable": {
"version": "0.2.8",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz",
"integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=",
"dev": true
},
"tar": {
"version": "4.4.13",
"resolved": "http://192.168.110.93:4873/tar/-/tar-4.4.13.tgz",
"integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
"optional": true,
"requires": {
"chownr": "^1.1.1",
"fs-minipass": "^1.2.5",
"minipass": "^2.8.6",
"minizlib": "^1.2.1",
"mkdirp": "^0.5.0",
"safe-buffer": "^5.1.2",
"yallist": "^3.0.3"
},
"dependencies": {
"safe-buffer": {
"version": "5.2.1",
"resolved": "http://192.168.110.93:4873/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"optional": true
},
"yallist": {
"version": "3.1.1",
"resolved": "http://192.168.110.93:4873/yallist/-/yallist-3.1.1.tgz",
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"optional": true
}
}
},
"throttle-debounce": {
"version": "1.1.0",
"resolved": "http://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz",
......@@ -7899,13 +8559,29 @@
"version": "2.4.3",
"resolved": "http://192.168.110.93:4873/tough-cookie/-/tough-cookie-2.4.3.tgz",
"integrity": "sha1-U/Nto/R3g7CSWvoG/587FlKA94E=",
"dev": true,
"optional": true,
"requires": {
"psl": "^1.1.24",
"punycode": "^1.4.1"
}
},
"tr46": {
"version": "1.0.1",
"resolved": "http://192.168.110.93:4873/tr46/-/tr46-1.0.1.tgz",
"integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
"optional": true,
"requires": {
"punycode": "^2.1.0"
},
"dependencies": {
"punycode": {
"version": "2.1.1",
"resolved": "http://192.168.110.93:4873/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"optional": true
}
}
},
"trim-right": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
......@@ -7924,11 +8600,41 @@
"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
"dev": true
},
"tui-code-snippet": {
"version": "1.5.2",
"resolved": "http://192.168.110.93:4873/tui-code-snippet/-/tui-code-snippet-1.5.2.tgz",
"integrity": "sha1-9Ljw8ayZawtbYh93yVB68ZoN4jg="
},
"tui-color-picker": {
"version": "2.2.6",
"resolved": "http://192.168.110.93:4873/tui-color-picker/-/tui-color-picker-2.2.6.tgz",
"integrity": "sha1-urVORzgOVQuzrIrpdAIbPMJRiqk=",
"requires": {
"tui-code-snippet": "^2.2.0"
},
"dependencies": {
"tui-code-snippet": {
"version": "2.3.2",
"resolved": "http://192.168.110.93:4873/tui-code-snippet/-/tui-code-snippet-2.3.2.tgz",
"integrity": "sha1-Oes85G6pIEOzJE8VV5ckhTWIDF0="
}
}
},
"tui-image-editor": {
"version": "3.11.0",
"resolved": "http://192.168.110.93:4873/tui-image-editor/-/tui-image-editor-3.11.0.tgz",
"integrity": "sha1-QyVVbSZhikrHdPR3n2cWuVsWDRU=",
"requires": {
"core-js-pure": "^3.6.4",
"fabric": "4.2.0",
"tui-code-snippet": "^1.5.0",
"tui-color-picker": "^2.2.6"
}
},
"tunnel-agent": {
"version": "0.6.0",
"resolved": "http://192.168.110.93:4873/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "^5.0.1"
......@@ -7938,9 +8644,17 @@
"version": "0.14.5",
"resolved": "http://192.168.110.93:4873/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"dev": true,
"optional": true
},
"type-check": {
"version": "0.3.2",
"resolved": "http://192.168.110.93:4873/type-check/-/type-check-0.3.2.tgz",
"integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
"optional": true,
"requires": {
"prelude-ls": "~1.1.2"
}
},
"type-is": {
"version": "1.6.16",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
......@@ -8107,7 +8821,6 @@
"version": "4.2.2",
"resolved": "http://192.168.110.93:4873/uri-js/-/uri-js-4.2.2.tgz",
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
},
......@@ -8115,8 +8828,7 @@
"punycode": {
"version": "2.1.1",
"resolved": "http://192.168.110.93:4873/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
}
}
},
......@@ -8220,7 +8932,6 @@
"version": "3.3.2",
"resolved": "http://192.168.110.93:4873/uuid/-/uuid-3.3.2.tgz",
"integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
"dev": true,
"optional": true
},
"validate-npm-package-license": {
......@@ -8249,7 +8960,6 @@
"version": "1.10.0",
"resolved": "http://192.168.110.93:4873/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true,
"optional": true,
"requires": {
"assert-plus": "^1.0.0",
......@@ -8426,6 +9136,26 @@
"resolved": "https://registry.npmjs.org/vuex/-/vuex-3.0.1.tgz",
"integrity": "sha512-wLoqz0B7DSZtgbWL1ShIBBCjv22GV5U+vcBFox658g6V0s4wZV9P4YjCNyoHSyIBpj1f29JBoNQIqD82cR4O3w=="
},
"w3c-hr-time": {
"version": "1.0.2",
"resolved": "http://192.168.110.93:4873/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
"integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
"optional": true,
"requires": {
"browser-process-hrtime": "^1.0.0"
}
},
"w3c-xmlserializer": {
"version": "1.1.2",
"resolved": "http://192.168.110.93:4873/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz",
"integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==",
"optional": true,
"requires": {
"domexception": "^1.0.1",
"webidl-conversions": "^4.0.2",
"xml-name-validator": "^3.0.0"
}
},
"watchpack": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
......@@ -8437,6 +9167,12 @@
"neo-async": "^2.5.0"
}
},
"webidl-conversions": {
"version": "4.0.2",
"resolved": "http://192.168.110.93:4873/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
"integrity": "sha1-qFWYCx8LazWbodXZ+zmulB+qY60=",
"optional": true
},
"webpack": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-2.7.0.tgz",
......@@ -8620,6 +9356,43 @@
}
}
},
"whatwg-encoding": {
"version": "1.0.5",
"resolved": "http://192.168.110.93:4873/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
"integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
"optional": true,
"requires": {
"iconv-lite": "0.4.24"
},
"dependencies": {
"iconv-lite": {
"version": "0.4.24",
"resolved": "http://192.168.110.93:4873/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"optional": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
}
}
},
"whatwg-mimetype": {
"version": "2.3.0",
"resolved": "http://192.168.110.93:4873/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
"integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
"optional": true
},
"whatwg-url": {
"version": "7.1.0",
"resolved": "http://192.168.110.93:4873/whatwg-url/-/whatwg-url-7.1.0.tgz",
"integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
"optional": true,
"requires": {
"lodash.sortby": "^4.7.0",
"tr46": "^1.0.1",
"webidl-conversions": "^4.0.2"
}
},
"whet.extend": {
"version": "0.9.9",
"resolved": "http://192.168.110.93:4873/whet.extend/-/whet.extend-0.9.9.tgz",
......@@ -8632,12 +9405,27 @@
"integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
"dev": true
},
"wide-align": {
"version": "1.1.3",
"resolved": "http://192.168.110.93:4873/wide-align/-/wide-align-1.1.3.tgz",
"integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
"optional": true,
"requires": {
"string-width": "^1.0.2 || 2"
}
},
"window-size": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
"integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
"dev": true
},
"word-wrap": {
"version": "1.2.3",
"resolved": "http://192.168.110.93:4873/word-wrap/-/word-wrap-1.2.3.tgz",
"integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=",
"optional": true
},
"wordwrap": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
......@@ -8657,8 +9445,7 @@
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"ws": {
"version": "4.1.0",
......@@ -8700,6 +9487,18 @@
"integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=",
"dev": true
},
"xml-name-validator": {
"version": "3.0.0",
"resolved": "http://192.168.110.93:4873/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
"integrity": "sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo=",
"optional": true
},
"xmlchars": {
"version": "2.2.0",
"resolved": "http://192.168.110.93:4873/xmlchars/-/xmlchars-2.2.0.tgz",
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
"optional": true
},
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
......
......@@ -10,10 +10,13 @@
"build:dll": "webpack --config build/webpack.dll.conf.js"
},
"dependencies": {
"@toast-ui/vue-image-editor": "^1.3.0",
"axios": "^0.18.0",
"babel-polyfill": "^6.23.0",
"echarts": "^4.9.0",
"element-ui": "^2.7.2",
"file-saver": "^2.0.5",
"tui-image-editor": "^3.11.0",
"vue": "^2.3.2",
"vue-core-image-upload": "2.1.11",
"vue-datasource": "1.0.9",
......
......@@ -5,18 +5,17 @@ import router from './router';
import store from './vuex/store'
import axios from 'axios';
import ElementUI from 'element-ui';
import echarts from 'echarts';
import 'element-ui/lib/theme-chalk/index.css'; // 默认主题
import {getAddress, loadCommonFilter} from './common/env'
import vueFilter from './common/filter';
//加载环境变量
getAddress();
loadCommonFilter();
//加载elementUi
Vue.use(ElementUI);
Vue.prototype.$echarts = echarts;
// Vue.use(vueXlsxTable, {rABS: false})
if (localStorage.getItem("token")) {
......
<template>
<div>
<div>埋点管理</div>
<div class="strack-list-contrainer">
<div class="title">编辑页面埋点</div>
<el-form ref="form" label-width="120px" :model="form">
<el-form-item label="上传图片:" prop="filePath">
<el-form-item label="menu_code">
<el-input disabled v-model="form.menuCode" style="width: 30%;"></el-input>
</el-form-item>
<el-form-item label="menu_name">
<el-input disabled v-model="form.menuName" style="width: 30%;"></el-input>
</el-form-item>
<el-form-item label="action_code">
<el-input disabled v-model="form.actionCode" style="width: 30%;"></el-input>
</el-form-item>
<el-form-item label="action_name">
<el-input v-model="form.actionName" style="width: 30%;"></el-input>
</el-form-item>
<el-form-item label="下一个负责人">
<el-select v-model="form.member" placeholder="请下一个负责人" style="width:30%;">
<el-option
v-for="(eItem,eIndex) in memberSelect"
:key="eIndex"
:label="eItem"
:value="eItem">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="Tag_type">
<el-select v-model="tagType1" @click="changeTag1" style="width:10%;">
<el-option
v-for="(eItem,eIndex) in tagSelect"
:key="eIndex"
:label="eItem.label"
:value="eItem.value">
</el-option>
</el-select>
<el-input v-model="tag1" placeholder="请输入第一个Tag" clearable style="width:20%;"></el-input>
</el-form-item>
<el-form-item label="Tag_type">
<el-select v-model="tagType2" style="width:10%;">
<el-option
v-for="(eItem,eIndex) in tagSelect"
:key="eIndex"
:label="eItem.label"
:value="eItem.value">
</el-option>
</el-select>
<el-input v-model="tag2" placeholder="请输入第二个Tag" clearable style="width:20%;"></el-input>
</el-form-item>
<el-form-item label="Tag_type">
<el-select v-model="tagType3" style="width:10%;">
<el-option
v-for="(eItem,eIndex) in tagSelect"
:key="eIndex"
:label="eItem.label"
:value="eItem.value">
</el-option>
</el-select>
<el-input v-model="tag3" placeholder="请输入第三个Tag" clearable style="width:20%;"></el-input>
</el-form-item>
<el-form-item label="Tag_type">
<el-select v-model="tagType4" style="width:10%;">
<el-option
v-for="(eItem,eIndex) in tagSelect"
:key="eIndex"
:label="eItem.label"
:value="eItem.value">
</el-option>
</el-select>
<el-input v-model="tag4" placeholder="请输入第四个Tag" clearable style="width:20%;"></el-input>
</el-form-item>
<el-form-item label="Tag_type">
<el-select v-model="tagType5" style="width:10%;">
<el-option
v-for="(eItem,eIndex) in tagSelect"
:key="eIndex"
:label="eItem.label"
:value="eItem.value">
</el-option>
</el-select>
<el-input v-model="tag5" placeholder="请输入第五个Tag" clearable style="width:20%;"></el-input>
</el-form-item>
<el-form-item label="上传涂鸦图片:" prop="filePath">
<el-upload
v-model="form.filePath"
class="avatar-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeAvatarUpload">
<img class="bg-img" src="../../../static/img/default.png">
<img v-if="!imageUrl" class="bg-img" src="../../../static/img/default.png">
<img v-if="imageUrl" class="bg-img" :src="imageUrl">
</el-upload>
</el-form-item>
</el-form>
<div class="fa">
<div class="top">
<input id="clear" type="button" value="清除画布" style="width:80px;"/>
<input id="imgurl" type="button" value="保存" style="width:80px;"/>
</div>
<canvas id="canvas" width="375" height="667">您的浏览器不支持 canvas 标签</canvas>
<div id="div1"></div>
</div>
<div id="html">
<img :src="saveImgUrl" />
</div>
<div id="tui-image-editor"></div>
</div>
</template>
<script>
import {doUpload, getFilePath,} from "../../common/qiniuUtil";
import {isEmptyUtils, openLoading, closeLoading,messageBox} from '../../common/utils';
import ImageEditor from 'tui-image-editor';
import FileSaver from 'file-saver';
import { doUpload, getFilePath } from "../../common/qiniuUtil";
import { isEmptyUtils, openLoading, closeLoading,messageBox } from '../../common/utils';
export default {
data() {
return {
saveImgUrl: '',
imageUrl: '',
form: {
menuCode: '',
menuName: '',
actionCode: '',
actionName: '',
member: '',
filePath: ''
}
}
},
mounted() {
this.load();
},
methods: {
load(){
this.x = [];//记录鼠标移动是的X坐标
this.y = [];//记录鼠标移动是的Y坐标
this.clickDrag = [];
this.lock = false;//鼠标移动前,判断鼠标是否按下
this.eraserRadius = 15;//擦除半径值
this.$ = function(id){return typeof id=="string" ? document.getElementById(id) : id;};
this.canvas = this.$("canvas");
this.cxt = this.canvas.getContext('2d');
this.cxt.lineJoin = "round";//context.lineJoin - 指定两条线段的连接方式
this.cxt.lineWidth = 3;//线条的宽度
this.iptClear = this.$("clear");
this.imgurl = this.$("imgurl");//图片路径按钮
this.w = this.canvas.width;//取画布的宽
this.h = this.canvas.height;//取画布的高
this.touch =("createTouch" in document);//判定是否为手持设备
this.StartEvent = this.touch ? "touchstart" : "mousedown";//支持触摸式使用相应的事件替代
this.MoveEvent = this.touch ? "touchmove" : "mousemove";
this.EndEvent = this.touch ? "touchend" : "mouseup";
this.bind();
},
bind(){
var t = this;
this.iptClear.onclick = function(){ /*清除画布*/
t.clear();
};
this.canvas['on' + t.StartEvent] = function(e){ /*鼠标按下事件,记录鼠标位置,并绘制,解锁lock,打开mousemove事件*/
var touch = t.touch ? e.touches[0] : e;
var _x = touch.clientX - touch.target.offsetLeft -250; //鼠标在画布上的x坐标,以画布左上角为起点
var _y = touch.clientY - touch.target.offsetTop -70; //鼠标在画布上的y坐标,以画布左上角为起点
t.movePoint(_x,_y);//记录鼠标位置
t.drawPoint();//绘制路线
t.lock = true;
};
this.canvas['on' + t.MoveEvent] = function(e){ /*鼠标移动事件*/
var touch = t.touch ? e.touches[0] : e;
if(t.lock){ //t.lock为true则执行
var _x = touch.clientX - touch.target.offsetLeft -250;//鼠标在画布上的x坐标,以画布左上角为起点
var _y = touch.clientY - touch.target.offsetTop-70;//鼠标在画布上的y坐标,以画布左上角为起点
t.movePoint(_x,_y,true);//记录鼠标位置
t.drawPoint();//绘制路线
memberSelect: [],
tagSelect: [{
label: '新建new_tag_type',
value: 0
},{
label: '课程ID',
value: '001'
}],
tagType1: '',
tag1: '',
tagType2: '',
tag2: '',
tagType3: '',
tag3: '',
tagType4: '',
tag4: '',
tagType5: '',
tag5: '',
}
};
this.canvas['on' + t.EndEvent] = function(e){ /*重置数据*/
t.lock = false;
t.x = [];
t.y = [];
t.clickDrag = [];
clearInterval(t.Timer);
t.Timer=null;
};
this.imgurl.onclick=function(){
t.getUrl();
};
},
movePoint(x, y, dragging){ /*将鼠标坐标添加到各自对应的数组里*/
this.x.push(x);
this.y.push(y);
this.clickDrag.push(y);
mounted() {
this.editorInstance = new ImageEditor(document.querySelector('#tui-image-editor'), {
includeUI: {
menu: ['draw', 'text'],
loadImage: {
path: '../../static/img/test.png',
name: 'SampleImage',
},
drawPoint(x,y,radius){
for(var i = 0; i < this.x.length; i++){ //循环数组
this.cxt.beginPath(); //context.beginPath() , 准备绘制一条路径
if(this.clickDrag[i] && i){ //当是拖动而且i!=0时,从上一个点开始画线。
this.cxt.moveTo(this.x[i-1], this.y[i-1]); //context.moveTo(x, y) , 新开一个路径,并指定路径的起点
}else{
this.cxt.moveTo(this.x[i]-1, this.y[i]);
}
this.cxt.lineTo(this.x[i], this.y[i]);//context.lineTo(x, y) , 将当前点与指定的点用一条笔直的路径连接起来
this.cxt.closePath();//context.closePath() , 如果当前路径是打开的则关闭它
this.cxt.stroke();//context.stroke() , 绘制当前路径
initMenu: 'draw',
menuBarPosition: 'top',
uiSize: {
width: 400,
height: 700
}
},
clear(){
this.cxt.clearRect(0, 0, this.w, this.h);//清除画布,左上角为起点
cssMaxWidth: 400,
cssMaxHeight: 700,
selectionStyle: {
cornerSize: 20,
rotatingPointOffset: 70,
},
dataURLtoFile(dataurl, filename = 'file') {
let arr = dataurl.split(',');
let mime = arr[0].match(/:(.*?);/)[1];
let suffix = mime.split('/')[1]
let bstr = atob(arr[1])
let n = bstr.length
let u8arr = new Uint8Array(n)
while (n--) {
u8arr[n] = bstr.charCodeAt(n)
}
return new File([u8arr], `${filename}.${suffix}`, {
type: mime
})
},
getUrl(){
let _this = this;
var base64Img = this.canvas.toDataURL();
// 转成图片文件
var imgFile = this.dataURLtoFile(base64Img);
doUpload(_this, imgFile, getFilePath(imgFile,null), 'preview4', 'progress1', 1).then(function (path) {
_this.saveImgUrl = path.fullPath;
});
},
methods: {
beforeAvatarUpload(file) {
let _this = this;
if (isEmptyUtils(file)) {
......@@ -148,24 +162,41 @@ export default {
}
_this.$message.info('开始上传');
doUpload(_this, file, getFilePath(file,null), 'preview4', 'progress1', 1).then(function (path) {
let bg = document.getElementById('canvas');
let ctx = bg.getContext('2d')
// bg.style.background = "url('" + path.fullPath + "') no-repeat";
// bg.style.backgroundSize = "300px auto";
// bg.style.zIndex = "-1";
ctx.drawImage(path.fullPath,100,100);
_this.imageUrl = path.fullPath;
_this.form.filePath = path.fullPath
_this.$message.success('上传成功');
});
return false;
},
changeTag1(val) {
if(!val) {
}
}
}
}
</script>
<style lang="less" scoped>
*{margin:0;padding:0;}
.fa{width:740px;margin:0 auto;}
.top{margin:20px 0;}
#canvas{background:#eee;cursor:default;}
<style lang="less">
.strack-list-contrainer {
.title {
margin-bottom: 30px;
}
.tui-image-editor-container {
width: 900px;
height: 900px;
.tui-image-editor-submenu {
width: 300px;
height: 130px;
white-space: normal !important;
}
.tui-image-editor-controls-buttons > div, .tui-image-editor-controls-logo{
display: none !important;
}
.tui-image-editor-button ul li input {
width: 18px;
height: 18px;
}
}
}
</style>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册