调整iPhone上各分辨率下的显示效果
This commit is contained in:
parent
4114a9b7ac
commit
9e2fbe3f9a
282
package-lock.json
generated
282
package-lock.json
generated
@ -1547,6 +1547,12 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"@types/video.js": {
|
||||
"version": "7.3.29",
|
||||
"resolved": "https://registry.npmmirror.com/@types/video.js/download/@types/video.js-7.3.29.tgz",
|
||||
"integrity": "sha512-7xP5O3tQC6dm5xljwwvDvMKTumlu/cag4k5FwezMUazoCAbni0t3NB5ToavQlNAH5OKLLP3/ZEJbPqP6ShocIA==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/webpack": {
|
||||
"version": "4.41.32",
|
||||
"resolved": "https://registry.npmmirror.com/@types/webpack/download/@types/webpack-4.41.32.tgz?cache=0&sync_timestamp=1637271141447&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fwebpack%2Fdownload%2F%40types%2Fwebpack-4.41.32.tgz",
|
||||
@ -2572,6 +2578,14 @@
|
||||
"integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=",
|
||||
"dev": true
|
||||
},
|
||||
"aes-decrypter": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/aes-decrypter/download/aes-decrypter-1.0.3.tgz",
|
||||
"integrity": "sha1-nAa4pUNaWtCduTP4oBSvzxhMw04=",
|
||||
"requires": {
|
||||
"pkcs7": "^0.2.3"
|
||||
}
|
||||
},
|
||||
"ajv": {
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz",
|
||||
@ -3045,6 +3059,27 @@
|
||||
"@babel/helper-define-polyfill-provider": "^0.3.0"
|
||||
}
|
||||
},
|
||||
"babel-runtime": {
|
||||
"version": "6.26.0",
|
||||
"resolved": "https://registry.npmmirror.com/babel-runtime/download/babel-runtime-6.26.0.tgz",
|
||||
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
|
||||
"requires": {
|
||||
"core-js": "^2.4.0",
|
||||
"regenerator-runtime": "^0.11.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"core-js": {
|
||||
"version": "2.6.12",
|
||||
"resolved": "https://registry.npmmirror.com/core-js/download/core-js-2.6.12.tgz",
|
||||
"integrity": "sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw="
|
||||
},
|
||||
"regenerator-runtime": {
|
||||
"version": "0.11.1",
|
||||
"resolved": "https://registry.npmmirror.com/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz",
|
||||
"integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk="
|
||||
}
|
||||
}
|
||||
},
|
||||
"balanced-match": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.2.tgz",
|
||||
@ -5149,6 +5184,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"dom-walk": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmmirror.com/dom-walk/download/dom-walk-0.1.2.tgz",
|
||||
"integrity": "sha1-DFSL7wSPTR8qlySQAiNgYNqj/YQ="
|
||||
},
|
||||
"domain-browser": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.nlark.com/domain-browser/download/domain-browser-1.2.0.tgz",
|
||||
@ -5423,6 +5463,11 @@
|
||||
"is-symbol": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"es5-shim": {
|
||||
"version": "4.6.4",
|
||||
"resolved": "https://registry.npmmirror.com/es5-shim/download/es5-shim-4.6.4.tgz",
|
||||
"integrity": "sha512-Z0f7OUYZ8JfqT12d3Tgh2ErxIH5Shaz97GE8qyDG9quxb2Hmh2vvFHlOFjx6lzyD0CRgvJfnNYcisjdbRp7MPw=="
|
||||
},
|
||||
"escalade": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.nlark.com/escalade/download/escalade-3.1.1.tgz",
|
||||
@ -6938,6 +6983,11 @@
|
||||
"rimraf": "2"
|
||||
}
|
||||
},
|
||||
"fullpage.js": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmmirror.com/fullpage.js/download/fullpage.js-3.1.2.tgz",
|
||||
"integrity": "sha1-7mKJ9S7bKp+cJdCcQCIEO3AdPMA="
|
||||
},
|
||||
"function-bind": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "http://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
|
||||
@ -7104,6 +7154,15 @@
|
||||
"integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
|
||||
"dev": true
|
||||
},
|
||||
"global": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/global/download/global-4.4.0.tgz",
|
||||
"integrity": "sha1-PnsQUXkAajI+1xqvyj6cV6XMZAY=",
|
||||
"requires": {
|
||||
"min-document": "^2.19.0",
|
||||
"process": "^0.11.10"
|
||||
}
|
||||
},
|
||||
"globals": {
|
||||
"version": "11.12.0",
|
||||
"resolved": "https://registry.npmmirror.com/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz",
|
||||
@ -7798,6 +7857,11 @@
|
||||
"integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
|
||||
"dev": true
|
||||
},
|
||||
"individual": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/individual/download/individual-2.0.0.tgz",
|
||||
"integrity": "sha1-gzsJfa0jKU52EXqY+zjg2a1hu5c="
|
||||
},
|
||||
"infer-owner": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz",
|
||||
@ -8181,6 +8245,11 @@
|
||||
"integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=",
|
||||
"dev": true
|
||||
},
|
||||
"is-function": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/is-function/download/is-function-1.0.2.tgz",
|
||||
"integrity": "sha1-Twl/MKv2762smDOxfKXcA/gUTgg="
|
||||
},
|
||||
"is-glob": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz?cache=0&sync_timestamp=1632934573225&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-glob%2Fdownload%2Fis-glob-4.0.3.tgz",
|
||||
@ -8772,6 +8841,11 @@
|
||||
"yallist": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"m3u8-parser": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/m3u8-parser/download/m3u8-parser-2.1.0.tgz",
|
||||
"integrity": "sha1-yBcDKewc1RXQ1Yu4t2LamJbLA2g="
|
||||
},
|
||||
"make-dir": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz?cache=0&sync_timestamp=1587567407163&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-3.1.0.tgz",
|
||||
@ -8976,6 +9050,14 @@
|
||||
"integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=",
|
||||
"dev": true
|
||||
},
|
||||
"min-document": {
|
||||
"version": "2.19.0",
|
||||
"resolved": "https://registry.npmmirror.com/min-document/download/min-document-2.19.0.tgz",
|
||||
"integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
|
||||
"requires": {
|
||||
"dom-walk": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"mini-css-extract-plugin": {
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmmirror.com/mini-css-extract-plugin/download/mini-css-extract-plugin-0.9.0.tgz?cache=0&sync_timestamp=1637170563108&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.9.0.tgz",
|
||||
@ -9147,6 +9229,11 @@
|
||||
"integrity": "sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=",
|
||||
"dev": true
|
||||
},
|
||||
"mux.js": {
|
||||
"version": "4.3.2",
|
||||
"resolved": "https://registry.npmmirror.com/mux.js/download/mux.js-4.3.2.tgz",
|
||||
"integrity": "sha1-V21TffA33F7DXsExa5SNgV01whA="
|
||||
},
|
||||
"mz": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "http://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz",
|
||||
@ -9503,8 +9590,7 @@
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
|
||||
"dev": true
|
||||
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
|
||||
},
|
||||
"object-copy": {
|
||||
"version": "0.1.0",
|
||||
@ -9849,6 +9935,11 @@
|
||||
"safe-buffer": "^5.1.1"
|
||||
}
|
||||
},
|
||||
"parse-headers": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmmirror.com/parse-headers/download/parse-headers-2.0.4.tgz",
|
||||
"integrity": "sha1-nq8tAr7S0e/0lDMc498215JHYL8="
|
||||
},
|
||||
"parse-json": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/parse-json/download/parse-json-5.2.0.tgz?cache=0&sync_timestamp=1637475636838&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fparse-json%2Fdownload%2Fparse-json-5.2.0.tgz",
|
||||
@ -10013,6 +10104,11 @@
|
||||
"pinkie": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"pkcs7": {
|
||||
"version": "0.2.3",
|
||||
"resolved": "https://registry.npmmirror.com/pkcs7/download/pkcs7-0.2.3.tgz",
|
||||
"integrity": "sha1-ItYGZtAQZcXyRDkJjkpIMEUic74="
|
||||
},
|
||||
"pkg-dir": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-4.2.0.tgz?cache=0&sync_timestamp=1633498133295&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-4.2.0.tgz",
|
||||
@ -10708,8 +10804,7 @@
|
||||
"process": {
|
||||
"version": "0.11.10",
|
||||
"resolved": "http://registry.npm.taobao.org/process/download/process-0.11.10.tgz",
|
||||
"integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
|
||||
"dev": true
|
||||
"integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
|
||||
},
|
||||
"process-nextick-args": {
|
||||
"version": "2.0.1",
|
||||
@ -11409,6 +11504,14 @@
|
||||
"aproba": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"rust-result": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/rust-result/download/rust-result-1.0.0.tgz",
|
||||
"integrity": "sha1-NMdbLm3Dn+WHXlveyFteD5FTb3I=",
|
||||
"requires": {
|
||||
"individual": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"rxjs": {
|
||||
"version": "6.6.7",
|
||||
"resolved": "https://registry.npmmirror.com/rxjs/download/rxjs-6.6.7.tgz?cache=0&sync_timestamp=1633554235070&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Frxjs%2Fdownload%2Frxjs-6.6.7.tgz",
|
||||
@ -11424,6 +11527,14 @@
|
||||
"integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=",
|
||||
"dev": true
|
||||
},
|
||||
"safe-json-parse": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/safe-json-parse/download/safe-json-parse-4.0.0.tgz",
|
||||
"integrity": "sha1-fA9XjPzNEtM6ccDgVBPi7KFx6qw=",
|
||||
"requires": {
|
||||
"rust-result": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"safe-regex": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz",
|
||||
@ -13003,6 +13114,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"tsml": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/tsml/download/tsml-1.0.1.tgz",
|
||||
"integrity": "sha1-ifghi52eJX9H1/a1bQHFpNLGj8M="
|
||||
},
|
||||
"tsutils": {
|
||||
"version": "2.29.0",
|
||||
"resolved": "https://registry.npm.taobao.org/tsutils/download/tsutils-2.29.0.tgz",
|
||||
@ -13301,6 +13417,11 @@
|
||||
"requires-port": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"url-toolkit": {
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmmirror.com/url-toolkit/download/url-toolkit-2.2.3.tgz",
|
||||
"integrity": "sha1-ePqQEhWrusNBggZpMiICebgEUis="
|
||||
},
|
||||
"use": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "http://registry.npm.taobao.org/use/download/use-3.1.1.tgz",
|
||||
@ -13399,6 +13520,104 @@
|
||||
"extsprintf": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"video.js": {
|
||||
"version": "6.13.0",
|
||||
"resolved": "https://registry.npmmirror.com/video.js/download/video.js-6.13.0.tgz",
|
||||
"integrity": "sha1-+Uh9RjJzQPpI7NUTcqKYHbts3kw=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.9.2",
|
||||
"global": "4.3.2",
|
||||
"safe-json-parse": "4.0.0",
|
||||
"tsml": "1.0.1",
|
||||
"videojs-font": "2.1.0",
|
||||
"videojs-ie8": "1.1.2",
|
||||
"videojs-vtt.js": "0.12.6",
|
||||
"xhr": "2.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"global": {
|
||||
"version": "4.3.2",
|
||||
"resolved": "https://registry.npmmirror.com/global/download/global-4.3.2.tgz",
|
||||
"integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
|
||||
"requires": {
|
||||
"min-document": "^2.19.0",
|
||||
"process": "~0.5.1"
|
||||
}
|
||||
},
|
||||
"process": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmmirror.com/process/download/process-0.5.2.tgz",
|
||||
"integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8="
|
||||
}
|
||||
}
|
||||
},
|
||||
"videojs-contrib-hls": {
|
||||
"version": "5.15.0",
|
||||
"resolved": "https://registry.npmmirror.com/videojs-contrib-hls/download/videojs-contrib-hls-5.15.0.tgz",
|
||||
"integrity": "sha1-/klXNn5daLfSP3jtMuN6ndiSoKg=",
|
||||
"requires": {
|
||||
"aes-decrypter": "1.0.3",
|
||||
"global": "^4.3.0",
|
||||
"m3u8-parser": "2.1.0",
|
||||
"mux.js": "4.3.2",
|
||||
"url-toolkit": "^2.1.3",
|
||||
"video.js": "^5.19.1 || ^6.2.0",
|
||||
"videojs-contrib-media-sources": "4.7.2",
|
||||
"webwackify": "0.1.6"
|
||||
}
|
||||
},
|
||||
"videojs-contrib-media-sources": {
|
||||
"version": "4.7.2",
|
||||
"resolved": "https://registry.npmmirror.com/videojs-contrib-media-sources/download/videojs-contrib-media-sources-4.7.2.tgz",
|
||||
"integrity": "sha1-Ct+SkQfVt0zyyKuygkyCF35DhY4=",
|
||||
"requires": {
|
||||
"global": "^4.3.0",
|
||||
"mux.js": "4.3.2",
|
||||
"video.js": "^5.17.0 || ^6.2.0",
|
||||
"webwackify": "0.1.6"
|
||||
}
|
||||
},
|
||||
"videojs-flash": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmmirror.com/videojs-flash/download/videojs-flash-2.2.1.tgz",
|
||||
"integrity": "sha1-GiJduxztIArpu/FeAf5KYQhtkPE=",
|
||||
"requires": {
|
||||
"global": "^4.4.0",
|
||||
"video.js": "^6 || ^7",
|
||||
"videojs-swf": "5.4.2"
|
||||
}
|
||||
},
|
||||
"videojs-font": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/videojs-font/download/videojs-font-2.1.0.tgz",
|
||||
"integrity": "sha1-olkwpn9snPvyu4jay4xrRR8JM3k="
|
||||
},
|
||||
"videojs-hotkeys": {
|
||||
"version": "0.2.27",
|
||||
"resolved": "https://registry.npmmirror.com/videojs-hotkeys/download/videojs-hotkeys-0.2.27.tgz",
|
||||
"integrity": "sha1-Dfl5Urnf8ObMHPikOf7X6snHPwE="
|
||||
},
|
||||
"videojs-ie8": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmmirror.com/videojs-ie8/download/videojs-ie8-1.1.2.tgz",
|
||||
"integrity": "sha1-oj09hgitcZK2nGB3/E64SJmNNdk=",
|
||||
"requires": {
|
||||
"es5-shim": "^4.5.1"
|
||||
}
|
||||
},
|
||||
"videojs-swf": {
|
||||
"version": "5.4.2",
|
||||
"resolved": "https://registry.npmmirror.com/videojs-swf/download/videojs-swf-5.4.2.tgz",
|
||||
"integrity": "sha1-aWSpv/kDtzLz5GUxSuR4oCoX6Ks="
|
||||
},
|
||||
"videojs-vtt.js": {
|
||||
"version": "0.12.6",
|
||||
"resolved": "https://registry.npmmirror.com/videojs-vtt.js/download/videojs-vtt.js-0.12.6.tgz",
|
||||
"integrity": "sha1-4HhgC9qJnqpvnDMHE0zQyBGUe44=",
|
||||
"requires": {
|
||||
"global": "^4.3.1"
|
||||
}
|
||||
},
|
||||
"vm-browserify": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz",
|
||||
@ -13448,6 +13667,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"vue-fullpage.js": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmmirror.com/vue-fullpage.js/download/vue-fullpage.js-0.1.7.tgz",
|
||||
"integrity": "sha1-YrxTlI8iF/sU6lVQIbE/uZe04UE=",
|
||||
"requires": {
|
||||
"fullpage.js": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"vue-hot-reload-api": {
|
||||
"version": "2.3.4",
|
||||
"resolved": "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz",
|
||||
@ -13600,6 +13827,18 @@
|
||||
"integrity": "sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=",
|
||||
"dev": true
|
||||
},
|
||||
"vue-video-player": {
|
||||
"version": "5.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/vue-video-player/download/vue-video-player-5.0.2.tgz",
|
||||
"integrity": "sha1-NKQiOf8wTvx2mNogpBZQUddmweY=",
|
||||
"requires": {
|
||||
"object-assign": "^4.1.1",
|
||||
"video.js": "^6.6.0",
|
||||
"videojs-contrib-hls": "^5.12.2",
|
||||
"videojs-flash": "^2.1.0",
|
||||
"videojs-hotkeys": "^0.2.20"
|
||||
}
|
||||
},
|
||||
"vuex": {
|
||||
"version": "3.6.2",
|
||||
"resolved": "https://registry.npmmirror.com/vuex/download/vuex-3.6.2.tgz",
|
||||
@ -14276,6 +14515,11 @@
|
||||
"integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=",
|
||||
"dev": true
|
||||
},
|
||||
"webwackify": {
|
||||
"version": "0.1.6",
|
||||
"resolved": "https://registry.npmmirror.com/webwackify/download/webwackify-0.1.6.tgz",
|
||||
"integrity": "sha1-HUKhKsYYI9fjRaveCE6qpipKles="
|
||||
},
|
||||
"which": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz",
|
||||
@ -14389,11 +14633,37 @@
|
||||
"async-limiter": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"xhr": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/xhr/download/xhr-2.4.0.tgz",
|
||||
"integrity": "sha1-4W5mpF+GmGHu76tBbV7/ci3ECZM=",
|
||||
"requires": {
|
||||
"global": "~4.3.0",
|
||||
"is-function": "^1.0.1",
|
||||
"parse-headers": "^2.0.0",
|
||||
"xtend": "^4.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"global": {
|
||||
"version": "4.3.2",
|
||||
"resolved": "https://registry.npmmirror.com/global/download/global-4.3.2.tgz",
|
||||
"integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
|
||||
"requires": {
|
||||
"min-document": "^2.19.0",
|
||||
"process": "~0.5.1"
|
||||
}
|
||||
},
|
||||
"process": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmmirror.com/process/download/process-0.5.2.tgz",
|
||||
"integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8="
|
||||
}
|
||||
}
|
||||
},
|
||||
"xtend": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxtend%2Fdownload%2Fxtend-4.0.2.tgz",
|
||||
"integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=",
|
||||
"dev": true
|
||||
"integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q="
|
||||
},
|
||||
"y18n": {
|
||||
"version": "4.0.3",
|
||||
|
@ -9,16 +9,20 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"core-js": "^3.6.5",
|
||||
"js-cookie": "^2.2.1",
|
||||
"videojs-contrib-hls": "^5.15.0",
|
||||
"vue": "^2.6.11",
|
||||
"vue-class-component": "^7.2.3",
|
||||
"vue-fullpage.js": "^0.1.7",
|
||||
"vue-property-decorator": "^9.1.2",
|
||||
"vue-router": "^3.2.0",
|
||||
"vue-video-player": "^5.0.2",
|
||||
"vuex": "^3.4.0",
|
||||
"vuex-module-decorators": "^2.0.0",
|
||||
"js-cookie": "^2.2.1"
|
||||
"vuex-module-decorators": "^2.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/js-cookie": "^2.2.6",
|
||||
"@types/video.js": "^7.3.29",
|
||||
"@typescript-eslint/eslint-plugin": "^4.18.0",
|
||||
"@typescript-eslint/parser": "^4.18.0",
|
||||
"@vue/cli-plugin-babel": "~4.5.0",
|
||||
|
@ -10,6 +10,25 @@
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<title><%= htmlWebpackPlugin.options.title %></title>
|
||||
<script src="assets/libs/spine-webgl.js"></script>
|
||||
<style>
|
||||
.video-js .vjs-big-play-button {
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
margin: auto;
|
||||
}
|
||||
.vjs-control-bar{
|
||||
display: none!important;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 0 !important;
|
||||
}
|
||||
::-webkit-scrollbar {
|
||||
width: 0 !important;height: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
|
BIN
src/assets/main/p3/icon_right.png
Executable file
BIN
src/assets/main/p3/icon_right.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 6.1 KiB |
@ -96,7 +96,7 @@ export default class extends Vue {
|
||||
}
|
||||
.class-div{
|
||||
position: absolute;
|
||||
top: 90px/$scale;
|
||||
top: 80px/$scale;
|
||||
right: 0;
|
||||
width: 42px/$scale;
|
||||
height: 42px/$scale;
|
||||
@ -153,12 +153,24 @@ export default class extends Vue {
|
||||
}
|
||||
@media (max-width: 415px) {
|
||||
@include resize($scale: 2.0);
|
||||
|
||||
.corner {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 376px) {
|
||||
@include resize($scale: 2.2);
|
||||
.class-div{
|
||||
top:37px;
|
||||
right: 4px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 321px) {
|
||||
@include resize($scale: 2.4);
|
||||
.class-div{
|
||||
top:30px;
|
||||
right: 10px;
|
||||
}
|
||||
}
|
||||
.card{
|
||||
position: relative;
|
||||
}
|
||||
|
@ -19,7 +19,7 @@
|
||||
@click="toPage(index)"
|
||||
:key="index" :class="index===currentPage? 'selected': ''"></div>
|
||||
</div>
|
||||
<img class="right-btn" src="@/assets/main/p3/icon_left.png" @click="toRight">
|
||||
<img class="right-btn" src="@/assets/main/p3/icon_right.png" @click="toRight">
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -140,6 +140,10 @@ export default class extends Vue {
|
||||
}
|
||||
];
|
||||
|
||||
$refs!: {
|
||||
listContainer: HTMLFormElement
|
||||
}
|
||||
|
||||
private cardDatas: ISpineData[][] = [];
|
||||
private currentPage = 0;
|
||||
private totalPage = 1;
|
||||
@ -168,7 +172,7 @@ export default class extends Vue {
|
||||
const self = this
|
||||
Vue.nextTick(function() {
|
||||
self.scrollWidth = self.$refs.listContainer?.offsetWidth
|
||||
console.log('scrollWidth:', self.scrollWidth)
|
||||
// console.log('scrollWidth:', self.scrollWidth)
|
||||
})
|
||||
}
|
||||
|
||||
@ -187,7 +191,7 @@ export default class extends Vue {
|
||||
const self = this
|
||||
const target = -(this.currentPage * this.scrollWidth)
|
||||
this.changePos(target, 20, function() {
|
||||
console.log('toLeft end:', self.scrollLeft)
|
||||
// console.log('toLeft end:', self.scrollLeft)
|
||||
self.scrolling = false
|
||||
})
|
||||
}
|
||||
@ -200,7 +204,7 @@ export default class extends Vue {
|
||||
this.scrolling = true
|
||||
const target = -(this.currentPage * this.scrollWidth)
|
||||
this.changePos(target, -20, function() {
|
||||
console.log('toRight end:', self.scrollLeft)
|
||||
// console.log('toRight end:', self.scrollLeft)
|
||||
self.scrolling = false
|
||||
})
|
||||
}
|
||||
@ -216,7 +220,7 @@ export default class extends Vue {
|
||||
const step = index > this.currentPage ? -20 : 20
|
||||
this.currentPage = index
|
||||
this.changePos(target, step, function() {
|
||||
console.log('toPage end:', self.scrollLeft)
|
||||
// console.log('toPage end:', self.scrollLeft)
|
||||
self.scrolling = false
|
||||
})
|
||||
}
|
||||
@ -261,7 +265,7 @@ export default class extends Vue {
|
||||
.card-container {
|
||||
display: flex;
|
||||
width: 80vw;
|
||||
justify-content: flex-start;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.card {
|
||||
@ -279,10 +283,6 @@ export default class extends Vue {
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.right-btn {
|
||||
transform: rotateY(180deg);
|
||||
}
|
||||
|
||||
.page-ctrl {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -303,7 +303,7 @@ export default class extends Vue {
|
||||
@media (min-width: 768px) {
|
||||
@include resize($scale: 1)
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
@media (min-width: 416px) and (max-width: 767px) {
|
||||
@include resize($scale: 1.4);
|
||||
.card-container {
|
||||
flex-wrap: wrap;
|
||||
@ -328,8 +328,8 @@ export default class extends Vue {
|
||||
}
|
||||
|
||||
}
|
||||
@media (max-width: 415px) {
|
||||
@include resize($scale: 2.0);
|
||||
@media (min-width: 376px) and (max-width: 415px) {
|
||||
@include resize($scale: 2.1);
|
||||
.card-container {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
@ -355,8 +355,8 @@ export default class extends Vue {
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 376px) {
|
||||
@include resize($scale: 2.2);
|
||||
@media (min-width: 321px) and (max-width: 375px) {
|
||||
@include resize($scale: 2.3);
|
||||
.card-container {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
@ -381,5 +381,31 @@ export default class extends Vue {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media (max-width: 321px) {
|
||||
@include resize($scale: 2.6);
|
||||
.card-container {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.scroll-content {
|
||||
bottom: 0;
|
||||
}
|
||||
.action-bar {
|
||||
bottom: 30vh;
|
||||
}
|
||||
.list-container {
|
||||
height: 100%;
|
||||
}
|
||||
.right-btn {
|
||||
width: 40px;
|
||||
height: 55px;
|
||||
}
|
||||
.left-btn {
|
||||
width: 40px;
|
||||
height: 55px;
|
||||
}
|
||||
.page-ctrl {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
@ -14,15 +14,18 @@
|
||||
</div>
|
||||
<spine-view class="hero-anim" :data="hero" :key="hero.id"></spine-view>
|
||||
<div class="bottom-cover"></div>
|
||||
<div class="video-bg" v-if="videoShow" @click="hideVideo"></div>
|
||||
<div class="video-div" v-if="videoShow" >
|
||||
<div class="video-bg" v-show="videoShow" @click="hideVideo"></div>
|
||||
<div class="video-div" v-show="videoShow" >
|
||||
<video
|
||||
id="video2"
|
||||
class="video-js"
|
||||
loop
|
||||
playsinline
|
||||
crossorigin="anonymous"
|
||||
autoplay
|
||||
preload
|
||||
>
|
||||
<source :src="videoUrl">
|
||||
<source src="https://cdn.cebg.games/video/v1.m3u8" type="application/x-mpegURL">
|
||||
</video>
|
||||
</div>
|
||||
</section>
|
||||
@ -32,6 +35,8 @@
|
||||
import { Component, Vue } from 'vue-property-decorator'
|
||||
import { ISpineData } from '@/utils/SpineRender'
|
||||
import SpineView from '@/components/main/SpineView.vue'
|
||||
import videojs from 'video.js'
|
||||
import 'videojs-contrib-hls'
|
||||
|
||||
@Component({
|
||||
name: 'GamePlaySection',
|
||||
@ -43,14 +48,31 @@ import SpineView from '@/components/main/SpineView.vue'
|
||||
export default class extends Vue {
|
||||
private hero: ISpineData = { id: 'hero10', skelName: 'pic_hero10', animName: 'animation', repeat: true, scale: 1.2 }
|
||||
private videoShow = false
|
||||
private videoUrl = 'https://cdn.cebg.games/video/v2.mp4'
|
||||
private videoPlayer:videojs.Player
|
||||
|
||||
showVideo() {
|
||||
this.videoShow = true
|
||||
this.getVideo()
|
||||
}
|
||||
|
||||
hideVideo() {
|
||||
this.videoShow = false
|
||||
console.log('hide video')
|
||||
}
|
||||
|
||||
getVideo() {
|
||||
const self = this
|
||||
if (!this.videoPlayer) {
|
||||
this.videoPlayer = videojs('video2', {
|
||||
autoplay: true,
|
||||
bigPlayButton: true,
|
||||
controls: true,
|
||||
loop: true,
|
||||
preload: 'auto'
|
||||
}, function() {
|
||||
// this.play()
|
||||
self.videoPlayer!.play()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -159,7 +181,7 @@ export default class extends Vue {
|
||||
margin: auto;
|
||||
z-index: 15;
|
||||
}
|
||||
.video-div video {
|
||||
.video-div .video-js {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
@ -180,7 +202,7 @@ export default class extends Vue {
|
||||
height: 50vh;
|
||||
bottom: 8vh;
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
.color-content {
|
||||
width: 50%;
|
||||
@ -225,6 +247,9 @@ export default class extends Vue {
|
||||
margin: auto;
|
||||
z-index: 15;
|
||||
}
|
||||
.video-js {
|
||||
background-color: white;
|
||||
}
|
||||
}
|
||||
@media (max-width: 415px) {
|
||||
.hero-anim{
|
||||
|
@ -11,7 +11,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="home_right_panel">
|
||||
<div class="spine-list">
|
||||
<div class="spine-list" :style="'transform:scale('+mainScale+')'">
|
||||
<home-hero class="hero-von" v-for="hero in heros" :data="hero" :key="hero.id"></home-hero>
|
||||
</div>
|
||||
</div>
|
||||
@ -29,16 +29,42 @@ import HomeHero from '@/components/main/HomeHero.vue'
|
||||
components: {
|
||||
HomeHero,
|
||||
SpineView
|
||||
|
||||
}
|
||||
})
|
||||
export default class extends Vue {
|
||||
private mainScale = 1
|
||||
private widthDesign = 1920
|
||||
private widthSmall = 767
|
||||
private heros: ISpineData[] = [
|
||||
{ id: 'hero1', skelName: 'pic_hero2', animName: 'animation', repeat: true, scale: 1.1 },
|
||||
{ id: 'hero2', skelName: 'pic_hero3', animName: 'animation', repeat: true, scale: 1.1 },
|
||||
{ id: 'hero3', skelName: 'pic_hero9', animName: 'animation', repeat: true, scale: 1.1 },
|
||||
{ id: 'hero4', skelName: 'pic_hero1', animName: 'animation', repeat: true, scale: 1.1 }
|
||||
]
|
||||
|
||||
pageResize() {
|
||||
const self = this
|
||||
this.$nextTick(() => {
|
||||
const width = document.getElementById('fullpage')!.getBoundingClientRect().width
|
||||
if (width >= this.widthSmall && width <= this.widthDesign) {
|
||||
self.mainScale = (width / this.widthDesign) * 0.9
|
||||
} else {
|
||||
self.mainScale = 1
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
mounted() {
|
||||
const self = this
|
||||
window.onresize = () => {
|
||||
self.pageResize()
|
||||
}
|
||||
self.pageResize()
|
||||
}
|
||||
|
||||
destroyed() {
|
||||
window.onresize = null
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -53,7 +79,7 @@ export default class extends Vue {
|
||||
/* position: absolute;
|
||||
left: 20px;
|
||||
top: 60px;*/
|
||||
width: 686px;
|
||||
width: 30%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@ -73,18 +99,19 @@ export default class extends Vue {
|
||||
padding-right: 30px;
|
||||
}
|
||||
.home_right_panel {
|
||||
width: 60%;
|
||||
width: 70%;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column-reverse;
|
||||
overflow: hidden;
|
||||
align-items: center;
|
||||
}
|
||||
.spine-list{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.hero-von:not(:first-child){
|
||||
margin-left: -120px;
|
||||
margin-left: -150px;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
@ -102,6 +129,7 @@ export default class extends Vue {
|
||||
height: 50vh;
|
||||
}
|
||||
.spine-list{
|
||||
width: 100vw;
|
||||
}
|
||||
|
||||
.home_left_panel .one_row:first-child{
|
||||
|
@ -218,5 +218,9 @@ export default class extends Vue {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
.menu-icon img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -1,20 +1,23 @@
|
||||
<template>
|
||||
<section id="video_section" data-anchor="video">
|
||||
<video
|
||||
width="100%"
|
||||
height="100%"
|
||||
id="video"
|
||||
class="video-js"
|
||||
loop
|
||||
playsinline
|
||||
crossorigin="anonymous"
|
||||
autoplay
|
||||
preload
|
||||
>
|
||||
<source :src="videoUrl">
|
||||
<source src="https://cdn.cebg.games/video/v1.m3u8" type="application/x-mpegURL">
|
||||
</video>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator'
|
||||
import videojs from 'video.js'
|
||||
import 'videojs-contrib-hls'
|
||||
|
||||
@Component({
|
||||
name: 'VideoSection',
|
||||
@ -23,7 +26,28 @@ import { Component, Vue } from 'vue-property-decorator'
|
||||
}
|
||||
})
|
||||
export default class extends Vue {
|
||||
private videoUrl = 'https://cdn.cebg.games/video/v2.mp4'
|
||||
private videoPlayer:videojs.Player
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.getVideo()
|
||||
})
|
||||
}
|
||||
|
||||
getVideo() {
|
||||
const self = this
|
||||
if (!this.videoPlayer) {
|
||||
this.videoPlayer = videojs('video', {
|
||||
autoplay: true,
|
||||
bigPlayButton: true,
|
||||
controls: true,
|
||||
loop: true,
|
||||
preload: 'auto'
|
||||
}, function() {
|
||||
// this.play()
|
||||
self.videoPlayer!.play()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -32,6 +56,18 @@ export default class extends Vue {
|
||||
background-image: url('~@/assets/main/p2/bg_p2.png');
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
position: relative;
|
||||
}
|
||||
.video-js {
|
||||
width: 100vw;
|
||||
height: 56vw;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
margin: auto;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
@ -2,6 +2,7 @@ import Vue from 'vue'
|
||||
import App from './App.vue'
|
||||
import router from './router'
|
||||
import store from './store'
|
||||
import 'video.js/dist/video-js.css'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
|
@ -12,6 +12,11 @@ const routes: Array<RouteConfig> = [
|
||||
name: 'Main',
|
||||
component: Main
|
||||
},
|
||||
{
|
||||
path: '/index.html',
|
||||
name: 'Main',
|
||||
component: Main
|
||||
},
|
||||
{
|
||||
path: '/market',
|
||||
name: 'Market',
|
||||
|
@ -10,7 +10,8 @@
|
||||
"skipLibCheck": true,
|
||||
"esModuleInterop": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"sourceMap": true,
|
||||
"strictPropertyInitialization": false,
|
||||
"sourceMap": false,
|
||||
"baseUrl": ".",
|
||||
"allowJs": true,
|
||||
"types": [
|
||||
|
30
vue.config.js
Normal file
30
vue.config.js
Normal file
@ -0,0 +1,30 @@
|
||||
const path = require('path')
|
||||
const name = 'Blissful Elites'
|
||||
|
||||
module.exports = {
|
||||
// TODO: Remember to change publicPath to fit your need
|
||||
publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
|
||||
lintOnSave: process.env.NODE_ENV === 'development',
|
||||
productionSourceMap: false,
|
||||
pwa: {
|
||||
name: name
|
||||
},
|
||||
pluginOptions: {
|
||||
'style-resources-loader': {
|
||||
preProcessor: 'scss',
|
||||
patterns: [
|
||||
path.resolve(__dirname, 'src/styles/_variables.scss'),
|
||||
path.resolve(__dirname, 'src/styles/_mixins.scss')
|
||||
]
|
||||
}
|
||||
},
|
||||
chainWebpack(config) {
|
||||
// provide the app's title in html-webpack-plugin's options list so that
|
||||
// it can be accessed in index.html to inject the correct title.
|
||||
// https://cli.vuejs.org/guide/webpack.html#modifying-options-of-a-plugin
|
||||
config.plugin('html').tap(args => {
|
||||
args[0].title = name
|
||||
return args
|
||||
})
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user