uniApp实现点赞动画效果

基于 uniapp+vue3组合式API+animation对象实现

<template>
	<view class="like-wrapper">
		<view class="icon" @click="handlelike">
			<image src="../../static/icon/点赞.svg" mode=""></image>
		</view>
		<view class="content" :animation="animationData" >
			+1
		</view>
	</view>
	
</template>

<script setup>
import { reactive, onMounted, onUnmounted, ref } from 'vue'
const animationData = ref({})
const animation = ref(null)

const handlelike = () => {
	// 实现点赞动画效果
	if (animation.value) {
		animation.value.translateY(-90).opacity(1).step({
			duration: 400
		});
		// 导出动画数据传递给组件的animation属性
		animationData.value = animation.value.export();
		// 还原动画
		setTimeout(()=>{
			animation.value.translateY(0).opacity(0).step({
				duration: 0
			});
			animationData.value = animation.value.export();
		},500)
	}
};

onMounted(() => {
	// 创建动画实例
	animation.value = uni.createAnimation();
	
});
onUnmounted(()=>{
	animationData.value = {}
});
</script>

<style lang="less">
	.like-wrapper{
		width: 100%;
		display: flex;
		justify-content: center;
		flex-direction: column;
		align-items: center;
		margin-top: 20upx;
		image{
			width: 150upx;
			height: 150upx;
		}
		.content{
			font-weight: 700;
			font-size: 20px;
			color: #ff0000;
			opacity: 0;
		}
	}
</style>

效果图

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!实现点赞和评论功能可以使用Spring Boot作为后端框架,Redis作为缓存数据库,MySQL作为持久化数据库,UniApp作为前端框架。以下是一个简单的实现步骤: 1. 创建Spring Boot项目并配置MySQL和Redis的连接。 2. 创建实体类,如User、Post等,用于表示用户和帖子。 3. 创建MySQL数据库表,包括用户表和帖子表。 4. 使用Spring Data JPA或MyBatis等框架进行数据库操作,实现用户和帖子的增删改查功能。 5. 在帖子表中添加字段用于存储点赞数和评论数。 6. 在后端编写点赞和评论的接口,分别处理点赞和评论的业务逻辑。 - 点赞接口可以接收用户ID和帖子ID,将点赞数加一,并更新数据库。 - 评论接口可以接收用户ID、帖子ID和评论内容,将评论数加一,并将评论保存到数据库。 7. 使用Redis进行缓存,可以将点赞数和评论数存储在Redis中,以提高访问速度。 - 在点赞接口中,先查询Redis中是否存在点赞数,如果存在则直接返回;否则从数据库中查询并存储到Redis中。 - 在评论接口中,同样先查询Redis中是否存在评论数,如果存在则直接返回;否则从数据库中查询并存储到Redis中。 8. 在UniApp中使用Vue.js等技术进行前端开发,调用后端提供的接口实现点赞和评论的功能。 - 在页面中展示帖子列表,并显示点赞数和评论数。 - 点击点赞按钮时,调用后端的点赞接口,并更新页面上的点赞数。 - 点击评论按钮时,调用后端的评论接口,并更新页面上的评论数。 以上是一个简单的实现方案,具体的细节还需要根据你的实际需求进行调整和完善。希望对你有所帮助!如有更多问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值