2026-09-29 19:01:36 +08:00
|
|
|
const api = require('../../utils/api')
|
|
|
|
|
const authUtil = require('../../utils/auth')
|
|
|
|
|
const activityUtil = require('../../utils/activity')
|
|
|
|
|
|
|
|
|
|
Page({
|
|
|
|
|
data: {
|
|
|
|
|
activity: null,
|
2026-10-08 13:06:43 +08:00
|
|
|
failed: false,
|
|
|
|
|
signupOpen: false
|
2026-09-29 19:01:36 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
},
|
|
|
|
|
|
2026-10-08 13:06:43 +08:00
|
|
|
openSignup() {
|
|
|
|
|
if (!this.data.activity || this.data.activity.status === 'past') return
|
|
|
|
|
this.setData({ signupOpen: true })
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
closeSignup() {
|
|
|
|
|
this.setData({ signupOpen: false })
|
2026-09-29 19:01:36 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
goHome() {
|
|
|
|
|
wx.switchTab({ url: '/pages/index/index' })
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onShareAppMessage() {
|
|
|
|
|
return activityUtil.shareMessage(this.data.activity, this.activityId)
|
|
|
|
|
}
|
|
|
|
|
})
|