/* pages/mine/mine.js */ const storage = require('../../utils/storage.js'); const { mqttClient } = require('../../services/mqtt-client.js'); const { bleService } = require('../../services/ble.js'); Page({ data: { userInfo: null, mqttStatus: '未连接', mqttStatusColor: '#999', bleStatus: '未初始化', bleStatusColor: '#999', pendingCount: 0, appVersion: '1.0.0' }, onLoad() { this.loadUserInfo(); this.checkStatus(); }, onShow() { // 每次显示页面时刷新状态 this.checkStatus(); }, // 加载用户信息 loadUserInfo() { const userInfo = storage.getUserInfo(); this.setData({ userInfo }); }, // 检查连接状态 checkStatus() { // MQTT 状态 const mqttState = mqttClient.getState(); let mqttStatus = '未连接'; let mqttStatusColor = '#999'; if (mqttState.connected) { mqttStatus = '已连接'; mqttStatusColor = '#52c41a'; } else if (mqttState.connecting) { mqttStatus = '连接中'; mqttStatusColor = '#1890ff'; } // 蓝牙状态 const bleState = bleService.getState(); let bleStatus = '未初始化'; let bleStatusColor = '#999'; if (bleState.connected) { bleStatus = '已连接设备'; bleStatusColor = '#52c41a'; } else if (bleState.adapterAvailable) { bleStatus = '蓝牙已开启'; bleStatusColor = '#1890ff'; } else if (bleState.adapterAvailable === false) { bleStatus = '蓝牙未开启'; bleStatusColor = '#ff4d4f'; } // 离线缓存数量 const pendingData = storage.getPendingData(); const pendingCount = pendingData ? pendingData.length : 0; this.setData({ mqttStatus, mqttStatusColor, bleStatus, bleStatusColor, pendingCount }); }, // 清除缓存 clearCache() { wx.showModal({ title: '提示', content: '确定要清除缓存吗?这将清除所有离线数据。', success: (res) => { if (res.confirm) { storage.clearPendingData(); wx.showToast({ title: '清除成功', icon: 'success' }); this.checkStatus(); } } }); }, // 退出登录 logout() { wx.showModal({ title: '提示', content: '确定要退出登录吗?', success: (res) => { if (res.confirm) { // 断开 MQTT 连接 if (mqttClient.isConnected()) { mqttClient.disconnect(); } // 断开蓝牙连接 if (bleService.isConnected()) { bleService.disconnect(); } // 清除所有本地数据 storage.clearAll(); // 跳转到登录页 wx.reLaunch({ url: '/pages/login/login' }); } } }); }, // 关于我们 showAbout() { wx.showModal({ title: '岩安测控网关', content: '版本:' + this.data.appVersion + '\n\n轻量化蓝牙网关,采集 BLE 设备数据透传上报至 yack 平台。', showCancel: false }); } });