uniapp(vue3版)实现app内消息提醒,类似于美团那种app推送,兼容H5与app

效果图示例:

在这里插入图片描述

功能描述:

向上拖动不到弹窗的一半 保持不变
向上拖动超过弹窗的一半 隐藏
不拖动,n秒后 自动消失

组件:

<template>
	<view class="box" v-if="data.show" :style="{ top: data.top + 'px' }">
		<view
			:class="'message ' + (data.ismsg === 'start' ? 'open' : data.ismsg === 'end' ? 'close' : data.ismsg === 'timeout' ? 'timeout': '')"
			@touchstart.stop.prevent="handleTouchStart" @touchmove.stop="handleTouchMove"
			@touchend.stop.prevent="handleTouchEnd" :style="{ transform: `translate(0px, ${data.translateY}px)` }">
			<slot></slot>
		</view>
	</view>
</template>

<script lang="ts" setup>
	import {
      reactive } from "vue"
	const handleTouchStart = (event) => {
     
		data.isModalStart = true
		data.translateY = event.target.offsetTop;
		data.tranY = event.changedTouches[0].pageY
	}
	const handleTouchMove = (event) => {
     
		// 如果向下拖动
		if (data.tranY - event.changedTouches[0].pageY <= 0) {
     
			return 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑豆1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值