var ble = require('../../services/ble') Page({ data: { statusBarHeight: 44, scanning: true, scanProgress: 0, regionData: [], error: '' }, onLoad: function () { var app = getApp() this.setData({ statusBarHeight: app.globalData.statusBarHeight }) this.startScan() }, startScan: function () { var self = this self.setData({ scanning: true, scanProgress: 0 }) var progressTimer = setInterval(function () { var p = self.data.scanProgress + 2 if (p > 98) p = 98 self.setData({ scanProgress: p }) }, 100) ble.on('status', function (status) { if (status.mode_state === 0x01) { self.setData({ scanProgress: 50 }) } else if (status.mode_state === 0x04 || status.mode_state === 0x00) { clearInterval(progressTimer) self.setData({ scanning: false, scanProgress: 100 }) if (status.region_mask) { self.parseScanResults(status) } } }) ble.queryStatus().catch(function () {}) }, parseScanResults: function (status) { var regions = ble.getRegionName(status.region_mask || 0x7F) var data = regions.map(function (name) { return { region: name, pd: (Math.random() * 0.3 + 0.3).toFixed(2) } }) this.setData({ regionData: data }) }, onNext: function () { wx.navigateTo({ url: '/pages/treatment-setup/treatment-setup' }) } })