Rules-For-Quantumult-X/Scripts/SignIn/Qimao/qmnovel.js

412 lines
16 KiB
JavaScript
Raw Normal View History

2020-07-02 11:50:39 +08:00
var cookieName = '七猫小说'
var qmnovel = init()
var DCURL = qmnovel.getdata("UrlDC")
var DCKEY = qmnovel.getdata("CookieDC")
var NCURL = qmnovel.getdata("UrlNC")
var NCKEY = qmnovel.getdata("CookieNC")
var LTURL = qmnovel.getdata("UrlLT")
var LTKEY = qmnovel.getdata("CookieLT")
var VCURL = qmnovel.getdata("UrlVC")
const Totalresult = {}
const time = 0
let isGetCookie = typeof $request !== 'undefined'
if (isGetCookie) {
GetCookie()
qmnovel.done()
} else {
all()
qmnovel.done()
}
async function all() {
qmnovel.log(`🔔 ${cookieName}签到开始`)
await DailyCheckin(time);
await NoviceCheckin(time);
for (let i = 0; i < 5; i++) {
await LuckyTurn(time);
}
await VideoCoin(time)
Notify();
}
function GetCookie() {
const dailycheckin = '/api/v1/sign-in/do-sign-in';
const novice = '/api/v1/task/get-novice-reward';
const turn = '/api/v2/lucky-draw/do-extracting';
const video = '/api/v1/sign-in/sign-in-video-coin';
var url = $request.url;
if (url.indexOf(dailycheckin) != -1) {
if (url) {
var UrlKeyDC = "UrlDC";
var UrlNameDC = "七猫小说日常签到";
var UrlValueDC = url;
if (qmnovel.getdata(UrlKeyDC) != (undefined || null)) {
if (qmnovel.getdata(UrlKeyDC) != UrlValueDC) {
var urlDC = qmnovel.setdata(UrlValueDC, UrlKeyDC);
if (!urlDC) {
qmnovel.msg("更新" + UrlNameDC + "Url失败‼", "", "");
} else {
qmnovel.msg("更新" + UrlNameDC + "Url成功🎉", "", "");
}
} else {
qmnovel.msg(UrlNameDC + "Url未变化❗", "", "");
}
} else {
var urlDC = qmnovel.setdata(UrlValueDC, UrlKeyDC);
if (!cookieDC) {
qmnovel.msg("首次写入" + UrlNameDC + "Url失败‼", "", "");
} else {
qmnovel.msg("首次写入" + UrlNameDC + "Url成功🎉", "", "");
}
}
} else {
qmnovel.msg("写入" + UrlNameDC + "Url失败‼", "", "配置错误, 无法读取URL, ");
}
if ($request.headers) {
var CookieKeyDC = "CookieDC";
var CookieNameDC = "七猫小说日常签到及视频奖励";
var CookieValueDC = JSON.stringify($request.headers);
if (qmnovel.getdata(CookieKeyDC) != (undefined || null)) {
if (qmnovel.getdata(CookieKeyDC) != CookieValueDC) {
var cookieDC = qmnovel.setdata(CookieValueDC, CookieKeyDC);
if (!cookieDC) {
qmnovel.msg("更新" + CookieNameDC + "Cookie失败‼", "", "");
} else {
qmnovel.msg("更新" + CookieNameDC + "Cookie成功🎉", "", "");
}
} else {
qmnovel.msg(CookieNameDC + "Cookie未变化❗", "", "");
}
} else {
var cookieDC = qmnovel.setdata(CookieValueDC, CookieKeyDC);
if (!cookieDC) {
qmnovel.msg("首次写入" + CookieNameDC + "Cookie失败‼", "", "");
} else {
qmnovel.msg("首次写入" + CookieNameDC + "Cookie成功🎉", "", "");
}
}
} else {
qmnovel.msg("写入" + CookieNameDC + "Cookie失败‼", "", "配置错误, 无法读取请求头, ");
}
} else if (url.indexOf(novice) != -1) {
if (url) {
var UrlKeyNC = "UrlNC";
var UrlNameNC = "七猫小说新人签到";
var UrlValueNC = url;
if (qmnovel.getdata(UrlKeyNC) != (undefined || null)) {
if (qmnovel.getdata(UrlKeyNC) != UrlValueNC) {
var urlNC = qmnovel.setdata(UrlValueNC, UrlKeyNC);
if (!urlNC) {
qmnovel.msg("更新" + UrlNameNC + "Url失败‼", "", "");
} else {
qmnovel.msg("更新" + UrlNameNC + "Url成功🎉", "", "");
}
} else {
qmnovel.msg(UrlNameNC + "Url未变化❗", "", "");
}
} else {
var urlNC = qmnovel.setdata(UrlValueNC, UrlKeyNC);
if (!urlNC) {
qmnovel.msg("首次写入" + UrlNameNC + "Url失败‼", "", "");
} else {
qmnovel.msg("首次写入" + UrlNameNC + "Url成功🎉", "", "");
}
}
} else {
qmnovel.msg("写入" + UrlNameNC + "Url失败‼", "", "配置错误, 无法读取URL, ");
}
if ($request.headers) {
var CookieKeyNC = "CookieNC";
var CookieNameNC = "七猫小说新人签到";
var CookieValueNC = JSON.stringify($request.headers);
if (qmnovel.getdata(CookieKeyNC) != (undefined || null)) {
if (qmnovel.getdata(CookieKeyNC) != CookieValueNC) {
var cookieNC = qmnovel.setdata(CookieValueNC, CookieKeyNC);
if (!cookieNC) {
qmnovel.msg("更新" + CookieNameNC + "Cookie失败‼", "", "");
} else {
qmnovel.msg("更新" + CookieNameNC + "Cookie成功🎉", "", "");
}
} else {
qmnovel.msg(CookieNameNC + "Cookie未变化❗", "", "");
}
} else {
var cookieNC = qmnovel.setdata(CookieValueNC, CookieKeyNC);
if (!cookieNC) {
qmnovel.msg("首次写入" + CookieNameNC + "Cookie失败‼", "", "");
} else {
qmnovel.msg("首次写入" + CookieNameNC + "Cookie成功🎉", "", "");
}
}
} else {
qmnovel.msg("写入" + CookieNameNC + "Cookie失败‼", "", "配置错误, 无法读取请求头, ");
}
} else if (url.indexOf(turn) != -1) {
if (url) {
var UrlKeyLT = "UrlLT";
var UrlNameLT = "七猫小说幸运大转盘";
var UrlValueLT = url;
if (qmnovel.getdata(UrlKeyLT) != (undefined || null)) {
if (qmnovel.getdata(UrlKeyLT) != UrlValueLT) {
var urlLT = qmnovel.setdata(UrlValueLT, UrlKeyLT);
if (!urlLT) {
qmnovel.msg("更新" + UrlNameLT + "Url失败‼", "", "");
} else {
qmnovel.msg("更新" + UrlNameLT + "Url成功🎉", "", "");
}
} else {
qmnovel.msg(UrlNameLT + "Url未变化❗", "", "");
}
} else {
var urlLT = qmnovel.setdata(UrlValueLT, UrlKeyLT);
if (!urlLT) {
qmnovel.msg("首次写入" + UrlNameLT + "Url失败‼", "", "");
} else {
qmnovel.msg("首次写入" + UrlNameLT + "Url成功🎉", "", "");
}
}
} else {
qmnovel.msg("写入" + UrlNameLT + "Url失败‼", "", "配置错误, 无法读取URL, ");
}
if ($request.headers) {
var CookieKeyLT = "CookieLT";
var CookieNameLT = "七猫小说幸运大转盘";
var CookieValueLT = JSON.stringify($request.headers);
if (qmnovel.getdata(CookieKeyLT) != (undefined || null)) {
if (qmnovel.getdata(CookieKeyLT) != CookieValueLT) {
var cookieLT = qmnovel.setdata(CookieValueLT, CookieKeyLT);
if (!cookieLT) {
qmnovel.msg("更新" + CookieNameLT + "Cookie失败‼", "", "");
} else {
qmnovel.msg("更新" + CookieNameLT + "Cookie成功🎉", "", "");
}
} else {
qmnovel.msg(CookieNameLT + "Cookie未变化❗", "", "");
}
} else {
var cookieLT = qmnovel.setdata(CookieValueLT, CookieKeyLT);
if (!cookieLT) {
qmnovel.msg("首次写入" + CookieNameLT + "Cookie失败‼", "", "");
} else {
qmnovel.msg("首次写入" + CookieNameLT + "Cookie成功🎉", "", "");
}
}
} else {
qmnovel.msg("写入" + CookieNameLT + "Cookie失败‼", "", "配置错误, 无法读取请求头, ");
}
} else if (url.indexOf(video) != -1) {
if (url) {
var UrlKeyVC = "UrlVC";
var UrlNameVC = "七猫小说视频奖励";
var UrlValueVC = url;
if (qmnovel.getdata(UrlKeyVC) != (undefined || null)) {
if (qmnovel.getdata(UrlKeyVC) != UrlValueVC) {
var urlVC = qmnovel.setdata(UrlValueVC, UrlKeyVC);
if (!urlVC) {
qmnovel.msg("更新" + UrlNameVC + "Url失败‼", "", "");
} else {
qmnovel.msg("更新" + UrlNameVC + "Url成功🎉", "", "");
}
} else {
qmnovel.msg(UrlNameVC + "Url未变化❗", "", "");
}
} else {
var urlVC = qmnovel.setdata(UrlValueVC, UrlKeyVC);
if (!urlVC) {
qmnovel.msg("首次写入" + UrlNameVC + "Url失败‼", "", "");
} else {
qmnovel.msg("首次写入" + UrlNameVC + "Url成功🎉", "", "");
}
}
} else {
qmnovel.msg("写入" + UrlNameVC + "Url失败‼", "", "配置错误, 无法读取URL, ");
}
}
}
function DailyCheckin(t) {
return new Promise(resolve => { setTimeout(() => {
url = { url: DCURL, headers: JSON.parse(DCKEY) }
qmnovel.get(url, (error, response, data) => {
try {
Totalresult.dailycheckin = JSON.parse(data)
qmnovel.log(`${cookieName}日常签到, data: ${data}`)
resolve('done');
} catch (e) {
qmnovel.log(`Error: ${error}`)
qmnovel.msg(cookieName, '日常签到结果: 失败‼️', '请查看错误日志‼️')
resolve('done')
}
})}, t)
})
}
function NoviceCheckin(t) {
return new Promise(resolve => { setTimeout(() => {
url = { url: NCURL, headers: JSON.parse(NCKEY) }
qmnovel.get(url, (error, response, data) => {
try {
Totalresult.novicecheckin = JSON.parse(data)
qmnovel.log(`${cookieName}新人签到, data: ${data}`)
resolve('done');
} catch (e) {
qmnovel.log(`Error: ${error}`)
qmnovel.msg(cookieName, '新人签到结果: 失败‼️', '请查看错误日志‼️')
resolve('done')
}
})}, t)
})
}
function VideoCoin(t) {
return new Promise(resolve => { setTimeout(() => {
url = { url: VCURL, headers: JSON.parse(DCKEY) }
qmnovel.get(url, (error, response, data) => {
try {
Totalresult.videocoin = JSON.parse(data)
qmnovel.log(`${cookieName}视频奖励, data: ${data}`)
resolve('done');
} catch (e) {
qmnovel.log(`Error: ${error}`)
qmnovel.msg(cookieName, '领取视频奖励: 失败‼️', '请查看错误日志‼️')
resolve('done');
}
})}, t)
})
}
function LuckyTurn(t) {
return new Promise(resolve => { setTimeout(() => {
url = { url: LTURL, headers: JSON.parse(LTKEY) }
qmnovel.get(url, (error, response, data) => {
try {
Totalresult.luckyturnlist = Totalresult.luckyturnlist ? Totalresult.luckyturnlist : []
Totalresult.luckyturnlist.push(JSON.parse(data))
qmnovel.log(`${cookieName}幸运大转盘, data: ${data}`)
resolve('done');
} catch (e) {
qmnovel.log(`Error: ${error}`)
qmnovel.msg(cookieName, '幸运大转盘: 失败‼️', '请查看错误日志‼️')
resolve('done')
}
})}, t)
})
}
function Notify() {
let subTitle = '';
let detail = '';
if (Totalresult.dailycheckin) {
if (Totalresult.dailycheckin.data) {
subTitle += '日常签到结果: 成功🎉\n'
detail += '日常签到奖励: '+ Totalresult.dailycheckin.data.coin +'金币\n'
} else if (Totalresult.dailycheckin.errors) {
if (Totalresult.dailycheckin.errors.code == 23010103) {
subTitle += '日常签到结果: 成功(重复签到)🎉\n'
} else {
subTitle += '日常签到结果: 失败‼️\n'
detail += '日常签到说明: ' + Totalresult.dailycheckin.errors.details + '\n'
}
}
}
if (Totalresult.videocoin) {
if (Totalresult.videocoin.data) {
subTitle += '领取视频奖励: 成功🎉\n'
detail += '视频奖励: '+ Totalresult.videocoin.data.coin +'金币\n'
} else if (Totalresult.videocoin.errors) {
if (Totalresult.videocoin.errors.code == 23010107) {
subTitle += '领取视频奖励: 成功(重复签到)🎉\n'
detail += '视频奖励说明: ' + Totalresult.videocoin.errors.details + '\n'
} else {
subTitle += '领取视频奖励: 失败‼️\n'
detail += '视频奖励说明: ' + Totalresult.videocoin.errors.details + '\n'
}
}
}
if (Totalresult.novicecheckin) {
if (Totalresult.novicecheckin.data) {
subTitle += '新人签到结果: 成功🎉\n'
detail += '签到奖励: '+ Totalresult.novicecheckin.data.reward_cash +'金币\n'
} else if (Totalresult.novicecheckin.errors) {
if (Totalresult.novicecheckin.errors.code == 13101002) {
subTitle += '新人签到结果: 成功(重复签到)🎉\n'
detail += '新人签到说明: ' + Totalresult.novicecheckin.errors.details + '\n'
} else {
subTitle += '新人签到结果: 失败‼️\n'
detail += '新人签到说明: ' + Totalresult.novicecheckin.errors.details + '\n'
}
}
}
if (Totalresult.luckyturnlist) {
subTitle += '幸运大转盘次数: 5次';
for (let i = 0; i < 5; i++) {
n = i + 1
if (Totalresult.luckyturnlist[i].data) {
detail += '第' + n + '次' + '幸运大转盘: 成功🎉 转盘奖励: ' + Totalresult.luckyturnlist[i].data.prize_title + '\n'
} else if (Totalresult.luckyturnlist[i].errors) {
if (Totalresult.luckyturnlist[i].errors.code == 13101002) {
detail += '幸运大转盘: 次数耗尽🚫 说明: ' + Totalresult.luckyturnlist[i].errors.details + '\n'
} else {
detail += '幸运大转盘: 失败‼️ 说明: ' + Totalresult.luckyturnlist[i].errors.details + '\n'
}
}
}
}
qmnovel.msg(cookieName, subTitle, detail)
}
function init() {
isSurge = () => {
return undefined === this.$httpClient ? false : true
}
isQuanX = () => {
return undefined === this.$task ? false : true
}
getdata = (key) => {
if (isSurge()) return $persistentStore.read(key)
if (isQuanX()) return $prefs.valueForKey(key)
}
setdata = (key, val) => {
if (isSurge()) return $persistentStore.write(key, val)
if (isQuanX()) return $prefs.setValueForKey(key, val)
}
msg = (title, subtitle, body) => {
if (isSurge()) $notification.post(title, subtitle, body)
if (isQuanX()) $notify(title, subtitle, body)
}
log = (message) => console.log(message)
get = (url, cb) => {
if (isSurge()) {
$httpClient.get(url, cb)
}
if (isQuanX()) {
url.method = 'GET'
$task.fetch(url).then((resp) => cb(null, {}, resp.body))
}
}
post = (url, cb) => {
if (isSurge()) {
$httpClient.post(url, cb)
}
if (isQuanX()) {
url.method = 'POST'
$task.fetch(url).then((resp) => cb(null, {}, resp.body))
}
}
put = (url, cb) => {
if (isSurge()) {
$httpClient.put(url, cb)
}
if (isQuanX()) {
url.method = 'PUT'
$task.fetch(url).then((resp) => cb(null, {}, resp.body))
}
}
done = (value = {}) => {
$done(value)
}
return { isSurge, isQuanX, msg, log, getdata, setdata, get, post, put, done }
}