From 640966ae618593950ea15457de31df12ce095c91 Mon Sep 17 00:00:00 2001
From: 17792275749 <812100002@qq.com>
Date: Mon, 11 May 2026 16:25:35 +0800
Subject: [PATCH] =?UTF-8?q?[AI=20Generated]:=20refactor(Views):=20?=
=?UTF-8?q?=E9=87=8D=E6=9E=84=E8=BF=9E=E6=8E=A5=E8=AE=BE=E5=A4=87=E9=A1=B5?=
=?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=88=97=E8=A1=A8=E4=B8=BA=E7=BB=9F=E4=B8=80?=
=?UTF-8?q?=E5=BE=AA=E7=8E=AF=E5=B9=B6=E8=A1=A5=E5=85=A8=E5=8D=A1=E7=89=87?=
=?UTF-8?q?=E6=A0=B7=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/claudeCodeTabState.xml | 6 +
.../pages/connectedDevice/connectedDevice.js | 32 ++--
.../connectedDevice/connectedDevice.less | 154 +++++++++++++++++-
.../connectedDevice/connectedDevice.wxml | 100 +++++-------
.../pages/connectedWifi/connectedWifi.wxml | 92 ++++++++++-
5 files changed, 310 insertions(+), 74 deletions(-)
create mode 100644 .idea/claudeCodeTabState.xml
diff --git a/.idea/claudeCodeTabState.xml b/.idea/claudeCodeTabState.xml
new file mode 100644
index 0000000..14424ed
--- /dev/null
+++ b/.idea/claudeCodeTabState.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/miniprogram/pages/connectedDevice/connectedDevice.js b/miniprogram/pages/connectedDevice/connectedDevice.js
index 703939f..f5431e6 100644
--- a/miniprogram/pages/connectedDevice/connectedDevice.js
+++ b/miniprogram/pages/connectedDevice/connectedDevice.js
@@ -15,10 +15,7 @@ Page({
*/
status: 'idle',
- /* 已连接的设备(null 表示没有) */
- connectedDevice: null,
-
- /* 未连接的设备列表 */
+ /* 设备列表(包含已连接和未连接,每项含 connected: boolean) */
deviceList: [],
},
@@ -38,7 +35,6 @@ Page({
onStartSearch() {
this.setData({
status: 'searching',
- connectedDevice: null,
deviceList: [],
})
@@ -47,14 +43,10 @@ Page({
if (MOCK_HAS_DEVICES) {
this.setData({
status: 'found',
- connectedDevice: {
- id: 'mock-connected',
- name: '智能体重秤 Pro',
- icon: '',
- },
deviceList: [
- { id: 'mock-1', name: '体重秤 Basic', icon: '' },
- { id: 'mock-2', name: '体脂秤 Plus', icon: '' },
+ { id: 'mock-connected', name: '智能体重秤 Pro', icon: '', connected: true },
+ { id: 'mock-1', name: '体重秤 Basic', icon: '', connected: false },
+ { id: 'mock-2', name: '体脂秤 Plus', icon: '', connected: false },
],
})
} else {
@@ -63,16 +55,24 @@ Page({
}, MOCK_SEARCH_DURATION)
},
- /* 连接某台未连接设备 */
+ /* 连接某台设备:同时只能一台已连接,自动断开其他设备 */
onConnect(e) {
const { id } = e.currentTarget.dataset
- console.log('连接设备:', id)
+ const deviceList = this.data.deviceList.map(item => ({
+ ...item,
+ connected: item.id === id,
+ }))
+ this.setData({ deviceList })
/* TODO: 接入真实蓝牙连接逻辑 */
},
- /* 断开已连接设备 */
+ /* 断开当前已连接设备 */
onDisconnect() {
- console.log('断开连接')
+ const deviceList = this.data.deviceList.map(item => ({
+ ...item,
+ connected: false,
+ }))
+ this.setData({ deviceList })
/* TODO: 接入真实蓝牙断开逻辑 */
},
diff --git a/miniprogram/pages/connectedDevice/connectedDevice.less b/miniprogram/pages/connectedDevice/connectedDevice.less
index a4f3182..c28cd89 100644
--- a/miniprogram/pages/connectedDevice/connectedDevice.less
+++ b/miniprogram/pages/connectedDevice/connectedDevice.less
@@ -58,6 +58,7 @@
color: #808080;
font-size: 30rpx;
line-height: 30rpx;
+ margin-right: 8rpx;
}
.help-link {
@@ -68,11 +69,160 @@
}
.search-device {
+ width: 100%;
- }
+ .search-device-header {
+ width: 100%;
+ height: 32rpx;
+ display: flex;
+ flex-wrap: nowrap;
+ justify-content: space-between;
+ margin-bottom: 38rpx;
- .empty {
+ .search-device-title {
+ color: #252535;
+ height: 32rpx;
+ font-size: 32rpx;
+ font-weight: bold;
+ line-height: 32rpx;
+ }
+ .search-device-count {
+ height: 32rpx;
+ display: flex;
+ flex-wrap: nowrap;
+
+ .count-text {
+ color: #808080;
+ height: 32rpx;
+ font-size: 28rpx;
+ line-height: 32rpx;
+ }
+
+ .count-num {
+ color: #1385FA;
+ height: 32rpx;
+ font-size: 28rpx;
+ font-weight: bold;
+ line-height: 32rpx;
+ padding: 0 6rpx;
+ }
+ }
+ }
+
+ .empty {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin-top: 160rpx;
+
+ .empty-image {
+ width: 193rpx;
+ height: 138rpx;
+ margin-bottom: 40rpx;
+ background-color: #F5F5F5;
+ }
+
+ .empty-text {
+ color: #808080;
+ width: 100%;
+ height: 30rpx;
+ font-size: 30rpx;
+ line-height: 30rpx;
+ text-align: center;
+ }
+ }
+
+ .device-list {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+
+ .device-card {
+ width: 100%;
+ height: 150rpx;
+ display: flex;
+ align-items: center;
+ padding: 0 30rpx;
+ background-color: #FFFFFF;
+ border: 2rpx solid #E6E6EA;
+ border-radius: 16rpx;
+ box-sizing: border-box;
+ margin-bottom: 24rpx;
+
+ .card-icon {
+ width: 90rpx;
+ height: 90rpx;
+ overflow: hidden;
+ border-radius: 24rpx;
+ margin-right: 24rpx;
+ background-color: red;
+ }
+
+ .card-info {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+
+ .card-name {
+ color: #252535;
+ font-size: 32rpx;
+ font-weight: bold;
+ height: 32rpx;
+ line-height: 32rpx;
+ }
+
+ .card-status {
+ margin-top: 18rpx;
+ display: flex;
+ align-items: center;
+
+ .card-dot {
+ width: 12rpx;
+ height: 12rpx;
+ border-radius: 50%;
+ background-color: #2AC79F;
+ margin-right: 15rpx;
+ }
+
+ .card-status-text {
+ color: #2AC79F;
+ height: 28rpx;
+ font-size: 28rpx;
+ font-weight: 500;
+ line-height: 28rpx;
+ }
+ }
+ }
+
+ .card-btn-primary {
+ color: #FFFFFF;
+ font-size: 24rpx;
+ font-weight: 500;
+ width: 88rpx;
+ height: 48rpx;
+ line-height: 48rpx;
+ text-align: center;
+ border-radius: 8rpx;
+ background-color: #2AC79F;
+ }
+
+ .card-btn-danger {
+ color: #F24439;
+ font-size: 24rpx;
+ font-weight: 500;
+ width: 120rpx;
+ height: 48rpx;
+ line-height: 44rpx;
+ text-align: center;
+ border: 2rpx solid #F24439;
+ border-radius: 8rpx;
+ box-sizing: border-box;
+ }
+ }
+ }
}
}
diff --git a/miniprogram/pages/connectedDevice/connectedDevice.wxml b/miniprogram/pages/connectedDevice/connectedDevice.wxml
index c3622f0..b752ade 100644
--- a/miniprogram/pages/connectedDevice/connectedDevice.wxml
+++ b/miniprogram/pages/connectedDevice/connectedDevice.wxml
@@ -23,62 +23,52 @@
-
+
+
-
-
+
+
-
-
-
- 暂未搜索到可用设备,请重新搜索
-
-
-
-
-
-
-
-
-
- {{ connectedDevice.name }}
-
-
- 已连接
-
-
- 断开连接
-
-
-
-
-
-
- {{ item.name }}
- 连接
-
-
-
-
-
-
+
+
+
+
+ 暂未搜索到可用设备,请重新搜索
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+ 已连接
+
+
+
+
+ 断开连接
+
+
+ 连接
+
+
+
+
+
+
+
diff --git a/miniprogram/pages/connectedWifi/connectedWifi.wxml b/miniprogram/pages/connectedWifi/connectedWifi.wxml
index 8ca26c7..3eab3e0 100644
--- a/miniprogram/pages/connectedWifi/connectedWifi.wxml
+++ b/miniprogram/pages/connectedWifi/connectedWifi.wxml
@@ -1 +1,91 @@
-connectedWifi 占位
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ status === 'idle' ? '为设备配置 WiFi' :
+ status === 'configuring' ? '正在配网中...' :
+ status === 'success' ? '配网成功' : '配网失败'
+ }}
+
+
+
+
+ {{
+ status === 'idle' ? '请输入 2.4G WiFi 名称和密码,确保设备处于配网状态' :
+ status === 'configuring' ? '请保持设备与手机靠近,正在传输配网信息' :
+ status === 'success' ? '设备已成功连入 WiFi 网络,可正常使用' : '请检查 WiFi 密码或设备状态后重试'
+ }}
+
+
+
+
+
+
+
+
+ WiFi 名称
+
+
+
+
+
+ WiFi 密码
+
+
+ {{ form.showPwd ? '隐藏' : '显示' }}
+
+
+
+
+
+
+
+
+
+ 设备已成功连接到 {{ form.ssid || '当前 WiFi' }}
+
+
+
+
+
+ {{
+ status === 'idle' ? '开始配网' :
+ status === 'configuring' ? '配网中...' :
+ status === 'success' ? '完成' : '重新配网'
+ }}
+
+
+
+
+ 设备无法连接 WiFi?
+ 查看帮助
+
+