From 87aa307761eaa7e5fc56247c858d10a1ad29c97b Mon Sep 17 00:00:00 2001
From: "3321822538@qq.com" <3321822538@qq.com>
Date: Tue, 20 May 2025 17:52:27 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B5=87=E8=8A=B1=E5=99=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/blufi/xBlufi-wx-impl.js | 12 +-
page_user/upload.vue | 1 +
pages/index/index.vue | 450 ++++++++++++++++++++---------
3 files changed, 322 insertions(+), 141 deletions(-)
diff --git a/components/blufi/xBlufi-wx-impl.js b/components/blufi/xBlufi-wx-impl.js
index 700cc0d..c1c4530 100644
--- a/components/blufi/xBlufi-wx-impl.js
+++ b/components/blufi/xBlufi-wx-impl.js
@@ -1511,7 +1511,14 @@ setTimeout(() => {
if (uuid == self.data.characteristic_write_uuid) {
self.data.serviceId = serviceId;
self.data.uuid = uuid;
- console.log("uuid", uuid)
+ console.log("uuid", uuid)
+ let obj = {
+ 'type': mDeviceEvent.XBLUFI_TYPE.TYPE_INIT_ESP32_RESULT,
+ 'result': true,
+ 'data': res
+ };
+ mDeviceEvent.notifyDeviceMsgEvent(obj);
+ console.log('服务发现1111111');
uni.notifyBLECharacteristicValueChange({
state: true,
// 启用 notify 功能
@@ -1543,6 +1550,7 @@ setTimeout(() => {
});
}, 1000);
+ console.log("fail getBLEDeviceServices:" + JSON.stringify(res));
uni.onBLECharacteristicValueChange(function(res) {
var my_str = Utf8ArrayToStr(res.value)
if(my_str.indexOf("wifi_ok") != -1)
@@ -1637,7 +1645,7 @@ setTimeout(() => {
}
});
-},2000);
+},700);
});
mDeviceEvent.listenSendRouterSsidAndPassword(true, function(options) {
self.data.password = options.password;
diff --git a/page_user/upload.vue b/page_user/upload.vue
index 839e551..537216e 100644
--- a/page_user/upload.vue
+++ b/page_user/upload.vue
@@ -360,6 +360,7 @@
icon: 'success',
duration: 2000
})
+ this.ver = this.version
setTimeout(()=>{
this.shengjiflag = false
uni.reLaunch({
diff --git a/pages/index/index.vue b/pages/index/index.vue
index e2e1f4f..51a6fb6 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -17,28 +17,26 @@
绑定
-
-
+
-
+ -->
-
- {{user.deviceName == undefined ? '--' : user.deviceName}}
+
+
+ {{user.deviceName == undefined ? '--' : user.deviceName}}
+
+
+
点击连接
@@ -52,11 +50,14 @@
+
+
+
-
+
型号:{{user.model == undefined ? '--' : user.model}}
@@ -77,26 +78,44 @@
-->
-
+
-
- OFF
+
+
+ OFF
+
+
+ P1
+
+
+ {{ver_data.p_set1 && ver_data.p_set1[0] !== undefined ? ver_data.p_set1[0].toString().padStart(2, '0') + ':' + ver_data.p_set1[1].toString().padStart(2, '0') : '--:--'}}
+
+
+ 每{{ver_data.p_set1[4]}}天
+
+
+ 每天
+
-
- ON
-
-
- P1
-
-
- {{ver_data.p_set1 && ver_data.p_set1[0] !== undefined ? ver_data.p_set1[0].toString().padStart(2, '0') + ':' + ver_data.p_set1[1].toString().padStart(2, '0') : '--:--'}}
-
-
- 每{{ver_data.p_set1[4]}}天
-
-
- 每天
+
+
+ ON
+
+
+ P1
+
+
+ {{ver_data.p_set1 && ver_data.p_set1[0] !== undefined ? ver_data.p_set1[0].toString().padStart(2, '0') + ':' + ver_data.p_set1[1].toString().padStart(2, '0') : '--:--'}}
+
+
+ 每{{ver_data.p_set1[4]}}天
+
+
+ 每天
+
+
+
@@ -104,23 +123,39 @@
-
- OFF
+
+
+ OFF
+
+
+ P2
+
+
+ {{ver_data.p_set2 && ver_data.p_set2[0] !== undefined ? ver_data.p_set2[0].toString().padStart(2, '0') + ':' + ver_data.p_set2[1].toString().padStart(2, '0') : '--:--'}}
+
+
+ 每{{ver_data.p_set2[4]}}天
+
+
+ 每天
+
-
- ON
-
-
- P2
-
-
- {{ver_data.p_set2 && ver_data.p_set2[0] !== undefined ? ver_data.p_set2[0].toString().padStart(2, '0') + ':' + ver_data.p_set2[1].toString().padStart(2, '0') : '--:--'}}
-
-
- 每{{ver_data.p_set2[4]}}天
-
-
- 每天
+
+
+ ON
+
+
+ P2
+
+
+ {{ver_data.p_set2 && ver_data.p_set2[0] !== undefined ? ver_data.p_set2[0].toString().padStart(2, '0') + ':' + ver_data.p_set2[1].toString().padStart(2, '0') : '--:--'}}
+
+
+ 每{{ver_data.p_set2[4]}}天
+
+
+ 每天
+
-
- OFF
+
+
+ OFF
+
+
+ P3
+
+
+ {{ver_data.p_set3 && ver_data.p_set3[0] !== undefined ? ver_data.p_set3[0].toString().padStart(2, '0') + ':' + ver_data.p_set3[1].toString().padStart(2, '0') : '--:--'}}
+
+
+ 每{{ver_data.p_set3[4]}}天
+
+
+ 每天
+
-
- ON
-
-
- P3
-
-
- {{ver_data.p_set3 && ver_data.p_set3[0] !== undefined ? ver_data.p_set3[0].toString().padStart(2, '0') + ':' + ver_data.p_set3[1].toString().padStart(2, '0') : '--:--'}}
-
-
- 每{{ver_data.p_set3[4]}}天
-
-
- 每天
+
+
+ ON
+
+
+ P3
+
+
+ {{ver_data.p_set3 && ver_data.p_set3[0] !== undefined ? ver_data.p_set3[0].toString().padStart(2, '0') + ':' + ver_data.p_set3[1].toString().padStart(2, '0') : '--:--'}}
+
+
+ 每{{ver_data.p_set3[4]}}天
+
+
+ 每天
+
-
- OFF
+
+
+ OFF
+
+
+ P4
+
+
+ {{ver_data.p_set4 && ver_data.p_set4[0] !== undefined ? ver_data.p_set4[0].toString().padStart(2, '0') + ':' + ver_data.p_set4[1].toString().padStart(2, '0') : '--:--'}}
+
+
+ 每{{ver_data.p_set4[4]}}天
+
+
+ 每天
+
-
- ON
-
-
- P4
-
-
- {{ver_data.p_set4 && ver_data.p_set4[0] !== undefined ? ver_data.p_set4[0].toString().padStart(2, '0') + ':' + ver_data.p_set4[1].toString().padStart(2, '0') : '--:--'}}
-
-
- 每{{ver_data.p_set4[4]}}天
-
-
- 每天
+
+
+ ON
+
+
+ P4
+
+
+ {{ver_data.p_set4 && ver_data.p_set4[0] !== undefined ? ver_data.p_set4[0].toString().padStart(2, '0') + ':' + ver_data.p_set4[1].toString().padStart(2, '0') : '--:--'}}
+
+
+ 每{{ver_data.p_set4[4]}}天
+
+
+ 每天
+
-
- OFF
+
+
+ OFF
+
+
+ P5
+
+
+ {{ver_data.p_set5 && ver_data.p_set5[0] !== undefined ? ver_data.p_set5[0].toString().padStart(2, '0') + ':' + ver_data.p_set5[1].toString().padStart(2, '0') : '--:--'}}
+
+
+ 每{{ver_data.p_set5[4]}}天
+
+
+ 每天
+
-
- ON
-
-
- P5
-
-
- {{ver_data.p_set5 && ver_data.p_set5[0] !== undefined ? ver_data.p_set5[0].toString().padStart(2, '0') + ':' + ver_data.p_set5[1].toString().padStart(2, '0') : '--:--'}}
-
-
- 每{{ver_data.p_set5[4]}}天
-
-
- 每天
+
+
+ ON
+
+
+ P5
+
+
+ {{ver_data.p_set5 && ver_data.p_set5[0] !== undefined ? ver_data.p_set5[0].toString().padStart(2, '0') + ':' + ver_data.p_set5[1].toString().padStart(2, '0') : '--:--'}}
+
+
+ 每{{ver_data.p_set5[4]}}天
+
+
+ 每天
+
-
- OFF
+
+
+ OFF
+
+
+ P6
+
+
+ {{ver_data.p_set6 && ver_data.p_set6[0] !== undefined ? ver_data.p_set6[0].toString().padStart(2, '0') + ':' + ver_data.p_set6[1].toString().padStart(2, '0') : '--:--'}}
+
+
+ 每{{ver_data.p_set6[4]}}天
+
+
+ 每天
+
-
- ON
-
-
- P6
-
-
- {{ver_data.p_set6 && ver_data.p_set6[0] !== undefined ? ver_data.p_set6[0].toString().padStart(2, '0') + ':' + ver_data.p_set6[1].toString().padStart(2, '0') : '--:--'}}
-
-
- 每{{ver_data.p_set6[4]}}天
-
-
- 每天
+
+
+ ON
+
+
+ P6
+
+
+ {{ver_data.p_set6 && ver_data.p_set6[0] !== undefined ? ver_data.p_set6[0].toString().padStart(2, '0') + ':' + ver_data.p_set6[1].toString().padStart(2, '0') : '--:--'}}
+
+
+ 每{{ver_data.p_set6[4]}}天
+
+
+ 每天
+
-
-
-
-
-
- 当前时间
-
-
- 点击可再次设置当前时间
+
+
+
+
+
+ 当前时间 同步
+
+
+ 点击可同步当前时间
+
-
- {{devicetime == '' ? '--' : devicetime}}
+
+ {{devicetime == '' ? '--' : devicetime.slice(0,5)}}
@@ -318,12 +418,17 @@
+
+
+ 切换设备
+
+
+
{{item.deviceName}}
-
- MAC:{{item.mac}}
+ MAC:{{item.mac}}
@@ -334,7 +439,7 @@
添加新设备
-
+
@@ -650,6 +755,37 @@
// }, 1500)
}
},
+ // 点击同步时间
+ btntb(){
+ this.handleUserAction()
+ if(this.vardataflag != 3){
+ uni.showToast({
+ title: '设备未连接',
+ icon: 'none',
+ duration:2000
+ })
+ }else{
+ this.devicetime = this.getCurrentTime();
+ console.log(this.devicetime);
+ if(this.pre == 'WATER'){ //单阀
+ uni.showLoading({
+ title: '设置中...'
+ })
+ xBlufi.notifySendCustomData({
+ customData: '11date' + this.devicetime + ';'
+ })
+ uni.hideLoading()
+ }else{ //抽水泵
+ uni.showLoading({
+ title: '设置中...'
+ })
+ xBlufi.notifySendCustomData({
+ customData: '11hour' + this.devicetime + '@',
+ })
+ uni.hideLoading()
+ }
+ }
+ },
// 点击显示设置时间
btnsztime(){
this.handleUserAction()
@@ -663,6 +799,14 @@
this.timeflag = true
}
},
+ getCurrentTime() {
+ const now = new Date();
+ const padZero = num => num.toString().padStart(2, '0');
+ const hours = padZero(now.getHours()); // 时 (00-23)
+ const minutes = padZero(now.getMinutes()); // 分 (00-59)
+ const seconds = padZero(now.getSeconds()); // 秒 (00-59)
+ return `${hours}:${minutes}:${seconds}`;
+ },
// 点击设置当前时间
confirmtime(e){
if(this.pre == 'WATER'){ //单阀
@@ -1002,21 +1146,23 @@
break;
case xBlufi.XBLUFI_TYPE.TYPE_CONNECTED:
console.log("连接回调:" + JSON.stringify(options))
+ xBlufi.notifyInitBleEsp32({
+ deviceId: this.deviceId
+ })
+ break
+ case xBlufi.XBLUFI_TYPE.TYPE_INIT_ESP32_RESULT:
if (options.result == true){
+ console.log('服务发现成功:', options);
this.datalist = '1'
this.vardataflag = 3
this.initDisconnectTimer()
- xBlufi.notifyInitBleEsp32({
- deviceId: this.deviceId
- })
// 连接成功后立即发送一次获取数据命令
- setTimeout(() => {
- console.log("连接成功后发送获取数据命令")
- xBlufi.notifySendCustomData({
- customData: "11get"
- })
- }, 2000)
+ console.log("连接成功后发送获取数据命令")
+ xBlufi.notifySendCustomData({
+ customData: "11get"
+ })
}else{
+ console.log('服务发现失败:', options.data);
this.vardataflag = 1
this.clearDisconnectTimer()
}
@@ -1092,7 +1238,7 @@
customData: "11get"
})
}
- }, 10000)
+ }, 5000)
},
// 清除定时器
clearTimer() {
@@ -1198,8 +1344,7 @@
}
pSetObjects[key] = values;
}
- });
-
+ })
this.ver_data = pSetObjects;
this.jstimeobj = pSetObjects;
this.showobj = showObject;
@@ -1289,7 +1434,6 @@
this.clearDisconnectTimer()
this.disconnectTimer = setTimeout(() => {
if(this.vardataflag === 3) {
- console.log('一分钟无操作,断开蓝牙连接')
this.disconnectBluetooth()
}
}, 600000)
@@ -1338,6 +1482,21 @@
this.resetDisconnectTimer()
}
},
+
+ // 获取时间显示
+ getTimeDisplay(setKey) {
+ const set = this.ver_data[setKey];
+ if (set && set[0] !== undefined) {
+ return `${set[0].toString().padStart(2, '0')}:${set[1].toString().padStart(2, '0')}`;
+ }
+ return '--:--';
+ },
+
+ // 判断是否是当前时间
+ isCurrentTime(setKey) {
+ const set = this.ver_data[setKey];
+ return set && set[0] == this.xctimesj.slice(0,2) && set[1] == this.xctimesj.slice(-2);
+ }
}
}
@@ -1361,11 +1520,23 @@
height: 78rpx;
}
.cen{
+ margin-left: 30rpx;
.shen{
font-weight: 600;
font-size: 28rpx;
color: #3D3D3D;
margin-bottom: 8rpx;
+ display: flex;
+ text{
+ width: 80rpx;
+ height: 40rpx;
+ background-color: #7FAD76;
+ color: #fff;
+ text-align: center;
+ line-height: 40rpx;
+ border-radius: 10rpx;
+ margin-left: 20rpx;
+ }
}
view{
font-size: 24rpx;
@@ -1456,7 +1627,7 @@
background: #3D3D3D;
opacity: 0.2;
position: fixed;
- top: 20%;
+ top: 0;
left: 0;
z-index: 1;
}
@@ -1500,14 +1671,14 @@
max-height: 90vh;
background: #FFFFFF;
position: fixed;
- top: 270rpx;
+ top: 0;
left: 0;
padding: 0 40rpx;
padding-bottom: 60rpx !important;
box-sizing: border-box;
border-radius: 0rpx 0rpx 50rpx 50rpx;
z-index: 2;
- padding-top: 48rpx;
+ padding-top: 110rpx;
box-sizing: border-box;
animation: fadeInDown .5s ease-out forwards;
.qdan {
@@ -1526,6 +1697,7 @@
width: 100%;
max-height: 68vh;
overflow: scroll;
+ margin-top: 50rpx;
.sbist_val {
display: flex;
justify-content: space-between;
@@ -1778,7 +1950,7 @@
align-items: center;
.shebeiname {
font-size: 36rpx;
- color: #73787B;
+ color: #333;
font-weight: 600;
display: flex;
align-items: center;