Commit 07b7c6ee by 宋珺琪

视频功能、阴影

parent 468e2e07
File added
<!DOCTYPE html> <!DOCTYPE html>
<html> <html style="height: 100%">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>考试</title> <title>考试</title>
</head> </head>
<body> <body style="height: 100%">
<div id="app"></div> <div id="app"></div>
<!-- built files will be auto injected --> <!-- built files will be auto injected -->
</body> </body>
......
...@@ -2736,6 +2736,12 @@ ...@@ -2736,6 +2736,12 @@
} }
} }
}, },
"abbrev": {
"version": "1.1.1",
"resolved": "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz",
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
"dev": true
},
"accepts": { "accepts": {
"version": "1.3.8", "version": "1.3.8",
"resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz", "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz",
...@@ -2804,6 +2810,12 @@ ...@@ -2804,6 +2810,12 @@
"integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==", "integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==",
"dev": true "dev": true
}, },
"amdefine": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==",
"dev": true
},
"ansi-html": { "ansi-html": {
"version": "0.0.7", "version": "0.0.7",
"resolved": "https://registry.npmmirror.com/ansi-html/-/ansi-html-0.0.7.tgz", "resolved": "https://registry.npmmirror.com/ansi-html/-/ansi-html-0.0.7.tgz",
...@@ -2829,7 +2841,6 @@ ...@@ -2829,7 +2841,6 @@
"resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"normalize-path": "^3.0.0", "normalize-path": "^3.0.0",
"picomatch": "^2.0.4" "picomatch": "^2.0.4"
...@@ -2841,6 +2852,16 @@ ...@@ -2841,6 +2852,16 @@
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
"dev": true "dev": true
}, },
"are-we-there-yet": {
"version": "1.1.7",
"resolved": "https://registry.npmmirror.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz",
"integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==",
"dev": true,
"requires": {
"delegates": "^1.0.0",
"readable-stream": "^2.0.6"
}
},
"argparse": { "argparse": {
"version": "1.0.10", "version": "1.0.10",
"resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz",
...@@ -2952,6 +2973,15 @@ ...@@ -2952,6 +2973,15 @@
"is-shared-array-buffer": "^1.0.2" "is-shared-array-buffer": "^1.0.2"
} }
}, },
"asn1": {
"version": "0.2.6",
"resolved": "https://registry.npmmirror.com/asn1/-/asn1-0.2.6.tgz",
"integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
"dev": true,
"requires": {
"safer-buffer": "~2.1.0"
}
},
"asn1.js": { "asn1.js": {
"version": "5.4.1", "version": "5.4.1",
"resolved": "https://registry.npmmirror.com/asn1.js/-/asn1.js-5.4.1.tgz", "resolved": "https://registry.npmmirror.com/asn1.js/-/asn1.js-5.4.1.tgz",
...@@ -2999,6 +3029,12 @@ ...@@ -2999,6 +3029,12 @@
} }
} }
}, },
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
"dev": true
},
"assign-symbols": { "assign-symbols": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/assign-symbols/-/assign-symbols-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/assign-symbols/-/assign-symbols-1.0.0.tgz",
...@@ -3020,6 +3056,12 @@ ...@@ -3020,6 +3056,12 @@
"integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==",
"dev": true "dev": true
}, },
"async-foreach": {
"version": "0.1.3",
"resolved": "https://registry.npmmirror.com/async-foreach/-/async-foreach-0.1.3.tgz",
"integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==",
"dev": true
},
"async-limiter": { "async-limiter": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/async-limiter/-/async-limiter-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/async-limiter/-/async-limiter-1.0.1.tgz",
...@@ -3034,6 +3076,12 @@ ...@@ -3034,6 +3076,12 @@
"babel-runtime": "6.x" "babel-runtime": "6.x"
} }
}, },
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
"dev": true
},
"atob": { "atob": {
"version": "2.1.2", "version": "2.1.2",
"resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz", "resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz",
...@@ -3089,6 +3137,18 @@ ...@@ -3089,6 +3137,18 @@
"integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
"dev": true "dev": true
}, },
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npmmirror.com/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
"dev": true
},
"aws4": {
"version": "1.12.0",
"resolved": "https://registry.npmmirror.com/aws4/-/aws4-1.12.0.tgz",
"integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==",
"dev": true
},
"axios": { "axios": {
"version": "0.18.1", "version": "0.18.1",
"resolved": "https://registry.npmmirror.com/axios/-/axios-0.18.1.tgz", "resolved": "https://registry.npmmirror.com/axios/-/axios-0.18.1.tgz",
...@@ -4120,6 +4180,15 @@ ...@@ -4120,6 +4180,15 @@
"integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==",
"dev": true "dev": true
}, },
"bcrypt-pbkdf": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
"dev": true,
"requires": {
"tweetnacl": "^0.14.3"
}
},
"bfj-node4": { "bfj-node4": {
"version": "5.3.1", "version": "5.3.1",
"resolved": "https://registry.npmmirror.com/bfj-node4/-/bfj-node4-5.3.1.tgz", "resolved": "https://registry.npmmirror.com/bfj-node4/-/bfj-node4-5.3.1.tgz",
...@@ -4141,8 +4210,16 @@ ...@@ -4141,8 +4210,16 @@
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz", "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true
},
"block-stream": {
"version": "0.0.9",
"resolved": "https://registry.npmmirror.com/block-stream/-/block-stream-0.0.9.tgz",
"integrity": "sha512-OorbnJVPII4DuUKbjARAe8u8EfqOmkEEaSFIyoQ7OjTHn6kafxWl0wLgoZ2rXaYd7MyLcDaU4TmhfxtwgcccMQ==",
"dev": true, "dev": true,
"optional": true "requires": {
"inherits": "~2.0.0"
}
}, },
"bluebird": { "bluebird": {
"version": "3.7.2", "version": "3.7.2",
...@@ -4254,7 +4331,6 @@ ...@@ -4254,7 +4331,6 @@
"resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"fill-range": "^7.0.1" "fill-range": "^7.0.1"
} }
...@@ -4560,9 +4636,9 @@ ...@@ -4560,9 +4636,9 @@
} }
}, },
"caniuse-db": { "caniuse-db": {
"version": "1.0.30001563", "version": "1.0.30001576",
"resolved": "https://registry.npmmirror.com/caniuse-db/-/caniuse-db-1.0.30001563.tgz", "resolved": "https://registry.npmmirror.com/caniuse-db/-/caniuse-db-1.0.30001576.tgz",
"integrity": "sha512-S7+hUoeqtkH8bWq1IgRHS8UQZAspbUUfGOnSHgxLakxqEMgPxKK2gpUwCUfnNIvhiA7n/XigRrj3xom0PecvUA==", "integrity": "sha512-bGwOJevlBGuFl/Ex+TwMHH9PMaaBjhJMV3RMl4ll/vyNPu+7Z4nWQuO3V0+L+cofQrwud77VEj07OhHZKbUUqQ==",
"dev": true "dev": true
}, },
"caniuse-lite": { "caniuse-lite": {
...@@ -4571,6 +4647,12 @@ ...@@ -4571,6 +4647,12 @@
"integrity": "sha512-na2WUmOxnwIZtwnFI2CZ/3er0wdNzU7hN+cPYz/z2ajHThnkWjNBOpEPP4n+4r2WPM847JaMotaJE3bnfzjyKw==", "integrity": "sha512-na2WUmOxnwIZtwnFI2CZ/3er0wdNzU7hN+cPYz/z2ajHThnkWjNBOpEPP4n+4r2WPM847JaMotaJE3bnfzjyKw==",
"dev": true "dev": true
}, },
"caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmmirror.com/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
"dev": true
},
"center-align": { "center-align": {
"version": "0.1.3", "version": "0.1.3",
"resolved": "https://registry.npmmirror.com/center-align/-/center-align-0.1.3.tgz", "resolved": "https://registry.npmmirror.com/center-align/-/center-align-0.1.3.tgz",
...@@ -4602,7 +4684,6 @@ ...@@ -4602,7 +4684,6 @@
"resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz", "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz",
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"anymatch": "~3.1.2", "anymatch": "~3.1.2",
"braces": "~3.0.2", "braces": "~3.0.2",
...@@ -4738,6 +4819,25 @@ ...@@ -4738,6 +4819,25 @@
"integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
"dev": true "dev": true
}, },
"clone-deep": {
"version": "4.0.1",
"resolved": "https://registry.npmmirror.com/clone-deep/-/clone-deep-4.0.1.tgz",
"integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
"dev": true,
"requires": {
"is-plain-object": "^2.0.4",
"kind-of": "^6.0.2",
"shallow-clone": "^3.0.0"
},
"dependencies": {
"kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
}
}
},
"co": { "co": {
"version": "4.6.0", "version": "4.6.0",
"resolved": "https://registry.npmmirror.com/co/-/co-4.6.0.tgz", "resolved": "https://registry.npmmirror.com/co/-/co-4.6.0.tgz",
...@@ -4819,6 +4919,15 @@ ...@@ -4819,6 +4919,15 @@
"integrity": "sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==", "integrity": "sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==",
"dev": true "dev": true
}, },
"combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dev": true,
"requires": {
"delayed-stream": "~1.0.0"
}
},
"commander": { "commander": {
"version": "2.17.1", "version": "2.17.1",
"resolved": "https://registry.npmmirror.com/commander/-/commander-2.17.1.tgz", "resolved": "https://registry.npmmirror.com/commander/-/commander-2.17.1.tgz",
...@@ -4914,6 +5023,12 @@ ...@@ -4914,6 +5023,12 @@
"integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
"dev": true "dev": true
}, },
"console-control-strings": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/console-control-strings/-/console-control-strings-1.1.0.tgz",
"integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
"dev": true
},
"consolidate": { "consolidate": {
"version": "0.14.5", "version": "0.14.5",
"resolved": "https://registry.npmmirror.com/consolidate/-/consolidate-0.14.5.tgz", "resolved": "https://registry.npmmirror.com/consolidate/-/consolidate-0.14.5.tgz",
...@@ -6152,6 +6267,15 @@ ...@@ -6152,6 +6267,15 @@
"type": "^1.0.1" "type": "^1.0.1"
} }
}, },
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmmirror.com/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
"dev": true,
"requires": {
"assert-plus": "^1.0.0"
}
},
"de-indent": { "de-indent": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz",
...@@ -6284,6 +6408,18 @@ ...@@ -6284,6 +6408,18 @@
} }
} }
}, },
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"dev": true
},
"delegates": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/delegates/-/delegates-1.0.0.tgz",
"integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
"dev": true
},
"depd": { "depd": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz",
...@@ -6463,6 +6599,16 @@ ...@@ -6463,6 +6599,16 @@
"stream-shift": "^1.0.0" "stream-shift": "^1.0.0"
} }
}, },
"ecc-jsbn": {
"version": "0.1.2",
"resolved": "https://registry.npmmirror.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
"dev": true,
"requires": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
}
},
"echarts": { "echarts": {
"version": "4.9.0", "version": "4.9.0",
"resolved": "https://registry.npmmirror.com/echarts/-/echarts-4.9.0.tgz", "resolved": "https://registry.npmmirror.com/echarts/-/echarts-4.9.0.tgz",
...@@ -6530,6 +6676,12 @@ ...@@ -6530,6 +6676,12 @@
"resolved": "https://registry.npmmirror.com/emitter-component/-/emitter-component-1.1.2.tgz", "resolved": "https://registry.npmmirror.com/emitter-component/-/emitter-component-1.1.2.tgz",
"integrity": "sha512-QdXO3nXOzZB4pAjM0n6ZE+R9/+kPpECA/XSELIcc54NeYVnBqIk+4DFiBgK+8QbV3mdvTG6nedl7dTYgO+5wDw==" "integrity": "sha512-QdXO3nXOzZB4pAjM0n6ZE+R9/+kPpECA/XSELIcc54NeYVnBqIk+4DFiBgK+8QbV3mdvTG6nedl7dTYgO+5wDw=="
}, },
"emoji-regex": {
"version": "7.0.3",
"resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-7.0.3.tgz",
"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
"dev": true
},
"emojis-list": { "emojis-list": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz",
...@@ -7099,6 +7251,12 @@ ...@@ -7099,6 +7251,12 @@
"webpack-sources": "^1.0.1" "webpack-sources": "^1.0.1"
} }
}, },
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmmirror.com/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
"dev": true
},
"fast-deep-equal": { "fast-deep-equal": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
...@@ -7183,7 +7341,6 @@ ...@@ -7183,7 +7341,6 @@
"resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"to-regex-range": "^5.0.1" "to-regex-range": "^5.0.1"
} }
...@@ -7294,6 +7451,23 @@ ...@@ -7294,6 +7451,23 @@
"integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==",
"dev": true "dev": true
}, },
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmmirror.com/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
"dev": true
},
"form-data": {
"version": "2.3.3",
"resolved": "https://registry.npmmirror.com/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
"dev": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
"mime-types": "^2.1.12"
}
},
"forwarded": { "forwarded": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz",
...@@ -7410,6 +7584,18 @@ ...@@ -7410,6 +7584,18 @@
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"fstream": {
"version": "1.0.12",
"resolved": "https://registry.npmmirror.com/fstream/-/fstream-1.0.12.tgz",
"integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"inherits": "~2.0.0",
"mkdirp": ">=0.5 0",
"rimraf": "2"
}
},
"function-bind": { "function-bind": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
...@@ -7434,6 +7620,53 @@ ...@@ -7434,6 +7620,53 @@
"integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
"dev": true "dev": true
}, },
"gauge": {
"version": "2.7.4",
"resolved": "https://registry.npmmirror.com/gauge/-/gauge-2.7.4.tgz",
"integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==",
"dev": 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"
},
"dependencies": {
"is-fullwidth-code-point": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==",
"dev": true,
"requires": {
"number-is-nan": "^1.0.0"
}
},
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==",
"dev": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
"strip-ansi": "^3.0.0"
}
}
}
},
"gaze": {
"version": "1.1.3",
"resolved": "https://registry.npmmirror.com/gaze/-/gaze-1.1.3.tgz",
"integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
"dev": true,
"requires": {
"globule": "^1.0.0"
}
},
"gensync": { "gensync": {
"version": "1.0.0-beta.2", "version": "1.0.0-beta.2",
"resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz",
...@@ -7486,6 +7719,15 @@ ...@@ -7486,6 +7719,15 @@
"integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==",
"dev": true "dev": true
}, },
"getpass": {
"version": "0.1.7",
"resolved": "https://registry.npmmirror.com/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
"dev": true,
"requires": {
"assert-plus": "^1.0.0"
}
},
"glob": { "glob": {
"version": "7.2.3", "version": "7.2.3",
"resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz",
...@@ -7505,7 +7747,6 @@ ...@@ -7505,7 +7747,6 @@
"resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"is-glob": "^4.0.1" "is-glob": "^4.0.1"
} }
...@@ -7547,6 +7788,42 @@ ...@@ -7547,6 +7788,42 @@
"slash": "^1.0.0" "slash": "^1.0.0"
} }
}, },
"globule": {
"version": "1.3.4",
"resolved": "https://registry.npmmirror.com/globule/-/globule-1.3.4.tgz",
"integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==",
"dev": true,
"requires": {
"glob": "~7.1.1",
"lodash": "^4.17.21",
"minimatch": "~3.0.2"
},
"dependencies": {
"glob": {
"version": "7.1.7",
"resolved": "https://registry.npmmirror.com/glob/-/glob-7.1.7.tgz",
"integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
"dev": 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"
}
},
"minimatch": {
"version": "3.0.8",
"resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.0.8.tgz",
"integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
"dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
}
}
},
"gopd": { "gopd": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz",
...@@ -7589,6 +7866,48 @@ ...@@ -7589,6 +7866,48 @@
"integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==",
"dev": true "dev": true
}, },
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/har-schema/-/har-schema-2.0.0.tgz",
"integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
"dev": true
},
"har-validator": {
"version": "5.1.5",
"resolved": "https://registry.npmmirror.com/har-validator/-/har-validator-5.1.5.tgz",
"integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
"dev": true,
"requires": {
"ajv": "^6.12.3",
"har-schema": "^2.0.0"
},
"dependencies": {
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
"requires": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true
},
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
}
}
},
"has": { "has": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmmirror.com/has/-/has-1.0.4.tgz", "resolved": "https://registry.npmmirror.com/has/-/has-1.0.4.tgz",
...@@ -7645,6 +7964,12 @@ ...@@ -7645,6 +7964,12 @@
"has-symbols": "^1.0.2" "has-symbols": "^1.0.2"
} }
}, },
"has-unicode": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/has-unicode/-/has-unicode-2.0.1.tgz",
"integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
"dev": true
},
"has-value": { "has-value": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/has-value/-/has-value-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/has-value/-/has-value-1.0.0.tgz",
...@@ -7954,6 +8279,17 @@ ...@@ -7954,6 +8279,17 @@
"micromatch": "^3.1.10" "micromatch": "^3.1.10"
} }
}, },
"http-signature": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
"dev": true,
"requires": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
"sshpk": "^1.7.0"
}
},
"https-browserify": { "https-browserify": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/https-browserify/-/https-browserify-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/https-browserify/-/https-browserify-1.0.0.tgz",
...@@ -8029,6 +8365,12 @@ ...@@ -8029,6 +8365,12 @@
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"immutable": {
"version": "4.3.4",
"resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.4.tgz",
"integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==",
"dev": true
},
"import-cwd": { "import-cwd": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmmirror.com/import-cwd/-/import-cwd-2.1.0.tgz", "resolved": "https://registry.npmmirror.com/import-cwd/-/import-cwd-2.1.0.tgz",
...@@ -8073,6 +8415,12 @@ ...@@ -8073,6 +8415,12 @@
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"dev": true "dev": true
}, },
"in-publish": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/in-publish/-/in-publish-2.0.1.tgz",
"integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==",
"dev": true
},
"indent-string": { "indent-string": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-2.1.0.tgz", "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-2.1.0.tgz",
...@@ -8212,7 +8560,6 @@ ...@@ -8212,7 +8560,6 @@
"resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"binary-extensions": "^2.0.0" "binary-extensions": "^2.0.0"
} }
...@@ -8338,8 +8685,7 @@ ...@@ -8338,8 +8685,7 @@
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true, "dev": true
"optional": true
}, },
"is-number-object": { "is-number-object": {
"version": "1.0.7", "version": "1.0.7",
...@@ -8462,6 +8808,12 @@ ...@@ -8462,6 +8808,12 @@
"which-typed-array": "^1.1.11" "which-typed-array": "^1.1.11"
} }
}, },
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
"dev": true
},
"is-utf8": { "is-utf8": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmmirror.com/is-utf8/-/is-utf8-0.2.1.tgz", "resolved": "https://registry.npmmirror.com/is-utf8/-/is-utf8-0.2.1.tgz",
...@@ -8513,6 +8865,12 @@ ...@@ -8513,6 +8865,12 @@
"integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
"dev": true "dev": true
}, },
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmmirror.com/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
"dev": true
},
"js-base64": { "js-base64": {
"version": "2.6.4", "version": "2.6.4",
"resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz", "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz",
...@@ -8534,6 +8892,12 @@ ...@@ -8534,6 +8892,12 @@
"esprima": "^2.6.0" "esprima": "^2.6.0"
} }
}, },
"jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
"dev": true
},
"jsesc": { "jsesc": {
"version": "2.5.2", "version": "2.5.2",
"resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz", "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz",
...@@ -8551,12 +8915,24 @@ ...@@ -8551,12 +8915,24 @@
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true "dev": true
}, },
"json-schema": {
"version": "0.4.0",
"resolved": "https://registry.npmmirror.com/json-schema/-/json-schema-0.4.0.tgz",
"integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
"dev": true
},
"json-schema-traverse": { "json-schema-traverse": {
"version": "0.3.1", "version": "0.3.1",
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
"integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==", "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==",
"dev": true "dev": true
}, },
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
"dev": true
},
"json3": { "json3": {
"version": "3.3.3", "version": "3.3.3",
"resolved": "https://registry.npmmirror.com/json3/-/json3-3.3.3.tgz", "resolved": "https://registry.npmmirror.com/json3/-/json3-3.3.3.tgz",
...@@ -8578,6 +8954,18 @@ ...@@ -8578,6 +8954,18 @@
"graceful-fs": "^4.1.6" "graceful-fs": "^4.1.6"
} }
}, },
"jsprim": {
"version": "1.4.2",
"resolved": "https://registry.npmmirror.com/jsprim/-/jsprim-1.4.2.tgz",
"integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
"dev": true,
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
"json-schema": "0.4.0",
"verror": "1.10.0"
}
},
"keycharm": { "keycharm": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmmirror.com/keycharm/-/keycharm-0.2.0.tgz", "resolved": "https://registry.npmmirror.com/keycharm/-/keycharm-0.2.0.tgz",
...@@ -9340,6 +9728,12 @@ ...@@ -9340,6 +9728,12 @@
"integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==", "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==",
"dev": true "dev": true
}, },
"nan": {
"version": "2.18.0",
"resolved": "https://registry.npmmirror.com/nan/-/nan-2.18.0.tgz",
"integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==",
"dev": true
},
"nanoid": { "nanoid": {
"version": "3.3.7", "version": "3.3.7",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz",
...@@ -9423,6 +9817,34 @@ ...@@ -9423,6 +9817,34 @@
"integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==",
"dev": true "dev": true
}, },
"node-gyp": {
"version": "3.8.0",
"resolved": "https://registry.npmmirror.com/node-gyp/-/node-gyp-3.8.0.tgz",
"integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
"dev": true,
"requires": {
"fstream": "^1.0.0",
"glob": "^7.0.3",
"graceful-fs": "^4.1.2",
"mkdirp": "^0.5.0",
"nopt": "2 || 3",
"npmlog": "0 || 1 || 2 || 3 || 4",
"osenv": "0",
"request": "^2.87.0",
"rimraf": "2",
"semver": "~5.3.0",
"tar": "^2.0.0",
"which": "1"
},
"dependencies": {
"semver": {
"version": "5.3.0",
"resolved": "https://registry.npmmirror.com/semver/-/semver-5.3.0.tgz",
"integrity": "sha512-mfmm3/H9+67MCVix1h+IXTpDwL6710LyHuk7+cWC9T1mE0qz4iHhh6r4hU2wrIT9iTsAAC2XQRvfblL028cpLw==",
"dev": true
}
}
},
"node-libs-browser": { "node-libs-browser": {
"version": "2.2.1", "version": "2.2.1",
"resolved": "https://registry.npmmirror.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz", "resolved": "https://registry.npmmirror.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
...@@ -9481,6 +9903,93 @@ ...@@ -9481,6 +9903,93 @@
"integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
"dev": true "dev": true
}, },
"node-sass": {
"version": "4.14.1",
"resolved": "https://registry.npmmirror.com/node-sass/-/node-sass-4.14.1.tgz",
"integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==",
"dev": true,
"requires": {
"async-foreach": "^0.1.3",
"chalk": "^1.1.1",
"cross-spawn": "^3.0.0",
"gaze": "^1.0.0",
"get-stdin": "^4.0.1",
"glob": "^7.0.3",
"in-publish": "^2.0.0",
"lodash": "^4.17.15",
"meow": "^3.7.0",
"mkdirp": "^0.5.1",
"nan": "^2.13.2",
"node-gyp": "^3.8.0",
"npmlog": "^4.0.0",
"request": "^2.88.0",
"sass-graph": "2.2.5",
"stdout-stream": "^1.4.0",
"true-case-path": "^1.0.2"
},
"dependencies": {
"ansi-styles": {
"version": "2.2.1",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz",
"integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
"dev": true
},
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
"dev": true,
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
"has-ansi": "^2.0.0",
"strip-ansi": "^3.0.0",
"supports-color": "^2.0.0"
}
},
"cross-spawn": {
"version": "3.0.1",
"resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-3.0.1.tgz",
"integrity": "sha512-eZ+m1WNhSZutOa/uRblAc9Ut5MQfukFrFMtPSm3bZCA888NmMd5AWXWdgRZ80zd+pTk1P2JrGjg9pUPTvl2PWQ==",
"dev": true,
"requires": {
"lru-cache": "^4.0.1",
"which": "^1.2.9"
}
},
"lru-cache": {
"version": "4.1.5",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz",
"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
"dev": true,
"requires": {
"pseudomap": "^1.0.2",
"yallist": "^2.1.2"
}
},
"supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz",
"integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
"dev": true
},
"yallist": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
"dev": true
}
}
},
"nopt": {
"version": "3.0.6",
"resolved": "https://registry.npmmirror.com/nopt/-/nopt-3.0.6.tgz",
"integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==",
"dev": true,
"requires": {
"abbrev": "1"
}
},
"normalize-package-data": { "normalize-package-data": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
...@@ -9531,6 +10040,18 @@ ...@@ -9531,6 +10040,18 @@
"path-key": "^2.0.0" "path-key": "^2.0.0"
} }
}, },
"npmlog": {
"version": "4.1.2",
"resolved": "https://registry.npmmirror.com/npmlog/-/npmlog-4.1.2.tgz",
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
"dev": 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": { "nth-check": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz",
...@@ -9552,6 +10073,12 @@ ...@@ -9552,6 +10073,12 @@
"integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==",
"dev": true "dev": true
}, },
"oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npmmirror.com/oauth-sign/-/oauth-sign-0.9.0.tgz",
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
"dev": true
},
"object-assign": { "object-assign": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz",
...@@ -9806,6 +10333,16 @@ ...@@ -9806,6 +10333,16 @@
"integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
"dev": true "dev": true
}, },
"osenv": {
"version": "0.1.5",
"resolved": "https://registry.npmmirror.com/osenv/-/osenv-0.1.5.tgz",
"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
"dev": true,
"requires": {
"os-homedir": "^1.0.0",
"os-tmpdir": "^1.0.0"
}
},
"p-finally": { "p-finally": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz",
...@@ -9979,6 +10516,12 @@ ...@@ -9979,6 +10516,12 @@
"sha.js": "^2.4.8" "sha.js": "^2.4.8"
} }
}, },
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
"dev": true
},
"picocolors": { "picocolors": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
...@@ -9988,8 +10531,7 @@ ...@@ -9988,8 +10531,7 @@
"version": "2.3.1", "version": "2.3.1",
"resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true, "dev": true
"optional": true
}, },
"pify": { "pify": {
"version": "3.0.0", "version": "3.0.0",
...@@ -12452,6 +12994,12 @@ ...@@ -12452,6 +12994,12 @@
"integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==",
"dev": true "dev": true
}, },
"psl": {
"version": "1.9.0",
"resolved": "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz",
"integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
"dev": true
},
"public-encrypt": { "public-encrypt": {
"version": "4.0.3", "version": "4.0.3",
"resolved": "https://registry.npmmirror.com/public-encrypt/-/public-encrypt-4.0.3.tgz", "resolved": "https://registry.npmmirror.com/public-encrypt/-/public-encrypt-4.0.3.tgz",
...@@ -12731,7 +13279,6 @@ ...@@ -12731,7 +13279,6 @@
"resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"picomatch": "^2.2.1" "picomatch": "^2.2.1"
} }
...@@ -12909,6 +13456,42 @@ ...@@ -12909,6 +13456,42 @@
"is-finite": "^1.0.0" "is-finite": "^1.0.0"
} }
}, },
"request": {
"version": "2.88.2",
"resolved": "https://registry.npmmirror.com/request/-/request-2.88.2.tgz",
"integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
"dev": true,
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
"caseless": "~0.12.0",
"combined-stream": "~1.0.6",
"extend": "~3.0.2",
"forever-agent": "~0.6.1",
"form-data": "~2.3.2",
"har-validator": "~5.1.3",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
"json-stringify-safe": "~5.0.1",
"mime-types": "~2.1.19",
"oauth-sign": "~0.9.0",
"performance-now": "^2.1.0",
"qs": "~6.5.2",
"safe-buffer": "^5.1.2",
"tough-cookie": "~2.5.0",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
},
"dependencies": {
"qs": {
"version": "6.5.3",
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.5.3.tgz",
"integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
"dev": true
}
}
},
"require-directory": { "require-directory": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz",
...@@ -13087,6 +13670,195 @@ ...@@ -13087,6 +13670,195 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true "dev": true
}, },
"sass": {
"version": "1.69.7",
"resolved": "https://registry.npmmirror.com/sass/-/sass-1.69.7.tgz",
"integrity": "sha512-rzj2soDeZ8wtE2egyLXgOOHQvaC2iosZrkF6v3EUG+tBwEvhqUCzm0VP3k9gHF9LXbSrRhT5SksoI56Iw8NPnQ==",
"dev": true,
"requires": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
"source-map-js": ">=0.6.2 <2.0.0"
}
},
"sass-graph": {
"version": "2.2.5",
"resolved": "https://registry.npmmirror.com/sass-graph/-/sass-graph-2.2.5.tgz",
"integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==",
"dev": true,
"requires": {
"glob": "^7.0.0",
"lodash": "^4.0.0",
"scss-tokenizer": "^0.2.3",
"yargs": "^13.3.2"
},
"dependencies": {
"ansi-regex": {
"version": "4.1.1",
"resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-4.1.1.tgz",
"integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
"dev": true
},
"camelcase": {
"version": "5.3.1",
"resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true
},
"cliui": {
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/cliui/-/cliui-5.0.0.tgz",
"integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
"dev": true,
"requires": {
"string-width": "^3.1.0",
"strip-ansi": "^5.2.0",
"wrap-ansi": "^5.1.0"
}
},
"find-up": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/find-up/-/find-up-3.0.0.tgz",
"integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
"dev": true,
"requires": {
"locate-path": "^3.0.0"
}
},
"get-caller-file": {
"version": "2.0.5",
"resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true
},
"locate-path": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-3.0.0.tgz",
"integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
"dev": true,
"requires": {
"p-locate": "^3.0.0",
"path-exists": "^3.0.0"
}
},
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
}
},
"p-locate": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-3.0.0.tgz",
"integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
"dev": true,
"requires": {
"p-limit": "^2.0.0"
}
},
"p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true
},
"require-main-filename": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
"dev": true
},
"string-width": {
"version": "3.1.0",
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-3.1.0.tgz",
"integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
"dev": true,
"requires": {
"emoji-regex": "^7.0.1",
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^5.1.0"
}
},
"strip-ansi": {
"version": "5.2.0",
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"dev": true,
"requires": {
"ansi-regex": "^4.1.0"
}
},
"wrap-ansi": {
"version": "5.1.0",
"resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
"integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.0",
"string-width": "^3.0.0",
"strip-ansi": "^5.0.0"
}
},
"yargs": {
"version": "13.3.2",
"resolved": "https://registry.npmmirror.com/yargs/-/yargs-13.3.2.tgz",
"integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
"dev": true,
"requires": {
"cliui": "^5.0.0",
"find-up": "^3.0.0",
"get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
"require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
"string-width": "^3.0.0",
"which-module": "^2.0.0",
"y18n": "^4.0.0",
"yargs-parser": "^13.1.2"
}
},
"yargs-parser": {
"version": "13.1.2",
"resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-13.1.2.tgz",
"integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
"dev": true,
"requires": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
}
}
}
},
"sass-loader": {
"version": "7.3.1",
"resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-7.3.1.tgz",
"integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==",
"dev": true,
"requires": {
"clone-deep": "^4.0.1",
"loader-utils": "^1.0.1",
"neo-async": "^2.5.0",
"pify": "^4.0.1",
"semver": "^6.3.0"
},
"dependencies": {
"pify": {
"version": "4.0.1",
"resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz",
"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
"dev": true
},
"semver": {
"version": "6.3.1",
"resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz",
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true
}
}
},
"sax": { "sax": {
"version": "1.2.4", "version": "1.2.4",
"resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz", "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz",
...@@ -13102,6 +13874,27 @@ ...@@ -13102,6 +13874,27 @@
"ajv": "^5.0.0" "ajv": "^5.0.0"
} }
}, },
"scss-tokenizer": {
"version": "0.2.3",
"resolved": "https://registry.npmmirror.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
"integrity": "sha512-dYE8LhncfBUar6POCxMTm0Ln+erjeczqEvCJib5/7XNkdw1FkUGgwMPY360FY0FgPWQxHWCx29Jl3oejyGLM9Q==",
"dev": true,
"requires": {
"js-base64": "^2.1.8",
"source-map": "^0.4.2"
},
"dependencies": {
"source-map": {
"version": "0.4.4",
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.4.4.tgz",
"integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==",
"dev": true,
"requires": {
"amdefine": ">=0.0.4"
}
}
}
},
"select-hose": { "select-hose": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz", "resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz",
...@@ -13323,6 +14116,23 @@ ...@@ -13323,6 +14116,23 @@
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
} }
}, },
"shallow-clone": {
"version": "3.0.1",
"resolved": "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-3.0.1.tgz",
"integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
"dev": true,
"requires": {
"kind-of": "^6.0.2"
},
"dependencies": {
"kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
}
}
},
"shebang-command": { "shebang-command": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz",
...@@ -13714,6 +14524,23 @@ ...@@ -13714,6 +14524,23 @@
"integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
"dev": true "dev": true
}, },
"sshpk": {
"version": "1.18.0",
"resolved": "https://registry.npmmirror.com/sshpk/-/sshpk-1.18.0.tgz",
"integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==",
"dev": true,
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
"bcrypt-pbkdf": "^1.0.0",
"dashdash": "^1.12.0",
"ecc-jsbn": "~0.1.1",
"getpass": "^0.1.1",
"jsbn": "~0.1.0",
"safer-buffer": "^2.0.2",
"tweetnacl": "~0.14.0"
}
},
"ssri": { "ssri": {
"version": "5.3.0", "version": "5.3.0",
"resolved": "https://registry.npmmirror.com/ssri/-/ssri-5.3.0.tgz", "resolved": "https://registry.npmmirror.com/ssri/-/ssri-5.3.0.tgz",
...@@ -13762,6 +14589,15 @@ ...@@ -13762,6 +14589,15 @@
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true "dev": true
}, },
"stdout-stream": {
"version": "1.4.1",
"resolved": "https://registry.npmmirror.com/stdout-stream/-/stdout-stream-1.4.1.tgz",
"integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
"dev": true,
"requires": {
"readable-stream": "^2.0.1"
}
},
"stream-browserify": { "stream-browserify": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmmirror.com/stream-browserify/-/stream-browserify-2.0.2.tgz", "resolved": "https://registry.npmmirror.com/stream-browserify/-/stream-browserify-2.0.2.tgz",
...@@ -13987,6 +14823,17 @@ ...@@ -13987,6 +14823,17 @@
"integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==", "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==",
"dev": true "dev": true
}, },
"tar": {
"version": "2.2.2",
"resolved": "https://registry.npmmirror.com/tar/-/tar-2.2.2.tgz",
"integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
"dev": true,
"requires": {
"block-stream": "*",
"fstream": "^1.0.12",
"inherits": "2"
}
},
"throttle-debounce": { "throttle-debounce": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-1.1.0.tgz", "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-1.1.0.tgz",
...@@ -14066,7 +14913,6 @@ ...@@ -14066,7 +14913,6 @@
"resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"is-number": "^7.0.0" "is-number": "^7.0.0"
} }
...@@ -14083,6 +14929,16 @@ ...@@ -14083,6 +14929,16 @@
"integrity": "sha512-FclLrw8b9bMWf4QlCJuHBEVhSRsqDj6u3nIjAzPeJvgl//1hBlffdlk0MALceL14+koWEdU4ofRAXofbODxQzg==", "integrity": "sha512-FclLrw8b9bMWf4QlCJuHBEVhSRsqDj6u3nIjAzPeJvgl//1hBlffdlk0MALceL14+koWEdU4ofRAXofbODxQzg==",
"dev": true "dev": true
}, },
"tough-cookie": {
"version": "2.5.0",
"resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-2.5.0.tgz",
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"dev": true,
"requires": {
"psl": "^1.1.28",
"punycode": "^2.1.1"
}
},
"trim-newlines": { "trim-newlines": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/trim-newlines/-/trim-newlines-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/trim-newlines/-/trim-newlines-1.0.0.tgz",
...@@ -14094,6 +14950,15 @@ ...@@ -14094,6 +14950,15 @@
"resolved": "https://registry.npmmirror.com/trim-right/-/trim-right-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/trim-right/-/trim-right-1.0.1.tgz",
"integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==" "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw=="
}, },
"true-case-path": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/true-case-path/-/true-case-path-1.0.3.tgz",
"integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
"dev": true,
"requires": {
"glob": "^7.1.2"
}
},
"tryer": { "tryer": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/tryer/-/tryer-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/tryer/-/tryer-1.0.1.tgz",
...@@ -14112,6 +14977,21 @@ ...@@ -14112,6 +14977,21 @@
"integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==",
"dev": true "dev": true
}, },
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmmirror.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
"dev": true,
"requires": {
"safe-buffer": "^5.0.1"
}
},
"tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmmirror.com/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
"dev": true
},
"type": { "type": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmmirror.com/type/-/type-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/type/-/type-1.2.0.tgz",
...@@ -14580,6 +15460,25 @@ ...@@ -14580,6 +15460,25 @@
"integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==",
"dev": true "dev": true
}, },
"verror": {
"version": "1.10.0",
"resolved": "https://registry.npmmirror.com/verror/-/verror-1.10.0.tgz",
"integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
"dev": true,
"requires": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
"extsprintf": "^1.2.0"
},
"dependencies": {
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
"dev": true
}
}
},
"vis": { "vis": {
"version": "4.21.0", "version": "4.21.0",
"resolved": "https://registry.npmmirror.com/vis/-/vis-4.21.0.tgz", "resolved": "https://registry.npmmirror.com/vis/-/vis-4.21.0.tgz",
...@@ -14890,7 +15789,10 @@ ...@@ -14890,7 +15789,10 @@
"resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz", "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz",
"integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
"dev": true, "dev": true,
"optional": true "optional": true,
"requires": {
"nan": "^2.12.1"
}
}, },
"glob-parent": { "glob-parent": {
"version": "3.1.0", "version": "3.1.0",
...@@ -15268,7 +16170,10 @@ ...@@ -15268,7 +16170,10 @@
"resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz", "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz",
"integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
"dev": true, "dev": true,
"optional": true "optional": true,
"requires": {
"nan": "^2.12.1"
}
}, },
"glob-parent": { "glob-parent": {
"version": "3.1.0", "version": "3.1.0",
...@@ -15572,6 +16477,15 @@ ...@@ -15572,6 +16477,15 @@
"has-tostringtag": "^1.0.0" "has-tostringtag": "^1.0.0"
} }
}, },
"wide-align": {
"version": "1.1.5",
"resolved": "https://registry.npmmirror.com/wide-align/-/wide-align-1.1.5.tgz",
"integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
"dev": true,
"requires": {
"string-width": "^1.0.2 || 2 || 3 || 4"
}
},
"window-size": { "window-size": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmmirror.com/window-size/-/window-size-0.1.0.tgz", "resolved": "https://registry.npmmirror.com/window-size/-/window-size-0.1.0.tgz",
......
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
"less-loader": "5.0.0", "less-loader": "5.0.0",
"lib-flexible": "^0.3.2", "lib-flexible": "^0.3.2",
"node-notifier": "^5.1.2", "node-notifier": "^5.1.2",
"node-sass": "^4.14.1",
"optimize-css-assets-webpack-plugin": "^3.2.0", "optimize-css-assets-webpack-plugin": "^3.2.0",
"ora": "^1.2.0", "ora": "^1.2.0",
"portfinder": "^1.0.13", "portfinder": "^1.0.13",
...@@ -54,6 +55,8 @@ ...@@ -54,6 +55,8 @@
"postcss-px2rem": "^0.3.0", "postcss-px2rem": "^0.3.0",
"postcss-url": "^7.2.1", "postcss-url": "^7.2.1",
"rimraf": "^2.6.0", "rimraf": "^2.6.0",
"sass": "^1.34.1",
"sass-loader": "^7.3.1",
"semver": "^5.3.0", "semver": "^5.3.0",
"shelljs": "^0.7.6", "shelljs": "^0.7.6",
"uglifyjs-webpack-plugin": "^1.1.1", "uglifyjs-webpack-plugin": "^1.1.1",
......
...@@ -24,5 +24,6 @@ a { ...@@ -24,5 +24,6 @@ a {
#app { #app {
font-family: "Microsoft YaHei", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; font-family: "Microsoft YaHei", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
background-color: #eee; background-color: #eee;
height: 100%;
} }
</style> </style>
...@@ -2,14 +2,14 @@ ...@@ -2,14 +2,14 @@
<template> <template>
<div id="left"> <div id="left">
<el-menu <el-menu
active-text-color="#dd5862" active-text-color="#dd5862"
text-color="#000" text-color="#000"
:default-active="this.$route.path" :default-active="this.$route.path"
class="el-menu-vertical-demo" class="el-menu-vertical-demo"
@open="handleOpen" @open="handleOpen"
@close="handleClose" @close="handleClose"
:collapse="flag" :collapse="flag"
background-color="#124280" background-color="#124280"
menu-trigger="click" router> menu-trigger="click" router>
<el-submenu v-for="(item,index) in menu" :index='item.index' :key="index"> <el-submenu v-for="(item,index) in menu" :index='item.index' :key="index">
<template slot="title"> <template slot="title">
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
<el-menu-item @click="handleTitle(item.index)" :index="list.path" v-if="list.item1 != null">{{list.item1}}</el-menu-item> <el-menu-item @click="handleTitle(item.index)" :index="list.path" v-if="list.item1 != null">{{list.item1}}</el-menu-item>
<el-menu-item @click="handleTitle(item.index)" :index="list.path" v-if="list.item2 != null">{{list.item2}}</el-menu-item> <el-menu-item @click="handleTitle(item.index)" :index="list.path" v-if="list.item2 != null">{{list.item2}}</el-menu-item>
<el-menu-item @click="handleTitle(item.index)" :index="list.path" v-if="list.item3 != null">{{list.item3}}</el-menu-item> <el-menu-item @click="handleTitle(item.index)" :index="list.path" v-if="list.item3 != null">{{list.item3}}</el-menu-item>
<el-menu-item @click="handleTitle(item.index)" :index="list.path" v-if="list.item4 != null">{{list.item4}}</el-menu-item>
</el-menu-item-group> </el-menu-item-group>
</el-submenu> </el-submenu>
</el-menu> </el-menu>
...@@ -34,7 +35,7 @@ export default { ...@@ -34,7 +35,7 @@ export default {
name: "mainLeft", name: "mainLeft",
data() { data() {
return { return {
} }
}, },
computed: mapState(["flag","menu"]), computed: mapState(["flag","menu"]),
......
<template>
<div class="sctp">
<div class="oneClass">
<!--查询-->
<div class="tabs">
<el-form ref="searchForm" :model="searchForm">
<el-row>
<el-col :span="6">
<el-form-item label="文件名称 :" style="display: flex">
<el-input v-model="searchForm.videoNmae" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="创建时间">
<el-date-picker
v-model="searchForm.uploadTime"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-button
class="toEmptyButton"
@click="toEmpty">
<span class="skyp icon-sousuo"></span>
清空
</el-button>
<el-button
class="searchListButton"
@click="searchList()"
>
<span class="skyp icon-sousuo"></span>
查询
</el-button>
<!--上传视频-->
<el-upload
action=""
:multiple="false"
:auto-upload="false"
accept="video/*"
:on-change="handlePhotoChange"
:limit="1"
:show-file-list="false">
<el-button slot="trigger" type="primary" style="margin-left: 10px;" title="只能上传视频文件">上传视频</el-button>
</el-upload>
<el-button class="searchListButton" type="success" style="margin-left: 10px">
当前视频总数{{this.videoLists.length}}
</el-button>
</el-col>
</el-row>
</el-form>
</div>
</div>
<div class="twoClass">
<div class="twoClassRow">
<el-row>
<el-col :span="8" v-for="(o, index) in videoLists" :key="o.videoId">
<el-card :body-style="{ padding: '0px' }">
<video controls width="100%">
<source :src=o.video type="video/mp4">
</video>
<div style="padding: 14px;">
<span>{{o.videoName}}</span>
<el-button class="searchListButton" type="success" style="margin-left: 10px" @click="open(o)">
编辑
</el-button>
<el-button class="searchListButton" type="success" style="margin-left: 10px" @click="deleteVideo(o.videoId)">
删除
</el-button>
</div>
</el-card>
</el-col>
</el-row>
</div>
</div>
</div>
</template>
<script>
export default {
name: "addVideo",
data() {
return {
searchForm: {
videoNmae: '',
uploadTime: [],
},
video: '', //视频
videoName: "", //名称
fileList: [], //上传的list
videoLists: [],//视频列表
};
},
methods: {
// 弹框
open(video) {
this.$prompt('请输入修改的视频名称', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
inputErrorMessage: '邮箱格式不正确'
}).then(({ value }) => {
var name = value+'.'+video.videoName.split('.').pop()
this.compileVideo(video.videoId,name)
}).catch(() => {
this.$message({
type: 'info',
message: '取消编辑'
});
});
},
//编辑接口
compileVideo(id,name){
let params = new FormData();
params.append("id",id)
params.append("name",name)
this.$axios({
url: '/api/compileVideo',
method: 'post',
data: params
}).then(res => {
if (res.data.code == 200) {
this.$message.success('编辑成功');
this.videoList()
}
})
},
//删除
deleteVideo(videoId){
let params = new FormData();
params.append("id",videoId)
this.$axios({
url: '/api/deleteVideo',
method: 'post',
data: params
}).then(res => {
if (res.data.code == 200) {
this.$message.success('删除成功');
this.videoList()
}
})
},
//清空
toEmpty() {
this.searchForm = {
videoNmae: '',
uploadTime: [],
}
this.videoList()
},
//添加照片
handlePhotoChange(file) {
console.log("添加照片")
this.video = file.raw
this.videoName = file.name
this.fileList.push(file.raw);
this.submitForm();
},
//移除
handleRemove(file) {
this.video = ''
this.fileList.length = 0;
},
//提交
submitForm() {
console.log(this.video)
if (!this.video) {
return;
console.log(111111111111111)
}
const isLt10M = this.video.size / 1024 / 1024 < 10;
if (!isLt10M) {
this.$message.error('上传视频文件不能超过10MB!');
}
console.log(isLt10M);
let date = new Date()
let params = new FormData();
params.append("videoFile", this.video);
params.append("videoName", this.videoName);
params.append("uploadTime", date);
this.$axios({
url: '/api/uploadVideo',
method: 'post',
data: params
}).then(res => {
if (res.data.code == 200) {
this.fileList = []
this.video = ''
this.$message.success('添加成功');
this.videoList()
}
})
},
//列表
videoList() {
this.$axios({
url: '/api/selectVideo',
method: 'post',
}).then(res => {
if (res.data.code == 200) {
this.videoLists = res.data.data
}
})
},
//模糊查询
searchList() {
console.log(this.searchForm.uploadTime)
let params = new FormData();
params.append("name",this.searchForm.videoNmae)
if (this.searchForm.uploadTime[0]){
params.append("startTime",this.searchForm.uploadTime[0])
}
if (this.searchForm.uploadTime[1]){
params.append("endTime",this.searchForm.uploadTime[1])
}
this.$axios({
url: '/api/selectVideoByNameOrTime',
method: 'post',
data: params
}).then(res => {
if (res.data.code == 200) {
this.videoLists = res.data.data
this.$message.success('模糊查询成功');
}
})
}
},
created() {
this.videoList()
}
}
</script>
<style lang="scss" scoped>
.el-col-6 {
display: flex;
}
.sctp {
/*margin-left: 40px;*/
}
.scspButton {
margin-top: 30px;
}
.oneClass {
height: 30%;
margin-left: 40px;
/*background-color: yellow;*/
}
.twoClass {
height: 70%;
margin-left: 20px;
margin-right: 20px;
/*max-height: 70%; !* 设置固定高度,根据需要调整 *!*/
/*overflow: auto; !* 添加滚动条 *!*/
/*background-color: red;*/
}
.twoClassRow{
height: 700px;
overflow: auto; /* 添加滚动条 */
}
</style>
<template>
<div class="qun-video">
<VueMiniPlayer ref="vueMiniPlayer" :mutex="false" :video="video" @fullscreen="fullscreen" />
</div>
</template>
<script>
import VueMiniPlayer from "./packages/vue-mini-player/src/VuePlayer";
export default {
name: 'QunVideo',
components: {
VueMiniPlayer
},
data() {
return {
video: {
url: this.url,
loop: true,
autoplay: false,
muted: false,
playsinline: true,
logo: '',
// cover: 'https://i.loli.net/2019/06/06/5cf8c5d9c57b510947.png'
},
};
},
props: {
url: String,
},
watch: {},
computed: {
$video() {
return this.$refs.vueMiniPlayer.$video;
},
},
filters: {},
methods: {
fullscreen(data) {
console.log('====================================');
console.log(data);
console.log('====================================');
},
},
created() {},
mounted() {},
updated() {},
beforeDestroy() {},
destroyed() {},
};
</script>
<style scoped>
.qun-video {
max-width: 500px;
width: 100%;
min-width: 400px;
height: 15em;
margin: 0 auto;
}
</style>
import VueMiniPlayer from './vue-mini-player';
const version = "0.2.1";
const components = [VueMiniPlayer];
const install = function(Vue) {
if (install.installed) return;
components.map(component => Vue.component(component.name, component));
};
if (typeof window !== 'undefined' && window.Vue) {
install(window.Vue);
}
export default {
// 导出的对象必须具有 install,才能被 Vue.use() 方法安装
install,
version,
// 以下是具体的组件列表
VueMiniPlayer
};
import VuePlayer from './src/VuePlayer.vue';
VuePlayer.install = function(Vue) {
Vue.component(VuePlayer.name, VuePlayer);
};
export default VuePlayer;
<template>
<div class="qun-base-controls">
<Volume :isMuted.sync="isMuted" />
<Progress @paused="$emit('paused')" />
<Fullscreen :isFullscreen.sync="isFullscreen" />
</div>
</template>
<script>
import Volume from './controls/Volume.vue';
import Progress from './controls/Progress.vue';
import Fullscreen from './controls/Fullscreen.vue';
export default {
name: 'BaseControls',
components: {
Volume,
Progress,
Fullscreen
},
data() {
return {
isMuted: false,
isFullscreen: false
};
},
watch: {
isFullscreen(newData, oldData) {
this.$emit('fullscreen', newData);
}
},
computed: {
$parentComponent() {
return this.$parent;
},
$video() {
return this.$parentComponent.$video;
}
},
filters: {},
methods: {
initVideoEvents() {
this.$video.addEventListener('volumechange', function(e) {
this.isMuted = e.target.muted;
});
}
},
created() {
this.$nextTick(() => {
const { volume } = this.$video
this.isMuted = this.$video.muted || volume === 0
this.initVideoEvents();
});
},
updated() {},
beforeDestroy() {},
destroyed() {}
};
</script>
<style lang="scss" scoped>
.qun-base-controls {
position: absolute;
bottom: 0;
left: 0;
right: 0;
z-index: 2147483647;
width: 100%;
height: 3em;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 20px;
box-sizing: border-box;
transition: all 0.3s ease;
user-select: none;
}
</style>
<template>
<div class="_play-btn"
@click.stop="handleClick">
<svg v-if="isPlaying"
viewBox="0 0 64 64"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none"
stroke-width="1"
fill="none"
fill-rule="evenodd">
<g>
<path d="M64,32 C64,49.6733333 49.6733333,64 32,64 C14.3266667,64 0,49.6733333 0,32 C0,14.3266667 14.3266667,0 32,0 C49.6733333,0 64,14.3266667 64,32"
fill-opacity="0.5"
fill="#231F20"></path>
<rect fill="#FFFFFF"
fill-rule="nonzero"
x="23"
y="19"
width="5"
height="26"
rx="2.5"></rect>
<rect fill="#FFFFFF"
fill-rule="nonzero"
x="36"
y="19"
width="5"
height="26"
rx="2.5"></rect>
</g>
</g>
</svg>
<svg v-else
viewBox="0 0 96 96"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none"
stroke-width="1"
fill="none"
fill-rule="evenodd">
<g>
<path d="M96,48 C96,74.51 74.51,96 48,96 C21.49,96 0,74.51 0,48 C0,21.49 21.49,0 48,0 C74.51,0 96,21.49 96,48"
fill-opacity="0.5"
fill="#231F20"></path>
<path d="M68.332,49.1162 L36.209,67.4722 C35.352,67.9622 34.286,67.3432 34.286,66.3552 L34.286,29.6442 C34.286,28.6572 35.352,28.0382 36.209,28.5272 L68.332,46.8842 C69.196,47.3772 69.196,48.6232 68.332,49.1162"
fill="#FFFFFF"></path>
</g>
</g>
</svg>
</div>
</template>
<script>
export default {
props: {
isPlaying: {
default: false,
type: Boolean
}
},
methods: {
handleClick() {
this.$emit('update:isPlaying', !this.isPlaying);
}
}
};
</script>
<style lang="scss" scoped>
._play-btn {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 3.5em;
height: 3.5em;
user-select: none;
z-index: 2147483647;
cursor: pointer;
svg{
width: 100%;
height: 100%;
}
}
</style>
<template>
<div class="vm-player"
ref="container"
@click.stop="handleClickVideo">
<!-- logo -->
<div class="_logo" v-if="options.logo" :style="logoStyle">
{{options.logo}}
</div>
<!--模拟poster -->
<div class="_poster"
:style="{backgroundImage:`url(${options.cover})`}"
v-show="!isPlaying&&isStart && options.cover">
</div>
<template v-show="isPlaying">
<video class="_video-ref"
ref="video"
:muted="options.muted"
:loop="options.loop"
:preload="options.preload"
:poster="options.cover"
:autoplay="options.autoplay"
>
<source v-for="(item, index) in vUrl"
:key="index"
:src="item"
:type="`${getUrlType(item)}`">
Your browser does not support the video element.
</video>
</template>
<transition name="fade">
<PlayBtn :isPlaying.sync="isPlaying"
v-show="!isClearMode" />
</transition>
<transition name="fade">
<BaseControls @paused="handlePaused"
@fullscreen="$emit('fullscreen',$event)"
v-show="!isClearMode" />
</transition>
</div>
</template>
<script>
import BaseControls from './BaseControls.vue';
import PlayBtn from './PlayBtn.vue';
const VERSION = "0.2.1";
export default {
name: 'VueMiniPlayer',
components: {
BaseControls,
PlayBtn
},
props: {
video: {
type: Object,
default: function() {
return {};
}
},
mutex: {
type: Boolean,
default: false
}
},
data() {
return {
baseVideo: {
url: '',
cover: '',
muted: true,
loop: false,
preload: 'auto',
poster: '',
volume: 1,
autoplay: false
},
$video: null,
$container: null,
clearModeTimer: null,
isStart: true,
isPlaying: false,
isClearMode: false
};
},
watch: {
isPlaying() {
this.isStart = false;
this.play();
this.setClearModeTimer();
}
},
computed: {
vUrl() {
let url = this.video.url || [];
if (typeof url === 'string') {
url = [url];
} else if (Object.prototype.toString.call(url) === '[object Object]') {
console.warn(new Error('视频URL只接受String或者Array'));
return [];
}
return url;
},
// 合并默认和用户自定义属性配置
options() {
return Object.assign({}, this.baseVideo, this.video);
},
playsinline() {
return this.options.playsinline
},
crossOrigin() {
return this.options.crossOrigin
},
autoplay() {
return this.options.autoplay
},
isMobile() {
return navigator.userAgent.toLowerCase().match(/(ipod|iphone|android|coolpad|mmp|smartphone|midp|wap|xoom|symbian|j2me|blackberry|wince)/i) != null;
},
logoStyle() {
return this.options.logoStyle || {}
}
},
methods: {
getUrlType(url) {
// let u = url.split('?')[0] + '?v=1';
// return u.match(/[^\.]+(?=\?)/) || 'mp4';
const regex = /:(.*?);/;
const matches = url.match(regex);
return matches ? matches[1] : 'mp4';
},
init() {
this.$video = this.$refs.video;
this.$container = this.$refs.container;
this.$video.load();
this.initPlayer();
this.$emit('ready');
},
initPlayer() {
this.$video.volume = this.options.volume;
if (this.playsinline) {
this.$refs.video.setAttribute('playsinline', this.playsinline)
this.$refs.video.setAttribute('webkit-playsinline', this.playsinline)
this.$refs.video.setAttribute('x5-playsinline', this.playsinline)
this.$refs.video.setAttribute('x5-video-player-type', 'h5')
this.$refs.video.setAttribute('x-webkit-airplay', 'allow')
this.$refs.video.setAttribute('x5-video-player-fullscreen', false)
}
// cross origin
if (this.crossOrigin) {
this.$refs.video.crossOrigin = this.crossOrigin
this.$refs.video.setAttribute('crossOrigin', this.crossOrigin)
}
if (this.autoplay && this.isMobile) {
this.$video.muted = true
// 兼容微信自动播放
document.addEventListener('WeixinJSBridgeReady', () => this.$video.play(), false);
}
if (this.autoplay) {
this.isPlaying = true;
}
},
setClearModeTimer() {
if (this.clearModeTimer) {
clearTimeout(this.clearModeTimer);
}
this.clearModeTimer = setTimeout(() => {
this.isClearMode = true;
this.clearModeTimer = null
this.$emit('clearMode');
}, 3000);
},
pauseAllVideo() {
if (this.mutex) {
const videos = document.querySelectorAll('video');
videos.forEach(v => {
v.pause && v.pause();
});
}
},
play() {
if (this.isPlaying) {
this.$video.play();
} else {
this.pauseAllVideo();
this.$video.pause();
}
this.$emit('videoPlay', this.isPlaying);
},
handlePaused() {
this.isPlaying = false;
},
handleClickVideo() {
if (this.isClearMode) {
this.isClearMode = false;
this.setClearModeTimer()
} else {
this.isClearMode = true;
}
}
},
created() {
this.$emit('created');
this.$nextTick(() => {
this.init();
});
},
mounted() {
this.$emit('mounted');
console.log(
'\n' + ' %c vue-mini-player v' + VERSION + ' %c https://github.com/webweifeng/vue-mini-player ' + '\n' + '\n',
'color: #fadfa3; background: #030307; padding:5px 0;',
'background: #fadfa3; padding:5px 0;'
);
},
updated() {},
beforeDestroy() {
this.$emit('beforeDestroy');
},
destroyed() {
this.$emit('destroyed');
}
};
</script>
<style lang="scss" scoped>
.vm-player {
width: 100%;
height: 100%;
min-height: 10em;
position: relative;
background: #000;
overflow: hidden;
&:fullscreen,
&:-webkit-full-screen,
&:-moz-full-screen,
&:-ms-fullscreen {
width: 100%;
height: 100%;
position: fixed;
z-index: 100000;
left: 0;
top: 0;
margin: 0;
padding: 0;
transform: translate(0, 0);
}
._poster {
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
._video-ref {
background: #000;
width: 100%;
height: 100%;
/* object-fit: cover; */
&::-webkit-media-controls,
&::-webkit-media-controls-enclosure {
display: none !important;
}
}
._logo{
position: absolute;
z-index: 2147483647;
right: 20px;
top: 20px;
font-weight: bold;
font-family:cursive;
text-shadow:6px 2px 2px #666;
color:#fff;
}
}
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.5s;
}
.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
opacity: 0;
}
</style>
<template>
<div class="_fullscreen"
@click.stop="handleClickToggle">
<svg viewBox="0 0 40 40"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none"
stroke-width="1"
fill="none"
fill-rule="evenodd"
stroke-linecap="round"
stroke-linejoin="round">
<g transform="translate(-670.000000, -354.000000)"
stroke="#FFFFFF"
stroke-width="5">
<g transform="translate(670.000000, 354.000000)">
<path d="M35,20 L35,34 C35,34.5522847 34.5522847,35 34,35 L20,35 M5,20 L5,6 C5,5.44771525 5.44771525,5 6,5 L6,5 L20,5"></path>
</g>
</g>
</g>
</svg>
</div>
</template>
<script>
export default {
props: {
isFullscreen: {
type: Boolean,
default: false
}
},
data() {
return {};
},
computed: {
$video() {
return this.$parent.$parent.$video;
},
$container() {
return this.$parent.$parent.$container;
}
},
watch: {},
methods: {
handleClickToggle() {
if (this.isFullscreen) {
this.resetFullScreen();
} else {
this.reqFullScreen(this.$container);
}
},
setFullscreenState() {
const fullEle =
document.fullscreenElement || document.mozFullScreenElement || document.msFullscreenElement || document.webkitFullscreenElement;
this.$emit('update:isFullscreen', !!fullEle);
},
reqFullScreen(element) {
if (element.requestFullscreen) {
element.requestFullscreen();
} else if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if (element.webkitRequestFullScreen) {
element.webkitRequestFullScreen();
} else if (element.webkitEnterFullscreen) {
element.webkitEnterFullscreen();
} else if (this.$video.webkitEnterFullscreen) {
// Safari for iOS
this.$video.webkitEnterFullscreen();
} else if (element.msRequestFullscreen) {
element.msRequestFullscreen();
} else {
console.log('进入全屏失败');
}
},
resetFullScreen() {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.msCancelFullScreen) {
document.msCancelFullScreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
},
docfullscreenchange() {
this.setFullscreenState();
},
fullscreenchange() {
this.setFullscreenState();
},
unbindChangeEvent() {
if (/Firefox/.test(navigator.userAgent)) {
document.removeEventListener('mozfullscreenchange', this.docfullscreenchange);
document.removeEventListener('fullscreenchange', this.docfullscreenchange);
} else {
this.$container.removeEventListener('fullscreenchange', this.fullscreenchange);
this.$container.removeEventListener('webkitfullscreenchange', this.fullscreenchange);
document.removeEventListener('msfullscreenchange', this.docfullscreenchange);
document.removeEventListener('MSFullscreenChange', this.docfullscreenchange);
}
},
bindChangeEvent() {
if (/Firefox/.test(navigator.userAgent)) {
document.addEventListener('mozfullscreenchange', this.docfullscreenchange);
document.addEventListener('fullscreenchange', this.docfullscreenchange);
} else {
this.$container.addEventListener('fullscreenchange', this.fullscreenchange);
this.$container.addEventListener('webkitfullscreenchange', this.fullscreenchange);
document.addEventListener('msfullscreenchange', this.docfullscreenchange);
document.addEventListener('MSFullscreenChange', this.docfullscreenchange);
}
}
},
mounted() {
this.$nextTick(() => {
this.bindChangeEvent();
});
},
beforeDestroy() {
if (this.$container) {
this.unbindChangeEvent();
}
}
};
</script>
<style lang="scss" scoped>
._fullscreen {
width: 1.5em;
width: 1.5em;
cursor: pointer;
svg {
width: 100%;
height: 100%;
}
}
</style>
<template>
<div class="_progress" @click.stop>
<span class="_time-current">{{ textCurrentTime }}</span>
<div class="_slider" ref="_sliderRef" @click.stop="clickSlider">
<div class="_slider-cur" :style="{ width: offsetLeft }"></div>
<i class="_slider-btn" @click.stop :style="{ left: offsetLeft }" ref="_sliderBtnRef"></i>
</div>
<span class="_time-amount">{{ textTotalTime }}</span>
</div>
</template>
<script>
const isMobile = /mobile/i.test(window.navigator.userAgent);
export default {
props: {},
data() {
return {
textTotalTime: '00:00',
textCurrentTime: '00:00',
offsetLeft: 0,
sliderInfo: {
isMove: false,
startX: 0,
oldTime: 0,
oldOffsetLeft: 0
}
};
},
computed: {
playerRef() {
return this.$parent.$parent;
},
$video() {
return this.$parent.$parent.$video;
},
sliderRef() {
return this.$refs._sliderRef;
}
},
watch: {},
methods: {
secondToTime(time = 0) {
time = time > 0 ? time : 0;
const add0 = num => (num < 10 ? `0${num}` : num);
const h = ~~(time / 3600);
const m = ~~((time % 3600) / 60);
const s = ~~(time % 60);
return (h > 0 ? [h, m, s] : [m, s]).map(add0).join(':');
},
updateSlider(ratio) {
if (ratio >= 0 && ratio <= 100) {
this.offsetLeft = `${ratio}%`;
}
},
updateTextTime(second) {
this.textCurrentTime = this.secondToTime(second);
},
updateVideoTime(second) {
if (second) {
this.$video.currentTime = second;
}
},
clickSlider($event) {
const sliderW = this.sliderRef.offsetWidth;
const curOffestLeft = $event.clientX - $event.target.getBoundingClientRect().left;
this.offsetLeft = `${~~((curOffestLeft / sliderW) * 100)}%`;
this.updateVideoState();
},
updateVideoState() {
const newSecond = ~~(this.$video.duration * (parseFloat(this.offsetLeft) / 100));
this.updateVideoTime(newSecond);
this.updateTextTime(newSecond);
this.playerRef.isPlaying = true;
},
initVideoEvents() {
const events = ['pause', 'play', 'waiting', 'timeupdate', 'durationchange', 'loadeddata'];
events.forEach(e => {
this.$video.addEventListener(e, this[`handle${e.toLowerCase().replace(/^./, f => f.toUpperCase())}`], false);
});
},
initSliderBtnEvents() {
const dragEventMap = {
DragStart: isMobile ? 'touchstart' : 'mousedown',
DragMove: isMobile ? 'touchmove' : 'mousemove',
DragEnd: isMobile ? 'touchend' : 'mouseup'
};
Object.keys(dragEventMap).forEach(key => {
const bindRef = key === 'DragStart' ? this.$refs._sliderBtnRef : this.playerRef.$container;
bindRef.addEventListener(dragEventMap[key], this[`handle${key}`], false);
});
},
handleLoadeddata() {
const totalTime = this.$video.duration;
this.textTotalTime = this.secondToTime(totalTime);
},
handleDurationchange() {
// 视频读取完成拿到视频长度
const totalTime = this.$video.duration;
this.textTotalTime = this.secondToTime(totalTime);
},
handleTimeupdate() {
// 视频播放时间变化执行
const currentTime = this.$video.currentTime;
const ratio = (currentTime / this.$video.duration) * 100;
this.updateTextTime(currentTime);
this.updateSlider(ratio);
},
handlePause() {
// 视频暂停
const totalTime = this.$video.duration;
const currentTime = this.$video.currentTime;
if (currentTime === totalTime) this.playerRef.isPlaying = false;
this.$emit('paused');
},
handlePlay() {
// 视频播放
},
handleWaiting() {
// 视频因点击下一帧等待
},
computeMoveInfo(moveX) {
const sliderW = this.sliderRef.offsetWidth;
let offset = moveX - this.sliderInfo.startX;
if (Math.abs(offset) >= sliderW) {
offset = offset > 0 ? sliderW : -sliderW;
}
const ratio = (offset / sliderW) * 100;
const second = this.$video.duration * (ratio / 100);
return { ratio, second };
},
handleDragStart($event) {
$event.stopPropagation();
// 滑块拖拽开始
this.sliderInfo.startX = $event.clientX || $event.changedTouches[0].clientX;
this.sliderInfo.isMove = true;
this.sliderInfo.oldTime = this.$video.currentTime;
this.sliderInfo.oldOffsetLeft = parseFloat(this.offsetLeft);
},
handleDragMove($event) {
const ClienX = $event.clientX || $event.changedTouches[0].clientX;
// 滑块拖拽移动中
if (this.sliderInfo.isMove) {
const { ratio, second } = this.computeMoveInfo(ClienX);
// this.updateVideoTime(second);
this.updateTextTime(second + this.sliderInfo.oldTime);
this.updateSlider(ratio + this.sliderInfo.oldOffsetLeft);
}
},
handleDragEnd($event) {
const ClienX = $event.clientX || $event.changedTouches[0].clientX;
// 滑块拖拽结束
if (this.sliderInfo.isMove) {
const { ratio, second } = this.computeMoveInfo(ClienX);
this.updateVideoTime(second + this.sliderInfo.oldTime);
this.updateTextTime(second + this.sliderInfo.oldTime);
this.updateSlider(ratio + parseFloat(this.offsetLeft));
this.sliderInfo.isMove = false;
// this.playerRef.isPlaying = true;
}
}
},
mounted() {
this.$nextTick(() => {
this.initVideoEvents();
this.initSliderBtnEvents();
});
}
};
</script>
<style lang="scss" scoped>
._progress {
color: #fff;
width: 100%;
height: 2em;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 1.5em;
box-sizing: border-box;
._time-current,
._time-amount {
font-size: 1em;
}
._slider {
width: 100%;
height: 0.4em;
background: rgba(255, 255, 255, 0.4);
border-radius: 4px;
position: relative;
margin: 0 1em;
._slider-cur {
width: 0;
height: 100%;
border-radius: 4px;
background-color: #fff;
position: absolute;
top: 0;
left: 0;
transition: all 3ms;
}
._slider-btn {
width: 1em;
height: 1em;
display: inline-block;
background-color: #fff;
border-radius: 50%;
position: absolute;
top: 50%;
left: 0;
transform: translate(-50%, -50%);
transition: all 3ms;
cursor: pointer;
}
}
}
</style>
<template>
<div class="_vol"
@click.stop="handleClick">
<!-- 非静音 -->
<svg v-if="!isMuted"
viewBox="0 0 40 40"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none"
stroke-width="1"
fill="none"
fill-rule="evenodd">
<g transform="translate(-40.000000, -281.000000)">
<g transform="translate(40.000000, 281.000000)">
<g transform="translate(0.000000, 4.000000)">
<path d="M10.314666,7.29159253 L10.314666,23.8296452 L4.05278755,23.8296452 C2.32789564,23.8296452 0.927090038,22.5856319 0.927090038,21.1011808 L0.927090038,10.0200629 C0.927090038,8.50947627 2.31222825,7.29159253 4.05278755,7.29159253 L10.314666,7.29159253 L10.314666,7.29159253 Z"
fill="#FFFFFF"
fill-rule="nonzero"></path>
<path d="M18.0191834,0.674274796 C19.237061,-0.240440841 20.2249539,0.277026428 20.2249539,1.78238658 L20.2249539,29.3335821 C20.2249539,30.8598483 19.2475171,31.361636 18.0191834,30.4416938 L9.19610116,23.8296087 L9.19610116,7.29155607 L18.0191834,0.674244409 L18.0191834,0.674274796 Z"
fill="#FFFFFF"
fill-rule="nonzero"></path>
<path d="M29.5357411,25.6333387 C32.0371112,23.0341574 33.5750798,19.5011972 33.5750798,15.6090251 C33.5750798,11.7410714 32.0561911,8.2278731 29.582322,5.63333866"
stroke="#FFFFFF"
stroke-width="4"
stroke-linecap="round"
stroke-linejoin="round"></path>
</g>
</g>
</g>
</g>
</svg>
<!-- 静音 -->
<svg v-else
viewBox="0 0 40 40"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none"
stroke-width="1"
fill="none"
fill-rule="evenodd">
<g transform="translate(-40.000000, -354.000000)"
fill="#FFFFFF"
fill-rule="nonzero">
<g transform="translate(40.000000, 354.000000)">
<g transform="translate(0.000000, 5.000000)">
<path d="M10.314666,7.29159253 L10.314666,23.8296452 L4.05278755,23.8296452 C2.32789564,23.8296452 0.927090038,22.5856319 0.927090038,21.1011808 L0.927090038,10.0200629 C0.927090038,8.50947627 2.31222825,7.29159253 4.05278755,7.29159253 L10.314666,7.29159253 L10.314666,7.29159253 Z"></path>
<path d="M18.0191834,0.674274796 C19.237061,-0.240440841 20.2249539,0.277026428 20.2249539,1.78238658 L20.2249539,29.3335821 C20.2249539,30.8598483 19.2475171,31.361636 18.0191834,30.4416938 L9.19610116,23.8296087 L9.19610116,7.29155607 L18.0191834,0.674244409 L18.0191834,0.674274796 Z"></path>
<path d="M23.9256893,11.143836 C23.1573282,10.3754749 23.1573282,9.12100861 23.9256893,8.35265052 L23.9570512,8.32128901 C24.7254123,7.55292788 25.9798786,7.55292788 26.7482367,8.32128901 L38.4461438,20.0191961 C39.2145049,20.7875573 39.2145049,22.0420236 38.4461438,22.8103817 L38.4147823,22.8417435 C37.6411947,23.6153311 36.3919549,23.6153311 35.6235968,22.8417435 L23.9256893,11.143836 Z"></path>
<path d="M23.9517611,19.9930508 L35.6496683,8.29514369 C36.4180294,7.52678255 37.6724957,7.52678255 38.4408538,8.29514369 L38.4722156,8.32650519 C39.2405767,9.09486633 39.2405767,10.3493326 38.4722156,11.1176907 L26.7743085,22.8208244 C26.0059473,23.5891855 24.751481,23.5891855 23.9831229,22.8208244 L23.9517614,22.7894625 C23.1781738,22.0158749 23.1781738,20.7666351 23.9517614,19.9930505 L23.9517611,19.9930508 Z"></path>
</g>
</g>
</g>
</g>
</svg>
</div>
</template>
<script>
export default {
props: {
isMuted: {
type: Boolean,
default: false
}
},
data() {
return {};
},
computed: {
$video() {
return this.$parent.$parent.$video;
}
},
methods: {
handleClick() {
const isMuted = !this.isMuted;
this.$emit('update:isMuted', isMuted);
this.$video && (this.$video.muted = isMuted);
}
}
};
</script>
<style lang="scss" scoped>
._vol {
width: 1.2em;
height: 1.2em;
cursor: pointer;
svg {
width: 100%;
height: 100%;
}
}
</style>
<template>
<div id="videoList">
<div class="top">
<ul class="item">
<div style="display: flex;">
<img class="jinhuiClass" src="@/assets/img/jinhui.png" alt="" />
<li style=" font-family:'youshe';color: black;font-size: 45px">计算机-计算机</li>
</div>
</ul>
</div>
<div>
<section class="main" v-for="(o, index) in videoLists" :key="o.videoId">
<div class="videoBox">
<p class="videoTitle">{{o.videoName}}</p>
<QunVideo :url=o.video />
</div>
</section>
</div>
</div>
</template>
<script>
import QunVideo from "./QunVideo";
export default {
name: "videoList",
components: {
QunVideo,
},
data() {
return {
videoLists: [],//视频列表
};
},
methods: {
toDesk() {
let self = this;
self.$router.push("/deskTop");
},
//列表
videoList() {
this.$axios({
url: '/api/selectVideo',
method: 'post',
}).then(res => {
if (res.data.code == 200) {
this.videoLists = res.data.data
}
})
}
},
created() {
this.videoList()
}
};
</script>
<style lang="scss" scoped>
.top{
background-color: rgb(39, 118, 223);
}
.item {
display: flex;
padding: 20px;
font-size: 26px;
letter-spacing: 1px;
}
html,
body {
padding: 0;
margin: 0;
width: 100%;
height: 100%;
background-color: #f1f1f1;
}
#videoList {
font-family: "Avenir", Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: #2c3e50;
height: 100%;
background: url("../../assets/img/beijing111.jpg") no-repeat;
background-size: 100% 100%;
max-height: 100%; /* 设置固定高度,根据需要调整 */
overflow: auto; /* 添加滚动条 */
.header {
padding-top: 20px;
overflow: hidden;
width: 100%;
height: 150px;
color: #fff;
background-color: #159957;
background-image: linear-gradient(120deg, #1b9fd4, #159957);
}
.github-corner {
position: absolute;
top: 0;
border: 0;
right: 0;
z-index: 1;
}
.main {
display: inline-flex;
padding: 20px;
.videoBox {
height: 250px;
padding: 2px;
border-radius: 10px;
background: url("../../assets/img/videoImg/itemBg.png") no-repeat;
background-size: 100% 100%;
margin-left:15px;
margin-right:15px;
margin-top: 15px;
.videoTitle {
color: #fff;
font-weight: 600;
line-height: 30px;
font-size: 16px;
margin: 10px 20px;
}
}
.qun-video {
margin: 0;
min-width:350px
}
}
}
</style>
...@@ -15,6 +15,11 @@ export default new Router({ ...@@ -15,6 +15,11 @@ export default new Router({
component: () => import('@/components/common/jumpLogin') component: () => import('@/components/common/jumpLogin')
}, },
{ {
path: "/videoList",
name: "videoList",
component: () => import('@/components/videoList/videoList')
},
{
path: '/index', //教师主页 path: '/index', //教师主页
component: () => import('@/components/admin/index'), component: () => import('@/components/admin/index'),
children: [ children: [
...@@ -63,6 +68,10 @@ export default new Router({ ...@@ -63,6 +68,10 @@ export default new Router({
component: () => import('@/components/teacher/addAnswer') component: () => import('@/components/teacher/addAnswer')
}, },
{ {
path: '/addVideo', //上传视频主界面
component: () => import('@/components/teacher/addVideo')
},
{
path: '/addAnswerChildren', //点击试卷跳转到添加题库页面 path: '/addAnswerChildren', //点击试卷跳转到添加题库页面
component: () => import('@/components/teacher/addAnswerChildren') component: () => import('@/components/teacher/addAnswerChildren')
}, },
......
...@@ -17,7 +17,8 @@ const state = { ...@@ -17,7 +17,8 @@ const state = {
index: '2', index: '2',
title: '题库管理', title: '题库管理',
icon: 'icon-tiku', icon: 'icon-tiku',
content:[{item1:'功能介绍',path:'/answerDescription'},{item2:'所有题库',path:'/selectAnswer'},{item3:'增加题库',path:'/addAnswer'},{path: '/addAnswerChildren'}], content:[{item1:'功能介绍',path:'/answerDescription'},{item2:'所有题库',path:'/selectAnswer'},{item3:'增加题库',path:'/addAnswer'},{item4:'上传视频',path:'/addVideo'},{path: '/addAnswerChildren'}],
// content:[{item1:'功能介绍',path:'/answerDescription'},{item2:'所有题库',path:'/selectAnswer'},{item3:'增加题库',path:'/addAnswer'},{path: '/addAnswerChildren'}],
}, },
{ {
index: '3', index: '3',
...@@ -57,7 +58,7 @@ const mutations = { ...@@ -57,7 +58,7 @@ const mutations = {
} }
} }
const getters = { const getters = {
} }
const actions = { const actions = {
getUserInfo(context,info) { getUserInfo(context,info) {
......
// function resolve(dir) { // function resolve(dir) {
// return path.join(__dirname, dir); // return path.join(__dirname, dir);
// } // }
module.exports = { module.exports = {
assetsDir: "static", assetsDir: "static",
lintOnSave: false, //关闭eslint lintOnSave: false, //关闭eslint
productionSourceMap: false, //关闭生产映射 productionSourceMap: false, //关闭生产映射
entry: ['entry.js'],
css: { output: {
sourceMap: process.env.NODE_ENV === "development" ? true : false, // 在开发环境下开启 CSS sourcemaps filename: 'bundle.js'
loaderOptions: { },
css: {}, module: {
postcss: { rules: [
plugins: [ {
require('postcss-px2rem')({ test: /\.scss$/,
// 以设计稿750为例, 750 / 10 = 75 use: [
remUnit: 192 'vue-style-loader',
}), "css-loader",
] "sass-loader"
} ]
} }
]
},
css: {
sourceMap: process.env.NODE_ENV === "development" ? true : false, // 在开发环境下开启 CSS sourcemaps
loaderOptions: {
css: {},
postcss: {
plugins: [
require('postcss-px2rem')({
// 以设计稿750为例, 750 / 10 = 75
remUnit: 192
}),
]
}
} }
}
}; };
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment