diff --git a/index.html b/index.html index 4a71864..eb8814f 100644 --- a/index.html +++ b/index.html @@ -6,11 +6,11 @@ - 数通智联化工云平台
+ diff --git a/package-lock.json b/package-lock.json index 7d61c22..ded01cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,8 @@ "version": "0.0.0", "dependencies": { "@element-plus/icons-vue": "^2.3.1", + "@zxing/browser": "^0.1.5", + "@zxing/library": "^0.21.3", "axios": "^1.7.7", "element-plus": "^2.8.6", "font-awesome": "^4.7.0", @@ -26,9 +28,11 @@ "ts-md5": "^1.3.1", "vue": "^3.5.10", "vue-pdf-embed": "^1.2.1", + "vue-qrcode-reader": "^5.7.0", "vue-router": "^4.4.5", "vue3-pdf-embed": "^1.1.7", - "vue3-pdfjs": "^0.1.6" + "vue3-pdfjs": "^0.1.6", + "weixin-js-sdk": "^1.6.5" }, "devDependencies": { "@types/js-beautify": "^1.14.3", @@ -1458,6 +1462,16 @@ "node": ">=10.13.0" } }, + "node_modules/@types/dom-webcodecs": { + "version": "0.1.13", + "resolved": "https://registry.npmmirror.com/@types/dom-webcodecs/-/dom-webcodecs-0.1.13.tgz", + "integrity": "sha512-O5hkiFIcjjszPIYyUSyvScyvrBoV3NOEEZx/pMlsu44TKzWNkLVBBxnxJz42in5n3QIolYOcBYFCPZZ0h8SkwQ==" + }, + "node_modules/@types/emscripten": { + "version": "1.40.0", + "resolved": "https://registry.npmmirror.com/@types/emscripten/-/emscripten-1.40.0.tgz", + "integrity": "sha512-MD2JJ25S4tnjnhjWyalMS6K6p0h+zQV6+Ylm+aGbiS8tSn/aHLSGNzBgduj6FB4zH0ax2GRMGYi/8G1uOxhXWA==" + }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz", @@ -1769,6 +1783,37 @@ } } }, + "node_modules/@zxing/browser": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/@zxing/browser/-/browser-0.1.5.tgz", + "integrity": "sha512-4Lmrn/il4+UNb87Gk8h1iWnhj39TASEHpd91CwwSJtY5u+wa0iH9qS0wNLAWbNVYXR66WmT5uiMhZ7oVTrKfxw==", + "optionalDependencies": { + "@zxing/text-encoding": "^0.9.0" + }, + "peerDependencies": { + "@zxing/library": "^0.21.0" + } + }, + "node_modules/@zxing/library": { + "version": "0.21.3", + "resolved": "https://registry.npmmirror.com/@zxing/library/-/library-0.21.3.tgz", + "integrity": "sha512-hZHqFe2JyH/ZxviJZosZjV+2s6EDSY0O24R+FQmlWZBZXP9IqMo7S3nb3+2LBWxodJQkSurdQGnqE7KXqrYgow==", + "dependencies": { + "ts-custom-error": "^3.2.1" + }, + "engines": { + "node": ">= 10.4.0" + }, + "optionalDependencies": { + "@zxing/text-encoding": "~0.9.0" + } + }, + "node_modules/@zxing/text-encoding": { + "version": "0.9.0", + "resolved": "https://registry.npmmirror.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", + "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", + "optional": true + }, "node_modules/abbrev": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/abbrev/-/abbrev-2.0.0.tgz", @@ -1955,6 +2000,15 @@ "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "node_modules/barcode-detector": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/barcode-detector/-/barcode-detector-2.2.2.tgz", + "integrity": "sha512-JcSekql+EV93evfzF9zBr+Y6aRfkR+QFvgyzbwQ0dbymZXoAI9+WgT7H1E429f+3RKNncHz2CW98VQtaaKpmfQ==", + "dependencies": { + "@types/dom-webcodecs": "^0.1.11", + "zxing-wasm": "1.1.3" + } + }, "node_modules/base": { "version": "0.11.2", "resolved": "https://registry.npmmirror.com/base/-/base-0.11.2.tgz", @@ -5981,6 +6035,11 @@ "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz", "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==" }, + "node_modules/sdp": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/sdp/-/sdp-3.2.0.tgz", + "integrity": "sha512-d7wDPgDV3DDiqulJjKiV2865wKsJ34YI+NDREbm+FySq6WuKOikwyNQcm+doLAZ1O6ltdO0SeKle2xMpN3Brgw==" + }, "node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.3.tgz", @@ -7013,6 +7072,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/ts-custom-error": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/ts-custom-error/-/ts-custom-error-3.3.1.tgz", + "integrity": "sha512-5OX1tzOjxWEgsr/YEUWSuPrQ00deKLh6D7OTWcvNHm12/7QPyRh8SYpyWvA4IZv8H/+GQWQEh/kwo95Q9OVW1A==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/ts-md5": { "version": "1.3.1", "resolved": "https://registry.npmmirror.com/ts-md5/-/ts-md5-1.3.1.tgz", @@ -7693,6 +7760,18 @@ "vue": "^2.x || ^3.x" } }, + "node_modules/vue-qrcode-reader": { + "version": "5.7.0", + "resolved": "https://registry.npmmirror.com/vue-qrcode-reader/-/vue-qrcode-reader-5.7.0.tgz", + "integrity": "sha512-NuLBK3madyMhM35n2libd0i5GH3Rcvq2d7qB1Qyf5FqdIdC6GaMEC8Wi8v0HFuv5V5aptOLhHVBfSczBpO3lvA==", + "dependencies": { + "barcode-detector": "2.2.2", + "webrtc-adapter": "8.2.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/vue-router": { "version": "4.4.5", "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.4.5.tgz", @@ -7774,6 +7853,23 @@ "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==" }, + "node_modules/webrtc-adapter": { + "version": "8.2.3", + "resolved": "https://registry.npmmirror.com/webrtc-adapter/-/webrtc-adapter-8.2.3.tgz", + "integrity": "sha512-gnmRz++suzmvxtp3ehQts6s2JtAGPuDPjA1F3a9ckNpG1kYdYuHWYpazoAnL9FS5/B21tKlhkorbdCXat0+4xQ==", + "dependencies": { + "sdp": "^3.2.0" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.10.0" + } + }, + "node_modules/weixin-js-sdk": { + "version": "1.6.5", + "resolved": "https://registry.npmmirror.com/weixin-js-sdk/-/weixin-js-sdk-1.6.5.tgz", + "integrity": "sha512-Gph1WAWB2YN/lMOFB/ymb+hbU/wYazzJgu6PMMktCy9cSCeW5wA6Zwt0dpahJbJ+RJEwtTv2x9iIu0U4enuVSQ==" + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", @@ -7969,6 +8065,14 @@ "version": "4.0.0", "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/zxing-wasm": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/zxing-wasm/-/zxing-wasm-1.1.3.tgz", + "integrity": "sha512-MYm9k/5YVs4ZOTIFwlRjfFKD0crhefgbnt1+6TEpmKUDFp3E2uwqGSKwQOd2hOIsta/7Usq4hnpNRYTLoljnfA==", + "dependencies": { + "@types/emscripten": "^1.39.10" + } } } } diff --git a/package.json b/package.json index bd95f16..1a486ae 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,8 @@ }, "dependencies": { "@element-plus/icons-vue": "^2.3.1", + "@zxing/browser": "^0.1.5", + "@zxing/library": "^0.21.3", "axios": "^1.7.7", "element-plus": "^2.8.6", "font-awesome": "^4.7.0", @@ -28,9 +30,11 @@ "ts-md5": "^1.3.1", "vue": "^3.5.10", "vue-pdf-embed": "^1.2.1", + "vue-qrcode-reader": "^5.7.0", "vue-router": "^4.4.5", "vue3-pdf-embed": "^1.1.7", - "vue3-pdfjs": "^0.1.6" + "vue3-pdfjs": "^0.1.6", + "weixin-js-sdk": "^1.6.5" }, "devDependencies": { "@types/js-beautify": "^1.14.3", diff --git a/src/components/lowCode/formItem.vue b/src/components/lowCode/formItem.vue index 46447c2..bf992e7 100644 --- a/src/components/lowCode/formItem.vue +++ b/src/components/lowCode/formItem.vue @@ -5,6 +5,7 @@ --> - - - ​ \ No newline at end of file + border-left-color: #3aa5ff; +} + +.qr-scanner .box:after, +.qr-scanner .angle:after { + right: 0; + border-right-color: #3aa5ff; +} + +@keyframes radar-beam { + 0% { + transform: translateY(-100%); + } + + 100% { + transform: translateY(0); + } +} + \ No newline at end of file diff --git a/src/views/home/scanQrCode1.vue b/src/views/home/scanQrCode1.vue new file mode 100644 index 0000000..ca246f9 --- /dev/null +++ b/src/views/home/scanQrCode1.vue @@ -0,0 +1,184 @@ + + + + \ No newline at end of file diff --git a/src/views/home/scanQrCodeInput.vue b/src/views/home/scanQrCodeInput.vue new file mode 100644 index 0000000..7c5ee26 --- /dev/null +++ b/src/views/home/scanQrCodeInput.vue @@ -0,0 +1,396 @@ + + + + + diff --git a/src/views/home/scanQrCodeInput1.vue b/src/views/home/scanQrCodeInput1.vue new file mode 100644 index 0000000..32fa3b3 --- /dev/null +++ b/src/views/home/scanQrCodeInput1.vue @@ -0,0 +1,195 @@ + + + \ No newline at end of file