功能:全自动签到,粘福,免费抽奖;
配合云函数或青龙面板定时执行实现每天无需操作全自动;
const {juejin_cookie
} = require('./cookie_config.js')const axios = require('axios');
let $axios = axios.create({withCredentials: true,timeout: 30000, //超时时间baseURL: "https://api.juejin.cn/growth_api/v1/",headers: {'Accept': 'application/json','cookie': juejin_cookie}
})const _http = (options) => {let {url,method = 'get',params = {}} = options;return new Promise((resolve, reject) => {$axios({method,url,params}).then(res => {resolve(res.data)}).catch(err => {resolve(false)})})
}const apis = {verifyTodayStatus: {url: '/get_today_status',method: 'get',description: '获取今天是否签到'},checkIn: {url: '/check_in',method: 'post',description: '开始签到'},getSignInfo: {url: '/get_counts',method: 'get',description: '获取签到天数状态'},getPointCount: {url: '/get_cur_point',method: 'get',description: '获取当前矿石数'},getLuckyInfo: {url: '/lottery_lucky/my_lucky',method: 'post',description: '获取幸运抽奖我的状态'},getFreeCount: {url: '/lottery_config/get',method: 'get',description: '获取免费次数'},dipLucky: {url: '/lottery_lucky/dip_lucky',method: 'post',description: '沾喜气',params: {lottery_history_id: '7090346718260101131'}},startLottery: {url: '/lottery/draw',method: 'post',description: '开始抽奖'},
}const check_in_juejin = async () => {let finalResult = {checkInStatus: false,continuousDay: 0,totalDay: 0,oreCount: 0,prize: '',LuckyValue: 0}let res_verifyTodayStatus = await _http(apis.verifyTodayStatus);if (res_verifyTodayStatus.err_no != 0) {console.log('==================掘金脚本失败咯~应该需要更新cookie啦!===================')return;}if (!res_verifyTodayStatus.data) {let res_checkIn = await _http(apis.checkIn);if (res_checkIn.err_no == 0) {finalResult.checkInStatus = true}} else {finalResult.checkInStatus = true}await _http(apis.dipLucky); // 沾喜气let res_getFreeCount = await _http(apis.getFreeCount);if (res_getFreeCount.data.free_count != 0) {let res_startLottery = await _http(apis.startLottery); // 执行免费抽奖if (res_startLottery.err_no == 0) {finalResult.prize = res_startLottery.data.lottery_name}} else {finalResult.prize = null}let temp_user_info = await Promise.all([_http(apis.getSignInfo), _http(apis.getPointCount), _http(apis.getLuckyInfo)]);let [res_getSignInfo, res_getPointCount, res_getLuckyInfo] = [...temp_user_info];finalResult.oreCount = res_getPointCount.datafinalResult.continuousDay = res_getSignInfo.data.cont_count;finalResult.totalDay = res_getSignInfo.data.sum_count;finalResult.LuckyValue = res_getLuckyInfo.data.total_value;let text =`
今日签到成功, 已连续签到 [ ${finalResult.continuousDay} ], 累计签到 [ ${finalResult.totalDay} ], 当前拥有矿石 [ ${finalResult.oreCount} ]
今日免费抽奖成功, ${finalResult.prize? '抽中奖品 [ '+ finalResult.prize +' ], ' : ''}已累计幸运值 [ ${finalResult.LuckyValue}/6000 ]
`console.log(text)
}check_in_juejin();
引入 ./cookie_config.js 的 juejin_cookie 可以自行修改直接在这个js中写死,ck获取就正常登录掘金-F12打开控制台-如图所示。(全部复制粘贴就行)