前端冰可樂🥤|用 50 行代碼成爲洛竹🎋升級lv5的關鍵先生

你們好,我是寒草😈,一隻草系碼猿🐒。間歇性熱血🔥,持續性沙雕🌟。
若是喜歡個人文章,能夠關注➕點贊,與我一同成長吧~前端

「本文已參與好文召集令活動,點擊查看:後端、大前端雙賽道投稿,2萬元獎池等你挑戰!git

系列開篇詞

前端冰可樂是個人新的專欄,雖然是新的專欄可是我也把以前的部分文章放在了這個專欄下,這個系列主要是分享個人一些好玩有趣或者有一些鬼點子的前端 demogithub

口號是:把前端變成冰可樂同樣讓你們快樂的東西後端

ps:兩週內我還會發佈一個內容滿滿的系列專欄,請你們依然保持期待,趣味性實踐和硬核內容分享,草系前端全都要🔥api

前奏🎵

我在本月發 掘金的鎮站之寶們:掘金八大分類百強文章可視化分析 這篇文章以後被優弧大佬拉進了掘金技術羣,在裏面認識了不少大佬,其中就包括 洛竹🎋,與其相談甚歡,就在我前幾天發了我與前端有場約會🌟 | 工做一週年經驗總結,洛竹也給了我祝福和鼓勵,就在咱們談天說地的時候他說他要發新的文章了,順便提到了他應該把文章發出來大機率就是lv5了。markdown

我想既然如此,那我就當你升上lv5的關鍵先生吧,但是能他發文章的時候我必定在努力工做 💪 ,我不能一直在他的主頁一直掛着,那咋辦呢,因而我想到那我就寫個 Nodejs 腳本,幫我在洛竹倔力值到 9999 的時候點個贊吧。async

嘿嘿嘿,我也說別期待,我週末很忙的,可是我仍是作了,好兄弟吧~oop

倉庫地址:luozhu-auto-diggpost

ps:或許本篇文章的名字應該改爲 震驚,草系前端爲了避免影響工做竟然在週末對洛竹🎋作這種事!ui

間奏🎵

代碼其實很簡單,在這裏發出來就是想激發一下你們,其實咱們平時用的技術也能夠用來作一些工做以外的好玩的事情,怎麼說呢,既能鍛鍊編碼能力,又能讓你對技術保持熱情

先說說個人思路:

  • 經過輪詢獲取洛竹🎋的信息
  • 由於倔力值更新可能有延遲,因此此處倔力值我要本身經過總點贊和閱讀數去計算
  • 洛竹🎋倔力值到達 9999,給我以前沒有點過讚的文章點個贊,誒,我這樣就成了關鍵先生!

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&not_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:或許本篇文章的名字應該改爲 震驚,草系前端爲了成爲洛竹🎋升級的關鍵先生,竟然巴不得五秒鐘刷一次頁面!

尾奏🎵

image.png

在結尾,首先提早預祝 洛竹🎋 夥伴成爲lv5做者,倔力值正式變成五位數,也期待你將來更多優秀的文章。

我在這裏也但願我在這裏發文能夠爲掘金帶來更多的活力🔥 ,不只僅是分享技術,也要用技術實現一些好玩的東西,(能夠作更多好玩的東西)或許就是咱們這個行業的魅力吧,固然這一期代碼很簡單,可是寫這種趣味性的小 demo 頗有樂趣~

就像大帥的:

這種文章我就感受頗有意思哈哈哈,並且還都是個人知識盲區

說白了,技術就是用來實現或者創造一些東西的

有深度的技術分享✨
好玩有趣的實踐吐槽✨

寒草🌳 這裏都有,歡迎 👍 關注 ➕ ,這是對我最大的支持~

你們,新的一週要開開心心的哦☀️

相關文章
相關標籤/搜索