فهرست منبع

心情页面样式开发

tanxue 3 هفته پیش
والد
کامیت
87aed1bf8b
3فایلهای تغییر یافته به همراه67 افزوده شده و 48 حذف شده
  1. 17 14
      common/styles/global/pages.scss
  2. 8 8
      pages/zhuanti/index.vue
  3. 42 26
      pages/zhuanti/zhuantiInfo.vue

+ 17 - 14
common/styles/global/pages.scss

@@ -1434,14 +1434,12 @@
 	@include ezy-no-repeat-cover(bottom);background-image: url("@/static/images/zhuanti/zhuanti-bj.png");
 	.biaoqing-bj-box{
 		position: relative;box-sizing: border-box;padding-top: calc(var(--status-bar-height) + 300rpx);
-		// item
 		.qipao-item-box{width: 125rpx;height: 160rpx;@include ezy-no-repeat-cover;position: absolute;}
 		.qipao-item-box:nth-child(1){top: calc(var(--status-bar-height) + 260rpx);left: 20rpx;}
 		.qipao-item-box:nth-child(2){top: calc(var(--status-bar-height) + 120rpx);left: 160rpx;}
 		.qipao-item-box:nth-child(3){top: calc(var(--status-bar-height) + 130rpx);left: 330rpx;}
 		.qipao-item-box:nth-child(4){top: calc(var(--status-bar-height) + 140rpx);right: 120rpx;}
 		.qipao-item-box:nth-child(5){top: calc(var(--status-bar-height) + 350rpx);right: 20rpx;}
-		// item-disabled
 		.qipao-item-disabled{animation: fadeOut 1s forwards;}
 		@keyframes fadeOut {
 		    from {opacity: 1;}
@@ -1470,26 +1468,31 @@
 		}
 	}
 	
-	.biaoqing-bj1{
-		.biaoqing-img,.show-biaoqing-icon{background-image: url("@/static/images/zhuanti/biaoqing-icon1.png");}
-	}
+	.biaoqing-bj1 .biaoqing-img,.biaoqing-bj1 .show-biaoqing-icon{background-image: url("@/static/images/zhuanti/biaoqing-icon1.png");}
+	.biaoqing-bj2 .biaoqing-img,.biaoqing-bj2 .show-biaoqing-icon{background-image: url("@/static/images/zhuanti/biaoqing-icon2.png");}
+	.biaoqing-bj3 .biaoqing-img,.biaoqing-bj3 .show-biaoqing-icon{background-image: url("@/static/images/zhuanti/biaoqing-icon3.png");}
+	.biaoqing-bj4 .biaoqing-img,.biaoqing-bj4 .show-biaoqing-icon{background-image: url("@/static/images/zhuanti/biaoqing-icon4.png");}
+	.biaoqing-bj5 .biaoqing-img,.biaoqing-bj5 .show-biaoqing-icon{background-image: url("@/static/images/zhuanti/biaoqing-icon5.png");}
+	.biaoqing-bj6 .biaoqing-img,.biaoqing-bj6 .show-biaoqing-icon{background-image: url("@/static/images/zhuanti/biaoqing-icon6.png");}
+	.biaoqing-bj7 .biaoqing-img,.biaoqing-bj7 .show-biaoqing-icon{background-image: url("@/static/images/zhuanti/biaoqing-icon7.png");}
+	.biaoqing-bj8 .biaoqing-img,.biaoqing-bj8 .show-biaoqing-icon{background-image: url("@/static/images/zhuanti/biaoqing-icon8.png");}
 	
 	
-	// maike
-	.maike-anzhu,.maike-songkai{
-		width: 100%;text-align:center;
-	}
-	.maike-songkai::after{
-		content: '';width: 673rpx;height: 115rpx;@include ezy-no-repeat-cover;
-		background-image: url("@/static/images/zhuanti/yinbo.gif");
-	}
+	.maike-anzhu,.maike-songkai{width: 100%;text-align:center;margin-top: 36rpx;}
 	.maike-box{
 		width: 125rpx;height: 125rpx;@include ezy-no-repeat-cover;
 		display: flex;align-items: center;justify-content: center;
 		background-image: url("@/static/images/zhuanti/qipao-bj.png");
-		margin:0 auto;
+		margin:0 auto;position: relative;
 		.maike-icon{width: 58rpx;height: 87rpx;@include ezy-no-repeat-cover;
 		background-image: url("@/static/images/zhuanti/maike-icon.png");}
 	}
+	.maike-songkai .maike-box::after{
+		content: '';width: 673rpx;height: 115rpx;display: block;@include ezy-no-repeat-cover;
+		background-image: url("@/static/images/zhuanti/yinbo.gif");position: absolute;
+	}
 	.maike-text{color: #fff;font-size: 24rpx;}
+	
+	
+	// 适配待完成
 }

+ 8 - 8
pages/zhuanti/index.vue

