From 683ba718efa29097c12f1e588839145417ae487f Mon Sep 17 00:00:00 2001
From: Jacob <hlnie@tohours.com>
Date: 星期二, 13 十月 2026 16:00:45 +0800
Subject: [PATCH] Merge branch 'master' into sit

---
 pages/zone/index.vue |   97 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 97 insertions(+), 0 deletions(-)

diff --git a/pages/zone/index.vue b/pages/zone/index.vue
index 0ce7a0d..df47626 100644
--- a/pages/zone/index.vue
+++ b/pages/zone/index.vue
@@ -14,6 +14,9 @@
 		<view :style="{ height: marTop + 'px' }"></view>
 		<yueyangZone ref=yueyangZoneRef v-if="isYueyangZone" :zoneInfo="info" :careBeanRate="careBeanRate"
 			style="position: relative;z-index: 2;" @goLottery="goLottery" :relationKey="relationKey"></yueyangZone>
+		<view v-if="isYueyangZone" class="detail-btn" @click="goDetail">
+			<text>娑堣�楁槑缁�</text>
+		</view>
 		<view v-else>
 			<view class="expireTime" v-if="expireTime && expireTime.length">
 				<text>涓撳尯灏嗗湪</text>
@@ -24,6 +27,24 @@
 			</view>
 			<view class="head_img">
 				<image :src="info.image"></image>
+			</view>
+			<view v-if="info.zoneType == 8 && info.info" class="rich-content">
+				<rich-text :nodes="info.info"></rich-text>
+			</view>
+			<view v-if="info.zoneType == 8 && info.uploadVideo" class="video-wrap">
+				<view v-show="!videoControls" style="width:100%;height:750rpx">
+					<video id="zoneVideo" :src='info.uploadVideo' objectFit="contain" controls
+						style="width:100%;height:100%" show-center-play-btn="true" show-mute-btn="true" muted="true"
+						show-fullscreen-btn="true" auto-pause-if-navigate :custom-cache="false"
+						:enable-progress-gesture="true" show-progress="false"
+						:poster="info.uploadVideoImg || info.image" @pause="zoneVideoPause"></video>
+				</view>
+				<view class="video-poster" v-show="videoControls">
+					<image class="image" :src="info.uploadVideoImg || info.image"></image>
+				</view>
+				<view class="video-stop" v-show="videoControls" @tap="bindZoneVideoPlay">
+					<image class="image" src="https://ossacmall.bluedeer.com.cn/app/static/images/stop.png"></image>
+				</view>
 			</view>
 			<view class="tag-wrap-container" :style="'top:' + (marTop) + 'px;'" v-if="info.zoneType == 7">
 				<view class="tag-wrap">
@@ -596,6 +617,8 @@
 			isYueyangZone: false,
 			isOpen: false, // 榛樿鏀惰捣锛宖alse鏀惰捣/true灞曞紑
 			currentIndex: -1, // 榛樿閫変腑绗竴涓�愬叏閮ㄣ��
+			videoControls: true, // 涓撳尯娲诲姩瑙嗛鏄惁鏄剧ず娴锋姤+鎾斁鎸夐挳
+			zoneVideoContext: '', // 娲诲姩瑙嗛鎾斁涓婁笅鏂�
 			partitionList: [],
 			partitionProject: {},
 			tagList: [],
@@ -835,6 +858,17 @@
 		}
 	},
 	methods: {
+		/**
+		 * 涓撳尯娲诲姩瑙嗛锛氱偣鍑绘捣鎶ユ挱鏀炬寜閽悗鎾斁
+		 */
+		bindZoneVideoPlay() {
+			if (!this.zoneVideoContext) {
+				this.zoneVideoContext = uni.createVideoContext('zoneVideo', this);
+			}
+			this.$set(this, 'videoControls', false);
+			this.zoneVideoContext.play();
+		},
+		zoneVideoPause() { },
 		handleCouponRule() {
 			this.$refs.personalAndShareCouponRuleRef.show(this.info.ruleContentText)
 		},
@@ -1195,6 +1229,11 @@
 				// that.myCareBean = res2.data.totalCareBeans;
 			});
 		},
+		goDetail() {
+			uni.navigateTo({
+				url: '/pages/consumption/index?zoneId=' + this.info.id
+			})
+		},
 		goLottery() {
 			let that = this;
 			var data = {
@@ -1445,6 +1484,7 @@
 			console.log('涓撳尯璇︽儏鍏ュ弬锛氾細', params)
 			getZoneDetail(that.id, params).then(res => {
 				that.info = res.data;
+				//that.info.zoneType=8;
 				that.updateZoneShareMenu();
 				if (res.data.zoneType == 6) {
 					that.setYueyangZone()
@@ -1836,6 +1876,21 @@
 	transform: translate(0, -50%);
 }
 
+.detail-btn {
+	border: 2rpx solid #fff;
+	border-top-left-radius: 20rpx;
+	border-bottom-left-radius: 20rpx;
+	padding: 10rpx;
+	background-color: #daf2b2;
+	color: #1e984f;
+	width: 50rpx;
+	position: fixed;
+	top: 200rpx;
+	right: 0rpx;
+	line-height: 1rem;
+	z-index: 99;
+}
+
 .head_img {
 	width: 750rpx;
 	height: 422rpx;
@@ -1846,6 +1901,48 @@
 	}
 }
 
+.rich-content {
+	padding: 24rpx 30rpx;
+	background-color: #fff;
+}
+
+.video-wrap {
+	position: relative;
+	width: 100%;
+	height: 750rpx;
+	background-color: #000;
+}
+
+.video-wrap .video-poster {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 750rpx;
+	z-index: 9;
+}
+
+.video-wrap .video-poster .image {
+	width: 100%;
+	height: 100%;
+}
+
+.video-wrap .video-stop {
+	position: absolute;
+	top: 50%;
+	left: 50%;
+	width: 136rpx;
+	height: 136rpx;
+	margin-top: -68rpx;
+	margin-left: -68rpx;
+	z-index: 9;
+}
+
+.video-wrap .video-stop .image {
+	width: 100%;
+	height: 100%;
+}
+
 .toolbarList {
 	width: 750rpx;
 	position: -webkit-sticky;

--
Gitblit v1.4.0