diff --git a/components/BottomSlideMenuPlus/BottomSlideMenuPlus.vue b/components/BottomSlideMenuPlus/BottomSlideMenuPlus.vue
index ffe890d..22ffa0e 100644
--- a/components/BottomSlideMenuPlus/BottomSlideMenuPlus.vue
+++ b/components/BottomSlideMenuPlus/BottomSlideMenuPlus.vue
@@ -26,7 +26,7 @@
-
diff --git a/pages/102/HBY102.vue b/pages/102/HBY102.vue
index 6b0816d..ff9220c 100644
--- a/pages/102/HBY102.vue
+++ b/pages/102/HBY102.vue
@@ -16,7 +16,7 @@
- {{formData.sta_charge?dic.sta_charge[formData.sta_charge]:"" }}
+ {{formData.sta_charge?dic.sta_charge[formData.sta_charge+'']:"未充电" }}
设备状态
@@ -46,10 +46,10 @@
-->
-
+
闯入报警!
- {{getWarDevice(formData.sta_sosadd)}}
+ {{item.name}}
@@ -114,6 +114,7 @@
{{item.name}}
+ {{Distance}}
@@ -160,6 +161,10 @@
+
+
+
+
@@ -218,9 +223,31 @@
show: false,
showHeader: true,
menuItems: [{
- text: '强光',
- icon: '/static/images/6155/DeviceDetail/qiang.png'
- }],
+ text: '2M',
+ value:'status_2M',
+ icon: ''
+ },
+ {
+ text: '4M',
+ value:'status_4M',
+ icon: ''
+ },
+ {
+ text: '7M',
+ value:'status_7M',
+ icon: ''
+ },
+ {
+ text: '10M',
+ value:'status_10M',
+ icon: ''
+ },
+ {
+ text: '关闭',
+ value:'status_off',
+ icon: ''
+ }
+ ],
activeIndex: -1,
bgColor: '#2a2a2a',
itemBgColor: '#3a3a3a',
@@ -254,12 +281,13 @@
statu: '',
sta_address: '',
bleStatu: false,
-
+ sta_charge:'',
sta_LedType: '',
sta_RadarType: '',
sta_Online: '',
warnTime: '',
sta_sosadd: "",
+ sta_sosName:'',
sta_IntrusTime: ''
},
@@ -349,10 +377,7 @@
showConfirm: false
},
groupDevices: [],
- audioData: {
- packetCtn: 0,
- hexs: []
- }
+ warnDevices:[]
}
},
@@ -429,7 +454,28 @@
this.Status.pageHide = false;
},
computed: {
-
+ Distance:function(){
+ let f=this.Status.BottomMenu.menuItems.find((item,index)=>{
+
+ return item.value===this.formData.sta_RadarType;
+
+
+ });
+ if(f){
+ return f.text;
+ }
+ return '关闭';
+ },
+ activeIndex:function(){
+ let active=4;
+ let f=this.Status.BottomMenu.menuItems.find((item,index)=>{
+
+ if(item.value===this.formData.sta_RadarType){
+ active=index;
+ }
+ });
+ return active;
+ }
},
methods: {
@@ -441,7 +487,8 @@
if (item.group == 'sta_RadarType') {
- this.toggleRedar(item, index);
+ // this.toggleRedar(item, index);
+ this.showRedarSetting(item,index);
return;
}
@@ -507,6 +554,25 @@
}
+ },
+ showRedarSetting(){
+ this.Status.BottomMenu.show=true;
+ this.Status.BottomMenu.showBtn=false;
+
+ this.Status.BottomMenu.title="感应距离设置";
+
+ this.Status.BottomMenu.textAlign="center";
+
+ this.Status.BottomMenu.showMask=true;
+ this.Status.BottomMenu.activeIndex=this.activeIndex;
+ },
+ btnClick(item,index){
+ this.Status.BottomMenu.show=false;
+ console.log("选中的项:"+index+",值:"+JSON.stringify(item));
+ this.toggleRedar(item,index);
+ },
+ closeActionSheet(){
+ this.Status.BottomMenu.show=false;
},
toggleRedar(item, index) { //雷达启停
let f = this.getDevice();
@@ -521,7 +587,7 @@
deviceId: '12345'
}
// #endif
- let val = item.key;
+ let val = item.value;
if (this.formData.sta_RadarType === val) {
val = 'status_off';
}
@@ -533,7 +599,9 @@
ble.sendString(f.deviceId, json, f.writeServiceId, f.wirteCharactId, 30)
.then(res => {
+ debugger;
this.formData.sta_RadarType = val;
+ this.Status.BottomMenu.activeIndex=index;
these.setBleFormData();
resolve();
})
@@ -750,33 +818,58 @@
console.log("json=", json)
- let keys = Object.keys(json);
+
+
+ let active=-1;
+ let f=this.Status.BottomMenu.menuItems.find((item,index)=>{
+
+ if(item.value===json.sta_RadarType){
+ active=index;
+ }
+ });
+ this.Status.BottomMenu.activeIndex=active;
+ let msg = [];
+ if (json.sta_PowerPercent <= 20 && (json.sta_charge===0 || json.sta_charge==='0')) {
+ msg.push("设备电量低");
+ }
+
+ if(json.sta_sosadd_off){//某个设备解除报警
+ this.warnDevices.filter((d,index)=>{
+ if(d.mac===json.sta_sosadd_off){
+ this.warnDevices.splice(index,1);
+ }
+ });
+ }
+
+
+ let keys = Object.keys(json);
+
keys.forEach(key => {
if (key in this.formData) {
// console.log("key=",key+",value=",json[key]);
this.formData[key] = json[key];
}
});
+
- let msg = [];
- if (this.formData.sta_PowerPercent <= 20) {
- msg.push("设备电量低");
- }
- if (json.sta_sosadd_off == this.formData.sta_sosadd) {
- this.formData.sta_sosadd = "";
- let name=this.getWarDevice(json.sta_sosadd_off);
- msg.push('"' + name + '"取消报警');
- }
-
- if (this.formData.sta_sosadd !== "") {
- console.log("查询设备中");
- this.searchDevice(this.formData.sta_sosadd).catch(ex => {}).then(dev => {
+ if (json.sta_sosadd) {//某个设备闯入报警
+ console.log("查询设备中",json.sta_sosadd);
+ this.searchDevice(json.sta_sosadd).catch(ex => {}).then(dev => {
console.log("dev=", dev);
+ let d=this.warnDevices.find(v=>{return v.mac===json.sta_sosadd});
+ let deviceName="";
if (dev) {
+ // this.formData.sta_sosName=dev.deviceName;
msg.push('"' + dev.deviceName + '"闯入报警中');
+ deviceName=dev.deviceName;
+
} else {
msg.push('闯入报警中');
+ // this.formData.sta_sosName="";
+ }
+ if(!d){
+ this.warnDevices.push({mac:json.sta_sosadd,name:deviceName});
}
this.showMsg(msg.join(','));
});
@@ -805,6 +898,7 @@
},
getWarDevice(macStr) {
+ console.log("macStr=",macStr);
if (macStr) {
if (!macStr.includes(':')) {
@@ -834,13 +928,13 @@
let f = this.groupDevices.find(v => {
return v.deviceMac === macStr;
});
- console.log("111111111");
+ // console.log("111111111");
if (f) {
console.log("找到设备", f);
resolve(f);
return;
}
- console.log("111111111");
+ // console.log("111111111");
if (macStr == this.device.deviceMac) {
console.log("当前设备", this.device);
resolve(this.device);
@@ -1058,9 +1152,6 @@
buttonText: '确定',
okCallback: null
});
- },
- btnClick() {
-
}
}
}
diff --git a/pages/common/addBLE/addEquip.vue b/pages/common/addBLE/addEquip.vue
index f91c2be..31992f0 100644
--- a/pages/common/addBLE/addEquip.vue
+++ b/pages/common/addBLE/addEquip.vue
@@ -52,8 +52,9 @@
刷新
-
+
+
{
@@ -262,7 +325,7 @@
}, pagePath);
-
+
//搜索到新设备的回调 (Always active)
ble.addDeviceFound((arr) => {
@@ -283,7 +346,9 @@
let f = these.EquipMents.find((v, index) => {
if (v.deviceId == device.deviceId) {
- console.log(`更新设备信号: ${device.name || device.deviceId}, RSSI: ${device.RSSI}`);
+ console.log(
+ `更新设备信号: ${device.name || device.deviceId}, RSSI: ${device.RSSI}`
+ );
these.$set(these.EquipMents[index], 'RSSI', device.RSSI);
return true;
}
@@ -294,9 +359,11 @@
console.log("+++ 发现新设备,准备添加到列表:", JSON.stringify(device));
if (these.device && these.device.bluetoothName && device.name) {
- if (these.device.bluetoothName === device.name || (device.name && device.name.indexOf(these
- .device.bluetoothName) > -1) || (device.name && this.device.bluetoothName.indexOf(
- device.name) > -1)) {
+ if (these.device.bluetoothName === device.name || (device.name && device.name
+ .indexOf(these
+ .device.bluetoothName) > -1) || (device.name && this.device
+ .bluetoothName.indexOf(
+ device.name) > -1)) {
device.isTarget = true;
}
}
@@ -308,8 +375,8 @@
}
}, pagePath);
}
-
- let startValidDevice=()=>{
+
+ let startValidDevice = () => {
if (these.device) {
console.log("进入配对模式,启用连接恢复和验证逻辑。");
//蓝牙连接已恢复的回调
@@ -330,17 +397,17 @@
showLoading(these, {
text: '蓝牙连接已恢复,正在验证设备'
});
-
+
setTimeout(() => {
these.DeviceVerdict(res.deviceId);
}, 0);
} else {
hideLoading(these);
}
-
-
+
+
}, pagePath);
-
+
//收到设备的消息回调
ble.addReceiveCallback((receivData, f, path, arr) => {
console.log("000000");
@@ -353,17 +420,17 @@
clearInterval(this.Status.intval);
this.Status.intval = null;
this.Status.time = null;
-
+
showLoading(these, {
text: '正在验证设备'
});
-
+
setTimeout(() => {
these.DeviceVerdict(f.deviceId);
}, 0);
}
-
-
+
+
}, pagePath);
}
}
@@ -373,10 +440,10 @@
eventChannel.on('detailData', function(rec) {
console.log("接收到父页面的参数:", rec);
these.device = rec.data;
- if(rec.data.bluetoothName){
- these.search=rec.data.bluetoothName.replace('JQZM-','');
+ if (rec.data.bluetoothName) {
+ these.search = rec.data.bluetoothName.replace('JQZM-', '');
}
-
+
startValidDevice();
these.refreshBleList();
});
@@ -392,9 +459,9 @@
return new Promise((resolve) => {
if (uni.getSystemInfoSync().platform !== 'android') {
- return resolve(true);
+ return resolve(true);
}
-
+
plus.android.requestPermissions(
['android.permission.ACCESS_FINE_LOCATION'],
(result) => {
@@ -428,14 +495,17 @@
});
},
async refreshBleList() {
-
+ const systemInfo = uni.getSystemInfoSync();
+ if (systemInfo.uniPlatform == 'web') {
+ return;
+ }
const hasPermission = await this.checkAndRequestLocationPermission();
if (!hasPermission) {
console.log("缺少定位权限,已中止蓝牙扫描。");
return;
}
-
-
+
+
if (!ble) {
ble = bleTool.getBleTool();
if (!ble) {
@@ -443,9 +513,9 @@
return;
}
}
-
+
ble.StopSearch().finally(() => {
-
+
let disconnectPromises = [];
if (ble.data && ble.data.LinkedList) {
ble.data.LinkedList.forEach(device => {
@@ -453,17 +523,17 @@
disconnectPromises.push(ble.disconnectDevice(device.deviceId));
});
}
-
+
Promise.allSettled(disconnectPromises).finally(() => {
-
+
these.EquipMents = [];
these.PairEquip = [];
-
+
ble.StartSearch().then(result => {
console.log("Fresh scan started successfully.");
}).catch(err => {
console.error("Failed to start fresh scan:", err);
- if (err.code === 10001) {
+ if (err.code === 10001) {
these.showOpenSetting();
} else {
uni.showModal({
@@ -820,6 +890,7 @@
position: absolute;
top: 240rpx;
left: 0rpx;
+ /* border: 1px solid #BBE600; */
}
@@ -840,18 +911,20 @@
align-content: center;
align-items: center;
justify-content: space-between;
- margin-bottom:30rpx;
+ margin-bottom: 30rpx;
}
.list {
min-height: 120rpx;
-
+
}
.searchList {
width: 100%;
- height: calc(100% - 260rpx);
+ height: calc(100% - 300rpx);
overflow-y: scroll;
+ box-sizing: border-box;
+ /* border: 1px solid red; */
}
.list .item {
@@ -1021,12 +1094,21 @@
filter: none !important;
-webkit-filter: none !important;
}
+
- .uni-mt-5 {
- background-color: #000000;
- }
- .uni-easyinput__content {
- background-color: #121212 !important;
+ .uni-input{
+ background-color: #121212;
+ width:100%;
+ height: 60rpx;
+ color: #ffffffde;
+ border:1rpx solid #cbcbcbde;
+ border-radius: 8rpx;
+ font-size: 26rpx;
+ text-indent: 8rpx;
+ font-family: "PingFang SC";
+ line-height: 60rpx;
+ caret-color:#BBE600;
+ font-weight: 200;
}
\ No newline at end of file
diff --git a/utils/BleHelper.js b/utils/BleHelper.js
index a03532b..04faebb 100644
--- a/utils/BleHelper.js
+++ b/utils/BleHelper.js
@@ -685,7 +685,7 @@ class BleHelper {
uni.onBLECharacteristicValueChange((receive) => {
//订阅消息
- // console.log("收到订阅消息", receive);
+ // console.log("收到订阅消息", receive);
let f = this.data.LinkedList.find((v) => {
return v.deviceId == receive.deviceId;
})
@@ -1714,7 +1714,7 @@ class BleHelper {
let buffer = new ArrayBuffer(bufferSize);
let dataView = new DataView(buffer);
for (let i = 0; i < array.length; i++) {
- dataView.setUint8(i, array);
+ dataView.setUint8(i, array[i]);
}
return this.sendData(deviceid, buffer, writeServiceId, wirteCharactId, ms);
diff --git a/utils/BleReceive.js b/utils/BleReceive.js
index 45ef6f7..5a04479 100644
--- a/utils/BleReceive.js
+++ b/utils/BleReceive.js
@@ -569,7 +569,7 @@ class BleReceive {
try {
- console.log("str=",receive.str);
+ // console.log("str=",receive.str);
receiveData = JSON.parse(receive.str);
let recCnt = recArr.find(v => {
diff --git a/utils/request.js b/utils/request.js
index 6faf71e..a25cc90 100644
--- a/utils/request.js
+++ b/utils/request.js
@@ -1,5 +1,5 @@
import config from '../config/index.js';
-export const env = 'development'; //production development //开发of线上 改这里就行
+export const env = 'production'; //production development //开发of线上 改这里就行
const BASE = config[env];
const request = (options) => {
console.log("options" + JSON.stringify(options), BASE.BASE_URL)