const app = getApp(); const svc = require('../../services/exercise'); Page({ data: { statusBarHeight: 20, id: '', exercise: null, related: [], loading: true }, onLoad(query) { const id = query.id || ''; this.setData({ statusBarHeight: app.globalData.statusBarHeight || 20, id }); this.load(); }, load() { this.setData({ loading: true }); svc.getExercise(this.data.id).then((ex) => { this.setData({ exercise: ex, loading: false }); if (ex && ex.target) { svc.listExercises({ target: ex.target, pageSize: 6 }).then((res) => { const related = ((res && res.items) || []) .filter(i => i.id !== ex.id) .slice(0, 6); this.setData({ related }); }).catch(() => {}); } }).catch(() => { this.setData({ loading: false }); }); }, onAdd() { wx.showToast({ title: '已加入今日训练', icon: 'success' }); }, onBack() { const pages = getCurrentPages(); if (pages.length > 1) { wx.navigateBack(); } else { wx.reLaunch({ url: '/pages/index/index' }); } }, onExercise(e) { wx.navigateTo({ url: '/pages/detail/detail?id=' + encodeURIComponent(e.detail.id) }); }, onShareAppMessage() { const ex = this.data.exercise || {}; return { title: ex.name ? ('FITCOACH · ' + ex.name) : 'FITCOACH 智能健身教练', path: '/pages/detail/detail?id=' + this.data.id }; }, onShareTimeline() { return { title: 'FITCOACH · 精准训练推荐', query: 'id=' + this.data.id }; } });