项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...文章分四部分介绍: Redis 缓存设计及实现 数据库设计 数据库操作 开启定时任务持久化存储到数据库 一、Redis 缓存设计及实现 1.1 Redis 安装及运行 Redis 安装请自行查阅相关教程...1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数。...id,点赞用户id,点赞状态。...以上就是点赞功能的设计与实现,不足之处还请各位大佬多多指教。 如有更好的实现方案欢迎在评论区交流… 代码出自开源项目 CodeRiver,致力于打造全平台型全栈精品开源项目。
项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...文章分四部分介绍: Redis 缓存设计及实现 数据库设计 数据库操作 开启定时任务持久化存储到数据库 一、Redis 缓存设计及实现 1.1 Redis 安装及运行 Redis 安装请自行查阅相关教程...1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数。...id,点赞用户id,点赞状态。...以上就是点赞功能的设计与实现,不足之处还请各位大佬多多指教。
项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...文章分四部分介绍: Redis 缓存设计及实现 数据库设计 数据库操作 开启定时任务持久化存储到数据库 一、Redis 缓存设计及实现 1.1 Redis 安装及运行 Redis 安装请自行查阅相关教程...1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数。...id,点赞用户id,点赞状态。...以上就是点赞功能的设计与实现,不足之处还请各位大佬多多指教。 如有更好的实现方案欢迎在评论区交流…
项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...文章分四部分介绍: Redis 缓存设计及实现 数据库设计 数据库操作 开启定时任务持久化存储到数据库 一、Redis 缓存设计及实现 1.1 Redis 安装及运行 Redis 安装请自行查阅相关教程...由于需要记录点赞人和被点赞人,还有点赞状态(点赞、取消点赞),还要固定时间间隔取出 Redis 中所有点赞数据,分析了下 Redis 数据格式中 Hash 最合适。...id,点赞用户id,点赞状态。...以上就是点赞功能的设计与实现,不足之处还请各位大佬多多指教。
领读: 点赞是个频率比较高的事件,也不是特别重要的记录,使用缓存来存储还是比较合理的,另外像排行榜、热议等都可以使用缓存,先来看看点赞是如何实现的吧,详细代码可以clone看下哈,跟紧脚步,学技术~ -...项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...文章分四部分介绍: Redis 缓存设计及实现 数据库设计 数据库操作 开启定时任务持久化存储到数据库 一、Redis 缓存设计及实现 1.1 Redis 安装及运行 Redis 安装请自行查阅相关教程...id,点赞用户 id,点赞状态。...以上就是点赞功能的设计与实现,不足之处还请各位大佬多多指教。
项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...文章分四部分介绍: Redis 缓存设计及实现 数据库设计 数据库操作 开启定时任务持久化存储到数据库 一、Redis 缓存设计及实现 1.1 Redis 安装及运行 Redis 安装请自行查阅相关教程...1.4 点赞数据在 Redis 中的存储格式 用 Redis 存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数。...id,点赞用户 id,点赞状态。...以上就是点赞功能的设计与实现,不足之处还请各位大佬多多指教。
项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。...文章分四部分介绍: Redis 缓存设计及实现 数据库设计 数据库操作 开启定时任务持久化存储到数据库 一、Redis 缓存设计及实现 1.1 Redis 安装及运行 Redis 安装请自行查阅相关教程...由于需要记录点赞人和被点赞人,还有点赞状态(点赞、取消点赞),还要固定时间间隔取出 Redis 中所有点赞数据,分析了下 Redis 数据格式中 Hash 最合适。...设点赞人的 id 为 likedPostId,被点赞人的 id 为 likedUserId ,点赞时状态为 1,取消点赞状态为 0。...id,点赞用户id,点赞状态。
最近在学脚本开发,今天终于有小有所成,写了一个微信视频号自动点赞的功能,以下是代码实现,特此记录。...function goodClick(){ // 点赞的容器 let goodBox = id("com.tencent.mm:id/a2s").findOne(); //...点赞的图标 let goodIcon = goodBox.children().findOne(id("com.tencent.mm:id/f1x")); // 点击的范围 let...:id/fnp")); // 点赞前文字 let num1 = goodNum1.text() - 0; // 开始来点赞 obj.click(); sleep...// 点赞后文字 let num2 = goodNum2.text() - 0; // 如果取消赞 if(num1>num2){ // 补回点赞
最近在学脚本开发,今天终于有小有所成,写了一个朋友圈自动点赞的功能,以下是代码实现,特此记录。...// 单个页面点击 function pageClick(){ // 整个页面"两点"集合 var twoDotList = id("com.tencent.mm:id/ik").find...(); // 循环操作每个"两点" twoDotList.forEach(item => { // 点击"两点" item.click();...// 等待"赞"出现 sleep(1500); // 获取"赞"控件 var good = text("赞").findOnce();...if(good){ // 获取"赞"父控件 var goodParent = good.parent(); goodParent.click
概述: 利用AccessibilityService机制实现了一个比较好玩儿的功能,微信朋友圈自动遍历点赞。即通过不断的滚动+点赞实现把每一条朋友圈都赞一次。...使用方式: 运行程序-开启无障碍服务,再切换到微信主界面,进入朋友圈,就会自动执行点赞程序了。 效果图如下: ?...4.点赞程序的执行,则没什么难度了,代码都看得懂,这里就一带而过了。...(目前实现手动滚动全部点赞) * 上方固定显示的名字:com.tencent.mm:id/afa * 下方点赞:显示id:com.tencent.mm:id/cnn * 每发现一个【评论按钮】,就去搜索当前同父组件下的点赞区域有没有自己的...; //开始执行点赞流程 if (plBtns.size() !
给大家分享一个自动化点赞视频号的功能,仅供大家学习参考,请勿滥用! 基本实现思路: 1. 找到点赞图标和点赞数量的父容器A; 2. 通过父容器A找到点赞图标的可点击对象B; 3....点击可点击对象B进行点赞; 正常来说,上面的操作已经完成了我们想要的功能,但是可能会因为人为的滑屏,将已经点赞了再次点击,变为了取消赞,所以要做下面的操作: 5....再次通过父容器A找到点赞数量D; 6. 比较点赞前的点赞数量C与点赞后的点赞数量D,如果数量C大于数量D说明之前取消了点赞,再次点击可点击对象B补回点赞; 7....滑屏循环上面的操作; 以下是代码实现: function goodClick(){ // 点赞的容器 let goodBox = id("com.tencent.mm:id/a2s")...().findOne(id("com.tencent.mm:id/fnp")); // 点赞前文字 let num1 = goodNum1.text() - 0; // 开始来点赞
实现思路 通过 ajax 实时显示点赞数量,自定义字段保存赞数量,Cookies 禁止重新点赞。...click", ".favorite", function() { $(this).postLike(); }); 修改文章页面single.php,在你需要的位置添加一个点赞按钮...> 通过上面的三段代码就已经实现文章点赞功能,但是样式效果惨不忍睹,作者还提供了下面的样式,添加到主题style.css中(下方样式xiaoz未经测试) .post-like...但如果您网站启用了CDN,或使用了WP-Super-Cache这类静态缓存插件后,页面会被提前缓存起来,这样判断也就失效了,便可以无限点赞,于是xiaoz进行了改进,通过js再判断一次COOKIES是否存在...; } else{ $(this).postLike(); } }); 总结 最后实现的功能类似小z博客文章下方的点赞效果,这里主要提供思路和代码实现
"auto"; function 下滑(){ className("AbsListView").scrollable().scrollForward(); } function 赞(){ var like...= className("ImageView").desc("赞").find(); if(like){ like.click(); return true; } return false; } function...显示更多(){ for(let i = 0; i < 2;i++){ click("显示更多"); } } toast("请打开自己的资料页,点击点赞图标"); sleep(100); waitForActivity...com.tencent.mobileqq.activity.VisitorsActivity"); while(notStopped()){ var i = 0; while(i < 10){ i += 赞(
双击点赞 和 双击取消点赞 如:在抖音中双击屏幕之后就可以点赞,小红心就会变亮 [在这里插入图片描述] 把白色和红色的心形图片复制到 media 下 [在这里插入图片描述] [在这里插入图片描述] 需要图片的可以自取...,下面白色图片由于没有背景,所以显示的是白色的,下载后鼠标点击就能看见了 [请添加图片描述] [请添加图片描述] 因为要双击屏幕才能点赞,所以还要给布局组件id 代码实现: ability_main <...能否按照抖音的业务去实现呢? 业务分析: 双击屏幕之后点赞。(上面已实现),再次双击屏幕之后,不会取消点赞,只有点击后红心之后才能取消点赞。...单击红心也可以点赞,再次单击红心就会取消点赞 实现思路: 给最外层的布局添加双击事件,双击之后点赞,变成红色心。 如果已经被点赞,那么还是修改为红色心,相当于不做任何处理。 给图片添加单击事件。...代码实现: 上面布局文件不变,MainAbilitySlice 如下: 给布局添加双击事件,因为再次双击不会取消点赞,所以把else代码里设置为红色后就把 flag 取反去掉,就不会出现再次双击取消点赞了
点赞功能 社交平台的必备良药,谁谁谁什么时候给你点了个赞,点赞什么的貌似已经深入人心了。...之前在 @火喵酱 的博客页面有看到说想用 leancloud 实现 do you like me 的点赞功能,之前没接触 leancloud 的 SDK 不知道咋搞,后来就不了了之,然后因为最近做了 valine...的最新评论排行,所以借这个风顺便来做个点赞功能~ 点赞按钮 实践操作 和 valine 最新评论一样,首先需要引入 sdk 并初始化完成化后接入具体实现的代码即可(这个就不说了,上篇笔记里有写的) 实现思路...所以 leancloud 官方提供了一个 increment 函数来实现“原子操作”跳过读取储存操作直接计数统计(已经试过了传统方法也是可行的,不过使用该函数会更简便) 具体实现 首先我们在 leancloud...=undefined){ //.. } 其他 以上代码写入 SDK 初始化后运行就可以正常获取不同页面的点赞次数了,数据创建后会在 leancloud 控制台显示,如下 其实拿到信息还可以通过点赞数量创建热门文章
特此水一篇折腾记录-Typecho实现文章点赞,当时也懒得记录,现在觉得有必要记录一下。...,让点赞字段 +1 $db->query('UPDATE `' ....$cid . ';'); // 返回点赞数量 return ++$callback['agree']; } 然后找到post.php在顶部加入以下代码用于判断是否是点赞的 POST...>//点赞数量 最后Ajax点赞: 以下js代码添加至footer.php中, // 点赞按钮点击 $('#agree').on('click', function...var re = /\d/; // 匹配数字的正则表达式 // 匹配数字 if (re.test(data)) { // 把点赞按钮中的点赞数量设置为传回的点赞数量
php /** * 点赞 */ namespace app\like\service; use app\common\DataService; use app\common\Redis; class...const LIKE_USER_RECEIVE_SHOW_CHINESENAME = '我点赞了这条'; const BLOG_CHINESENAME = '资讯'; /**...* 点赞资讯 * @param int $userId 用户ID * @param int $blogId 资讯ID */ public function...($userId, $sys); Redis::getInstance()->redisZrem($key, $blogId); //我的点赞全部列表...":blog"); return true; } /** * 判断资讯是否被点赞 * @param int $userId 登录用户ID
在使用这些应用过程中其实不难发现,在所有的直播界面,少不了的就是各种打赏、各种点赞。...今天自己就针对点赞功能敲了一下,代码不多,主要是涉及到动画运动轨迹运算,这里需借助 贝塞尔曲线 相关知识,我使用三阶贝塞尔曲线来实现轨迹动画。 运行效果 ?...一、具体实现流程 仔细分析整个点赞过程可以发现,首先是“爱心”的出现动画,然后是“爱心”以类似气泡的形式向上运动。...CurveEveluator,因为“爱心”在上浮的过程中并不是以某一直线运动的,而是通过一条不规则的曲线往上浮,而我们知道 TypeEveluator 的作用就是根据动画的变化率来设置控件属性的当前值,具体算法实现就是使用三阶贝塞尔曲线公式...其中 P0 是动画的起点,P3 是动画的终点,而另外两点P1、P2是则作为三阶贝塞尔曲线的控制点。
项目地址:http://notebook.wzl1.top/ 在项目开发中,点赞事件频率较高,我们不可能直接将对点赞功能的操作放到MySQL里面,所以我们引入Redis中间件。...大概的思路是这样 图片 但是很明显,在持久化的时候如果我们同时有点赞数据如何处理,因为在持久化的时候后,我打算对redis进行清空记录用户点赞信息列表,因为我认为这对点赞来说是一种无效资源,而只有点赞次数才是有效的...分布式锁的实现方式 基于数据库实现分布式锁; 基于缓存(Redis等)实现分布式锁; 基于Zookeeper实现分布式锁; 这里我们选择使用Redis解决分布式锁 为什么选择Redis实现分布式锁 1、...(3)delete delete key:删除key 在使用Redis实现分布式锁的时候,主要就会使用到这三个命令。...Redis存储数据模型 图片 点赞代码实现(只放具体代码,更多代码在最下放github中查看) 在后面的业务中,我改成了收藏功能,其实实现的原理也是一样的 @AuthCheck @PostMapping
archive->request->do_action){ likeup($archive->request->likeup,$archive->request->do_action); exit; } } //点赞函数...为点赞,undo为取消点赞!...请求接口的函数部分使用了$archive->request->isPost判断,所以只允许使用post请求,这个判断删除就也可以使用get请求了!...前端方面 前端方面需要写ajax请求接口的函数,然后在post.php里加入按钮,点击按钮传递文章id与动作触发相关点赞或者取消点赞效果。...关于点赞数 在post.php里添加cid,'kkb'); ?>即可显示点赞数,同时ajax动作请求完成也会返回点赞数。 linkCard('.post-content','0');
领取专属 10元无门槛券
手把手带您无忧上云