2026-09-29 19:01:36 +08:00
|
|
|
const media = require('../../utils/media')
|
|
|
|
|
|
|
|
|
|
Component({
|
|
|
|
|
properties: {
|
|
|
|
|
activity: {
|
|
|
|
|
type: Object,
|
|
|
|
|
value: null
|
|
|
|
|
},
|
|
|
|
|
showPast: {
|
|
|
|
|
type: Boolean,
|
|
|
|
|
value: false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
data: {
|
|
|
|
|
poster: '',
|
|
|
|
|
video: '',
|
|
|
|
|
ended: false
|
|
|
|
|
},
|
|
|
|
|
observers: {
|
|
|
|
|
activity(activity) {
|
|
|
|
|
const item = activity || {}
|
|
|
|
|
this.setData({
|
2026-10-08 13:06:43 +08:00
|
|
|
poster: media.absUrl(item.cover || item.poster),
|
2026-09-29 19:01:36 +08:00
|
|
|
video: media.absUrl(item.video),
|
|
|
|
|
ended: item.status === 'past'
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
onMap() {
|
|
|
|
|
this.triggerEvent('map')
|
|
|
|
|
},
|
|
|
|
|
onSignup() {
|
|
|
|
|
if (!this.data.activity || this.data.ended) return
|
|
|
|
|
this.triggerEvent('signup')
|
|
|
|
|
},
|
|
|
|
|
onPast() {
|
|
|
|
|
this.triggerEvent('past')
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|