锦鲤抽奖,飞兔小哥持续更新

1,265 阅读5分钟

🎈 参与方式

  • 鉴于掘友友们的热情 🤏🤏
  • 飞兔小哥的 🐰 抽奖铺子 🐰 持续开张啦 📢📢,此处应该有点掌声~ 🎉🎉🎉
  • 为保证抽奖 公平公正 🎁🎁,抽奖记录在本文 🔊 进行持续更新 🔊
  • 欢迎各位掘友友的 🌝 监督和跟踪 🌝
  • 每次抽奖都会在飞兔小哥的 沸点区 进行开展,持续关注,持续抽奖!!! 🐮🐮
  • 参与方式:
  • 🌈 评论沸点 + 关注主页 🙆‍♂️🙆‍♂️
  • 🌈 评论沸点 + 关注主页 🙆‍♂️🙆‍♂️
  • 🌈 评论沸点 + 关注主页 🙆‍♂️🙆‍♂️
  • 📢📢📢 重要的事情说三遍,哈哈哈哈!!!

🎈 月度开奖

  • 🎨 抽奖公告: 🔊🔊尽量选在工作日参与抽奖 🌟🌟,大家都在 认(hua)真(shui)工(mo)作(yu) 😏😏 的时候
  • 🎨 参与时间: 🕤🕤 日期 N
  • 🎨 开奖日期: 🕤🕤 日期 N+5 18:00:00,整点开奖,可能更新文章需要几分钟时间延迟,敬请谅解~ 😘,开奖日期也会尽量选择在工作日哦。⏳⏳
  • 🎨 关于预告: 抽奖出结果的同时 🤘🤘 ,在更新中奖掘友时一起同步更新下一期奖品预告~
  • 🎨 锦鲤祝福: 最后祝友友们 锦鲤傍身,好运连连 🎉🎉🎉 哦~~

🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄

🎗 期数⏱ 开奖日期🎁 奖品🎅 中奖掘友⛓ 沸点链接
第一期2022/07/05小米6手环starry陆离juejin.cn/pin/7115192…
第二期2022/08/12小霸王游戏机sunnybirdjuejin.cn/pin/7130541…
...............
下期预告...限量杯具......

🎈 平日开奖

  • 🎨 只要有小奖品就随机送,所以希望大家多多支持,回馈掘友们
  • 🎨 掘金有奖掘金花,一个不会带回家

🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄🀄

🎗 期数⏱ 开奖日期🎁 奖品🎅 中奖掘友⛓ 沸点链接
第一期2022/07/12喜马拉雅VIP月卡张立梵juejin.cn/pin/7118953…
第二期2022/07/27优酷会员月卡今天你吃饱了吗juejin.cn/pin/7124920…
...............
下期预告...网易云音乐VIP月卡......

🎈 奖品的领取

  • 为了保证 中奖的小锦鲤 🎭🎭,掘友私人信息不被泄露 🙈🙈
  • 🐼🐼 中奖后请添加 🔊🔊 公众号:极客飞兔 后台私聊我收件信息
  • 为了以防冒领 👻👻,每个中将人我都会在评论中回复 💬💬
  • 你只需要在👉👉 首页消息 ► 评论消息 中将我的回复截图发我即可哦~
  • 可能因为你忙,或者我忙 👣👣,并不能及时看到微信公众号后台信息,敬请谅解哈!!! 🤟🤟
  • 🍜🍜 但是保证在看到的第一时间后进行确认,然后尽快发货,小掘友友们 ⏳⏳ 静静的等待即可~
评论消息 / 截图示例

🎈 抽奖算法

  • 就在对抽奖算法一筹莫展的时候 🙄🙄,沸点评论区有一个掘友的评论引起了我的关注,让我知道了大佬 掘金安东尼 🤾‍♂️🤾‍♂️
  • 🙆‍♂️🙆‍ 大佬安东尼早就将在掘金评论区的抽奖算法 公诸于众 了,大佬用的 乱序洗牌算法 🎰🎰,保证了抽奖的公平公正
  • 因此我就 😈😈 借(chao)鉴(xi) 🤣😂 了大佬的抽奖算法
  • 🥇🥇 但是这个算法需要预先将所有评论展开才能获取到所有用户昵称
  • 另外自己并不能在沸点中评论,不然会有概率抽中抽奖发起人
  • 因此我这里做了点修改,去除了抽奖发起人 🃏🃏
const domArr = document.getElementsByClassName("comment-list")[0].getElementsByClassName("username username")

const getLuckyBoys = function () {
    // 获取参与沸点评论的掘友
    let luckyBoys = []
    for (let i = 0; i < domArr.length; i++) {
        luckyBoys.push(domArr[i].innerText)
    }

    // 评论掘友去重
    let luckyUsers = new Set(luckyBoys)

    //去除指定的人
    luckyUsers.delete('极客飞兔')

    return [...luckyUsers];
}

const FYShuffle_lucyest = function () {
    // 乱序算法
    let nums = []
    for (let i = 1, len = getLuckyBoys().length; i <= len; i++) {
        nums.push(i)
    }
    const radomNums = nums.slice(0);
    let len = radomNums.length;

    while (len > 1) {
        let rand = Math.floor(Math.random() * len);
        len--;
        let temp = radomNums[len];
        radomNums[len] = radomNums[rand];
        radomNums[rand] = temp;
    }
    return radomNums[0]; // 中奖序号
}

const handleLottery = function () {
    // 进行抽奖
    console.log("参赛选手:", getLuckyBoys())
    console.log("最终得奖:", getLuckyBoys()[FYShuffle_lucyest() - 1])
    console.log(new Date())
}

setInterval(() => {
    // 当天抽奖倒计时
    let date = new Date()
    console.log(`倒计时,${date.getHours()}${date.getMinutes()}${date.getSeconds()}`)
    if (date.getHours() === 18
        && date.getMinutes() === 0
        && date.getSeconds() === 0) {
        // 18 点整开奖,刚好下班时间 
        handleLottery()
    }
}, 1000)

🎈 文章合集 / 欢迎订阅

👩‍🚀 《编程干货技巧系列》

👩‍🚀 《Vue渐进生态系列》

👩‍🚀 《实战模拟训练系列》

👩‍🚀 《一文让你搞懂系列》

👩‍🚀 《脚本语言之美系列》