Browse Source

修改二维码扫描样式

master
chenrui 2 years ago
parent
commit
5b2bae8f72
  1. 77
      package-lock.json
  2. 2
      package.json
  3. 9
      src/router/enforceHome.js
  4. 33
      src/views/enforce/scanPage.vue
  5. 2
      src/views/login.vue
  6. 3
      vite.config.js

77
package-lock.json

@ -20,6 +20,7 @@
"pinia-plugin-persistedstate": "^3.2.1", "pinia-plugin-persistedstate": "^3.2.1",
"sass": "^1.71.1", "sass": "^1.71.1",
"vant": "^4.8.5", "vant": "^4.8.5",
"vconsole": "^3.15.1",
"vue": "^3.4.21", "vue": "^3.4.21",
"vue-dompurify-html": "^5.0.1", "vue-dompurify-html": "^5.0.1",
"vue-i18n": "^9.9.1", "vue-i18n": "^9.9.1",
@ -27,6 +28,7 @@
"vue-router": "^4.3.0" "vue-router": "^4.3.0"
}, },
"devDependencies": { "devDependencies": {
"@vitejs/plugin-basic-ssl": "^1.1.0",
"@vitejs/plugin-legacy": "^5.3.1", "@vitejs/plugin-legacy": "^5.3.1",
"@vitejs/plugin-vue": "^5.0.4", "@vitejs/plugin-vue": "^5.0.4",
"amfe-flexible": "^2.2.1", "amfe-flexible": "^2.2.1",
@ -1848,7 +1850,6 @@
"version": "7.24.0", "version": "7.24.0",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz",
"integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==",
"dev": true,
"dependencies": { "dependencies": {
"regenerator-runtime": "^0.14.0" "regenerator-runtime": "^0.14.0"
}, },
@ -2887,6 +2888,18 @@
"vue": "^3.0.0" "vue": "^3.0.0"
} }
}, },
"node_modules/@vitejs/plugin-basic-ssl": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.1.0.tgz",
"integrity": "sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==",
"dev": true,
"engines": {
"node": ">=14.6.0"
},
"peerDependencies": {
"vite": "^3.0.0 || ^4.0.0 || ^5.0.0"
}
},
"node_modules/@vitejs/plugin-legacy": { "node_modules/@vitejs/plugin-legacy": {
"version": "5.3.1", "version": "5.3.1",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-legacy/-/plugin-legacy-5.3.1.tgz", "resolved": "https://registry.npmjs.org/@vitejs/plugin-legacy/-/plugin-legacy-5.3.1.tgz",
@ -3731,6 +3744,17 @@
"url": "https://github.com/sponsors/mesqueeb" "url": "https://github.com/sponsors/mesqueeb"
} }
}, },
"node_modules/copy-text-to-clipboard": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz",
"integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/core-js": { "node_modules/core-js": {
"version": "3.36.0", "version": "3.36.0",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz",
@ -5138,6 +5162,11 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true "dev": true
}, },
"node_modules/mutation-observer": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/mutation-observer/-/mutation-observer-1.0.3.tgz",
"integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA=="
},
"node_modules/nanoid": { "node_modules/nanoid": {
"version": "3.3.7", "version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
@ -5654,8 +5683,7 @@
"node_modules/regenerator-runtime": { "node_modules/regenerator-runtime": {
"version": "0.14.1", "version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
"dev": true
}, },
"node_modules/regenerator-transform": { "node_modules/regenerator-transform": {
"version": "0.15.2", "version": "0.15.2",
@ -6494,6 +6522,17 @@
"vue": "^3.0.0" "vue": "^3.0.0"
} }
}, },
"node_modules/vconsole": {
"version": "3.15.1",
"resolved": "https://registry.npmjs.org/vconsole/-/vconsole-3.15.1.tgz",
"integrity": "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==",
"dependencies": {
"@babel/runtime": "^7.17.2",
"copy-text-to-clipboard": "^3.0.1",
"core-js": "^3.11.0",
"mutation-observer": "^1.0.3"
}
},
"node_modules/vite": { "node_modules/vite": {
"version": "5.1.6", "version": "5.1.6",
"resolved": "https://registry.npmmirror.com/vite/-/vite-5.1.6.tgz", "resolved": "https://registry.npmmirror.com/vite/-/vite-5.1.6.tgz",
@ -8668,7 +8707,6 @@
"version": "7.24.0", "version": "7.24.0",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz",
"integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==",
"dev": true,
"requires": { "requires": {
"regenerator-runtime": "^0.14.0" "regenerator-runtime": "^0.14.0"
} }
@ -9309,6 +9347,13 @@
"integrity": "sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==", "integrity": "sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==",
"requires": {} "requires": {}
}, },
"@vitejs/plugin-basic-ssl": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.1.0.tgz",
"integrity": "sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==",
"dev": true,
"requires": {}
},
"@vitejs/plugin-legacy": { "@vitejs/plugin-legacy": {
"version": "5.3.1", "version": "5.3.1",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-legacy/-/plugin-legacy-5.3.1.tgz", "resolved": "https://registry.npmjs.org/@vitejs/plugin-legacy/-/plugin-legacy-5.3.1.tgz",
@ -9894,6 +9939,11 @@
"is-what": "^3.14.1" "is-what": "^3.14.1"
} }
}, },
"copy-text-to-clipboard": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz",
"integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q=="
},
"core-js": { "core-js": {
"version": "3.36.0", "version": "3.36.0",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz",
@ -10974,6 +11024,11 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true "dev": true
}, },
"mutation-observer": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/mutation-observer/-/mutation-observer-1.0.3.tgz",
"integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA=="
},
"nanoid": { "nanoid": {
"version": "3.3.7", "version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
@ -11342,8 +11397,7 @@
"regenerator-runtime": { "regenerator-runtime": {
"version": "0.14.1", "version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
"dev": true
}, },
"regenerator-transform": { "regenerator-transform": {
"version": "0.15.2", "version": "0.15.2",
@ -11970,6 +12024,17 @@
"@vue/shared": "^3.0.0" "@vue/shared": "^3.0.0"
} }
}, },
"vconsole": {
"version": "3.15.1",
"resolved": "https://registry.npmjs.org/vconsole/-/vconsole-3.15.1.tgz",
"integrity": "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==",
"requires": {
"@babel/runtime": "^7.17.2",
"copy-text-to-clipboard": "^3.0.1",
"core-js": "^3.11.0",
"mutation-observer": "^1.0.3"
}
},
"vite": { "vite": {
"version": "5.1.6", "version": "5.1.6",
"resolved": "https://registry.npmmirror.com/vite/-/vite-5.1.6.tgz", "resolved": "https://registry.npmmirror.com/vite/-/vite-5.1.6.tgz",

2
package.json

@ -27,6 +27,7 @@
"pinia-plugin-persistedstate": "^3.2.1", "pinia-plugin-persistedstate": "^3.2.1",
"sass": "^1.71.1", "sass": "^1.71.1",
"vant": "^4.8.5", "vant": "^4.8.5",
"vconsole": "^3.15.1",
"vue": "^3.4.21", "vue": "^3.4.21",
"vue-dompurify-html": "^5.0.1", "vue-dompurify-html": "^5.0.1",
"vue-i18n": "^9.9.1", "vue-i18n": "^9.9.1",
@ -34,6 +35,7 @@
"vue-router": "^4.3.0" "vue-router": "^4.3.0"
}, },
"devDependencies": { "devDependencies": {
"@vitejs/plugin-basic-ssl": "^1.1.0",
"@vitejs/plugin-legacy": "^5.3.1", "@vitejs/plugin-legacy": "^5.3.1",
"@vitejs/plugin-vue": "^5.0.4", "@vitejs/plugin-vue": "^5.0.4",
"amfe-flexible": "^2.2.1", "amfe-flexible": "^2.2.1",

9
src/router/enforceHome.js

@ -29,6 +29,15 @@ const routes = [
isKeepAlive: false, isKeepAlive: false,
}, },
}, },
//执法端扫码页面
{
path: "/enforce/scanPageTest",
name: "scanPageTest",
component: () => import("@/views/enforce/scanPageTest.vue"),
meta: {
isKeepAlive: false,
},
},
//公布执法计划页面 //公布执法计划页面
{ {
path: "/enforce/enforcementPlan", path: "/enforce/enforcementPlan",

33
src/views/enforce/scanPage.vue

@ -1,10 +1,5 @@
<template> <template>
<div class="page bgc-f4f4f4"> <div class="page bgc-f4f4f4">
<header-nav
:slefBack="true"
@goBack="goBack"
>
</header-nav>
<div class="video-show" /> <div class="video-show" />
<video id="video" ref="video" class="video vjs-fluid" autoplay /> <video id="video" ref="video" class="video vjs-fluid" autoplay />
<span class="change" @click="change"> <span class="change" @click="change">
@ -13,9 +8,11 @@
</div> </div>
</template> </template>
<!-- import Vconsolefrom from 'vconsole'; -->
<!-- new Vconsolefrom(); -->
<script> <script>
// //
// import Vconsole from "vconsole"; import Vconsole from "vconsole";
import { BrowserMultiFormatReader } from "@zxing/library"; import { BrowserMultiFormatReader } from "@zxing/library";
export default { export default {
name: "QrCodeSearch", name: "QrCodeSearch",
@ -28,7 +25,7 @@ export default {
// //
textContent: null, textContent: null,
// 6 // 6
num: 0, num: 6,
// //
videoLength: "" videoLength: ""
}; };
@ -38,6 +35,7 @@ export default {
// vconsole; // vconsole;
// //
this.openScan(); this.openScan();
new Vconsole();
}, },
methods: { methods: {
// //
@ -47,13 +45,11 @@ export default {
that.codeReader that.codeReader
.getVideoInputDevices() .getVideoInputDevices()
.then(videoInputDevices => { .then(videoInputDevices => {
console.log(videoInputDevices)
// videoInputDevices // videoInputDevices
this.videoLength = videoInputDevices.length; this.videoLength = videoInputDevices.length;
console.log(JSON.stringify(videoInputDevices));
console.log(videoInputDevices.length);
that.num = videoInputDevices.length
// numdata // numdata
const firstDeviceId = videoInputDevices[this.videoLength -1].deviceId; const firstDeviceId = videoInputDevices[that.num].deviceId;
// //
that.decodeFromInputVideoFunc( that.decodeFromInputVideoFunc(
firstDeviceId, firstDeviceId,
@ -84,13 +80,7 @@ export default {
// //
if (that.textContent) { if (that.textContent) {
setTimeout(() => { setTimeout(() => {
// window.location.href = that.textContent;
router.push({
path: "/sign",
query: {
enterpriseNumber: that.textContent,
}
});
// //
that.textContent = null; that.textContent = null;
that.codeReader && that.codeReader.reset(); that.codeReader && that.codeReader.reset();
@ -135,14 +125,11 @@ export default {
} }
} }
} }
}
//
const goBack = () => {
router.go(-1);
}; };
</script> </script>
<style lang="scss">
<style scoped>
.video { .video {
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;

2
src/views/login.vue

@ -39,7 +39,7 @@ const onSubmit = async (values) => {
// await getLang(); // await getLang();
userLogin(values,success=>{ userLogin(values,success=>{
// router.push({ name: "enforceHome" }); // router.push({ name: "enforceHome" });
router.push({ name: "Home" }); router.push({ name: "enforceHome" });
// //
console.log(success.data) console.log(success.data)
debugger debugger

3
vite.config.js

@ -1,10 +1,11 @@
import { defineConfig, loadEnv } from "vite"; import { defineConfig, loadEnv } from "vite";
import vue from "@vitejs/plugin-vue"; import vue from "@vitejs/plugin-vue";
import { baseCfg, pluginCfg } from "./vite-config"; import { baseCfg, pluginCfg } from "./vite-config";
import basicSsl from '@vitejs/plugin-basic-ssl'
export default async ({ mode }) => { export default async ({ mode }) => {
const { VITE_BASE_URL } = loadEnv(mode, `${process.cwd()}/vite-env`); const { VITE_BASE_URL } = loadEnv(mode, `${process.cwd()}/vite-env`);
return defineConfig({ return defineConfig({
...baseCfg({ VITE_BASE_URL }), ...baseCfg({ VITE_BASE_URL }),
plugins: [vue(), ...await pluginCfg({ VITE_BASE_URL })], plugins: [vue(), ...await pluginCfg({ VITE_BASE_URL }),basicSsl()],
}); });
}; };

Loading…
Cancel
Save