Commit 9b8673b2 authored by jiaoyahui's avatar jiaoyahui

解决冲突 package-lock 和package.json

parents fa4bf54b 834c050c
{
"name": "live",
"version": "0.1.0",
"lockfileVersion": 2,
"lockfileVersion": 1,
"requires": true,
"packages": {
"": {
......@@ -15276,17 +15276,20 @@
"@jridgewell/resolve-uri": {
"version": "3.1.0",
"resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
"integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w=="
"integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
"dev": true
},
"@jridgewell/set-array": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz",
"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw=="
"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
"dev": true
},
"@jridgewell/source-map": {
"version": "0.3.2",
"resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.2.tgz",
"integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
"dev": true,
"requires": {
"@jridgewell/gen-mapping": "^0.3.0",
"@jridgewell/trace-mapping": "^0.3.9"
......@@ -15296,6 +15299,7 @@
"version": "0.3.2",
"resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
"integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
"dev": true,
"requires": {
"@jridgewell/set-array": "^1.0.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
......@@ -15307,12 +15311,14 @@
"@jridgewell/sourcemap-codec": {
"version": "1.4.14",
"resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
"dev": true
},
"@jridgewell/trace-mapping": {
"version": "0.3.17",
"resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
"integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
"dev": true,
"requires": {
"@jridgewell/resolve-uri": "3.1.0",
"@jridgewell/sourcemap-codec": "1.4.14"
......@@ -15522,6 +15528,7 @@
"version": "8.4.6",
"resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.4.6.tgz",
"integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==",
"dev": true,
"requires": {
"@types/estree": "*",
"@types/json-schema": "*"
......@@ -15531,6 +15538,7 @@
"version": "3.7.4",
"resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
"integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
"dev": true,
"requires": {
"@types/eslint": "*",
"@types/estree": "*"
......@@ -15539,7 +15547,8 @@
"@types/estree": {
"version": "0.0.51",
"resolved": "https://registry.npmmirror.com/@types/estree/-/estree-0.0.51.tgz",
"integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
"integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
"dev": true
},
"@types/express": {
"version": "4.17.14",
......@@ -15599,7 +15608,8 @@
"@types/node": {
"version": "18.8.5",
"resolved": "https://registry.npmmirror.com/@types/node/-/node-18.8.5.tgz",
"integrity": "sha512-Bq7G3AErwe5A/Zki5fdD3O6+0zDChhg671NfPjtIcbtzDNZTv4NPKMRFr7gtYPG7y+B8uTiNK4Ngd9T0FTar6Q=="
"integrity": "sha512-Bq7G3AErwe5A/Zki5fdD3O6+0zDChhg671NfPjtIcbtzDNZTv4NPKMRFr7gtYPG7y+B8uTiNK4Ngd9T0FTar6Q==",
"dev": true
},
"@types/normalize-package-data": {
"version": "2.4.1",
......@@ -15899,8 +15909,7 @@
"version": "5.0.8",
"resolved": "https://registry.npmmirror.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz",
"integrity": "sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA==",
"dev": true,
"requires": {}
"dev": true
},
"@vue/cli-service": {
"version": "5.0.8",
......@@ -16224,6 +16233,7 @@
"version": "1.11.1",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.1.tgz",
"integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
"dev": true,
"requires": {
"@webassemblyjs/helper-numbers": "1.11.1",
"@webassemblyjs/helper-wasm-bytecode": "1.11.1"
......@@ -16232,22 +16242,26 @@
"@webassemblyjs/floating-point-hex-parser": {
"version": "1.11.1",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
"integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ=="
"integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
"dev": true
},
"@webassemblyjs/helper-api-error": {
"version": "1.11.1",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
"integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg=="
"integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
"dev": true
},
"@webassemblyjs/helper-buffer": {
"version": "1.11.1",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
"integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA=="
"integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
"dev": true
},
"@webassemblyjs/helper-numbers": {
"version": "1.11.1",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
"integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
"dev": true,
"requires": {
"@webassemblyjs/floating-point-hex-parser": "1.11.1",
"@webassemblyjs/helper-api-error": "1.11.1",
......@@ -16257,12 +16271,14 @@
"@webassemblyjs/helper-wasm-bytecode": {
"version": "1.11.1",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
"integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q=="
"integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
"dev": true
},
"@webassemblyjs/helper-wasm-section": {
"version": "1.11.1",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
"integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/helper-buffer": "1.11.1",
......@@ -16274,6 +16290,7 @@
"version": "1.11.1",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
"integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
"dev": true,
"requires": {
"@xtuc/ieee754": "^1.2.0"
}
......@@ -16282,6 +16299,7 @@
"version": "1.11.1",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
"integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
"dev": true,
"requires": {
"@xtuc/long": "4.2.2"
}
......@@ -16289,12 +16307,14 @@
"@webassemblyjs/utf8": {
"version": "1.11.1",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
"integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ=="
"integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
"dev": true
},
"@webassemblyjs/wasm-edit": {
"version": "1.11.1",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
"integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/helper-buffer": "1.11.1",
......@@ -16310,6 +16330,7 @@
"version": "1.11.1",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
"integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/helper-wasm-bytecode": "1.11.1",
......@@ -16322,6 +16343,7 @@
"version": "1.11.1",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
"integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/helper-buffer": "1.11.1",
......@@ -16333,6 +16355,7 @@
"version": "1.11.1",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
"integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/helper-api-error": "1.11.1",
......@@ -16346,6 +16369,7 @@
"version": "1.11.1",
"resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
"integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.11.1",
"@xtuc/long": "4.2.2"
......@@ -16354,12 +16378,14 @@
"@xtuc/ieee754": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
"integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="
"integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
"dev": true
},
"@xtuc/long": {
"version": "4.2.2",
"resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz",
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
"dev": true
},
"abort-controller": {
"version": "3.0.0",
......@@ -16382,20 +16408,20 @@
"acorn": {
"version": "8.8.0",
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.8.0.tgz",
"integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w=="
"integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
"dev": true
},
"acorn-import-assertions": {
"version": "1.8.0",
"resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
"integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
"requires": {}
"dev": true
},
"acorn-jsx": {
"version": "5.3.2",
"resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true,
"requires": {}
"dev": true
},
"acorn-walk": {
"version": "8.2.0",
......@@ -16474,8 +16500,7 @@
"ajv-keywords": {
"version": "3.5.2",
"resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"requires": {}
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="
},
"ali-oss": {
"version": "6.17.1",
......@@ -16846,6 +16871,11 @@
"resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
"base64-arraybuffer": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
"integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="
},
"base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
......@@ -17049,6 +17079,7 @@
"version": "4.21.4",
"resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.4.tgz",
"integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
"dev": true,
"requires": {
"caniuse-lite": "^1.0.30001400",
"electron-to-chromium": "^1.4.251",
......@@ -17195,7 +17226,8 @@
"caniuse-lite": {
"version": "1.0.30001419",
"resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001419.tgz",
"integrity": "sha512-aFO1r+g6R7TW+PNQxKzjITwLOyDhVRLjW0LcwS/HCZGUUKTGNp9+IwLC4xyDSZBygVL/mxaFR3HIV6wEKQuSzw=="
"integrity": "sha512-aFO1r+g6R7TW+PNQxKzjITwLOyDhVRLjW0LcwS/HCZGUUKTGNp9+IwLC4xyDSZBygVL/mxaFR3HIV6wEKQuSzw==",
"dev": true
},
"case-sensitive-paths-webpack-plugin": {
"version": "2.4.0",
......@@ -17239,7 +17271,8 @@
"chrome-trace-event": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
"integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg=="
"integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
"dev": true
},
"ci-info": {
"version": "1.6.0",
......@@ -17432,7 +17465,8 @@
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
"commist": {
"version": "1.1.0",
......@@ -17923,8 +17957,15 @@
"version": "6.3.1",
"resolved": "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz",
"integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==",
"dev": true,
"requires": {}
"dev": true
},
"css-line-break": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz",
"integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
"requires": {
"utrie": "^1.0.2"
}
},
"css-loader": {
"version": "6.7.1",
......@@ -18095,8 +18136,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz",
"integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==",
"dev": true,
"requires": {}
"dev": true
},
"csso": {
"version": "4.2.0",
......@@ -18528,7 +18568,8 @@
"electron-to-chromium": {
"version": "1.4.282",
"resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.282.tgz",
"integrity": "sha512-Dki0WhHNh/br/Xi1vAkueU5mtIc9XLHcMKB6tNfQKk+kPG0TEUjRh5QEMAUbRp30/rYNMFD1zKKvbVzwq/4wmg=="
"integrity": "sha512-Dki0WhHNh/br/Xi1vAkueU5mtIc9XLHcMKB6tNfQKk+kPG0TEUjRh5QEMAUbRp30/rYNMFD1zKKvbVzwq/4wmg==",
"dev": true
},
"element-ui": {
"version": "2.15.12",
......@@ -18598,6 +18639,7 @@
"version": "5.10.0",
"resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
"integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.4",
"tapable": "^2.2.0"
......@@ -18670,7 +18712,8 @@
"es-module-lexer": {
"version": "0.9.3",
"resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
"integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ=="
"integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
"dev": true
},
"es-to-primitive": {
"version": "1.2.1",
......@@ -18695,7 +18738,8 @@
"escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz",
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
"dev": true
},
"escape-html": {
"version": "1.0.3",
......@@ -18980,6 +19024,7 @@
"version": "5.1.1",
"resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz",
"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
"dev": true,
"requires": {
"esrecurse": "^4.3.0",
"estraverse": "^4.1.1"
......@@ -19139,6 +19184,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz",
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
"dev": true,
"requires": {
"estraverse": "^5.2.0"
},
......@@ -19146,14 +19192,16 @@
"estraverse": {
"version": "5.3.0",
"resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true
}
}
},
"estraverse": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz",
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"dev": true
},
"esutils": {
"version": "2.0.3",
......@@ -19817,7 +19865,8 @@
"glob-to-regexp": {
"version": "0.4.1",
"resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
"dev": true
},
"global": {
"version": "4.3.2",
......@@ -19866,7 +19915,8 @@
"graceful-fs": {
"version": "4.2.10",
"resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz",
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
"dev": true
},
"gzip-size": {
"version": "6.0.0",
......@@ -20077,6 +20127,15 @@
"tapable": "^2.0.0"
}
},
"html2canvas": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz",
"integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
"requires": {
"css-line-break": "^2.1.0",
"text-segmentation": "^1.0.3"
}
},
"htmlparser2": {
"version": "6.1.0",
"resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz",
......@@ -20187,8 +20246,7 @@
"version": "5.1.0",
"resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz",
"integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
"dev": true,
"requires": {}
"dev": true
},
"ieee754": {
"version": "1.2.1",
......@@ -20559,6 +20617,7 @@
"version": "27.5.1",
"resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz",
"integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
"dev": true,
"requires": {
"@types/node": "*",
"merge-stream": "^2.0.0",
......@@ -20568,12 +20627,14 @@
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"supports-color": {
"version": "8.1.1",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz",
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
}
......@@ -20655,7 +20716,8 @@
"json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true
},
"json-schema-traverse": {
"version": "0.4.1",
......@@ -20757,7 +20819,8 @@
"loader-runner": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz",
"integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg=="
"integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
"dev": true
},
"loader-utils": {
"version": "2.0.2",
......@@ -21060,7 +21123,8 @@
"merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz",
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"dev": true
},
"merge2": {
"version": "1.4.1",
......@@ -21435,7 +21499,8 @@
"neo-async": {
"version": "2.6.2",
"resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz",
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true
},
"netmask": {
"version": "2.0.2",
......@@ -21535,7 +21600,8 @@
"node-releases": {
"version": "2.0.6",
"resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.6.tgz",
"integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg=="
"integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
"dev": true
},
"normalize-package-data": {
"version": "2.5.0",
......@@ -22181,29 +22247,25 @@
"version": "5.1.2",
"resolved": "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz",
"integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==",
"dev": true,
"requires": {}
"dev": true
},
"postcss-discard-duplicates": {
"version": "5.1.0",
"resolved": "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz",
"integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==",
"dev": true,
"requires": {}
"dev": true
},
"postcss-discard-empty": {
"version": "5.1.1",
"resolved": "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz",
"integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==",
"dev": true,
"requires": {}
"dev": true
},
"postcss-discard-overridden": {
"version": "5.1.0",
"resolved": "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz",
"integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==",
"dev": true,
"requires": {}
"dev": true
},
"postcss-loader": {
"version": "7.0.1",
......@@ -22293,8 +22355,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
"integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
"dev": true,
"requires": {}
"dev": true
},
"postcss-modules-local-by-default": {
"version": "4.0.0",
......@@ -22329,8 +22390,7 @@
"version": "5.1.0",
"resolved": "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz",
"integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==",
"dev": true,
"requires": {}
"dev": true
},
"postcss-normalize-display-values": {
"version": "5.1.0",
......@@ -23139,6 +23199,7 @@
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
"integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
"dev": true,
"requires": {
"randombytes": "^2.1.0"
}
......@@ -23413,6 +23474,7 @@
"version": "0.5.21",
"resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz",
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
"dev": true,
"requires": {
"buffer-from": "^1.0.0",
"source-map": "^0.6.0"
......@@ -23604,6 +23666,14 @@
"es-abstract": "^1.19.5"
}
},
"string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"requires": {
"safe-buffer": "~5.2.0"
}
},
"strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
......@@ -23727,12 +23797,14 @@
"tapable": {
"version": "2.2.1",
"resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz",
"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="
"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
"dev": true
},
"terser": {
"version": "5.15.1",
"resolved": "https://registry.npmmirror.com/terser/-/terser-5.15.1.tgz",
"integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==",
"dev": true,
"requires": {
"@jridgewell/source-map": "^0.3.2",
"acorn": "^8.5.0",
......@@ -23744,6 +23816,7 @@
"version": "5.3.6",
"resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz",
"integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==",
"dev": true,
"requires": {
"@jridgewell/trace-mapping": "^0.3.14",
"jest-worker": "^27.4.5",
......@@ -23756,6 +23829,7 @@
"version": "3.1.1",
"resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.1.tgz",
"integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
......@@ -23764,6 +23838,14 @@
}
}
},
"text-segmentation": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz",
"integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
"requires": {
"utrie": "^1.0.2"
}
},
"text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz",
......@@ -24045,6 +24127,7 @@
"version": "1.0.10",
"resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
"integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
"dev": true,
"requires": {
"escalade": "^3.1.1",
"picocolors": "^1.0.0"
......@@ -24162,6 +24245,14 @@
"integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
"dev": true
},
"utrie": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz",
"integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
"requires": {
"base64-arraybuffer": "^1.0.2"
}
},
"uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz",
......@@ -24608,6 +24699,7 @@
"version": "2.4.0",
"resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz",
"integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
"dev": true,
"requires": {
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.1.2"
......@@ -24641,6 +24733,7 @@
"version": "5.74.0",
"resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.74.0.tgz",
"integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==",
"dev": true,
"requires": {
"@types/eslint-scope": "^3.7.3",
"@types/estree": "^0.0.51",
......@@ -24672,6 +24765,7 @@
"version": "3.1.1",
"resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.1.tgz",
"integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
......@@ -24898,8 +24992,7 @@
"version": "8.9.0",
"resolved": "https://registry.npmmirror.com/ws/-/ws-8.9.0.tgz",
"integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==",
"dev": true,
"requires": {}
"dev": true
}
}
},
......@@ -24916,7 +25009,8 @@
"webpack-sources": {
"version": "3.2.3",
"resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz",
"integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
"integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
"dev": true
},
"webpack-virtual-modules": {
"version": "0.4.5",
......@@ -25105,8 +25199,7 @@
"ws": {
"version": "7.5.9",
"resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz",
"integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
"requires": {}
"integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q=="
},
"xhr": {
"version": "2.4.0",
......
......@@ -13,6 +13,7 @@
"axios": "^1.1.3",
"core-js": "^3.8.3",
"element-ui": "^2.15.12",
"html2canvas": "^1.4.1",
"jquery": "^3.6.1",
"js-md5": "^0.7.3",
"mint-ui": "^2.2.13",
......
......@@ -45,6 +45,10 @@ live: {
tourist:function(data){
return service.post('/auth/tourist', data)
},
//关注接口
follow:function(data){
return service.post('/app/live/followAnchor', data)
},
//更新试看时间
updataTime:function(data){
return service.post('/oapi/v1/H5/live/update/duration', data)
......
......@@ -9,9 +9,9 @@ const appName = "test5"
const IS_PROD = ["production", "prod"].includes(process.env.NODE_ENV);
// 接口路径
const BASEURL_TEST = 'https://api.douniu8.com'
const BASEURL_TEST = 'https://test6.douniu8.com'
// const BASEURL_TEST = 'http://39.105.193.58:8081'
const BASEURL_PROD = 'https://api.douniu8.com'
const BASEURL_PROD = 'https://test6.douniu8.com'
const CONTRACT_TEST = 'http://47.95.140.89:9090'
const CONTRACT_PROD = 'http://ht.douniu8.com:9090'
const baseURL = IS_PROD ? BASEURL_PROD : BASEURL_TEST;
......
src/common/img/horn.png

758 Bytes | W: | H:

src/common/img/horn.png

915 Bytes | W: | H:

src/common/img/horn.png
src/common/img/horn.png
src/common/img/horn.png
src/common/img/horn.png
  • 2-up
  • Swipe
  • Onion skin
<template>
<div class="body">
<img class="share-img" @click="clickShare()" src="../../common/img/share.png" alt="">
<div v-if="ifShow">
<img v-if="ifPhoto" :src="photoImg" class="photo-img" alt="">
<div v-if="ifShow" class="myImagePass" id="myImage">
<div >
<img v-if="checkType==0" class="style-one" src="../../common/img/card-style-One.png" alt="">
<img v-if="checkType==1" class="style-one" src="../../common/img/card-style-Two.png" alt="">
<img v-if="checkType==2" class="style-one" src="../../common/img/card-style-Three.png" alt="">
<img class="pressShare" src="../../common/img/pressShare.png" alt="">
<!-- 信息样式 -->
<div v-if="checkType==0">
<img class="headImg" :src="headPro" alt="">
......@@ -46,7 +49,14 @@
:logoScale="0.2">
</vue-qr>
</div>
</div>
</div>
<div v-if="ifShow">
<img class="pressShare" src="../../common/img/pressShare.png" alt="">
<img class="shareTips" v-if="ifTips" @click="clickTips()" src="../../common/img/shareTips.png" alt="">
<div class="bottom-countent">
<div @click="checkImg(0)" :class="{smallOneRed:checkType==0,smallOne:checkType!=0}">
<img class="small-img" src="../../common/img/thumbnail-One.png" alt="">
......@@ -57,7 +67,7 @@
<div @click="checkImg(2)" class="smallThree" :class="{smallThreeRed:checkType==2,smallThree:checkType!=2}">
<img class="small-img" src="../../common/img/thumbnail-Three.png" alt="">
</div>
<div class="clickWechat">
<div @click="clickWechact()" class="clickWechat">
<img class="wechactImg" src="../../common/img/wechact-share.png" alt="">
<span class="wechactText">微信</span>
</div>
......@@ -81,6 +91,7 @@
<script>
import VueQr from 'vue-qr'
import html2canvas from "html2canvas";
export default {
name: 'shareCard',
components:{
......@@ -98,18 +109,20 @@ export default {
checkType:0,
copyContent:window.location.href,//需要复制的内容
ifShow:false,
ifPhoto:false,//显示拍照图片
imgUrl: 'https://baidu.com',//二维码地址
photoImg:'',//拍照图片
headPro:'',//头像图片
udName:'',//主播名称
lvrImg:'',//占位图
ifTips:false,//是否显示提示图
liveName:'',//房间名称
};
},
created() {
this.liveList()
// this.getMessage()
},
......@@ -117,6 +130,11 @@ export default {
methods: {
checkImg(e){
this.checkType=e
this.ifPhoto=false
//延时拍照
setTimeout(() => {
this.saveImage()
}, 1000);
},
onCopy({value}){
// console.log('success',value);
......@@ -125,6 +143,125 @@ export default {
console.log('复制成功')
},
//直播详情
liveList(){
let temp=this.qs.stringify({
pmAppVersion:'884',
pmModel:'iPhone 12/13 (Pro)',
pmSystem:'iOS 10.0.1',
// timestamp:this.timestamp,
lvrId:this.$route.query.lvrId,
pmOperator:'无运营商'
})
this.server.live.liveDetail(temp).then(res=>{
let photo=res.data.data.udPhotoFileid
let boxImg=res.data.data.lvrImgLargeUrl
// this.headPro=res.data.data.udPhotoFileid//头像图片
this.udName=res.data.data.udNickname//主播名称
// this.lvrImg=res.data.data.lvrImgLargeUrl//占位图
this.liveName=res.data.data.lvrName//房间名称
this.imgUrl=window.location.href//二维码地址
this.urlTobase64(photo)
this.urlTobaseTwo64(boxImg)
})
},
//截取图片
saveImage() {
// let aaa=this.urlTobase64(this.coverImg)
// console.log("的撒发生",aaa) // 最终拿到的base64值
let aca=document.querySelector("#myImage")
console.log('萨芬',aca)
html2canvas(document.querySelector("#myImage"),{
useCORS: true, //这个为true代表允许跨域
allowTaint: false,
logging: false,
letterRendering: true,
// width:window.screen.availWidth,
// height:window.screen.availHeight,
// windowWidth:document.body.scrollWidth,
// windowHeight:document.body.scrollHeight,
// x:0,
// y:window.pageYOffset
}).then((canvas) => {
// var image = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream");
console.log("案说法",canvas.toDataURL())
this.photoImg=canvas.toDataURL()
if(this.photoImg){
this.ifPhoto=true
}else{
this.ifPhoto=false
}
// var link = document.getElementById("link");
// link.setAttribute("download", "海报.png");
// link.setAttribute("href", canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"));
// link.click();
})
},
//转换图片
urlTobase64(url) {
var that = this
var img = new Image()
img.src = url + '?time=' + new Date().valueOf() // 加上时间结尾,处理缓存
//支持http跨域图片。需要后端设置图片支持跨域为*(如果后端不处理,加上这行会无法显示图片,导致拿不到base64)
img.setAttribute('crossOrigin', '*')
if (url) {
img.onload = function() {
var base64Url = that.getBase64Image(img)
console.log("的撒发生",base64Url) // 最终拿到的base64值
that.headPro=base64Url
}
}
},
//转换图片
urlTobaseTwo64(url) {
var that = this
var img = new Image()
img.src = url + '?time=' + new Date().valueOf() // 加上时间结尾,处理缓存
//支持http跨域图片。需要后端设置图片支持跨域为*(如果后端不处理,加上这行会无法显示图片,导致拿不到base64)
img.setAttribute('crossOrigin', '*')
if (url) {
img.onload = function() {
var base64Url = that.getBase64ImageTwo(img)
that.lvrImg=base64Url
console.log("的撒发生",base64Url) // 最终拿到的base64值
}
}
},
//转换图片
getBase64Image(img) {
var canvas = document.createElement('canvas')
canvas.width = img.width
canvas.height = img.height
var ctx = canvas.getContext('2d')
ctx.drawImage(img, 0, 0, img.width, img.height)
const dataURL = canvas.toDataURL('image/jpeg') // 可根据图片后缀,动态变换如 image/png
return dataURL
},
//转换图片
getBase64ImageTwo(img) {
var canvas = document.createElement('canvas')
canvas.width = img.width
canvas.height = img.height
var ctx = canvas.getContext('2d')
ctx.drawImage(img, 0, 0, img.width, img.height)
const dataURL = canvas.toDataURL('image/jpeg') // 可根据图片后缀,动态变换如 image/png
return dataURL
},
onError({value}){
// console.log('error',value)
// console.log('复制成功')
......@@ -137,13 +274,30 @@ export default {
// },
//点击微信分享
clickWechact(){
this.ifTips=true
},
clickTips(){
this.ifTips=false
},
//点击分享按钮
clickShare(){
if(this.ifShow==false){
this.ifShow=true
this.ifShow=true
//延时拍照
setTimeout(() => {
this.saveImage()
}, 1000);
}else{
this.ifShow=false
this.ifPhoto=false
}
console.log("头像信息",this.headPortrait)
console.log("主播名称",this.udNickname)
console.log("直播名称",this.lvrName)
......@@ -152,11 +306,7 @@ clickShare(){
// udName:'',//主播名称
// lvrImg:'',//占位图
// liveName:'',//房间名称
this.headPro=this.headPortrait//头像图片
this.udName=this.udNickname//主播名称
this.lvrImg=this.lvrImgLargeUrl//占位图
this.liveName=this.lvrName//房间名称
this.imgUrl=window.location.href//二维码地址
}
},
};
......@@ -169,9 +319,27 @@ this.imgUrl=window.location.href//二维码地址
.style-one{
height: 145vw;
position: absolute;
top: 10vw;
top: 0;
z-index: 99;
left:0;
width: 85vw;
}
.myImagePass{
position: absolute;
top: 10vw;
left: 7.5vw;
/* background: greenyellow; */
z-index: -1;
height: 145vw;
width: 85vw;
}
.photo-img{
position: absolute;
top: 10vw;
left: 7.5vw;
/* background: greenyellow; */
z-index: 130;
height: 145vw;
width: 85vw;
}
.bottom-countent{
......@@ -180,7 +348,7 @@ this.imgUrl=window.location.href//二维码地址
left: 0;
width: 100vw;
height: 50vw;
border-radius: 4vw;
border-radius: 4vw 4vw 0 0;
background: white;
}
.smallOne{
......@@ -298,86 +466,89 @@ font-size: 4vw;
height: 19vw;
width: 19vw;
position: absolute;
top: 20vw;
top: 10vw;
z-index: 100;
left: 22vw;
left: 14vw;
border-radius: 50%;
}
.headImgTwo{
height: 19vw;
height: 19vw;
width: 19vw;
position: absolute;
top: 20vw;
top: 10vw;
z-index: 100;
left: 22vw;
left: 14.5vw;
border-radius: 50%;
}
.headImgThree{
height: 19vw;
width: 19vw;
position: absolute;
top: 20vw;
top: 10vw;
z-index: 100;
left: 40.5vw;
left: 32.5vw;
border-radius: 50%;
}
.udStyle{
font-size: 5vw;
color: white;
position: absolute;
top: 41vw;
top: 31vw;
z-index: 100;
left: 22vw;
left: 14vw;
}
.lvrImg{
height: 39vw;
width: 73vw;
position: absolute;
top: 62vw;
top: 52vw;
border-radius: 1vw;
left: 13.5vw;
left: 6vw;
z-index: 100;
}
.lvrImgTwo{
height: 39vw;
width: 71vw;
position: absolute;
top: 62vw;
top: 52vw;
border-radius: 1vw;
left: 14.5vw;
left: 6.8vw;
z-index: 100;
}
.lvrImgThree{
height: 32vw;
width: 58vw;
position: absolute;
top: 68vw;
top: 58vw;
border-radius: 1vw;
left: 20.5vw;
left: 12.9vw;
z-index: 100;
}
.lvrName{
font-size: 5vw;
font-size: 4vw;
width: 68vw;
position: absolute;
top: 104vw;
top: 92vw;
z-index: 100;
left: 18vw;
left: 8vw;
}
.lvrNameTwo{
font-size: 5vw;
font-size: 3.8vw;
width: 66vw;
position: absolute;
top: 104vw;
top: 92vw;
color: white;
z-index: 100;
left: 18vw;
left: 9vw;
}
.lvrNameThree{
font-size: 5vw;
font-size: 3.8vw;
position: absolute;
top: 103vw;
top: 91vw;
width: 56vw;
color: white;
z-index: 100;
left: 23vw;
left: 15vw;
}
.pressShare{
height: 5vw;
......@@ -388,26 +559,34 @@ font-size: 4vw;
}
.qrCode{
position: absolute;
top: 120vw;
left: 58vw;
top: 110vw;
left: 51vw;
height: 22vw;
width: 22vw;
z-index: 100;
}
.qrCodeTwo{
position: absolute;
top: 124vw;
left: 60.5vw;
top: 114vw;
left: 53.5vw;
height: 22vw;
width: 22vw;
z-index: 100;
}
.qrCodeThree{
position: absolute;
top: 124vw;
left: 17vw;
top: 114vw;
left: 9vw;
height: 22vw;
width: 22vw;
z-index: 100;
}
.shareTips{
height: 100vh;
width: 100%;
position: absolute;
top: 0;
z-index: 110;
left: 0;
}
</style>
\ No newline at end of file
import Vue from 'vue'
import Router from 'vue-router'
import store from '../store/index'
import test from '../views/test.vue'
import sign from '../views/sign'
import password from '../views/password'
import register from '../views/register'
......@@ -27,7 +28,7 @@ Vue.use(Router)
const router = new Router({
routes:[
{
path: '/',
path: '/login',
name: 'index',
component: password,
meta: {
......@@ -54,7 +55,12 @@ const router = new Router({
component:sign,
// 判断是否需要登录
},
{
path: '/test',
name: 'test',
component:test,
// 判断是否需要登录
},
{
path: '/password',
name: 'password',
......@@ -86,7 +92,7 @@ const router = new Router({
},
{
path: '/list',
path: '/',
name: 'list',
component: list,
......
......@@ -7,6 +7,8 @@
<img class="head-img" :src='udPhotoFileid' alt="">
<span class="teach-name">{{udNickname}}</span>
<span class="home-number">房间号: {{lvrId}}</span>
<img v-if="!ifFollow" @click="clickFollow()" class="follow-img" src="../common/img/follow.png" alt="">
<img v-if="ifFollow" @click="clickUnFollow()" class="follow-img" src="../common/img/unfollow.png" alt="">
<!-- 倒计时框 -->
<div class="countTime" v-if="imgShow==true">
<span class="countTimeText">您还没有购买,可试看{{countTimes}}S</span>
......@@ -14,8 +16,7 @@
</div>
<!-- //分享卡片 -->
<share-card style=" z-index:99;" :headPortrait='udPhotoFileid' :udNickname='udNickname' :lvrName='lvrName' :lvrImgLargeUrl='lvrImgLargeUrl'> </share-card>
<img v-if="!ifFollow" @click="clickFollow()" class="follow-img" src="../common/img/follow.png" alt="">
<img v-if="ifFollow" @click="clickUnFollow()" class="follow-img" src="../common/img/unfollow.png" alt="">
<!-- <img class="share-img" src="../common/img/share.png" alt=""> -->
<div v-if="imgShow==true">
......@@ -101,6 +102,127 @@
</mt-tab-container-item>
</mt-tab-container> -->
</div>
<!-- 直播卡片 -->
<div v-if="pten" @click="clickPayBox" class="payBox">
</div>
<div class="p_conte" v-if="pten">
<div class="conten">
<div class="Sue">确认支付</div>
<div class="odiv">
<ul>
<!--第一个卡片 -->
<li class="live_b" @click="tab_li(index,item.chargeModeKey)" v-for="(item,index) in Listfor" :key="index"
:class="is_xuanzhong == `${is_Month + index}` ? 'Month'+index : item.chargeModeKey"
>
<div class="one_day">{{item.leftPromptText}}</div>
<div class="Plef">
<div class="div_p">{{item.chargeModeName}}</div>
<div class="Uimg">
<img src="../assets/niu.png" alt="" class="sent_r">
<span>{{item.lvrfFee}} </span>
</div>
<div class="Mar_p">
<img src="../assets/niu.png" alt="" class="U_both">
<span class="d_num">{{item.promptFee}}/月</span>
</div>
</div>
</li>
</ul>
<!-- <ul>
<li class="live_b" @click="tab_li(index,item.chargeModeKey)" :class="{active_p:currentIndex === index}" v-for="(item,index) in Listfor" :key="index">
<div class="one_day">畅享受{{item.num}}</div>
<div class="Plef">
<div class="div_p">{{item.chargeModeName}}</div>
<div class="Uimg">
<img src="../assets/niu.png" alt="" class="sent_r">
<span>{{item.lvrfFee}} </span>
</div>
<div class="Mar_p">
<img src="../assets/niu.png" alt="" class="U_both">
<span>{{item.promptFee}}</span>
</div>
</div>
</li>
</ul> -->
</div>
<div class="Lent">
<div class="Usret">
<span class="buy">购买者</span><span class="name">{{udRealname}}</span>
</div>
<div class="Usret_p">
<span class="buy">购买项目</span><span class="name">xxxx谁的直播间</span>
</div>
<div class="Lpin">支付方式 <span>{{text}}</span></div>
<!--牛币-->
<div class="ov" :class="n==1?'active':''">
<div>
<img src="../assets/niu.png" alt="">
<span>金牛(账户余额:20金牛)</span>
</div>
<!--未选中-->
<img src="../assets/noxuanzhong.png" alt="" class="Ig" v-show="n != 1" @click="slect_one(1)">
<!--选中-->
<img src="../assets/select.png" alt="" class="Ig" v-if="n == 1">
</div>
<!--微信-->
<div class="ov" :class="n==2?'active':''">
<div>
<img src="../assets/wx.png" alt="">
<span>微信</span>
</div>
<!--未选中-->
<img src="../assets/noxuanzhong.png" alt="" class="Ig" v-show="n != 2" @click="slect_one(2)">
<!--选中-->
<img src="../assets/select.png" alt="" class="Ig" v-if="n==2">
</div>
<!--支付宝-->
<div class="ov" :class="n==3?'active':''">
<div>
<img src="../assets/zfb.png" alt="">
<span>支付宝</span>
</div>
<!--未选中-->
<img src="../assets/noxuanzhong.png" alt="" class="Ig" v-show="n != 3" @click="slect_one(3)">
<!--选中-->
<img src="../assets/select.png" alt="" class="Ig" v-if="n==3">
</div>
<div class="z_sen">
<!--未选中-->
<img src="../assets/noxuanzhong.png" alt="" class="Ig" v-if="isImg_show_p" @click="x_login">
<!--选中-->
<img src="../assets/select.png" alt="" class="Ig" v-if="isImg_show" @click="x_login">
<span>同意</span><span class="no_p">《风险揭示书》《服务协议书》</span>
<div v-if="a_plert" class="gtert">请勾选同意</div>
</div>
<div class="gr"><img src="../assets/login.png" alt="" class="Pl" @click="login_t"></div>
<img :src="'data:image/png;base64,'+ qrcodeSrc" alt="" >
</div>
</div>
</div>
<div v-if="imgShow==false">
<img src="../common/img/vertical-screen.webp" style="height:100vh;width:100%" alt="">
<!-- <img src="../common/img/video_play.png" style="height:14vw;width:14vw;position: fixed;top:74vw;left:42vw;" @click="goLive()" alt="">
......@@ -115,12 +237,12 @@
</div>
<!-- 试看结束按钮 -->
<div v-if="buttonType==1">
<div v-if="buttonType==1" @click="pay_p">
<img class="afterSignImg" src="../common/img/tryLive.png" alt="">
</div>
<!-- 直播未开始提示购买 -->
<div v-if="buttonType==2">
<div v-if="buttonType==2" @click="pay_p">
<img class="afterSignImg" src="../common/img/notLive.png" alt="">
</div>
</div>
......@@ -155,9 +277,20 @@ export default {
ifSignFollow:true,//是否登录后关注
buttonType:0,//按钮显示
lvrId:'',
Listfor:'',
text:'',
pten:false,//直播卡片显示
countTimes:0,//倒计时
lvrUbId:'',//主播id
timers:null,
a_plert:false,
isImg_show:false,//提交勾选协议
isImg_show_p:true,
n : 1,
qrcodeSrc:'',
chargeModeKey:'Month',
is_xuanzhong : 'Month0',
is_Month : 'Month',
stop:true,
ifFollow:false,
imgShow:true,
......@@ -185,6 +318,7 @@ export default {
},
selected:'1',
ifcli:false,
udRealname:'',
lvrStatus:'',
lvrInfoText:'',
timestamp:Date.parse(new Date())/1000,
......@@ -206,13 +340,14 @@ export default {
this.videoList()
this.getHeight()
this.getListState()
this.pay_info()
// 连接mqtt
mqtt.connect({
user: request.mqtt.mqttUser,
pwd: request.mqtt.mqttPwd,
domain: request.mqtt.mqttDomain,
port: request.mqtt.mqttPort,
destination: request.douniuLive.destination[0] + 46 +
destination: request.douniuLive.destination[0] + this.$route.query.lvrId +
request.douniuLive.destination[1],
}, this.getMessage);
......@@ -321,6 +456,109 @@ export default {
this.url=this.urlStor
}
},
tab_li(index,chargeModeKey){
  this.is_xuanzhong = 'Month' + index;
this.chargeModeKey = chargeModeKey;
// this.idx=index
// this.Modekey=chargeModeKey
console.log( this.chargeModeKey+"是否收费模式")
},
slect_one(val){
this.n = val
},
//直播卡片显示事件
pay_p(){
this.pten = true
},
clickPayBox(){
this.pten = false
},
//点击支付选中按钮
x_login(){
this.isImg_show=true
this.isImg_show_p=false
if(this.isImg_show == false){
this.a_plert = false;
}else if(this.isImg_show == true){
this.a_plert = false;
}
},
login_t(){
this.payorder()
// this.pay_code()
if(!this.isImg_show){
this.a_plert=true
return;
}
},
//获取支付信息
pay_info(){
let temp=this.qs.stringify({
applicationType:4,
pmAppVersion: 868,
// applicationType: 3,
goodsType:3,
goodsId:285,//285 429
})
this.server.live.payinfo(temp).then(res=>{
this.udRealname=res.data.data.udRealname
this.text=res.data.data.text,
this.dfNiubi = res.data.data.dfNiubi,
this.Listfor =res.data.data.fees
// this.lvrStatus=res.data.data.lvrStatus
console.log()
})
},
// 订单
payorder(){
let temp=this.qs.stringify({
goodsId:285,
goodsType:3,
sxUbId:26,
pmoType:0,
subscribeDayType:26,
applicationType:4,
payType:1,
// orderType:2,
subscribeDayType:19,
rechargeFrom:1,
isCheckBuy:1,
paySource:"douniu_h5",
chargeModeKey:this.chargeModeKey
})
this.server.live.order(temp).then(res=>{
this.pmoId=res.data.data.pmoId,
this.pmoOrder=res.data.data.pmoOrder
//order成功判断内置浏览器,在微信就授权,内置微信还是浏览器 微信jsapi 浏览器h5
if(res.code=200){
//判断是否为在微信内置浏览器支付
if(this.common.isWX()){
// this.a_go()
// this.pay_code() //授权登录
}else{
}
if(this.n ==1 ){
this.niubi()
}
if(this.n ==2 ){
this.paybuy()
}
if(this.n == 3){
this.z_pay()
}
}
})
},
//点击是否登录关注主播
ifUcheck(e){
......@@ -332,10 +570,12 @@ export default {
},
//跳转登录页面
jumpLogin(){
this.$router.push(
if(this.ifSignFollow==true){
this.$router.push(
{
path:'/',
path:'/login',
query:{
lvrUbId:this.lvrUbId
......@@ -343,12 +583,19 @@ export default {
});
}else{
this.$router.push(
{
path:'/login'
});
}
},
//反回列表页页面
backHome(){
this.$router.push(
{
path:'/list',
path:'/',
......@@ -388,11 +635,54 @@ export default {
},
//点击关注事件
clickFollow(){
this.ifFollow=true
let temp=this.qs.stringify({
pmAppVersion:'884',
pmModel:'iPhone 12/13 (Pro)',
pmSystem:'iOS 10.0.1',
pmMac:'1',
pmIp:1,
lvrUbId:this.lvrUbId,
applicationType:4,
type:1,
pmOperator:'无运营商'
})
let token=sessionStorage.getItem("token")
let img=sessionStorage.getItem("isReg")
this.server.live.follow(temp).then(res=>{
if(res.data.code==200){
this.ifFollow=true
}else{
alert(res.data.data.businessMessage)
}
})
},
//点击已经关注按钮
clickUnFollow(){
this.ifFollow=false
let temp=this.qs.stringify({
pmAppVersion:'884',
pmModel:'iPhone 12/13 (Pro)',
pmSystem:'iOS 10.0.1',
pmMac:'1',
pmIp:1,
lvrUbId:this.lvrUbId,
type:1,
applicationType:4,
pmOperator:'无运营商'
})
let token=sessionStorage.getItem("token")
let img=sessionStorage.getItem("isReg")
this.server.live.follow(temp).then(res=>{
if(res.data.code==200){
this.ifFollow=false
}else{
alert(res.data.data.businessMessage)
}
})
},
//在vue-video-player的onPlayerCanplay(视频可播放)这个方法中添加回调
onPlayerCanplay(player) {
......@@ -490,7 +780,7 @@ export default {
//获取直播详情接口
liveList(){
let token=sessionStorage.getItem("token")
let img=sessionStorage.getItem("udPhotoFileid")
let img=sessionStorage.getItem("isReg")
this.getState()
let temp=this.qs.stringify({
pmAppVersion:'884',
......@@ -510,9 +800,13 @@ export default {
this.udPhotoFileid=res.data.data.udPhotoFileid//主播头像
this.lvrId=res.data.data.lvrId//直播间id
this.lvrUbId=res.data.data.lvrUbId//主播id
this.ifFollow=res.data.data.followAnchor//关注主播状态
// res.data.data.seeDuration
localStorage.setItem('lvrUbId',this.lvrUbId);
let timer=res.data.data.seeDuration
console.log("萨芬", this.lvrUbId)
console.log(this.lvrUbId,'主播')
console.log("token",token)
......@@ -736,7 +1030,7 @@ let temp=this.qs.stringify({
top: 13vw;
border-radius: 10vw;
right: 5vw;
z-index: 99;
z-index: 89;
}
.countTimeText{
position: absolute;
......@@ -756,6 +1050,7 @@ let temp=this.qs.stringify({
position: absolute;
top: 2vw;
left: 12vw;
opacity: 0.6;
height: 8vw;
width: 45vw;
border-radius: 10vw;
......@@ -780,13 +1075,23 @@ let temp=this.qs.stringify({
left: 19vw;
color: white;
}
.payBox{
height: 55vw;
width: 100%;
background: white;
opacity: 0;
position: absolute;
top: 0;
left: 0;
z-index: 100;
}
.home-number{
font-size: 1vw;
transform: scale(0.7);
transform: scale(0.75);
position: absolute;
top: 6vw;
left: 18vw;
z-index:99;
left: 18.5vw;
z-index: 99;
color: white;
}
.follow-img{
......@@ -1112,4 +1417,471 @@ display: block;
top: 124vw;
left: 37vw;
}
.conten{
position: fixed;
bottom: -23%;
left: 0%;
width: 100%;
/* background: red; */
background: white;
height: 100%;
z-index: 110;
}
.p_conte{
position: relative;
}
.odiv{
width: 76.33333vw;
/* display: flex; */
overflow-x: auto;
margin:0 auto
}
.Plef_thr span{
color: #F79D2E;
font-size: 18px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
width: 17px;
height: 50px;
}
.sent_r{
width:12px;
height:15x;
margin-right:6px
}
.Mar_p{
margin-left:4px
}
.div_p{
width: 17px;
height: 50px;
font-size: 18px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #FF7874;
line-height: 25px;
margin-left: 21px;
margin-top: 20px;
}
.div_p_thr{
width: 17px;
height: 50px;
font-size: 18px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #F79D2E;
line-height: 25px;
margin-left: 21px;
margin-top: 20px;
}
.U_both{
width: 3.2vw;
height: 4.2vw;
}
.div_p_six{
width: 17px;
height: 50px;
font-size: 18px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #41A9FF;
line-height: 25px;
margin-left: 21px;
margin-top: 20px;
}
.one_day{
width:20px;
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #FF7874;
line-height: 17px;
margin-top: 20px;
margin-left: 2vw;
}
.one_day_thr{
width:20px;
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #F79D2E;
line-height: 17px;
margin-top: 20px;
margin-left: 2vw;
}
.one_day_six{
width:20px;
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #41A9FF;
line-height: 17px;
margin-top: 20px;
margin-left: 2vw;
}
.Plef_six .C_div_p_six{
width: 17px;
height: 50px;
font-size: 18px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #F79D2E;
line-height: 25px;
margin-left: 21px;
margin-top: 20px;
}
.Uimg span{
color: #F79D2E;
font-size: 3.2vw;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
}
.Colo_r{
width:20px;
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #F79D2E;
line-height: 17px;
margin-top: 20px;
margin-left: 2vw;
}
.Uimg_l{
margin-left: 3.2vw;
width: 9.6vw;
}
.one_day_ten{
width: 5.33333vw;
font-size: 3.2vw;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #B37EEB;
line-height: 4.53333vw;
margin-top: 5.33333vw;
margin-left: 2vw;
}
.div_p_ten{
width: 4.53333vw;
height: 13.33333vw;
font-size: 4.8vw;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #B37EEB;
line-height: 6.66667vw;
margin-left: 5.6vw;
margin-top: 5.33333vw;
}
.Uimg_t{
margin-left: 3.2vw;
width: 9.6vw;
}
.Sue{
text-align: center;
margin-top:10px;
font-size: 16px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #222222;
line-height: 22px;
}
.Uimg_t span{
font-size: 3.2vw;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #B37EEB;
}
.Uimg_l span{
font-size: 3.2vw;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #41A9FF;
}
.Plef img{
/* width:20px; */
/* margin-left:12px; */
/* margin-top:10px; */
/* margin-right:6px */
}
.Uimg{
margin-left:12px;
width: 36px;
}
.live_b{
background:url('../assets/payone.png') no-repeat;
width: 121.33333vw;
height: 41.86667vw;
display:flex;
margin-right:6px;
}
.one_day_nine{
width:20px;
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #F79D2E;
line-height: 17px;
margin-top: 20px;
margin-left: 2vw;
color: #DBC114;
}
.Uimg_p {
margin-left: 3.2vw;
width: 9.6vw;
font-size: 18px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #41A9FF;
}
.Plef_six span{
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
/* color: #41A9FF; */
}
.Uimg_nine{
font-size: 3.2vw;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color:#DBC114;
margin-left: 3.2vw;
width: 9.6vw;
}
.div_p_nine{
width: 4.53333vw;
height: 13.33333vw;
font-size: 4.8vw;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #DBC114;
line-height: 6.66667vw;
margin-left: 5.6vw;
margin-top: 5.33333vw;
}
.Plef span {
width: 16px;
height: 16px;
font-size: 12px;
font-family: HelveticaNeue;
color: #FF7874;
line-height: 16px;
}
.Mar_p span{
color: #999999
}
.conten ul{
width: 76.33333vw;
display: flex;
padding-left: 5.33333vw;
padding-top: 7.73333vw;
margin: 0 auto;
width: 126.33333vw;
}
.Lent{
height:100%;
margin-left:20px;
margin-right:20px;
}
.name{
float:right
}
.buy{
float:left
}
.ov{
display: flex;
flex-direction: row;
justify-content: space-between;
border-bottom: 1px solid #F5F5F5;
padding-bottom: 20px;
padding-top:12px
}
.z_sen{margin-top: 12px;}
.ov div{
display: flex;
}
.Ig{
width:20px;
height:20px;
margin-right:6px
}
.no_p{
color:red
}
.Pl{
width: 272px;
height:46px;
margin:0 auto
}
.gr{
text-align: center;
margin-top:25px
}
.Lpin{
margin-top:20px;
font-size: 16px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #000000;
line-height: 22px;
}
.Lpin span{
font-size: 16px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #E31D1A;
line-height: 22px;
}
.Usret{
display: flex;
flex-direction: row;
justify-content: space-between;
}
.Usret_p{
display: flex;
flex-direction: row;
justify-content: space-between;
margin-top:14px
}
.ov img{
width: 6.33333vw;
height: 5.86667vw;
padding-right: 7px;
}
.activeClass{
}
.active_p{
background:url("../assets/back_a.png") no-repeat;color:white
}
.active_one{
background:url("../assets/pay_inone.png") no-repeat;color:white
}
.active_two{
background:url("../assets/bac_p.png") no-repeat;color:white
}
.active_thre{
background:url("../assets/back_a.png") no-repeat;color:white
}
.active_pfoue{
background:url("../assets/bac_l.png") no-repeat;color:white
}
.active_five{
background:url("../assets/back_c.png") no-repeat;color:white
}
.Month0{
background:url("../assets/back_a.png") no-repeat;color:white
}
.Month1{
background:url("../assets/bac_l.png") no-repeat;color:white
}
.Month2{
background:url("../assets/back_c.png") no-repeat;color:white
}
.Month3{
background:url("../assets/bac_p.png") no-repeat;color:white
}
.Month4{
background:url("../assets/pay_inone.png") no-repeat;color:white
}
.Quarter .div_p{color:#41A9FF
}
.Quarter .one_day{
color:#41A9FF
}
.Quarter span{
color:#41A9FF
}
.HalfYear .div_p{
color:#CCA9F1
}
.HalfYear span{
color:#CCA9F1
}
.HalfYear .one_day{
color:#CCA9F1
}
.Month0 .one_day{
color:white
}
.Month0 .div_p{
color:white
}
.Month0 span{
color:white
}
.Month1 .one_day{
color:white
}
.Month1 .div_p{
color:white
}
.Month1 span{
color:white
}
.Month2 .one_day{
color:white
}
.Month2 .div_p{
color:white
}
.Month2 span{
color:white
}
.Month3 .one_day{
color:white
}
.Month3 .div_p{
color:white
}
.Month3 span{
color:white
}
.Month4 .one_day{
color:white
}
.Month4 .div_p{
color:white
}
.Month4 span{
color:white
}
.HalfYear .d_num{
color: #999999;
}
.Quarter .d_num{
color: #999999;
}
</style>
\ No newline at end of file
<template>
<div class="videoPlayer">
<!-- //分享卡片 -->
<share-card style=" z-index:99;" :headPortrait='udPhotoFileid' :udNickname='udNickname' :lvrName='lvrName' :lvrImgLargeUrl='lvrImgLargeUrl'> </share-card>
<!-- <img src="../assets/left.png" alt="" class="Lent_p" @click="go"> -->
<!-- <LivePlayer :videoUrl="url" /> -->
<div class='demo'>
......@@ -11,13 +13,28 @@
:options="playerOptions">
</video-player>
</div>
<!-- 返回按钮 -->
<img @click="backHome()" class="back-list" src="../common/img/back-list.png" alt="">
<span class="headLvrName">{{lvrName}}</span>
<img class="head-img" :src='udPhotoFileid' alt="">
<div class="teach-box">
</div>
<span class="teach-name">{{udNickname}}</span>
<span class="home-number">房间号: {{lvrId}}</span>
<img v-if="!ifFollow" @click="clickFollow()" class="follow-img" src="../common/img/follow.png" alt="">
<img v-if="ifFollow" @click="clickUnFollow()" class="follow-img" src="../common/img/unfollow.png" alt="">
<!-- <span class="text">12314342</span> -->
<!-- <preview-pdf ref="previewPdfh5"></preview-pdf> -->
<mt-navbar v-model="selected">
<mt-tab-item id="1">讨论</mt-tab-item>
<mt-tab-item id="2">主播</mt-tab-item>
<mt-tab-item id="3">回放</mt-tab-item>
<div @click="pay_p">支付</div>
<mt-tab-item id="4"></mt-tab-item>
<mt-tab-item id="5"></mt-tab-item>
<mt-tab-item id="6"></mt-tab-item>
<!-- <div @click="pay_p">支付</div> -->
</mt-navbar>
<mt-tab-container v-model="selected">
......@@ -34,7 +51,8 @@
<span class="welcome">欢迎</span><span class="info1">{{i.sender}}</span><span class="into1">进入直播间</span>
</div>
<div class="mq-messageTwo2" v-else-if="i.type==1">
<img class="get-horn" src="../common/img/get-message.png" alt=""><span class="infoTwo1">{{i.sender}} :</span><span class="intoTwo1">{{i.info}}</span>
<!-- <img class="get-horn" src="../common/img/get-message.png" alt=""> -->
<span class="infoTwo1">{{i.sender}} :</span><span class="intoTwo1">{{i.info}}</span>
</div>
</div>
......@@ -82,6 +100,10 @@
</mt-tab-container-item>
</mt-tab-container>
<!-- 直播卡片 -->
<div class="payBox" v-if="pten" @click="clickPayBox">
</div>
<div class="p_conte" v-if="pten">
<div class="conten">
<div class="Sue">确认支付</div>
......@@ -200,6 +222,37 @@
</div>
</div>
<!-- 倒计时框 -->
<div class="countTime" v-if="buttonType==3">
<span class="countTimeText">您还没有购买,可试看{{countTimes}}S</span>
<img class="countTimeImg" src="../common/img/tryButton.png" alt="">
</div>
<!-- 登录后观看按钮 -->
<div v-if="buttonType==0" class="backgroundBlack">
</div>
<div v-if="buttonType==0">
<img class="afterSignImg" @click="jumpLogin()" src="../common/img/afterSign.png" alt="">
<img v-if="ifSignFollow==false" @click="ifUcheck(0)" class="signUnCheck" src="../common/img/uncheck-img.png" alt="">
<img v-if="ifSignFollow==true" @click="ifUcheck(1)" class="signUnCheck" src="../common/img/check.png" alt="">
<span class="afterSignText">登录后关注主播</span>
</div>
<!-- 试看结束按钮 -->
<div v-if="buttonType==1" class="backgroundBlack">
</div>
<div v-if="buttonType==1" @click="pay_p">
<img class="afterSignImg" src="../common/img/tryLive.png" alt="">
</div>
<!-- 直播未开始提示购买 -->
<div v-if="buttonType==2" class="backgroundBlack">
</div>
<div v-if="buttonType==2" @click="pay_p">
<img class="afterSignImg" src="../common/img/notLive.png" alt="">
</div>
</div>
</template>
......@@ -225,6 +278,17 @@ export default {
is_xuanzhong : 'Month0',
is_Month : 'Month',
url: '' ,
udPhotoFileid:'',//主播头像
udNickname:'',//主播名称
ifFollow:false,//关注按钮显示隐藏
lvrName:'',//直播名称
lvrImgLargeUrl:'',//占位图
ifSignFollow:true,//是否登录后关注
buttonType:0,//按钮显示
lvrId:'',
countTimes:0,//倒计时
timers:null,
lvrUbId:'',//主播id
playerOptions: {
playbackRates: [0.5, 1.0, 1.5, 2.0], // 可选的播放速度
autoplay: true, // 如果为true,浏览器准备好时开始回放。
......@@ -301,14 +365,15 @@ export default {
pwd: request.mqtt.mqttPwd,
domain: request.mqtt.mqttDomain,
port: request.mqtt.mqttPort,
destination: request.douniuLive.destination[0] + 46 +
destination: request.douniuLive.destination[0] + this.$route.query.lvrId +
request.douniuLive.destination[1],
}, this.getMessage);
},
components:{
PreviewPdf,
LivePlayer
LivePlayer,
shareCard: () => import('@/components/plugin/shareCard.vue')
},
computed:{
......@@ -316,11 +381,11 @@ export default {
//屏幕可视区域的高度
let clientHeight
if(document.documentElement.clientHeight<=750){
clientHeight=120+'vw'
clientHeight=93+'vw'
}else if(document.documentElement.clientHeight<1024){
clientHeight=155+'vw'
clientHeight=136+'vw'
}else{
clientHeight=85+'vw'
clientHeight=58+'vw'
}
console.log("clientHeight 1=="+clientHeight)
......@@ -353,6 +418,11 @@ export default {
mqtt.disconnect();
// clearInterval(this.setInterval);
},
//销毁后
destroyed() {
this.updataTime()
console.log('销毁成功')
},
methods: {
// go:function(){
......@@ -413,6 +483,93 @@ export default {
// });
})
},
//反回列表页页面
backHome(){
this.$router.push(
{
path:'/',
});
},
//点击关注事件
clickFollow(){
let temp=this.qs.stringify({
pmAppVersion:'884',
pmModel:'iPhone 12/13 (Pro)',
pmSystem:'iOS 10.0.1',
pmMac:'1',
pmIp:1,
lvrUbId:this.lvrUbId,
type:1,
applicationType:4,
pmOperator:'无运营商'
})
let token=sessionStorage.getItem("token")
let img=sessionStorage.getItem("isReg")
this.server.live.follow(temp).then(res=>{
if(res.data.code==200){
this.ifFollow=true
}else{
alert(res.data.data.businessMessage)
}
})
},
//点击已经关注按钮
clickUnFollow(){
let temp=this.qs.stringify({
pmAppVersion:'884',
pmModel:'iPhone 12/13 (Pro)',
pmSystem:'iOS 10.0.1',
pmMac:'1',
pmIp:1,
lvrUbId:this.lvrUbId,
type:1,
applicationType:4,
pmOperator:'无运营商'
})
let token=sessionStorage.getItem("token")
let img=sessionStorage.getItem("isReg")
this.server.live.follow(temp).then(res=>{
if(res.data.code==200){
this.ifFollow=false
}else{
alert(res.data.data.businessMessage)
}
})
},
//跳转登录页面
jumpLogin(){
this.$router.push(
{
path:'/login',
query:{
lvrUbId:this.lvrUbId
}
});
},
//点击是否登录关注主播
ifUcheck(e){
if(e==0){
this.ifSignFollow=true
}else{
this.ifSignFollow=false
}
},
//获取用户列表
getMessage(item){
console.log("啊哈哈哈",item)
let list={
......@@ -441,14 +598,77 @@ export default {
lvrId:this.$route.query.lvrId,
pmOperator:'无运营商'
})
let token=sessionStorage.getItem("token")
let img=sessionStorage.getItem("isReg")
if(!token){
this.buttonType=0
// this.imgShow=false
}
this.server.live.liveDetail(temp).then(res=>{
this.lvrInfoText=res.data.data.lvrInfoText
this.lvrStatus=res.data.data.lvrStatus
if(res.data.data.lvrStatus==1){
this.lvrStatus=res.data.data.lvrStatus//直播状态
this.lvrImgLargeUrl=res.data.data.lvrImgLargeUrl//占位图
this.lvrName=res.data.data.lvrName//直播名称
this.udNickname=res.data.data.udNickname//主播名称
this.udPhotoFileid=res.data.data.udPhotoFileid//主播头像
this.lvrId=res.data.data.lvrId//直播间id
this.lvrUbId=res.data.data.lvrUbId//主播id
this.ifFollow=res.data.data.followAnchor//关注主播状态
let timer=res.data.data.seeDuration//试看时间
if(token&&img){
//正确登录
if(res.data.data.lvrIsFree==0){
// 免费
if(res.data.data.lvrStatus==1){
this.buttonType=4
this.playerOptions.sources[0].src=res.data.data.lvpPullUrl
}else{
this.videoList(1)
// this.videoList(1)
// aleart("直播暂未开始")
this.buttonType=1
// alert("直播暂未开始")
}
}else{
// 付费
if(res.data.data.isBuy==0){
// this.buttonType=0
//未购买进行试看
//试看倒计时
if(timer==0){
this.countTimes=0
this.buttonType=2
}else{
this.buttonType=3
if (!this.timers) {
this.countTimes=timer
this.timers = setInterval(() => {
if (this.countTimes > 0 && this.countTimes <= timer) {
this.countTimes--;
} else {
this.countTimes=0
this.updataTime()
this.$router.go(0)
this.buttonType=1
}
}, 1000)
}
}
}else{
//已经购买
this.playerOptions.sources[0].src=res.data.data.lvpPullUrl
this.buttonType=4
}
}
}
// let thisToken= res.data.data.token
......@@ -460,6 +680,24 @@ export default {
// });
})
},
//更新时间 接口
updataTime(){
let temp=this.qs.stringify({
pmAppVersion:'884',
pmModel:'iPhone 12/13 (Pro)',
pmSystem:'iOS 10.0.1',
// timestamp:this.timestamp,
pmMac:'1',
pmIp:1,
applicationType:4,
duration:this.countTimes,
lvrId:this.$route.query.lvrId,
pmOperator:'无运营商'
})
this.server.live.updataTime(temp).then(res=>{
})
},
videoList(i){
let temp=this.qs.stringify({
pmAppVersion:'884',
......@@ -472,7 +710,7 @@ export default {
this.server.live.videoList(temp).then(res=>{
// this.url=res.data.data.lvpPullUrl
if(res.data.data.businessCode==10){
// this.source=res.data.data.info 先隐藏
this.source=res.data.data.info //先隐藏
if(i==1){
this.playerOptions.sources[0].src=res.data.data.info[0].lvrrVideo
}
......@@ -489,7 +727,7 @@ export default {
//获取支付信息
pay_info(){
let temp=this.qs.stringify({
pmAppVersion:'884',
applicationType:4,
pmAppVersion: 868,
// applicationType: 3,
......@@ -735,7 +973,9 @@ export default {
pay_p(){
this.pten = true
},
clickPayBox(){
this.pten = false
},
onBridgeReady() {
WeixinJSBridge.invoke('getBrandWCPayRequest', {
......@@ -805,6 +1045,15 @@ export default {
.video-js .vjs-modal-dialog{
display: none;
}
.vjs-custom-skin > .video-js .vjs-big-play-button {
background-color: rgba(0,0,0,0.45);
font-size: 3.5em;
display: none;
/* border-radius: 50%; */
height: 2em !important;
line-height: 2em !important;
margin-top: -1em !important;
}
</style>
<style scoped>
......@@ -855,6 +1104,87 @@ export default {
line-height: 22px;
}
.back-list{
position: absolute;
top: 2vw;
left: 1vw;
z-index: 89;
height: 8vw;
width: 8vw;
}
.headLvrName{
font-size: 3.8vw;
position: absolute;
top: 3.3vw;
left: 8vw;
color: white;
}
.head-img{
position: absolute;
top: 59.5vw;
left: 53.5vw;
height: 7vw;
width: 7vw;
z-index: 89;
border-radius: 50%;
}
.payBox{
height: 55vw;
width: 100%;
background: white;
opacity: 0;
position: absolute;
top: 0;
left: 0;
z-index: 100;
}
.follow-img{
position: absolute;
top: 60vw;
left: 82vw;
height: 6vw;
width: 14vw;
z-index: 89;
}
.home-number{
font-size: 1vw;
transform: scale(0.75);
position: absolute;
top: 63vw;
left: 59.5vw;
z-index: 89;
color: white;
}
.teach-name{
font-size: 4vw;
transform: scale(0.8);
position: absolute;
z-index: 89;
top: 58vw;
left: 60vw;
color: white;
}
.followBox{
height: 20vw;
width: 90vw;
background: rgb(129, 148, 100);
border-radius: 10vw;
position: absolute;
top: 1vw;
left: 1vw;
}
.teach-box{
position: absolute;
top: 59vw;
opacity: 0.6;
left: 52vw;
height: 8vw;
width: 45vw;
border-radius: 10vw;
background: #000000;
}
.author{
position: absolute;
......@@ -956,7 +1286,7 @@ width: 90vw;
.background{
height: 28vw;
width: 90%;
background: rgb(248, 239, 201);
/* background: rgb(248, 239, 201); */
position: relative;
margin-top: 4vw;
margin-left: 5%;
......@@ -969,7 +1299,7 @@ display: block;
padding: 3vw 1vw 1vw 5vw;
text-indent: 8vw;
letter-spacing: 0.4vw;
color: red;
color: #BF9959;
}
.headImg{
height: 6vw;
......@@ -979,21 +1309,21 @@ display: block;
left: 5vw;
}
.sendMessage{
width: 98%;
height: 16vw;
width: 100%;
height: 19vw;
/* border: 0.5vw solid red; */
/* background: white; */
background: black;
position: fixed;
box-shadow: #797979 0 -0.5vw 1vw;
bottom: 1%;
/* box-shadow: #797979 0 -0.5vw 1vw; */
bottom: 0%;
line-height: 15vw;
left: 1%;
left: 0%;
display: flex;
justify-content: space-around;
}
.wbk2 {
font-size: 3.7vw;
color: #797979;
color: #848484;
border-radius: 5vw;
width: 45vw;
height: 10vw;
......@@ -1042,12 +1372,71 @@ display: block;
background-size:145vw;
background-repeat: no-repeat;
}
.countTime{
height: 10vw;
width: 82vw;
background: #000000;
position: absolute;
top: 44vw;
border-radius: 10vw;
right: 16vw;
z-index: 89;
}
.countTimeText{
position: absolute;
top: 3vw;
left: 4vw;
font-size: 3vw;
color: #FF9F2C;
}
.countTimeImg{
height: 8vw;
width: 38vw;
position: absolute;
top: 1vw;
right: 1vw;
z-index: 89;
}
.afterSignImg{
height: 30vw;
width: 60vw;
position: absolute;
z-index: 89;
top: 13vw;
left: 20vw;
}
.backgroundBlack{
height: 24vw;
width: 50vw;
background: black;
position: absolute;
top: 18vw;
left: 26vw;
z-index: 88;
}
.signUnCheck{
height: 4vw;
width: 4vw;
position: absolute;
z-index: 89;
top: 46.5vw;
left: 32vw;
}
.afterSignText{
font-size: 3.7vw;
color: #C6C6C6;
position: absolute;
z-index: 89;
top: 46vw;
left: 37vw;
}
.mq-message1{
/* height: 10vw; */
padding: 2vw 0 2vw 0;
width: 91%;
/* background: green; */
margin-bottom: 3vw;
/* width: 91%; */
background: #25232E;
font-size: 3.8vw;
margin-left: 4%;
display: flex;
......@@ -1056,17 +1445,20 @@ background-repeat: no-repeat;
}
.mq-messageTwo2{
padding: 3vw 0 5vw 0;
margin-bottom: 1vw;
width: 91%;
/* background: green; */
font-size: 3.8vw;
margin-left: 4%;
/* display: flex; */
/* justify-content: space-around; */
position: relative;
margin-bottom: 3vw;
background: #25232E;
line-height: 2vw;
/* width: 91%; */
/* background: green; */
font-size: 3.8vw;
margin-left: 4%;
/* display: flex; */
/* justify-content: space-around; */
position: relative;
}
.welcome{
margin-left: -23vw;
color: white;
}
.info1{
color: red;
......@@ -1074,13 +1466,14 @@ background-repeat: no-repeat;
}
.infoTwo1{
color: #FF9B00;
margin-left: 11vw;
margin-left: 5vw;
float: left;
display: block;
width: 32%;
width: 22%;
}
.into1{
margin-left: -50vw;
color: white;
}
.intoTwo1{
/* margin-left: -43vw; */
......@@ -1121,14 +1514,16 @@ background-repeat: no-repeat;
}
.conten{
position: fixed;
bottom: -210px;
left: 0%;
width: 100%;
/* background: red; */
background: white;
height: 100%;
bottom: -23%;
left: 0%;
width: 100%;
/* background: red; */
background: white;
height: 100%;
z-index: 110;
}
.p_conte{
position: relative;
......
......@@ -4,7 +4,7 @@
<span>斗牛财经</span>
<img v-if="ifLog==0" class="portait-not" src="../common/img/not-logged.png" alt="">
<img v-if="ifLog==1" class="portait-not" src="../common/img/title_logo.png" alt="" @click="mine">
<img v-if="ifLog==2" class="portait-not" :src="userImg" alt="">
<img v-if="ifLog==2" class="portait-not" :src="userImg" alt="" @click="mine">
</div>
<div class="tab">
<span :class="{free:ifFree,nonefree:!ifFree}" @click="clickFree()">免费</span>
......@@ -13,9 +13,9 @@
<div class="content">
<div v-if="ifFree" @click="liveDetail(i)" v-for="i in freeList" :key="i.lvrId" class="moudle" >
<img class="recommed-img" v-if="i.ifrecom" src="../common/img/recommend.png" alt="">
<img class="head-img" src="../common/img/wechact.png" alt="">
<img class="head-img" :src="i.headPhoto" alt="">
<span class="head-name">{{i.udNickname}}</span>
<img class="count-img" src="https://customer-img.douniu8.com/1665380604617GPdvMCWnMN.jpg" alt="">
<img class="count-img" :src="i.imgLargeUrl" alt="">
<img class="liv-img" v-if="i.lvrStatus==1" src="../common/img/living.png" alt="">
<span class="title-message">{{i.lvrName}}</span>
<img class="people-img" src="../common/img/people-num.png" alt="">
......@@ -24,9 +24,9 @@
</div>
<div v-if="!ifFree" @click="liveDetail(i)" v-for="i in vipList" :key="i.lvrId" class="moudle">
<img class="recommed-img" v-if="i.ifrecom" src="../common/img/recommend.png" alt="">
<img class="head-img" src="../common/img/wechact.png" alt="">
<img class="head-img" :src="i.headPhoto" alt="">
<span class="head-name">{{i.udNickname}}</span>
<img class="count-img" src="https://customer-img.douniu8.com/1665380604617GPdvMCWnMN.jpg" alt="">
<img class="count-img" :src="i.imgLargeUrl" alt="">
<!-- <img class="liv-img" v-if="ifFree" src="../common/img/living.png" alt=""> -->
<span class="title-message">{{i.lvrName}}</span>
<img class="people-img" src="../common/img/people-num.png" alt="">
......@@ -54,11 +54,16 @@ export default {
vipList:[]
};
},
created(){
this.getState()
},
mounted() {
this.getRecommendList()
this.getList()
this.getState()
//判断是否有主播Id
this.ifUbId()
},
methods: {
......@@ -131,6 +136,7 @@ export default {
})
},
getState(){
let token=sessionStorage.getItem("token")
let img=sessionStorage.getItem("udPhotoFileid")
console.log("就阿婆啊v发",token)
......@@ -140,6 +146,7 @@ export default {
this.userImg=img
}else{
this.ifLog=1
}
}else{
......@@ -147,6 +154,37 @@ export default {
this.visitorLog()
}
},
//判断是否有主播Id
ifUbId(){
let data = sessionStorage.getItem('ifLvrUbId');
let token=sessionStorage.getItem("token")
let img=sessionStorage.getItem("isReg")
if(token&&img){
if(data){
console.log("有主播Id")
let temp=this.qs.stringify({
pmAppVersion:'884',
pmModel:'iPhone 12/13 (Pro)',
pmSystem:'iOS 10.0.1',
pmMac:'1',
pmIp:1,
lvrUbId:data,
applicationType:4,
type:2,
pmOperator:'无运营商'
})
this.server.live.follow(temp).then(res=>{
})
}else{
console.log("没有主播Id")
}
}
},
//游客登录
visitorLog(){
let temp=this.qs.stringify({
......@@ -161,8 +199,8 @@ export default {
this.server.live.tourist(temp).then(res=>{
let thisToken= res.data.data.token
window.sessionStorage.setItem('token', thisToken);//token
this.$router.go(0)
// this.$router.go(0)
window.location.reload();
})
},
mine(){
......
......@@ -17,8 +17,8 @@
<span class="privacy" @click="privacy()">《隐私政策》</span>
<img class="default-img" v-if="ifSend==false" src="../common/img/default-img.png" alt="">
<img class="default-img" v-if="ifSend==true" @click="goTo()" src="../common/img/new-send.png" alt="">
<span class="third">第三方登录</span>
<img class="wechact" src="../common/img/wechact.png" alt="" @click="Wget">
<!-- <span class="third">第三方登录</span> -->
<!-- <img class="wechact" src="../common/img/wechact.png" alt="" @click="Wget"> -->
<span v-if="errorPhone==true" class="errorTip">*手机号码错误</span>
<!-- <span class="registerOne">没有账号,</span><span class="registerTwo" @click="register()">立即注册</span>
<input type="number" v-model="userPhone" placeholder="输入手机号" oninput="if(value.length>11)value=value.slice(0,11)" class="wbk1">
......@@ -60,7 +60,8 @@ export default {
},
mounted() {
//获取是否有主播id
this.getUbId()
},
methods: {
......@@ -217,13 +218,37 @@ export default {
this.server.live.buy_code(temp).then(res=>{
//order成功判断内置浏览器,在微信就授权,内置微信还是浏览器 微信jsapi 浏览器h5
if(res.code=200){
// window.location.href=''
console.log(res.data)
if(res.data.code==200){
let url=res.data.data
window.location.href=url
}
})
},
//获取主播id以及判断是否微信登录
getUbId(){
console.log("主播id",this.$route.query.lvrUbId)
if(this.$route.query.lvrUbId){
window.sessionStorage.setItem('ifLvrUbId', this.$route.query.lvrUbId);//token
let data = sessionStorage.getItem('ifLvrUbId');
console.log("haha真是哈哈",data)
}else{
console.log("阿斯蒂芬")
sessionStorage.removeItem('ifLvrUbId');
}
if(this.$route.query.appid){
this.$router.push(
{
path:'/',
});
}
}
},
};
......
<template>
<div id="body">
<!-- <div class="black-background">
<div id="body">
<!-- <div class="black-background">
</div> -->
<div >
<span class="title">短信验证</span>
<span class="registerOne">短信已发送至:</span>
<span class="registerPhone">+86 {{userPhone}}</span>
<span class="registerTwo">手机验证码</span>
<input type="number" id="firstNumber" @input="changeInput(0)" @blur="searchChangeTwo(0)" @focus="searchChange(0)" v-model="numberOne" oninput="if(value.length>1)value=value.slice(0,6)" :class="{wbk11:!ifRed0,wbkRed:ifRed0}">
<input type="number" id="secondNumber" @input="changeInput(1)" @blur="searchChangeTwo(1)" style="left:20vw" @focus="searchChange(1)" v-model="numberTwo" oninput="if(value.length>1)value=value.slice(0,1)" :class="{wbk11:!ifRed1,wbkRed:ifRed1}">
<input type="number" id="threeNumber" @input="changeInput(2)" @blur="searchChangeTwo(2)" style="left:35vw" @focus="searchChange(2)" v-model="numberThree" oninput="if(value.length>1)value=value.slice(0,1)" :class="{wbk11:!ifRed2,wbkRed:ifRed2}">
<input type="number" id="fourNumber" @input="changeInput(3)" @blur="searchChangeTwo(3)" style="left:50vw" @focus="searchChange(3)" v-model="numberFour" oninput="if(value.length>1)value=value.slice(0,1)" :class="{wbk11:!ifRed3,wbkRed:ifRed3}">
<input type="number" id="fiveNumber" @input="changeInput(4)" @blur="searchChangeTwo(4)" style="left:65vw" @focus="searchChange(4)" v-model="numberFive" oninput="if(value.length>1)value=value.slice(0,1)" :class="{wbk11:!ifRed4,wbkRed:ifRed4}">
<input type="number" id="sixNumber" @input="changeInput(5)" @blur="searchChangeTwo(5)" style="left:80vw" @focus="searchChange(5)" v-model="numberSix" oninput="if(value.length>1)value=value.slice(0,1)" :class="{wbk11:!ifRed5,wbkRed:ifRed5}">
<img class="default-img" v-if="ifClick==false" src="../common/img/default-img.png" alt="">
<img class="default-img" v-if="ifClick==true" @click="goTo()" src="../common/img/new-send.png" alt="">
<span v-show="ifSend" class="send" @click="sendButton()" >重新发送</span>
<span v-show="!ifSend" class="sendTwo" id="sendBtn">{{count}}S重新发送</span>
<!-- <span class="title">验证码登录</span>
<div>
<span class="title">短信验证</span>
<span class="registerOne">短信已发送至:</span>
<span class="registerPhone">+86 {{ userPhone }}</span>
<span class="registerTwo">手机验证码</span>
<input
type="number"
id="firstNumber"
@input="changeInput(0)"
@blur="searchChangeTwo(0)"
@focus="searchChange(0)"
v-model="numberOne"
oninput="if(value.length>1)value=value.slice(0,6)"
:class="{ wbk11: !ifRed0, wbkRed: ifRed0 }"
/>
<input
type="number"
id="secondNumber"
@input="changeInput(1)"
@blur="searchChangeTwo(1)"
style="left: 20vw"
@focus="searchChange(1)"
v-model="numberTwo"
oninput="if(value.length>1)value=value.slice(0,1)"
:class="{ wbk11: !ifRed1, wbkRed: ifRed1 }"
/>
<input
type="number"
id="threeNumber"
@input="changeInput(2)"
@blur="searchChangeTwo(2)"
style="left: 35vw"
@focus="searchChange(2)"
v-model="numberThree"
oninput="if(value.length>1)value=value.slice(0,1)"
:class="{ wbk11: !ifRed2, wbkRed: ifRed2 }"
/>
<input
type="number"
id="fourNumber"
@input="changeInput(3)"
@blur="searchChangeTwo(3)"
style="left: 50vw"
@focus="searchChange(3)"
v-model="numberFour"
oninput="if(value.length>1)value=value.slice(0,1)"
:class="{ wbk11: !ifRed3, wbkRed: ifRed3 }"
/>
<input
type="number"
id="fiveNumber"
@input="changeInput(4)"
@blur="searchChangeTwo(4)"
style="left: 65vw"
@focus="searchChange(4)"
v-model="numberFive"
oninput="if(value.length>1)value=value.slice(0,1)"
:class="{ wbk11: !ifRed4, wbkRed: ifRed4 }"
/>
<input
type="number"
id="sixNumber"
@input="changeInput(5)"
@blur="searchChangeTwo(5)"
style="left: 80vw"
@focus="searchChange(5)"
v-model="numberSix"
oninput="if(value.length>1)value=value.slice(0,1)"
:class="{ wbk11: !ifRed5, wbkRed: ifRed5 }"
/>
<img
class="default-img"
v-if="ifClick == false"
src="../common/img/default-img.png"
alt=""
/>
<img
class="default-img"
v-if="ifClick == true"
@click="goTo()"
src="../common/img/new-send.png"
alt=""
/>
<span v-show="ifSend" class="send" @click="sendButton()">重新发送</span>
<span v-show="!ifSend" class="sendTwo" id="sendBtn"
>{{ count }}S重新发送</span
>
<!-- <span class="title">验证码登录</span>
<input type="number" v-model="userPhone" placeholder="请输入手机号" oninput="if(value.length>11)value=value.slice(0,11)" class="wbk1">
<input type="number" v-model="verification " placeholder="输入验证码" oninput="if(value.length>11)value=value.slice(0,11)" class="wbk2">
<span v-show="ifSend" class="send" @click="sendButton()" >发送验证码</span>
<span v-show="!ifSend" class="sendTwo" id="sendBtn">{{count}}S后获取</span>
<button class="sure" @click="signButton()">登录</button>
<span class="account " @click="password">账号登录</span> -->
<div class="tips" style="display: none;">
<span>发送成功</span>
</div>
</div>
<div class="tips" style="display: none">
<span>发送成功</span>
</div>
</div>
</div>
</template>
<script>
import Vue from 'vue'
import store from '../store/index';
import $ from 'jquery'
import {Toast,Button} from "mint-ui";
import { Header } from 'mint-ui';
import Vue from "vue";
import store from "../store/index";
import $ from "jquery";
import { Toast, Button } from "mint-ui";
import { Header } from "mint-ui";
Vue.component(Button.name, Button);
import '../../node_modules/mint-ui/lib/style.css'
import "../../node_modules/mint-ui/lib/style.css";
Vue.component(Header.name, Header);
export default {
name: 'H5LiveSign',
name: "H5LiveSign",
data() {
return {
ifclick: true,
userPhone: this.$route.query.phone,
verification: "",
count: "",
ifRed0: false,
ifRed1: false,
ifRed2: false,
ifRed3: false,
ifRed4: false,
ifRed5: false,
ifSend: true,
ifClick: false,
device: "",
system: "",
times: null,
timestamp: Date.parse(new Date()) / 1000,
numberOne: "",
numberTwo: "",
numberThree: "",
numberFour: "",
numberFive: "",
numberSix: "",
isweixin: false,
};
},
data() {
return {
ifclick:true,
userPhone:this.$route.query.phone,
verification:'',
count:'',
ifRed0:false,
ifRed1:false,
ifRed2:false,
ifRed3:false,
ifRed4:false,
ifRed5:false,
ifSend:true,
ifClick:false,
device:'',
system:'',
times:null,
timestamp:Date.parse(new Date())/1000,
numberOne:'',
numberTwo:'',
numberThree:'',
numberFour:'',
numberFive:'',
numberSix:'',
};
mounted() {
this.showLog();
this.sendButton();
},
methods: {
password() {
this.$router.push({
path: "/password",
});
},
// 判断是否为微信浏览器
isWeixinBrowser() {
let ua = navigator.userAgent.toLowerCase();
return /micromessenger/.test(ua) ? true : false;
},
changeInput(e) {
console.log("安抚", e);
if (e == 0 && this.numberOne != "") {
console.log("哈哈");
document.getElementById("secondNumber").focus();
this.ifRed1 = true;
} else if (e == 1 && this.numberTwo != "") {
document.getElementById("threeNumber").focus();
this.ifRed2 = true;
} else if (e == 2 && this.numberThree != "") {
document.getElementById("fourNumber").focus();
this.ifRed3 = true;
} else if (e == 3 && this.numberFour != "") {
document.getElementById("fiveNumber").focus();
this.ifRed4 = true;
} else if (e == 4 && this.numberFive != "") {
document.getElementById("sixNumber").focus();
this.ifRed5 = true;
} else if (e == 5 && this.numberSix != "") {
// document.getElementById('threeNumber').focus();
// this.ifRed5=true
this.ifClick = true;
}
mounted() {
this.showLog()
this.sendButton()
if (e == 0 && this.numberOne.length == 6) {
let stmp = this.numberOne;
console.log("啊", stmp.slice(1, 2));
this.numberOne = stmp.slice(0, 1);
this.numberTwo = stmp.slice(1, 2);
this.numberThree = stmp.slice(2, 3);
this.numberFour = stmp.slice(3, 4);
this.numberFive = stmp.slice(4, 5);
this.numberSix = stmp.slice(5, 6);
document.getElementById("sixNumber").focus();
this.ifRed5 = true;
this.ifclick = true;
}
// if(this.numberOne==''){
// document.getElementById('firstNumber').focus();
// this.ifRed0=true
// }else if(this.numberTwo==''){
// document.getElementById('secondNumber').focus();
// this.ifRed1=true
// }else if(this.numberThree==''){
// document.getElementById('threeNumber').focus();
// this.ifRed2=true
// }else if(this.numberFour==''){
// document.getElementById('fourNumber').focus();
// this.ifRed3=true
// }else if(this.numberFive==''){
// document.getElementById('fiveNumber').focus();
// this.ifRed4=true
// }
// else{
// this.ifRed5=true
// }
},
searchChange(e) {
// let verification= this.numberOne +this.numberTwo+this.numberThree+this.numberFour+this.numberFive+this.numberSix
// console.log("岸上观光",verification)
// document.getElementById('firstNumber').focus();//设置用户名的文本框为焦点。
if (e == 0) {
this.ifRed0 = true;
} else if (e == 1) {
if (this.numberOne == "") {
document.getElementById("firstNumber").focus();
this.ifRed0 = true;
} else {
this.ifRed1 = true;
}
} else if (e == 2) {
if (this.numberOne == "") {
document.getElementById("firstNumber").focus();
this.ifRed0 = true;
} else if (this.numberTwo == "") {
document.getElementById("secondNumber").focus();
this.ifRed1 = true;
} else {
this.ifRed2 = true;
}
} else if (e == 3) {
if (this.numberOne == "") {
document.getElementById("firstNumber").focus();
this.ifRed0 = true;
} else if (this.numberTwo == "") {
document.getElementById("secondNumber").focus();
this.ifRed1 = true;
} else if (this.numberThree == "") {
document.getElementById("threeNumber").focus();
this.ifRed2 = true;
} else {
this.ifRed3 = true;
}
} else if (e == 4) {
if (this.numberOne == "") {
document.getElementById("firstNumber").focus();
this.ifRed0 = true;
} else if (this.numberTwo == "") {
document.getElementById("secondNumber").focus();
this.ifRed1 = true;
} else if (this.numberThree == "") {
document.getElementById("threeNumber").focus();
this.ifRed2 = true;
} else if (this.numberFour == "") {
document.getElementById("fourNumber").focus();
this.ifRed3 = true;
} else {
this.ifRed4 = true;
}
} else if (e == 5) {
if (this.numberOne == "") {
document.getElementById("firstNumber").focus();
this.ifRed0 = true;
} else if (this.numberTwo == "") {
document.getElementById("secondNumber").focus();
this.ifRed1 = true;
} else if (this.numberThree == "") {
document.getElementById("threeNumber").focus();
this.ifRed2 = true;
} else if (this.numberFour == "") {
document.getElementById("fourNumber").focus();
this.ifRed3 = true;
} else if (this.numberFive == "") {
document.getElementById("fiveNumber").focus();
this.ifRed4 = true;
} else {
this.ifRed5 = true;
}
}
if (e == 0 && this.numberOne.length == 6) {
let stmp = this.numberOne;
methods: {
password(){
this.$router.push(
{
path:'/password',
});
},
changeInput(e){
console.log("安抚",e)
if(e==0&&this.numberOne!=''){
console.log("哈哈")
document.getElementById('secondNumber').focus();
this.ifRed1=true
}else if(e==1&&this.numberTwo!=''){
document.getElementById('threeNumber').focus();
this.ifRed2=true
}else if(e==2&&this.numberThree!=''){
document.getElementById('fourNumber').focus();
this.ifRed3=true
}else if(e==3&&this.numberFour!=''){
document.getElementById('fiveNumber').focus();
this.ifRed4=true
}else if(e==4&&this.numberFive!=''){
document.getElementById('sixNumber').focus();
this.ifRed5=true
}else if(e==5&&this.numberSix!=''){
// document.getElementById('threeNumber').focus();
// this.ifRed5=true
this.ifClick=true
}
console.log("啊", stmp.slice(1, 2));
this.numberOne = stmp.slice(0, 1);
this.numberTwo = stmp.slice(1, 2);
this.numberThree = stmp.slice(2, 3);
this.numberFour = stmp.slice(3, 4);
this.numberFive = stmp.slice(4, 5);
this.numberSix = stmp.slice(5, 6);
document.getElementById("sixNumber").focus();
this.ifRed5 = true;
this.ifclick = true;
}
// console.log("dss双方都是",this.userPhone)
// if(this.userPhone &&this.ifCheck==true){
// this.ifSend=true
if(e==0&&this.numberOne.length==6){
let stmp=this.numberOne
console.log('啊',stmp.slice(1,2))
this.numberOne=stmp.slice(0,1)
this.numberTwo=stmp.slice(1,2)
this.numberThree=stmp.slice(2,3)
this.numberFour=stmp.slice(3,4)
this.numberFive=stmp.slice(4,5)
this.numberSix=stmp.slice(5,6)
document.getElementById('sixNumber').focus();
this.ifRed5=true
this.ifclick=true
}
// if(this.numberOne==''){
// document.getElementById('firstNumber').focus();
// this.ifRed0=true
// }else if(this.numberTwo==''){
// document.getElementById('secondNumber').focus();
// this.ifRed1=true
// }else if(this.numberThree==''){
// document.getElementById('threeNumber').focus();
// this.ifRed2=true
// }else if(this.numberFour==''){
// document.getElementById('fourNumber').focus();
// this.ifRed3=true
// }else if(this.numberFive==''){
// document.getElementById('fiveNumber').focus();
// this.ifRed4=true
// }
// else{
// this.ifRed5=true
// }
},
searchChange(e){
// let verification= this.numberOne +this.numberTwo+this.numberThree+this.numberFour+this.numberFive+this.numberSix
// console.log("岸上观光",verification)
// document.getElementById('firstNumber').focus();//设置用户名的文本框为焦点。
if(e==0){
this.ifRed0=true
}else if(e==1){
if(this.numberOne==''){
document.getElementById('firstNumber').focus();
this.ifRed0=true
}else{
this.ifRed1=true
}
}else if(e==2){
if(this.numberOne==''){
document.getElementById('firstNumber').focus();
this.ifRed0=true
}else if(this.numberTwo==''){
document.getElementById('secondNumber').focus();
this.ifRed1=true
}
else{
this.ifRed2=true
}
}else if(e==3){
if(this.numberOne==''){
document.getElementById('firstNumber').focus();
this.ifRed0=true
}else if(this.numberTwo==''){
document.getElementById('secondNumber').focus();
this.ifRed1=true
}else if(this.numberThree==''){
document.getElementById('threeNumber').focus();
this.ifRed2=true
}
else{
this.ifRed3=true
}
}else if(e==4){
if(this.numberOne==''){
document.getElementById('firstNumber').focus();
this.ifRed0=true
}else if(this.numberTwo==''){
document.getElementById('secondNumber').focus();
this.ifRed1=true
}else if(this.numberThree==''){
document.getElementById('threeNumber').focus();
this.ifRed2=true
}else if(this.numberFour==''){
document.getElementById('fourNumber').focus();
this.ifRed3=true
}
else{
this.ifRed4=true
}
}else if(e==5){
if(this.numberOne==''){
document.getElementById('firstNumber').focus();
this.ifRed0=true
}else if(this.numberTwo==''){
document.getElementById('secondNumber').focus();
this.ifRed1=true
}else if(this.numberThree==''){
document.getElementById('threeNumber').focus();
this.ifRed2=true
}else if(this.numberFour==''){
document.getElementById('fourNumber').focus();
this.ifRed3=true
}else if(this.numberFive==''){
document.getElementById('fiveNumber').focus();
this.ifRed4=true
}
else{
this.ifRed5=true
}
}
if(e==0&&this.numberOne.length==6){
let stmp=this.numberOne
console.log('啊',stmp.slice(1,2))
this.numberOne=stmp.slice(0,1)
this.numberTwo=stmp.slice(1,2)
this.numberThree=stmp.slice(2,3)
this.numberFour=stmp.slice(3,4)
this.numberFive=stmp.slice(4,5)
this.numberSix=stmp.slice(5,6)
document.getElementById('sixNumber').focus();
this.ifRed5=true
this.ifclick=true
}
// console.log("dss双方都是",this.userPhone)
// if(this.userPhone &&this.ifCheck==true){
// this.ifSend=true
// }else{
// this.ifSend=false
// }
},
searchChangeTwo(e){
if(e==0){
this.ifRed0=false
}else if(e==1){
this.ifRed1=false
}else if(e==2){
this.ifRed2=false
}else if(e==3){
this.ifRed3=false
}else if(e==4){
this.ifRed4=false
}else if(e==5){
let verification= this.numberOne +this.numberTwo+this.numberThree+this.numberFour+this.numberFive+this.numberSix
console.log("岸上观光",verification)
this.ifRed5=false
if(verification.length==6){
this.ifClick=true
}else{
this.ifClick=false
}
// }else{
// this.ifSend=false
// }
},
searchChangeTwo(e) {
if (e == 0) {
this.ifRed0 = false;
} else if (e == 1) {
this.ifRed1 = false;
} else if (e == 2) {
this.ifRed2 = false;
} else if (e == 3) {
this.ifRed3 = false;
} else if (e == 4) {
this.ifRed4 = false;
} else if (e == 5) {
let verification =
this.numberOne +
this.numberTwo +
this.numberThree +
this.numberFour +
this.numberFive +
this.numberSix;
console.log("岸上观光", verification);
this.ifRed5 = false;
if (verification.length == 6) {
this.ifClick = true;
} else {
this.ifClick = false;
}
}
},
go_get() {
let temp = this.qs.stringify({
urlTag: "nh5",
});
this.server.live.buy_code(temp).then((res) => {
//order成功判断内置浏览器,在微信就授权,内置微信还是浏览器 微信jsapi 浏览器h5
console.log(res.data);
if (res.data.code == 200) {
let url = res.data.data;
window.location.href = url;
}
});
},
goTo() {
let verification =
this.numberOne +
this.numberTwo +
this.numberThree +
this.numberFour +
this.numberFive +
this.numberSix;
let temp = this.qs.stringify({
pmAppVersion: 884,
pmModel: "iphone",
pmSystem: "ios",
pmMac: 11,
pmOperator: "无运营商",
pmIp: 1,
phone: this.userPhone,
vcode: verification,
});
this.server.login.loginByPhone(temp).then((res) => {
let thisToken = res.data.data.token;
let udPhotoFileid = res.data.data.udPhotoFileid;
let name = res.data.data.udNickname;
let ubId = res.data.data.ubId;
let isReg = res.data.data.isReg;
let openId = res.data.data.openId;
sessionStorage.setItem("ubId", ubId); //用户id
sessionStorage.removeItem("token");
window.sessionStorage.setItem("token", thisToken); //token
window.sessionStorage.setItem("udPhotoFileid", udPhotoFileid); //头像
sessionStorage.setItem("name", name); //用户昵称
sessionStorage.setItem("isReg", isReg); //是否注册
sessionStorage.setItem("openId", openId); //opendid
store.commit("SET_TOKEN", thisToken);
// this.getLive()
// this.go_get()
//判断是否是微信浏览器
if (this.isweixin) {
this.go_get();
} else {
this.$router.push({
path: "/",
});
}
});
},
getLive() {
let temp = this.qs.stringify({
pmAppVersion: 884,
pmModel: "iphone",
pmSystem: "ios",
pmMac: 11,
pmOperator: "无运营商",
pmIp: 1,
// ubPhone:this.userPhone,
// vcCode:this.verification,
// udPwd:pwd,
});
this.server.live.getLive(temp).then((res) => {
let arr = res.data.data.appSingleLiveResponseVOList;
arr.forEach((i, index) => {
if (i.lvrId == 115) {
console.log("撒发达", i.lvrLiveType);
if (i.lvrLiveType == 0) {
this.$router.push({
path: "/live",
});
} else {
this.$router.push({
path: "/fullScreen",
// query:{type:i.lvrStatus}
});
}
},
goTo(){
let verification= this.numberOne +this.numberTwo+this.numberThree+this.numberFour+this.numberFive+this.numberSix
let temp=this.qs.stringify({
pmAppVersion:884,
pmModel:'iphone',
pmSystem:'ios',
pmMac:11,
pmOperator:'无运营商',
pmIp:1,
phone:this.userPhone,
vcode:verification,
})
this.server.login.loginByPhone(temp).then(res=>{
let thisToken= res.data.data.token
let udPhotoFileid=res.data.data.udPhotoFileid
let name=res.data.data.udNickname
let ubId=res.data.data.ubId
let isReg=res.data.data.isReg
let openId=res.data.data.openId
sessionStorage.setItem("ubId", ubId);//用户id
// lvrStatus 0 未开播、1 直播中
//lvrLiveType 0 横屏、1 竖屏
}
});
});
},
sendButton() {
// console.log("撒旦发生",this.timestamp*1000)
window.sessionStorage.setItem('token', thisToken);//token
window.sessionStorage.setItem('udPhotoFileid', udPhotoFileid);//头像
sessionStorage.setItem("name", name);//用户昵称
sessionStorage.setItem("isReg", isReg);//是否注册
sessionStorage.setItem("openId", openId);//opendid
store.commit("SET_TOKEN", thisToken);
// this.getLive()
this.$router.push(
{
path:'/list',
});
})
},
getLive(){
let temp=this.qs.stringify({
pmAppVersion:884,
pmModel:'iphone',
pmSystem:'ios',
pmMac:11,
pmOperator:'无运营商',
pmIp:1,
// ubPhone:this.userPhone,
// vcCode:this.verification,
// udPwd:pwd,
})
this.server.live.getLive(temp).then(res=>{
let arr=res.data.data.appSingleLiveResponseVOList
arr.forEach((i,index)=>{
if(i.lvrId==115){
console.log("撒发达",i.lvrLiveType)
if(i.lvrLiveType==0){
this.$router.push(
{
path:'/live',
});
}else{
this.$router.push(
{
path:'/fullScreen',
// query:{type:i.lvrStatus}
});
}
// lvrStatus 0 未开播、1 直播中
//lvrLiveType 0 横屏、1 竖屏
}
})
var stringA =
"app=douniucaijing&body=thisisbody&timestamp=" + this.timestamp;
let userPhone = this.userPhone;
var sign = this.$md5(stringA);
})
},
sendButton(){
// console.log("撒旦发生",this.timestamp*1000)
var stringA="app=douniucaijing&body=thisisbody&timestamp="+this.timestamp;
let userPhone=this.userPhone
var sign = this.$md5(stringA)
var phoneReg = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/; //定义邮箱的正则表达式
if (!phoneReg.test(userPhone)) {
alert("您输入的手机号格式不正确");
}else{
let temp=this.qs.stringify({
sign:sign,
timestamp:this.timestamp,
ubPhone:userPhone,
type:2,
pmAppVersion:884,
})
this.server.login.getMessage(temp).then(res=>{
if(res.data.code==200){
$('.tips').show().delay(3000).hide(300)
const TIME_COUNT = 59;
var phoneReg =
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/; //定义邮箱的正则表达式
if (!phoneReg.test(userPhone)) {
alert("您输入的手机号格式不正确");
} else {
let temp = this.qs.stringify({
sign: sign,
timestamp: this.timestamp,
ubPhone: userPhone,
type: 2,
pmAppVersion: 884,
});
this.server.login.getMessage(temp).then((res) => {
if (res.data.code == 200) {
$(".tips").show().delay(3000).hide(300);
const TIME_COUNT = 59;
if (!this.times) {
this.count = TIME_COUNT;
this.ifSend = false;
this.times = setInterval(() => {
if (this.count > 0 && this.count <= TIME_COUNT) {
this.count--;
} else {
this.ifSend = true;
clearInterval(this.times);
this.times = null;
}
}, 1000)
}
this.count = TIME_COUNT;
this.ifSend = false;
this.times = setInterval(() => {
if (this.count > 0 && this.count <= TIME_COUNT) {
this.count--;
} else {
this.ifSend = true;
clearInterval(this.times);
this.times = null;
}
}, 1000);
}
}
});
}
},
})
}
},
// signButton(){
// if(!this.verification){
// alert('请输入验证码')
// }else if(!this.userPhone){
// alert('请输入手机号')
// }else{
// // console.log("121")
// let temp=this.qs.stringify({
// pmAppVersion:884,
// pmModel:this.device,
// pmSystem:this.system,
// pmMac:11,
// pmOperator:'无运营商',
// pmIp:1,
// phone:this.userPhone,
// vcode:this.verification,
// })
// this.server.login.loginByPhone(temp).then(res=>{
// let thisToken= res.data.data.token
// let name=res.data.data.udNickname
// let ubId=res.data.data.ubId
// sessionStorage.setItem("ubId", ubId);
// window.sessionStorage.setItem('token', thisToken);
// sessionStorage.setItem("name", name);
// store.commit("SET_TOKEN", thisToken);
// this.getLive()
// signButton(){
// if(!this.verification){
// alert('请输入验证码')
// }else if(!this.userPhone){
// alert('请输入手机号')
// }else{
// // console.log("121")
// let temp=this.qs.stringify({
// pmAppVersion:884,
// pmModel:this.device,
// pmSystem:this.system,
// pmMac:11,
// pmOperator:'无运营商',
// pmIp:1,
// phone:this.userPhone,
// vcode:this.verification,
// })
// this.server.login.loginByPhone(temp).then(res=>{
// let thisToken= res.data.data.token
// let name=res.data.data.udNickname
// let ubId=res.data.data.ubId
// sessionStorage.setItem("ubId", ubId);
// window.sessionStorage.setItem('token', thisToken);
// sessionStorage.setItem("name", name);
// store.commit("SET_TOKEN", thisToken);
// this.getLive()
// })
// }
// },
showLog(){
let webLog = {}
let userAgent = navigator.userAgent
// 获取微信版本
let m1 = userAgent.match(/MicroMessenger.*?(?= )/)
if (m1 && m1.length > 0) {
webLog.wechat = m1[0]
}
// 苹果手机
if (userAgent.includes('iPhone') || userAgent.includes('iPad')) {
// 获取设备名
if (userAgent.includes('iPad')) {
webLog.device = 'iPad'
} else {
webLog.device = 'iPhone'
}
// 获取操作系统版本
m1 = userAgent.match(/iPhone OS .*?(?= )/)
if (m1 && m1.length > 0) {
webLog.system = m1[0]
}
}
// 安卓手机
if (userAgent.includes('Android')) {
// 获取设备名
m1 = userAgent.match(/Android.*; ?(.*(?= Build))/)
if (m1 && m1.length > 1) {
webLog.device = m1[1]
}
// 获取操作系统版本
m1 = userAgent.match(/Android.*?(?=;)/)
if (m1 && m1.length > 0) {
webLog.system = m1[0]
}
}
this.device=webLog.device
this.system=webLog.system
console.log("阿斯蒂芬",webLog.device)
// })
// }
// },
showLog() {
// 如果是微信浏览器
// if (this.isWeixinBrowser()) {
// this.isweixin= true;
// }
let isWeixin = this.isWeixinBrowser();
if (isWeixin) {
this.isweixin = true;
} else {
this.isweixin = false;
}
console.log("是多少故事", isWeixin);
let webLog = {};
let userAgent = navigator.userAgent;
// 获取微信版本
let m1 = userAgent.match(/MicroMessenger.*?(?= )/);
if (m1 && m1.length > 0) {
webLog.wechat = m1[0];
}
// 苹果手机
if (userAgent.includes("iPhone") || userAgent.includes("iPad")) {
// 获取设备名
if (userAgent.includes("iPad")) {
webLog.device = "iPad";
} else {
webLog.device = "iPhone";
}
// 获取操作系统版本
m1 = userAgent.match(/iPhone OS .*?(?= )/);
if (m1 && m1.length > 0) {
webLog.system = m1[0];
}
}
// 安卓手机
if (userAgent.includes("Android")) {
// 获取设备名
m1 = userAgent.match(/Android.*; ?(.*(?= Build))/);
if (m1 && m1.length > 1) {
webLog.device = m1[1];
}
// 获取操作系统版本
m1 = userAgent.match(/Android.*?(?=;)/);
if (m1 && m1.length > 0) {
webLog.system = m1[0];
}
}
this.device = webLog.device;
this.system = webLog.system;
console.log("阿斯蒂芬", webLog.device);
},
},
};
</script>
<style scoped>
.black-background {
height: 100%;
width: 100%;
position: fixed;
top: 0;
background-color: black;
opacity: 0.4;
}
.whit-background{
height: 90vw;
width: 90vw;
background-color: white;
position: relative;
top: 55vw;
left: 5vw;
border-radius:5vw;
}
.tips {
width: 40vw;
text-align: center;
height: 10vw;
background: black;
color: white;
position: fixed;
top: 80vw;
left: 30vw;
border-radius: 4vw;
opacity: 0.6;
line-height: 10vw;
}
.wbk11 {
font-size: 5vw;
text-align: center;
color: #797979;
position: absolute;
top: 81vw;
/* border-radius: 5vw; */
left: 5vw;
width: 10vw;
height: 13vw;
line-height: 10vw;
/* padding: 0 0 0 5vw; */
background: none;
box-shadow: none;
outline: none;
/* background: rgb(243, 243, 243); */
margin-left: 4vw;
/* border-color: rgb(213, 225, 245); */
border-left: 0px;
border-top: 0px;
border-bottom: 0.8vw solid #EFEFEF;
border-right: 0px;
}
.wbkRed{
font-size: 5vw;
text-align: center;
color: red;
position: absolute;
top: 81vw;
/* border-radius: 5vw; */
left: 5vw;
width: 10vw;
height: 13vw;
line-height: 10vw;
/* padding: 0 0 0 5vw; */
background: none;
box-shadow: none;
outline: none;
/* background: rgb(243, 243, 243); */
margin-left: 4vw;
/* border-color: rgb(213, 225, 245); */
border-left: 0px;
border-top: 0px;
border-bottom: 0.8vw solid red;
border-right: 0px;
}
.wbk2 {
font-size: 3.7vw;
color: #797979;
position: absolute;
top: 40vw;
border-radius: 5vw;
left: 3vw;
width: 65vw;
height: 13vw;
line-height: 10vw;
padding: 0 3vw;
background: none;
box-shadow: none;
outline: none;
background: rgb(243, 243, 243);
margin-left: 4vw;
/* border-color: rgb(213, 225, 245); */
border-left: 0px;
border-top: 0px;
border-bottom: 0px;
border-right: 0px;
padding-left: 9vw;
}
.send{
position: absolute;
left: 72vw;
font-size: 3.8vw;
top: 47vw;
color: red;
}
.sendTwo{
position: absolute;
left: 72vw;
font-size: 3.8vw;
top: 47vw;
color: #8F8F8F;
}
.title{
position: absolute;
left: 10vw;
letter-spacing: 0.5vw;
font-weight: bolder;
font-size: 6vw;
top: 23vw;
}
.registerOne{
position: absolute;
display: block;
letter-spacing: 0.5vw;
width: 79vw;
top: 37vw;
left: 10vw;
color: #797979;
font-size: 3vw;
}
.registerPhone{
position: absolute;
left: 10vw;
letter-spacing: 0.5vw;
font-weight: bolder;
font-size: 5vw;
top: 46vw;
}
.registerTwo{
position: absolute;
top: 70vw;
left: 10vw;
color: #C4C4C4;
font-size: 3.8vw;
}
.default-img{
height: 23vw;
width: 23vw;
position: absolute;
top: 112vw;
left: 76vw;
}
.account{
position: absolute;
top: 75vw;
left: 38vw;
color: #797979;
font-size: 3.8vw;
}
.sure{
width: 77vw;
height: 13vw;
border-radius: 5vw;
font-size: 4vw;
border-radius: 5vw;
border: 0px;
color: white;
background: #E11E1E;
position: absolute;
top: 58vw;
left: 7vw;
}
height: 100%;
width: 100%;
position: fixed;
top: 0;
background-color: black;
opacity: 0.4;
}
.whit-background {
height: 90vw;
width: 90vw;
background-color: white;
position: relative;
top: 55vw;
left: 5vw;
border-radius: 5vw;
}
.tips {
width: 40vw;
text-align: center;
height: 10vw;
background: black;
color: white;
position: fixed;
top: 80vw;
left: 30vw;
border-radius: 4vw;
opacity: 0.6;
line-height: 10vw;
}
.wbk11 {
font-size: 5vw;
text-align: center;
color: #797979;
position: absolute;
top: 81vw;
/* border-radius: 5vw; */
left: 5vw;
width: 10vw;
height: 13vw;
line-height: 10vw;
/* padding: 0 0 0 5vw; */
background: none;
box-shadow: none;
outline: none;
/* background: rgb(243, 243, 243); */
margin-left: 4vw;
/* border-color: rgb(213, 225, 245); */
border-left: 0px;
border-top: 0px;
border-bottom: 0.8vw solid #efefef;
border-right: 0px;
}
.wbkRed {
font-size: 5vw;
text-align: center;
color: red;
position: absolute;
top: 81vw;
/* border-radius: 5vw; */
left: 5vw;
width: 10vw;
height: 13vw;
line-height: 10vw;
/* padding: 0 0 0 5vw; */
background: none;
box-shadow: none;
outline: none;
/* background: rgb(243, 243, 243); */
margin-left: 4vw;
/* border-color: rgb(213, 225, 245); */
border-left: 0px;
border-top: 0px;
border-bottom: 0.8vw solid red;
border-right: 0px;
}
.wbk2 {
font-size: 3.7vw;
color: #797979;
position: absolute;
top: 40vw;
border-radius: 5vw;
left: 3vw;
width: 65vw;
height: 13vw;
line-height: 10vw;
padding: 0 3vw;
background: none;
box-shadow: none;
outline: none;
background: rgb(243, 243, 243);
margin-left: 4vw;
/* border-color: rgb(213, 225, 245); */
border-left: 0px;
border-top: 0px;
border-bottom: 0px;
border-right: 0px;
padding-left: 9vw;
}
.send {
position: absolute;
left: 72vw;
font-size: 3.8vw;
top: 47vw;
color: red;
}
.sendTwo {
position: absolute;
left: 72vw;
font-size: 3.8vw;
top: 47vw;
color: #8f8f8f;
}
.title {
position: absolute;
left: 10vw;
letter-spacing: 0.5vw;
font-weight: bolder;
font-size: 6vw;
top: 23vw;
}
.registerOne {
position: absolute;
display: block;
letter-spacing: 0.5vw;
width: 79vw;
top: 37vw;
left: 10vw;
color: #797979;
font-size: 3vw;
}
.registerPhone {
position: absolute;
left: 10vw;
letter-spacing: 0.5vw;
font-weight: bolder;
font-size: 5vw;
top: 46vw;
}
.registerTwo {
position: absolute;
top: 70vw;
left: 10vw;
color: #c4c4c4;
font-size: 3.8vw;
}
.default-img {
height: 23vw;
width: 23vw;
position: absolute;
top: 112vw;
left: 76vw;
}
.account {
position: absolute;
top: 75vw;
left: 38vw;
color: #797979;
font-size: 3.8vw;
}
.sure {
width: 77vw;
height: 13vw;
border-radius: 5vw;
font-size: 4vw;
border-radius: 5vw;
border: 0px;
color: white;
background: #e11e1e;
position: absolute;
top: 58vw;
left: 7vw;
}
</style>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
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