@@ -36,35 +36,35 @@
 	const biaoqingList = ref(
 		[{
 				name: '开心',
-				type: 'kaixin'
+				type: 1
 			},
 			{
 				name: '愤怒',
-				type: 'fennu'
+				type: 2
 			},
 			{
 				name: '悲伤',
-				type: 'beishang'
+				type: 3
 			},
 			{
 				name: '害怕',
-				type: 'haipa'
+				type: 4
 			},
 			{
 				name: '得意',
-				type: 'deyi'
+				type: 5
 			},
 			{
 				name: '嫉妒',
-				type: 'jidu'
+				type: 6
 			},
 			{
 				name: '压抑',
-				type: 'yayi'
+				type: 7
 			},
 			{
 				name: '抱怨',
-				type: 'baoyuan'
+				type: 8
 			}
 		]
 

+ 42 - 26
pages/zhuanti/zhuantiInfo.vue

@@ -1,23 +1,28 @@
 <template>
-	<view>
-		<view class="icon-title-navBar-box">
-			<view @click="goUpPage" class="nav-bar-icon"></view>
-			<text class="nav-bar-title">详情</text>
-		</view>
-		<view>
-			<view v-if="[1,2,3,4,5,6,7,8].includes(type)">
-				<img :src="'img'+type" alt="">
+	<view class="ezy-biaoqing-page">
+		<view class="ezy-nav-bar-icon" @click="goUpPage"></view>
+		<view class="biaoqing-bj-box" :class="'biaoqing-bj'+ type">
+			<view v-for="(item, index) in bubbles" :key="index" 
+			class="qipao-item-box" :class="{ 'qipao-item-disabled': item.disabled }" @click="qipaoBtn(index)" >
+				<view :class="item.iconType"></view>
+				<view class="show-biaoqing-icon"></view>
+				<view class="qipao-text-row">
+					<text>可扎破</text>
+					<icon class="shou-icon"></icon>
+				</view>
 			</view>
-			<view @touchstart="handleTouchStart" @touchend="handleTouchEnd" @touchcancel="handleTouchCancel"
-				@touchmove="handleTouchMove" :class="[buttonState]">
-				{{ buttonText }}
+			<view class="biaoqing-img"></view>
+		</view>
+		<view :class="maikeType">
+			<view class="maike-box" @touchstart="handleTouchStart" @touchend="handleTouchEnd" @touchcancel="handleTouchCancel"
+				@touchmove="handleTouchMove">
+				<icon class="maike-icon"></icon>
 			</view>
-
-			<!-- 取消提示层 -->
-			<view v-if="showCancel" class="cancel-tip">松开取消</view>
+			<text class="maike-text" v-if="maikeType =='maike-anzhu'">{{ buttonText }}</text>
+			<text class="maike-text" v-if="maikeType =='maike-songkai'">{{ buttonText }}</text>
 		</view>
-
-		<!-- 	<CustomTabBar  :currentTabNumber="1"></CustomTabBar> -->
+		
+		<CustomTabBar  :currentTabNumber="1"></CustomTabBar>
 	</view>
 
 </template>
@@ -42,16 +47,16 @@
 	import {
 		onLoad
 	} from '@dcloudio/uni-app';
+	const maikeType = ref('maike-anzhu');
+	// 定义气泡数据状态
+	const bubbles = reactive(
+	  Array.from({ length: 5 }, () => ({
+		disabled: false, // 是否破裂
+	    iconType: "qipao-mask",//mask
+	  }))
+	);
 	const type = ref(null);
 	const showIcon = ref(null);
-	const img1 = ref(null);
-	const img2 = ref(null);
-	const img3 = ref(null);
-	const img4 = ref(null);
-	const img5 = ref(null);
-	const img6 = ref(null);
-	const img7 = ref(null);
-	const img8 = ref(null);
 	const isPressing = ref(false); // 是否正在按压
 	const isCancelled = ref(false); // 是否已取消
 	const touchPos = ref({
@@ -62,6 +67,15 @@
 		console.log('opt', options);
 		type.value = options.type
 	})
+	
+	// 点击气泡
+	function qipaoBtn(index) {
+	  bubbles[index].disabled = true;
+	  bubbles[index].iconType = "polie-qipao-mask"; 
+	  // wgy看这↓ 在这里播放mp3,时间一秒及删除接口
+	  
+	}
+	
 	// 按钮状态计算
 	const buttonState = computed(() => {
 		if (isCancelled.value) return 'cancelled';
@@ -71,7 +85,7 @@
 	// 按钮文本
 	const buttonText = computed(() => {
 		if (isCancelled.value) return '已取消';
-		return isPressing.value ? '松开结束' : '按住开始';
+		return isPressing.value ? '松开发送' : '按住说话';
 	});
 
 	// 是否显示取消提示
@@ -90,6 +104,7 @@
 
 		// 这里触发开始逻辑(如开始录音)
 		console.log('操作开始');
+		maikeType.value = 'maike-songkai';
 	};
 
 	// 触摸结束
@@ -98,13 +113,14 @@
 			// 正常结束逻辑
 			console.log('操作完成');
 		}
-
+		maikeType.value = 'maike-anzhu';
 		resetState();
 	};
 
 	// 触摸取消
 	const handleTouchCancel = () => {
 		isCancelled.value = true;
+		maikeType.value = 'maike-songkai';
 		resetState();
 		console.log('操作取消');
 	};