首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

HarmonyOS实战—实现抖音点赞和取消点赞效果

双击点赞 和 双击取消点赞 如:在抖音中双击屏幕之后就可以点赞,小红心就会变亮 [在这里插入图片描述] 把白色和红色的心形图片复制到 media 下 [在这里插入图片描述] [在这里插入图片描述] 需要图片的可以自取...,下面白色图片由于没有背景,所以显示的是白色的,下载后鼠标点击就能看见了 [请添加图片描述] [请添加图片描述] 因为要双击屏幕才能点赞,所以还要给布局组件id 代码实现: ability_main 的业务去实现呢? 业务分析: 双击屏幕之后点赞。(上面已实现),再次双击屏幕之后,不会取消点赞,只有点击后红心之后才能取消点赞。...单击红心也可以点赞,再次单击红心就会取消点赞 实现思路: 给最外层的布局添加双击事件,双击之后点赞,变成红色心。 如果已经被点赞,那么还是修改为红色心,相当于不做任何处理。 给图片添加单击事件。...代码实现: 上面布局文件不变,MainAbilitySlice 如下: 给布局添加双击事件,因为再次双击不会取消点赞,所以把else代码里设置为红色后就把 flag 取反去掉,就不会出现再次双击取消点赞了

2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Redis实现点赞取消点赞

    点赞功能在很多系统中都有,但别看功能小,想要做好需要考虑的东西还挺多的。 点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存。...项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...下面来对这5种数据结构类型作简单的介绍: 1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数...因为 Hash 里的数据都是存在一个键里,可以通过这个键很方便的把所有的点赞数据都取出。这个键里面的数据还可以存成键值对的形式,方便存入点赞人、被点赞人和点赞状态。...设点赞人的 id 为 likedPostId,被点赞人的 id 为 likedUserId ,点赞时状态为 1,取消点赞状态为 0。

    3.1K31

    Redis是如何实现点赞、取消点赞的?

    点赞功能在很多系统中都有,但别看功能小,想要做好需要考虑的东西还挺多的。 点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存。...项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数。...因为 Hash 里的数据都是存在一个键里,可以通过这个键很方便的把所有的点赞数据都取出。这个键里面的数据还可以存成键值对的形式,方便存入点赞人、被点赞人和点赞状态。...以上就是点赞功能的设计与实现,不足之处还请各位大佬多多指教。

    3.3K50

    Redis是如何实现点赞、取消点赞的?

    点赞功能在很多系统中都有,但别看功能小,想要做好需要考虑的东西还挺多的。 点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存。...项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...下面来对这5种数据结构类型作简单的介绍: 1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数...因为 Hash 里的数据都是存在一个键里,可以通过这个键很方便的把所有的点赞数据都取出。这个键里面的数据还可以存成键值对的形式,方便存入点赞人、被点赞人和点赞状态。...以上就是点赞功能的设计与实现,不足之处还请各位大佬多多指教。

    2.5K20

    Redis 是如何实现点赞、取消点赞的?

    领读: 点赞是个频率比较高的事件,也不是特别重要的记录,使用缓存来存储还是比较合理的,另外像排行榜、热议等都可以使用缓存,先来看看点赞是如何实现的吧,详细代码可以clone看下哈,跟紧脚步,学技术~ -...点赞功能在很多系统中都有,但别看功能小,想要做好需要考虑的东西还挺多的。 点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存。...项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数。...以上就是点赞功能的设计与实现,不足之处还请各位大佬多多指教。

    7K64

    Redis是如何实现点赞、取消点赞的?

    点赞功能在很多系统中都有,但别看功能小,想要做好需要考虑的东西还挺多的。 点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存。...项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数。...因为 Hash 里的数据都是存在一个键里,可以通过这个键很方便的把所有的点赞数据都取出。这个键里面的数据还可以存成键值对的形式,方便存入点赞人、被点赞人和点赞状态。...以上就是点赞功能的设计与实现,不足之处还请各位大佬多多指教。 如有更好的实现方案欢迎在评论区交流…

    2.6K20

    Redis 是如何实现点赞、取消点赞的?

    点赞功能在很多系统中都有,但别看功能小,想要做好需要考虑的东西还挺多的。 点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存。...项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数。...因为 Hash 里的数据都是存在一个键里,可以通过这个键很方便的把所有的点赞数据都取出。这个键里面的数据还可以存成键值对的形式,方便存入点赞人、被点赞人和点赞状态。...以上就是点赞功能的设计与实现,不足之处还请各位大佬多多指教。

    2.9K10

    使用 Redis 如何实现点赞,取消点赞呢?

    点赞功能在很多系统中都有,但别看功能小,想要做好需要考虑的东西还挺多的。 点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存。...项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数。...因为 Hash 里的数据都是存在一个键里,可以通过这个键很方便的把所有的点赞数据都取出。这个键里面的数据还可以存成键值对的形式,方便存入点赞人、被点赞人和点赞状态。...以上就是点赞功能的设计与实现,不足之处还请各位大佬多多指教。 如有更好的实现方案欢迎在评论区交流… 代码出自开源项目 CodeRiver,致力于打造全平台型全栈精品开源项目。

    2.3K20

    Auto.js实现视频号点赞自动化

    给大家分享一个自动化点赞视频号的功能,仅供大家学习参考,请勿滥用! 基本实现思路: 1. 找到点赞图标和点赞数量的父容器A; 2. 通过父容器A找到点赞图标的可点击对象B; 3....通过父容器A找到点赞的数量C; 4....点击可点击对象B进行点赞; 正常来说,上面的操作已经完成了我们想要的功能,但是可能会因为人为的滑屏,将已经点赞了再次点击,变为了取消赞,所以要做下面的操作: 5....再次通过父容器A找到点赞数量D; 6. 比较点赞前的点赞数量C与点赞后的点赞数量D,如果数量C大于数量D说明之前取消了点赞,再次点击可点击对象B补回点赞; 7....滑屏循环上面的操作; 以下是代码实现: function goodClick(){ // 点赞的容器 let goodBox = id("com.tencent.mm:id/a2s")

    1.6K10

    利用 leanCloud 实现点赞功能

    点赞功能 社交平台的必备良药,谁谁谁什么时候给你点了个赞,点赞什么的貌似已经深入人心了。...之前在 @火喵酱 的博客页面有看到说想用 leancloud 实现 do you like me 的点赞功能,之前没接触 leancloud 的 SDK 不知道咋搞,后来就不了了之,然后因为最近做了 valine...的最新评论排行,所以借这个风顺便来做个点赞功能~ 点赞按钮 实践操作 和 valine 最新评论一样,首先需要引入 sdk 并初始化完成化后接入具体实现的代码即可(这个就不说了,上篇笔记里有写的) 实现思路...这里再聊下思路,一般做点赞功能都是在本地点击计数之后再把数据上传到云端服务器,访问页面的时候直接根据页面拉取对应的数据填充即可。...=undefined){ //.. } 其他 以上代码写入 SDK 初始化后运行就可以正常获取不同页面的点赞次数了,数据创建后会在 leancloud 控制台显示,如下 其实拿到信息还可以通过点赞数量创建热门文章

    14110

    Js 实现 marquee 效果

    使用RequestAnimationFrame,核心部分就是利用transformX实现位移 Js 逻辑写的比较挫,还要想想怎么改进,或者有更好的思路。...marquee的要求是两段文字的间隔能人为的控制,所以用了两个重复的p标签。...然后就是如何计算第一个p标签和第二个p标签移出了可视区域,可视区域不一定是屏幕宽度,可能是一个div设置了width和overflow实现的。 另外就是从左往右以及从右往左的区别。...利用倍数来计算, 实际文字的宽度 / 可视区域的宽度得到3、3.5、4之类的一个倍数,用这个倍数和 目前正在变化时拿到的translateX的值 / 可视区域的宽度 假设是3倍,那么第二步计算出的值如果正好是...3,说明文字的末尾已经出现在‘可视区域’,此时➕一个系数x,就可以实现两段文字的间隔(x按照实际想要的间隔自行设置)。

    8.1K20
    领券