diff --git a/pages/town/components/information.vue b/pages/town/components/information.vue index c2967d5..50dc03f 100644 --- a/pages/town/components/information.vue +++ b/pages/town/components/information.vue @@ -29,7 +29,15 @@ /> - + @@ -83,7 +91,8 @@ export default { data() { return { webUrl: this.$VUE_APP_RESOURCES_URL, - actives: this.infoArray + actives: this.infoArray, + videoPlayers: [] } }, watch: { @@ -92,7 +101,27 @@ export default { } }, methods: { - infoItemViewClick(item) { + infoItemViewClick(item, index) { + if(item.contentType === 2) { + // const coverCtx = uni.createVideoContext('coverVideo', this) + // coverCtx.pause() + const playerId = 'video-item' + index + if(this.videoPlayers.includes(playerId)) { + this.videoPlayers.forEach(player => { + if(player === playerId) return + const playerCtx = uni.createVideoContext(player, this) + playerCtx.pause() + }) + } { + this.videoPlayers.push(playerId) + this.videoPlayers.forEach(player => { + if(player === playerId) return + const playerCtx = uni.createVideoContext(player, this) + playerCtx.pause() + }) + } + this.$emit('video') + } uni.$u.debounce(() => { watchTownActive({ id: item.id }).finally(() => { this.actives.forEach(info => { diff --git a/pages/town/index.vue b/pages/town/index.vue index a68f076..22931b8 100644 --- a/pages/town/index.vue +++ b/pages/town/index.vue @@ -5,6 +5,7 @@ - + @@ -115,6 +116,10 @@ export default { this.getActive() }, methods: { + handleVideo() { + const videoCtx = uni.createVideoContext('videoCover', this) + videoCtx.pause() + }, shareImg() { uni.showLoading() shareTown(this.id).then(res => {