From 9e4ae356ed626e3089f31d5b40fb10a476efe7c4 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期三, 13 八月 2025 16:34:51 +0800
Subject: [PATCH] 购物车点击事件,分享视频封面问题

---
 pages/mine/activity/detail.vue |  119 ++++++++++++++++++++++++++++-------------------------------
 1 files changed, 56 insertions(+), 63 deletions(-)

diff --git a/pages/mine/activity/detail.vue b/pages/mine/activity/detail.vue
index 6b05c59..f05c52c 100644
--- a/pages/mine/activity/detail.vue
+++ b/pages/mine/activity/detail.vue
@@ -1,5 +1,5 @@
 <template>
-	<view class="container"  @touchstart="touchStart" @touchend="touchEnd">
+	<view class="container" @touchstart="touchStart" @touchend="touchEnd">
 		<!-- 椤堕儴娴锋姤鍥� -->
 		<!-- 鍔ㄦ�佸皝闈㈠尯鍩� -->
 		<view class="cover-container">
@@ -7,11 +7,11 @@
 			<block v-if="activityInfo.coverType === 'image'">
 				<image :src="activityInfo.url" class="activity-cover" />
 			</block>
-			<block v-if=" activityInfo.coverType === 'video'">
+			<block v-else-if=" activityInfo.coverType === 'video'">
 				<video :src="activityInfo.url" @play="handleVideoPlay" class="activity-cover"></video>
 			</block>
 			<!-- 鏂囧瓧绫诲瀷 -->
-			<block v-if="activityInfo.coverType === 'text'">
+			<block v-else-if="activityInfo.coverType === 'text'">
 				<view class="text-cover">
 					<text class="cover-text">{{ activityInfo.cover }}</text>
 				</view>
@@ -40,7 +40,7 @@
 					<text class="location">鏈�澶т汉鏁帮細{{ activityInfo.limitUserNum || '鏆傛棤' }}</text>
 				</view>
 				<view>
-					<text class="location">娲诲姩绫诲瀷锛歿{ activityInfo.activityType || '鏆傛棤' }}</text>
+					<text class="location">娲诲姩绫诲瀷锛歿{ activityInfo.activityType === 'online' ? '绾夸笂' : '绾夸笅' }}</text>
 				</view>
 			</view>
 			<view class="tags">
@@ -55,8 +55,8 @@
 			<rich-text :nodes="activityInfo.activityContent" class="rich-text-content"></rich-text>
 		</view>
 		<!-- 鎶ュ悕鐘舵�� -->
-		<view class="status-bar" :style="{ backgroundColor: statusBarColor }">
-			<u-button class="signup-btn" @click.stop="activityReport()"
+		<view class="status-bar">
+			<u-button type="success" class="signup-btn" @click.stop="activityReport()"
 				:disabled="reportBtn">{{ reportBtn ? '宸叉姤鍚�': '绔嬪嵆鎶ュ悕'}}</u-button>
 			<view class="collect-icon" @click.stop="collect()">
 				<u-icon :name="isCollect ? 'star-fill' : 'star'" size="52"
@@ -67,23 +67,15 @@
 </template>
 
 <script>
-	import UButton from '@/uview-components/uview-ui/components/u-button/u-button.vue';
-	import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue';
+	import '@/components/uview-components/uview-ui';
 	import {
 		changeCollect
 	} from '@/api/collect.js'
-	import {
-		getFilePreviewUrl
-	} from '@/api/common.js'
 	import {
 		getActivityDetail,
 		activityReport
 	} from '@/api/activity.js';
 	export default {
-		components: {
-			UButton,
-			UIcon,
-		},
 		data() {
 			return {
 				startX: 0,
@@ -195,7 +187,9 @@
 						this.activityInfo.startTime = res.data.data.startTime;
 						this.activityInfo.endTime = res.data.data.endTime;
 						this.activityInfo.activityLocation = res.data.data.activityLocation;
-						this.activityInfo.activityContent = '<h2>娲诲姩浠嬬粛</h2>' + res.data.data.activityContent;
+						this.activityInfo.activityContent = '<h2>娲诲姩浠嬬粛</h2>' + this.processRichText(res.data.data.activityContent);
+						
+						
 						this.activityInfo.activityType = res.data.data.activityType;
 						this.activityInfo.limitUserNum = res.data.data.limitUserNum;
 						this.reportBtn = res.data.data.isReport;
@@ -203,6 +197,26 @@
 						this.activityInfo.url = res.data.data.url;
 					}
 				})
