var http = require('../../utils/request') var ble = require('../../services/ble') var app = getApp() Page({ data: { sessionId: '', regions: 0, duration: 0, avgPd: 0, durationText: '', regionNames: [], syncing: false, synced: false }, onLoad: function (options) { var durationMs = parseInt(options.duration) || 0 var mins = Math.floor(durationMs / 60000) var secs = Math.floor((durationMs % 60000) / 1000) var durationText = '' if (mins > 0) { durationText = mins + '分钟' } else { durationText = secs + '秒' } this.setData({ sessionId: options.session_id || '', regions: parseInt(options.regions) || 0, duration: durationMs, avgPd: options.avg_pd || 0, durationText: durationText, regionNames: ble.getRegionName(parseInt(options.regions) || 0) }) this.syncRecord() }, syncRecord: function () { var self = this self.setData({ syncing: true }) http.post('/api/v1/treatment/sync', { session_id: self.data.sessionId, device_id: ble.getDeviceId(), start_time: new Date(Date.now() - self.data.duration).toISOString(), end_time: new Date().toISOString(), regions: self.data.regions, total_duration_ms: self.data.duration, mode: 0, avg_pd: self.data.avgPd }).then(function () { self.setData({ syncing: false, synced: true }) }).catch(function () { self.setData({ syncing: false, synced: false }) }) }, onBackHome: function () { wx.switchTab({ url: '/pages/index/index' }) } })