const api = require('../../utils/api') const authUtil = require('../../utils/auth') const activityUtil = require('../../utils/activity') Page({ data: { activity: null, failed: false, signupOpen: false }, onLoad(query) { authUtil.captureSharer(query) this.activityId = (query && query.id) || '' wx.showShareMenu({ menus: ['shareAppMessage'] }) this.loadActivity() }, loadActivity() { if (!this.activityId) { this.setData({ failed: true }) return } api .activity(this.activityId) .then((activity) => { this.setData({ activity: activity, failed: false }) if (activity && activity.title) wx.setNavigationBarTitle({ title: activity.title }) }) .catch((error) => { this.setData({ failed: true }) activityUtil.toast(error) }) }, openMap() { activityUtil.openMap(this.data.activity) }, openSignup() { if (!this.data.activity || this.data.activity.status === 'past') return this.setData({ signupOpen: true }) }, closeSignup() { this.setData({ signupOpen: false }) }, goHome() { wx.switchTab({ url: '/pages/index/index' }) }, onShareAppMessage() { return activityUtil.shareMessage(this.data.activity, this.activityId) } })