|
|
@ -1,4 +1,4 @@ |
|
|
|
/* |
|
|
|
/* |
|
|
|
潮生活(小程序) |
|
|
|
|
|
|
|
export cshCookie='token=xxxxx&openId=yyyyy' |
|
|
@ -35,10 +35,12 @@ class UserInfo { |
|
|
|
|
|
|
|
this.param = $.str2json(str) |
|
|
|
this.stopFlag = false |
|
|
|
this.pageLimit = 3 |
|
|
|
this.articlePageLimit = 3 |
|
|
|
this.prizePageLimit = 1 |
|
|
|
this.prizeList = [] |
|
|
|
} |
|
|
|
|
|
|
|
async getUserInfo() { |
|
|
|
async getUserInfo(isNotify=false) { |
|
|
|
try { |
|
|
|
let url = `https://dh.wbgj.cn/integral_applet_2/integral/user/info` |
|
|
|
let bodyParam = { |
|
|
@ -55,10 +57,14 @@ class UserInfo { |
|
|
|
this.valid = true |
|
|
|
this.name = result.info.wxUser.nickName |
|
|
|
this.integral = result.info.wxUser.integral |
|
|
|
if(isNotify) { |
|
|
|
$.logAndNotify(`[${this.name}] 积分:${this.integral}`) |
|
|
|
} else { |
|
|
|
console.log(`昵称:${this.name}`) |
|
|
|
console.log(`积分:${this.integral}`) |
|
|
|
} |
|
|
|
} else { |
|
|
|
console.log(`账号[${this.index}]CK失效: ${result.message}`) |
|
|
|
$.logAndNotify(`账号[${this.name}]CK失效: ${result.message}`) |
|
|
|
} |
|
|
|
} catch(e) { |
|
|
|
console.log(e) |
|
|
@ -84,19 +90,19 @@ class UserInfo { |
|
|
|
if(!result) return |
|
|
|
//console.log(result)
|
|
|
|
if(result.state==0) { |
|
|
|
this.pageLimit = result.info.page.totalPage |
|
|
|
console.log(`账号[${this.index}]获取到第${page}页${result.info.weixinArtivleList.length}篇文章,共${result.info.page.totalPage}页`) |
|
|
|
this.articlePageLimit = result.info.page.totalPage |
|
|
|
console.log(`账号[${this.name}]获取到第${page}页${result.info.weixinArtivleList.length}篇文章,共${result.info.page.totalPage}页`) |
|
|
|
for(let item of result.info.weixinArtivleList) { |
|
|
|
if(!item.read) { |
|
|
|
await this.visit(item,result.info.readToken) |
|
|
|
if(this.stopFlag) break; |
|
|
|
let rndwaittime = Math.floor(Math.random()*RANDOM_WAIT_TIME) + ROUND_WAIT_TIME |
|
|
|
console.log(`账号[${this.index}]等待${rndwaittime/1000}秒继续阅读...`) |
|
|
|
console.log(`账号[${this.name}]等待${rndwaittime/1000}秒继续阅读...`) |
|
|
|
await $.wait(rndwaittime) |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
console.log(`账号[${this.index}]获取文章列表失败: ${result.message}`) |
|
|
|
console.log(`账号[${this.name}]获取文章列表失败: ${result.message}`) |
|
|
|
} |
|
|
|
} catch(e) { |
|
|
|
console.log(e) |
|
|
@ -123,7 +129,7 @@ class UserInfo { |
|
|
|
if(result.state==0) { |
|
|
|
await this.award(item,readToken) |
|
|
|
} else { |
|
|
|
console.log(`账号[${this.index}]开始阅读文章[${item.tag}]失败: ${result.message}`) |
|
|
|
console.log(`账号[${this.name}]开始阅读文章[${item.tag}]失败: ${result.message}`) |
|
|
|
} |
|
|
|
} catch(e) { |
|
|
|
console.log(e) |
|
|
@ -150,9 +156,9 @@ class UserInfo { |
|
|
|
if(!result) return |
|
|
|
//console.log(result)
|
|
|
|
if(result.state==0) { |
|
|
|
console.log(`账号[${this.index}]阅读文章[${item.tag}]成功`) |
|
|
|
console.log(`账号[${this.name}]阅读文章[${item.tag}]成功`) |
|
|
|
} else { |
|
|
|
console.log(`账号[${this.index}]阅读文章[${item.tag}]失败: ${result.message}`) |
|
|
|
console.log(`账号[${this.name}]阅读文章[${item.tag}]失败: ${result.message}`) |
|
|
|
if(result.message.indexOf('用户处于锁定时间') > -1) { |
|
|
|
this.stopFlag = true |
|
|
|
} |
|
|
@ -164,15 +170,99 @@ class UserInfo { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
async getPrizeList(page) { |
|
|
|
try { |
|
|
|
let url = `https://dh.wbgj.cn/integral_applet_2/integral/convert_center/prize` |
|
|
|
let bodyParam = { |
|
|
|
token: this.param.token, |
|
|
|
openId: this.param.openId, |
|
|
|
page: page, |
|
|
|
} |
|
|
|
let body = getSign(bodyParam) |
|
|
|
let urlObject = populateUrlObject(url,body) |
|
|
|
await httpRequest('post',urlObject) |
|
|
|
let result = httpResult; |
|
|
|
if(!result) return |
|
|
|
//console.log(result)
|
|
|
|
if(result.state==0) { |
|
|
|
this.prizePageLimit = result.info.page.totalPage |
|
|
|
for(let item of result.info.prizeList) { |
|
|
|
this.prizeList.push(item) |
|
|
|
} |
|
|
|
} else { |
|
|
|
console.log(`账号[${this.name}]获取第${page}页提现列表失败: ${result.message}`) |
|
|
|
} |
|
|
|
} catch(e) { |
|
|
|
console.log(e) |
|
|
|
} finally { |
|
|
|
return Promise.resolve(1); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
async exchange(item) { |
|
|
|
try { |
|
|
|
let url = `https://dh.wbgj.cn/integral_applet_2/integral/convert_center/exchange/prize` |
|
|
|
let bodyParam = { |
|
|
|
token: this.param.token, |
|
|
|
openId: this.param.openId, |
|
|
|
code: '', |
|
|
|
convertId: item.convertId, |
|
|
|
phone: '', |
|
|
|
account: '', |
|
|
|
} |
|
|
|
let body = getSign(bodyParam) |
|
|
|
let urlObject = populateUrlObject(url,body) |
|
|
|
await httpRequest('post',urlObject) |
|
|
|
let result = httpResult; |
|
|
|
if(!result) return |
|
|
|
//console.log(result)
|
|
|
|
if(result.state==0) { |
|
|
|
this.integral -= item.integral |
|
|
|
$.logAndNotify(`账号[${this.name}]提现[${item.prizeName}]成功`) |
|
|
|
} else { |
|
|
|
$.logAndNotify(`账号[${this.name}]提现[${item.prizeName}]失败: ${result.message}`) |
|
|
|
} |
|
|
|
} catch(e) { |
|
|
|
console.log(e) |
|
|
|
} finally { |
|
|
|
return Promise.resolve(1); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
async userExchangeTask() { |
|
|
|
try { |
|
|
|
await this.getUserInfo(true); |
|
|
|
await this.getPrizeList(1); |
|
|
|
if(this.prizePageLimit > 1) { |
|
|
|
for(let i=2; i<=this.prizePageLimit; i++) { |
|
|
|
await this.getPrizeList(i); |
|
|
|
} |
|
|
|
} |
|
|
|
if(this.prizeList.length > 0) { |
|
|
|
for(let item of this.prizeList.sort(function(a,b) {return b.prizeWorth-a.prizeWorth})) { |
|
|
|
if(this.integral < item.integral) continue; |
|
|
|
if(item.prizeCount - item.drawCount <= 0) continue; |
|
|
|
await this.exchange(item) |
|
|
|
} |
|
|
|
} else { |
|
|
|
$.logAndNotify(`账号[${this.name}]没有获取到提现选项`) |
|
|
|
} |
|
|
|
} catch(e) { |
|
|
|
console.log(e) |
|
|
|
} finally { |
|
|
|
return Promise.resolve(1); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
async userTask() { |
|
|
|
try { |
|
|
|
await this.articleList(1); |
|
|
|
if(this.pageLimit > 1) { |
|
|
|
for(let i=2; i<=this.pageLimit && !this.stopFlag; i++) { |
|
|
|
if(this.articlePageLimit > 1) { |
|
|
|
for(let i=2; i<=this.articlePageLimit && !this.stopFlag; i++) { |
|
|
|
await this.articleList(i); |
|
|
|
} |
|
|
|
} |
|
|
|
console.log(`账号[${this.index}]已完成阅读`) |
|
|
|
console.log(`账号[${this.name}]已完成阅读`) |
|
|
|
} catch(e) { |
|
|
|
console.log(e) |
|
|
|
} finally { |
|
|
@ -295,15 +385,26 @@ function getSign(e) { |
|
|
|
|
|
|
|
for(let user of userList) { |
|
|
|
console.log(`\n============= 账号[${user.index}] =============`) |
|
|
|
await user.getUserInfo(); |
|
|
|
await user.getUserInfo(false); |
|
|
|
} |
|
|
|
|
|
|
|
let validUserList = userList.filter(x => x.valid) |
|
|
|
|
|
|
|
if(validUserList.length > 0) { |
|
|
|
console.log(`\n============= 开始阅读 =============`) |
|
|
|
let taskall = [] |
|
|
|
for(let user of userList.filter(x => x.valid)) { |
|
|
|
for(let user of validUserList) { |
|
|
|
taskall.push(user.userTask()) |
|
|
|
} |
|
|
|
await Promise.all(taskall); |
|
|
|
|
|
|
|
console.log(`\n============= 提现 =============`) |
|
|
|
for(let user of validUserList) { |
|
|
|
await user.userExchangeTask(true); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
await $.showmsg(); |
|
|
|
} |
|
|
|
})() |
|
|
|
.catch((e) => console.log(e)) |
|
|
|