+			},
+			// 鍦ㄨ幏鍙栧瘜鏂囨湰鏁版嵁鍚庡鐞�
+			processRichText(content) {
+			  // 澶勭悊鍥剧墖
+			  content = content.replace(/<img[^>]*>/gi, (match) => {
+			    if (!/style=['"]/.test(match)) {
+			      return match.replace(/<img/, '<img style="max-width:100% !important;height:auto !important;display:block;margin:10px auto;border-radius:8rpx;"');
+			    }
+			    return match;
+			  });
+			  
+			  // 澶勭悊瑙嗛
+			  content = content.replace(/<video[^>]*>/gi, (match) => {
+			    if (!/style=['"]/.test(match)) {
+			      return match.replace(/<video/, '<video style="max-width:100% !important;height:auto !important;display:block;margin:10px auto;"');
+			    }
+			    return match;
+			  });
+			  
+			  return content;
 			},
 			loadDetailData() {
 				//鑾峰緱璇︽儏鎺ュ彛
@@ -221,7 +235,6 @@
 		width: 100%;
 		height: 400rpx;
 		overflow: hidden;
-		background-color: #f5f5f5;
 	}
 
 	/* 鍥剧墖/瑙嗛灏侀潰鏍峰紡 */
@@ -239,12 +252,12 @@
 		display: flex;
 		align-items: center;
 		justify-content: center;
-		background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
+		// background: linear-gradient(135deg, #38a169 0%, #48bb78 100%);
 		padding: 40rpx;
 	}
 
 	.cover-text {
-		color: #fff;
+		color: #0c6343;
 		font-size: 36rpx;
 		font-weight: bold;
 		text-align: center;
@@ -295,11 +308,25 @@
 		margin-bottom: 15rpx;
 	}
 
+	/* 淇敼鍚庣殑鏍峰紡 */
 	.status-bar {
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		width: 100%;
 		display: flex;
 		align-items: center;
-		padding: 10px 15px;
+		padding: 20rpx 30rpx;
 		justify-content: space-between;
+		background-color: #fff;
+		box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.1);
+		z-index: 100;
+	}
+
+	/* 璋冩暣瀹瑰櫒搴曢儴鍐呰竟璺� */
+	.container {
+		padding-bottom: 120rpx;
 	}
 
 	.signup-btn {
@@ -355,53 +382,19 @@
 
 	.rich-text-container {
 		padding: 15px;
+		overflow: hidden;
+		/* 闃叉鍐呭婧㈠嚭 */
 	}
 
 	.rich-text-content {
+		width: 100%;
+		max-width: 100%;  /* 闄愬埗鏈�澶у搴� */
 		line-height: 1.6;
 		color: #333;
-		font-size: 16px;
-	}
-
-	.rich-text-content img {
-		max-width: 100%;
-		height: auto;
-		display: block;
-		margin: 10px auto;
-	}
-
-	.rich-text-content video {
-		max-width: 100%;
-		height: auto;
-		display: block;
-		margin: 10px auto;
-	}
-
-	.rich-text-content p {
-		margin-bottom: 10px;
-	}
-
-	.rich-text-content h1,
-	.rich-text-content h2,
-	.rich-text-content h3,
-	.rich-text-content h4 {
-		margin: 20px 0 10px;
-		color: #222;
-	}
-
-	.rich-text-content h1 {
-		font-size: 24px;
-	}
-
-	.rich-text-content h2 {
-		font-size: 22px;
-	}
-
-	.rich-text-content h3 {
-		font-size: 20px;
-	}
-
-	.rich-text-content h4 {
-		font-size: 18px;
+		font-size: 28rpx;
+		word-wrap: break-word;
+		/* 闀垮崟璇嶆崲琛� */
+		overflow: hidden;
+		/* 闅愯棌婧㈠嚭鍐呭 */
 	}
 </style>
\ No newline at end of file

--
Gitblit v1.8.0