From eea68b527616b0116c56090c72b158661d1aaffc Mon Sep 17 00:00:00 2001 From: fengerli <528575642@qq.com> Date: Fri, 21 Nov 2025 11:10:47 +0800 Subject: [PATCH] =?UTF-8?q?6155=E9=99=90=E5=88=B6=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=EF=BC=8C=E6=96=87=E5=AD=97=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E8=B6=85=E8=BF=877=E4=B8=AA=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/6155/deviceDetail.vue | 126 ++++++++++++++++++++++-------------- 1 file changed, 77 insertions(+), 49 deletions(-) diff --git a/pages/6155/deviceDetail.vue b/pages/6155/deviceDetail.vue index 871ee27..1b7ce1a 100644 --- a/pages/6155/deviceDetail.vue +++ b/pages/6155/deviceDetail.vue @@ -77,7 +77,7 @@ 泛光模式 - + + @@ -929,7 +929,9 @@ if (res.statusCode === 200) { if (res.data.code == 200) { console.log("上传完成,耗时:" + m + "分" + s + "秒"); - updateLoading(these,{text:"上传完成,耗时:" + m + "分" + s + "秒,正在切片。"}) + updateLoading(these, { + text: "上传完成,耗时:" + m + "分" + s + "秒,正在切片。" + }) resolve(res.data); return; @@ -995,7 +997,7 @@ } }); } - + //发送视频到设备 let shotVideoClick = (array, type, ReSendNo) => { var sendImagePackets = () => { @@ -1024,37 +1026,38 @@ resolve(); return; } - + if (!array[imgIndex]) { console.error("没有找到对应的帧数据", imgIndex); reject(`帧数据缺失,索引 ${imgIndex}`); return; } - + let childPacketsGroup = array[imgIndex][imgPackIndex]; if (!childPacketsGroup || !childPacketsGroup.length) { console.error("帧数据结构异常", imgIndex, imgPackIndex); reject(`帧数据结构异常,帧 ${imgIndex}`); return; } - + let packetData = childPacketsGroup[childPacketIndex]; let packetSize = packetData.length; - + const isFirstChild = childPacketIndex === 0; - const isLastChild = childPacketIndex === (childPacketsGroup.length - 1); - + const isLastChild = childPacketIndex === (childPacketsGroup + .length - 1); + if (isFirstChild) { packetSize = packetData.length + 8; } - + if (isLastChild) { packetSize = packetData.length + (isFirstChild ? 9 : 1); } - + const buffer = new ArrayBuffer(packetSize); const dataView = new DataView(buffer); - + let start = 0; if (isFirstChild) { // 填充头部 @@ -1068,28 +1071,30 @@ dataView.setUint8(7, imgPackIndex + 1); start = 8; } - + for (let i = 0; i < packetData.length; i++) { dataView.setUint8(start + i, these.toByteValue(packetData[i])); } - + if (isLastChild) { dataView.setUint8(packetSize - 1, 0xFF); } let inteval = parseInt(this.inteval ? this.inteval : 80); - - ble.sendData(f.deviceId, buffer, f.writeServiceId, f.wirteCharactId).then(() => { + + ble.sendData(f.deviceId, buffer, f.writeServiceId, f + .wirteCharactId).then(() => { if (ReSendNo) { resolve(); return; } // 更新进度 this.currentPacket = currentPacket; - - updateLoading(these,{ - text:'正在发送:'+currentPacket+"/"+totalPackets + + updateLoading(these, { + text: '正在发送:' + currentPacket + "/" + + totalPackets }); - + childPacketIndex++; if (childPacketIndex >= childPacketsGroup.length) { childPacketIndex = 0; @@ -1101,7 +1106,7 @@ } // 发送下一个包(添加延迟避免蓝牙缓冲区溢出) currentPacket++; - + setTimeout(sendNextPacket, inteval); }).catch(err => { if (err.code == 10007) { @@ -1110,9 +1115,11 @@ setTimeout(sendNextPacket, 100); return; } - + console.error(err.errMsg + ",发送失败了" + currentPacket); - updateLoading(these,{text:"发送失败,"+err.errMsg}); + updateLoading(these, { + text: "发送失败," + err.errMsg + }); reject(err); }); }; @@ -1125,7 +1132,7 @@ uni.chooseVideo({ sourceType: ['album'], success: function(res) { - console.log("res=",res); + console.log("res=", res); let path = res.tempFilePath; let width = res.width; let height = res.height; @@ -1173,29 +1180,32 @@ } videoCutPacket(convertedData).then(array => { - - let start = new Date(); - console.log("开始发送"); - shotVideoClick(array).then(() => { - console.log("发送完成"); - let end = new Date(); - var diff = (end.getTime() - start.getTime()) / 1000; - let s =parseInt(diff % 60); - let m =parseInt((diff - s) / 60); - console.log("发送完成,耗时:" + m + "分" + s + "秒"); - updateLoading(these,{ - text: "发送完成,耗时:" + m + "分" + s + "秒", - }); - - }).catch((ex1) => { - console.log("出现了异常", ex1) - }).finally(() => { - timeDelayCloseLoading(); - }); - - - - + + let start = new Date(); + console.log("开始发送"); + shotVideoClick(array).then(() => { + console.log("发送完成"); + let end = new Date(); + var diff = (end.getTime() - start + .getTime()) / 1000; + let s = parseInt(diff % 60); + let m = parseInt((diff - s) / 60); + console.log("发送完成,耗时:" + m + "分" + + s + "秒"); + updateLoading(these, { + text: "发送完成,耗时:" + m + + "分" + s + "秒", + }); + + }).catch((ex1) => { + console.log("出现了异常", ex1) + }).finally(() => { + timeDelayCloseLoading(); + }); + + + + }).catch(err => { timeDelayCloseLoading(); }); @@ -1458,6 +1468,24 @@ these.showBleUnConnect() return; } + let err = false; + this.formData.textLines.find((txt) => { + if (txt.length === 0 || txt.length > 7) { + console.log("txt=", txt); + err = true; + return true; + } + return false; + }) + if (err) { + this.showPop({ + message: "单位、部门、姓名必须填写且最多7字", + iconUrl: "/static/images/6155/DeviceDetail/uploadErr.png", + borderColor: "#e034344d", + buttonBgColor: "#E03434", + }); + return; + } showLoading(these, { text: "请稍候..." });