127 lines
4.8 KiB
JavaScript
127 lines
4.8 KiB
JavaScript
// # Source: https://github.com/Wenmoux/checkbox/blob/master/scripts/pfjsq.js
|
|
// # Raw: https://raw.githubusercontent.com/Wenmoux/checkbox/master/scripts/pfjsq.js
|
|
// # Repo: Wenmoux/checkbox
|
|
// # Path: scripts/pfjsq.js
|
|
// # UploadedAt: 2023-11-22T14:22:59Z
|
|
// # SHA256: 43885f513eed4b880605b7cba3b31684592740c97935320ff03219bcb825803e
|
|
// # Category: web版/抓包
|
|
// # Evidence: web/H5关键词 + cookie/token/header
|
|
//
|
|
|
|
const axios = require("axios");
|
|
|
|
let result = "【泡芙加速器】:"
|
|
|
|
class PFJS {
|
|
constructor() {
|
|
this.host = 'https://api-admin-js.paofujiasu.com/';
|
|
this.headers = {
|
|
"Host": "api-admin-js.paofujiasu.com",
|
|
"User-Agent": "Mozilla/5.0 (Linux; Android 12; M2012K11AC Build/SKQ1.220303.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/107.0.5304.141 Mobile Safari/537.36 XWEB/5169 MMWEBSDK/20221011 MMWEBID/6242 MicroMessenger/8.0.30.2260(0x28001E3B) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 MiniProgramEnv/android",
|
|
"tokentype": "applet",
|
|
"Content-Type": "application/json",
|
|
"token": config.pfjsq.token,
|
|
};
|
|
this.count = 0;
|
|
this.body = '{"res_type":1}';
|
|
}
|
|
|
|
// 检查金币是否满5个
|
|
async check_gold(msg) {
|
|
if (msg.indexOf('5个金币') !== -1) {
|
|
await this.exchange();
|
|
}
|
|
}
|
|
|
|
// 兑换6小时时长卡
|
|
async exchange() {
|
|
const url = this.host + 'client/api/v1/virtual_currency/exchange_by_species';
|
|
try {
|
|
this.body = '{"rule_id":4}'
|
|
const res = await axios.post(url, this.body, {headers: this.headers});
|
|
console.log(`兑换${res.data.info}`);
|
|
result += `兑换${res.data.info} ||`
|
|
} catch (error) {
|
|
console.log(`兑换失败,原因是:${error.response.data.info}`);
|
|
result += `兑换失败,原因是:${error.response.data.info} ||`
|
|
}
|
|
}
|
|
|
|
// 签到
|
|
async sign() {
|
|
const url = this.host + 'client/api/v1/virtual_currency/sign_in_for_species';
|
|
try {
|
|
const res = await axios.post(url, this.body, {headers: this.headers});
|
|
console.log(`签到${res.data.info}`);
|
|
result += `签到${res.data.info} ||`
|
|
await this.check_gold(res.data.info)
|
|
} catch (error) {
|
|
console.log(`签到失败,原因是:${error.response.data.info}`);
|
|
result += `签到失败,原因是:${error.response.data.info} ||`
|
|
await this.check_gold(error.response.data.info)
|
|
}
|
|
}
|
|
|
|
// 查询广告剩余次数
|
|
async getAd() {
|
|
const url = this.host + 'client/api/v1/virtual_currency/look_ad_count';
|
|
try {
|
|
const res = await axios.get(url, {headers: this.headers});
|
|
console.log(`广告${res.data.data.sign_count}/${res.data.data.limit_count}`);
|
|
this.count = res.data.data.limit_count - res.data.data.sign_count;
|
|
} catch (error) {
|
|
console.log(`查询广告失败,原因是:${error.response.data.info}`);
|
|
}
|
|
}
|
|
|
|
// 看广告前置
|
|
async lookAdForPower() {
|
|
const url = this.host + 'client/api/v1/virtual_currency/look_ad_for_power';
|
|
try {
|
|
const res = await axios.post(url, this.body, {headers: this.headers});
|
|
console.log(`目前倍率:${res.data.data.power}`);
|
|
} catch (error) {
|
|
console.log(`看广告失败,原因是:${error.response.data.info}`);
|
|
}
|
|
}
|
|
|
|
// 看广告
|
|
async lookAd() {
|
|
const url = this.host + 'client/api/v1/virtual_currency/look_ad_for_species';
|
|
try {
|
|
const res = await axios.post(url, this.body, {headers: this.headers});
|
|
console.log(`看广告${res.data.info}`);
|
|
await this.check_gold(res.data.info)
|
|
result += `看广告${res.data.info} ||`
|
|
} catch (error) {
|
|
console.log(`看广告失败,原因是:${error.response.data.info}`);
|
|
await this.check_gold(error.response.data.info)
|
|
result += `看广告失败,原因是:${error.response.data.info} ||`
|
|
}
|
|
}
|
|
|
|
async run() {
|
|
await this.sign();
|
|
await this.getAd();
|
|
console.log();
|
|
for (let i = 0; i < this.count; i++) {
|
|
console.log(`--------------- 第${i + 1}轮广告 ---------------`);
|
|
await this.lookAdForPower();
|
|
await this.lookAd();
|
|
await new Promise(resolve => setTimeout(resolve, Math.floor(Math.random() * (60000 - 30000 + 1)) + 30000));
|
|
}
|
|
console.log();
|
|
}
|
|
}
|
|
|
|
async function pfjsq() {
|
|
const pfjs = new PFJS();
|
|
await pfjs.run();
|
|
if (result.endsWith('||')) {
|
|
result = result.substring(0, result.length - 2);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
module.exports = pfjsq;
|