var api = require('../../utils/api') var ble = require('../../services/ble') Page({ data: { statusBarHeight: 44, sessionId: '', regions: 0, duration: 0, avgPd: 0, mode: 0, durationText: '', regionNames: [], syncing: false, synced: false }, onBack: function () { wx.reLaunch({ url: '/pages/index/index' }) }, onLoad: function (options) { var app = getApp() this.setData({ statusBarHeight: app.globalData.statusBarHeight }) this._deviceId = options.device_id || (app.globalData.currentDevice && app.globalData.currentDevice.device_id) || ble.getDeviceId() || '' this._treatment = app.globalData.currentTreatment || {} var durationMs = parseInt(options.duration) || 0 var mins = Math.floor(durationMs / 60000) var secs = Math.floor((durationMs % 60000) / 1000) this.setData({ sessionId: options.session_id || '', regions: parseInt(options.regions) || 0, duration: durationMs, avgPd: options.avg_pd || 0, durationText: mins > 0 ? mins + '分钟' : secs + '秒', mode: parseInt(options.mode) || 0, regionNames: ble.getRegionName(parseInt(options.regions) || 0) }) this.syncRecord() }, syncRecord: function () { var self = this var t = self._treatment self.setData({ syncing: true }) api.syncTreatment({ session_id: self.data.sessionId, device_id: self._deviceId || '', start_time: t.start_time || new Date(Date.now() - self.data.duration).toISOString(), end_time: t.end_time || new Date().toISOString(), regions: self.data.regions, total_duration_ms: self.data.duration, mode: self.data.mode, avg_pd: self.data.avgPd, source: t.source || 'device' }).then(function () { self.setData({ syncing: false, synced: true }) }).catch(function () { self.setData({ syncing: false, synced: false }) }) }, onBackHome: function () { wx.switchTab({ url: '/pages/index/index' }) } })