From 63459ad1164d23492d6e8b9624ff63442a829e4a Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期三, 23 四月 2025 14:17:51 +0800
Subject: [PATCH] gx链接
---
src/views/deviceWindoes2.vue | 48 ++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 44 insertions(+), 4 deletions(-)
diff --git a/src/views/deviceWindoes2.vue b/src/views/deviceWindoes2.vue
index 8ba1ec3..a863c36 100644
--- a/src/views/deviceWindoes2.vue
+++ b/src/views/deviceWindoes2.vue
@@ -760,12 +760,16 @@
<el-space fill>
<el-alert type="warning" show-icon :closable="false">
<p>"请输入设备编号后才能使用不然无法定位到数据来源:</p>
+ <p>也可以选择二维码图片文件识别</p>
</el-alert>
<el-form-item label="设备编号">
<el-input v-model="deviceCode" />
</el-form-item>
</el-space>
</el-form>
+ <div>
+ <input type="file" pattern="选取二维码" accept="image/*" @change="onFileChange" />
+ </div>
</span>
<template #footer>
<div class="dialog-footer">
@@ -782,6 +786,7 @@
</template>
<script lang="ts" setup>
+ import { BrowserMultiFormatReader, NotFoundException, ChecksumException, FormatException } from '@zxing/library';
import TQS88 from "../img/TQS88.png";
import shezhi from '../img/shezhi.png'
import xinlv from '../img/xinlv.png'
@@ -983,8 +988,10 @@
],
});
// 告警提示
- const textbaojing = ref("");
- const iscomfig = ref(false);
+ // 识别窗口
+ const video = ref<HTMLVideoElement | null>(null);
+ // 识别数据流
+ let stream: MediaStream | null = null;
const centerDialogVisible = ref(false);
const background = ref("");
const txztText = ref("");
@@ -1176,6 +1183,39 @@
ElMessage.warning('请先输入设备编号')
}
}
+ const onFileChange=async(event: Event)=> {
+ const inputElement = event.target as HTMLInputElement;
+ if (!inputElement.files || inputElement.files.length === 0) return;
+
+ const file = inputElement.files[0];
+ const reader = new FileReader();
+
+ reader.onload = async (e) => {
+ if (e.target && typeof e.target.result === 'string') {
+ try {
+ const codeReader = new BrowserMultiFormatReader();
+ const result = await codeReader.decodeFromImage(undefined, e.target.result);
+ deviceCode.value = result.text;
+ ElMessage.success('识别成功')
+ } catch (err) {
+ if (err instanceof NotFoundException) {
+ ElMessage.error("未找到二维码");
+ } else if (err instanceof ChecksumException) {
+ ElMessage.error("校验错误");
+ } else if (err instanceof FormatException) {
+ ElMessage.error("格式错误");
+ } else {
+ ElMessage.error("识别错误请重新识别");
+ console.error(err);
+ }
+ }
+ }
+ };
+
+ reader.readAsDataURL(file);
+ }
+ const shaoma=()=>{
+ }
watch(
() => deviceData.value.设备变化,
() => {
@@ -1190,8 +1230,8 @@
//创建链接对象
const creatSource = () => {
// http://testbs.ihemodialysis.com/sse/sseEvent
- const test='http://testbs.ihemodialysis.com/sse/sseEvent/'
- // const test='https://backend.ihemodialysis.com/sse/sseEvent/'
+ // const test='http://testbs.ihemodialysis.com/sse/sseEvent/'
+ const test='https://backend.ihemodialysis.com/sse/sseEvent/'
const stateArr = [
{ key: 0, value: "正在链接中" },
{ key: 1, value: "已经链接并且可以通讯" },
--
Gitblit v1.8.0