feat(userManagement): 设备成员管理接入成员列表接口与同步标记

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
17792275749
2026-08-24 19:00:36 +08:00
co-authored by Claude Sonnet 4.6
parent f750d15150
commit a80a5cd939
6 changed files with 309 additions and 107 deletions
+34 -2
View File
@@ -33,6 +33,7 @@ interface DeviceItem {
let unsubDevicesList: (() => void) | null = null
let unsubConnect: (() => void) | null = null
let unsubDisconnected: (() => void) | null = null
let scanTimer: number | null = null
Page({
@@ -45,6 +46,34 @@ Page({
onShow() {
this.loadDevices()
this._subscribeDisconnected()
},
onHide() {
leFuService.stopScan()
unsubDisconnected?.()
unsubDisconnected = null
},
onUnload() {
leFuService.stopScan()
unsubDisconnected?.()
unsubDisconnected = null
unsubDevicesList?.()
unsubDevicesList = null
unsubConnect?.()
unsubConnect = null
if (scanTimer !== null) { clearTimeout(scanTimer); scanTimer = null }
},
/** 订阅断开事件:设备长时间未操作或意外断开时,同步页面状态为未连接 */
_subscribeDisconnected() {
unsubDisconnected?.()
unsubDisconnected = leFuService.onDisconnected(() => {
this.setData({
devices: this.data.devices.map(d => ({ ...d, status: false })),
})
})
},
/** 拉取体重设备列表 */
@@ -182,8 +211,11 @@ Page({
},
/** 用户管理 */
onTapUser() {
wx.navigateTo({ url: '/pages/userManagement/userManagement' })
onTapUser(e: WechatMiniprogram.TouchEvent) {
const item = e.currentTarget.dataset.item as DeviceItem
wx.navigateTo({
url: `/pages/userManagement/userManagement?sn=${encodeURIComponent(item.sn)}&deviceId=${encodeURIComponent(item.deviceId)}&name=${encodeURIComponent(item.name)}&status=${item.status}&connectDeviceInfo=${encodeURIComponent(item.connectDeviceInfo)}`,
})
},
onTapAdd() {