你们好,我是寒草😈,一只草系码猿🐒。间歇性热血🔥,持续性沙雕🌟。
若是喜欢个人文章,能够关注➕点赞,与我一同成长吧~前端
「本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,2万元奖池等你挑战!」git
前端冰可乐是个人新的专栏,虽然是新的专栏可是我也把以前的部分文章放在了这个专栏下,这个系列主要是分享个人一些好玩有趣或者有一些鬼点子的前端 demo
。github
口号是:把前端变成冰可乐同样让你们快乐的东西。后端
ps:两周内我还会发布一个内容满满的系列专栏,请你们依然保持期待,趣味性实践和硬核内容分享,草系前端全都要🔥api
我在本月发 掘金的镇站之宝们:掘金八大分类百强文章可视化分析 这篇文章以后被优弧大佬拉进了掘金技术群,在里面认识了不少大佬,其中就包括 洛竹🎋,与其相谈甚欢,就在我前几天发了我与前端有场约会🌟 | 工做一周年经验总结,洛竹也给了我祝福和鼓励,就在咱们谈天说地的时候他说他要发新的文章了,顺便提到了他应该把文章发出来大几率就是lv5了。markdown
我想既然如此,那我就当你升上lv5的关键先生吧,但是能他发文章的时候我必定在努力工做 💪 ,我不能一直在他的主页一直挂着,那咋办呢,因而我想到那我就写个 Nodejs 脚本
,帮我在洛竹倔力值到 9999
的时候点个赞吧。async
嘿嘿嘿,我也说别期待,我周末很忙的,可是我仍是作了,好兄弟吧~oop
仓库地址:luozhu-auto-diggpost
ps:或许本篇文章的名字应该改为 震惊,草系前端为了避免影响工做竟然在周末对洛竹🎋作这种事!ui
代码其实很简单,在这里发出来就是想激发一下你们,其实咱们平时用的技术也能够用来作一些工做以外的好玩的事情,怎么说呢,既能锻炼编码能力,又能让你对技术保持热情。
先说说个人思路:
ps:此处我特地取消了以前给洛竹🎋文章的点赞,让他升级晚一点,别升级太早了让个人程序没有用武之地,我就是一个心机满满的草系前端。因此此文的标题应该改为 震惊!草系前端因嫉妒洛竹🎋取消了以前的点赞,没想到他是这样的人
下面咱们一块儿看看个人代码吧~
const superagent = require('superagent');
const COOKIE = 'COOKIE不给你看';
const LV5_POWER = 10000;
const THRESHIOLD_VALUE = 20;
const NEARLY_DELAY = 5000;
const UN_NEARLY_DELAY = 60000;
// 倔力值计算公式
const computedPower = (digg, view) => {
return digg + Math.floor(view / 100);
}
// 获取洛竹的信息数据
const getLuoZhuPower = async () => {
const resData = await superagent.get('https://api.juejin.cn/user_api/v1/user/get?aid=2608&user_id=325111174662855¬_self=1');
const { got_digg_count, got_view_count } = JSON.parse(resData.text).data;
return computedPower(got_digg_count, got_view_count);
}
// 给洛竹的🍉点赞
const diggLuoZhu = () => {
superagent.post('https://api.juejin.cn/interact_api/v1/digg/save').send({
client_type: 2608,
item_id: "6983854006124675108",
item_type: 2
}).set('Cookie', COOKIE);
}
// 判断是否已经接近 10000 倔力值了
const getIsNearly = (luozhuPower) => {
if( LV5_POWER - luozhuPower <= THRESHIOLD_VALUE ) return true;
return false;
}
// 根据是否已经接近 10000 倔力值,肯定轮询时间
const getDelayTime = (isNearly) => {
if(isNearly) return NEARLY_DELAY;
return UN_NEARLY_DELAY;
}
// 程序的入口方法
const generateDigg = async () => {
// 获取信息
let luozhuPower = await getLuoZhuPower();
let isNearly = getIsNearly(luozhuPower);
setTimeout(() => {
// 若是倔力值是 9999,趁如今点赞(兼容运气很差,没有点到的状况)
if(luozhuPower >= LV5_POWER - 1) {
diggLuoZhu();
} else {
generateDigg();
}
}, getDelayTime(isNearly));
}
generateDigg();
复制代码
代码中我为了不给掘金形成更多负担,设置了一个 isNearly 属性,若是洛竹🎋 已经快要升级了,我才会去把轮询周期缩短。
ps:或许本篇文章的名字应该改为 震惊,草系前端为了成为洛竹🎋升级的关键先生,竟然巴不得五秒钟刷一次页面!
在结尾,首先提早预祝 洛竹🎋 伙伴成为lv5做者,倔力值正式变成五位数,也期待你将来更多优秀的文章。
我在这里也但愿我在这里发文能够为掘金带来更多的活力🔥 ,不只仅是分享技术,也要用技术实现一些好玩的东西,(能够作更多好玩的东西)或许就是咱们这个行业的魅力吧,固然这一期代码很简单,可是写这种趣味性的小 demo
颇有乐趣~
就像大帅的:
这种文章我就感受颇有意思哈哈哈,并且还都是个人知识盲区
说白了,技术就是用来实现或者创造一些东西的
有深度的技术分享✨
好玩有趣的实践吐槽✨
寒草🌳 这里都有,欢迎 👍 关注 ➕ ,这是对我最大的支持~
你们,新的一周要开开心心的哦☀️