// pages/deviceDetail/detail.js const { BtHelper } = require('../../devices/bt_helper'); const { deviceVersion } = require('../../request/deviceListRequest') import { EnumCmdEvent } from '../../devices/cmd_key_event'; import EventManager from '../../utils/event_bus' import route_util from '../../utils/route_util'; Page({ data: { nvabarData: { showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示 title: '设备详情', //导航栏 中间的标题 }, hasNew: true, // 页面数据 device: {}, btHelper: null, updateData: {}, powerOpen: false, }, checkOtaVersion(device) { let _this = this; deviceVersion(device.clienlType, device.connectType, device.version).then(res => { console.log(res); let updateData = res.data ?? {}; let hasNewVersion = updateData.isEnforcement === 1 || updateData.isEnforcement === 2; _this.setData({ hasNew: hasNewVersion, updateData: updateData }); }) }, goToWallpaper: function () { let newParam = JSON.stringify(this.data.device); route_util.jumpParam('/pages/piano/wallpaper/wallpaper', newParam) }, goToOta: function () { if (this.data.hasNew) { let param = { "device": this.data.device, "otaData": this.data.updateData, } let newParam = JSON.stringify(param); // wx.navigateTo({ // url: '/pages/ota/ota' + "?param=" + param // }); route_util.jumpParam('/pages/ota/ota', newParam) } }, powerTap(e) { console.log(e) let btHelper = BtHelper.getInstance(); btHelper.setPauseSleep(powerOpen ? 60 * 20 : -1) this.setData({ powerOpen: !powerOpen }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { let device = JSON.parse(options.param); console.log("设备详情", device) let isConnect = device.state === 'online' if (!isConnect) { // btHelper wx.showToast({ title: '设备已经失去连接', }) return; } this.setData({ device: device, }) const btHelper = BtHelper.getInstance(); btHelper.getVersion() let _this = this; EventManager.addNotification(CmdEvent.eventName, function (event) { let name = event.name; console.log("详情页:", event) switch (name) { case EnumCmdEvent.version: _this.data.device.version = event.version; _this.checkOtaVersion(_this.data.device); break; } }, this) }, questionTap() { wx.showModal({ title: '省电模式', content: '开启省电模式,设备无蓝牙连接或内容播放20分钟后进入自动休眠,任意按键可唤醒。', showCancel: false, complete: (res) => { if (res.cancel) { } if (res.confirm) { } } }) }, onUnload() { EventManager.removeNotification(CmdEvent.eventName, this) }, })