2021-4-26 更新
看了大佬们的分析,现在小程序一人只能助力一次,还没想好解决方案,最近大家就每天打个卡续着吧。。
2021-4-25 更新
- wps的邀请机制也发生了变化,原邀请接口好像也不能用了,好在有大佬发现了问题并进行了调整,但虽然我们填了10几个id,但实测并不能邀请满10人(一般在3~9人都有可能),原因大佬也还在分析。具体方法是在wps.js文件的邀请链接的param中加入
"client_code": "040ce6c23213494c8de9653e0074YX30", "client": "alipay"
,修改后的wps.js如下:
wps.js
var axios = require('axios');
var server = require('./server')
var config = require('./config')
invite_sid = [
'V02S2UBSfNlvEprMOn70qP3jHPDqiZU00a7ef4a800341c7c3b',
'V02StVuaNcoKrZ3BuvJQ1FcFS_xnG2k00af250d4002664c02f',
'V02SWIvKWYijG6Rggo4m0xvDKj1m7ew00a8e26d3002508b828',
'V02Sr3nJ9IicoHWfeyQLiXgvrRpje6E00a240b890023270f97',
'V02SBsNOf4sJZNFo4jOHdgHg7-2Tn1s00a338776000b669579',
'V02S2oI49T-Jp0_zJKZ5U38dIUSIl8Q00aa679530026780e96',
'V02ShotJqqiWyubCX0VWTlcbgcHqtSQ00a45564e002678124c',
'V02SFiqdXRGnH5oAV2FmDDulZyGDL3M00a61660c0026781be1',
'V02S7tldy5ltYcikCzJ8PJQDSy_ElEs00a327c3c0026782526',
'V02SPoOluAnWda0dTBYTXpdetS97tyI00a16135e002684bb5c',
'V02Sb8gxW2inr6IDYrdHK_ywJnayd6s00ab7472b0026849b17',
'V02SwV15KQ_8n6brU98_2kLnnFUDUOw00adf3fda0026934a7f'
]
let i = 0
//可网页登录https://zt.wps.cn查看两个id 一个在分享链接 一个在cookie里
sid = config.sid
wpsinviteid = config.inviteid
async function task() {
iv = await invite();
iv = `WPS邀请:\n邀请情况:${iv}`;
console.log(iv)
await server(iv)
}
function invite() {
return new Promise(async resolve => {
try {
invitedata = `invite_userid=${wpsinviteid}`
inviteurl = 'http://zt.wps.cn/2018/clock_in/api/invite'
j = 0;
for (i = 0; i < invite_sid.length; i++) {
ires = await axios.post(inviteurl, invitedata, {
headers: {sid: invite_sid[i], "client_code": "040ce6c23213494c8de9653e0074YX30", "client": "alipay"}
})
sleep(10000)
if (ires.data.result === "ok") {
console.log(`邀请第${i}个好友成功`)
j = j + 1;
} else {
console.log(`邀请第${i}个好友失败`)
}
}
console.log('邀请完毕,任务结束')
iv = '邀请' + j + '个好友成功,任务结束'
} catch (err) {
console.log(err)
iv = '邀请失败'
}
resolve(iv)
})
}
function sleep(time) {
var startTime = new Date().getTime() + parseInt(time, 10);
while(new Date().getTime() < startTime) {}
}
module.exports = task
2021-2-22 更新
- wps已经不能自动打卡,但是邀请功能还是正常可用的,另外server酱也进行了相应修改。因此对wps.js和server.js进行了部分调整,去掉签到功能,且两个邀请中间加入10秒延迟,
新的wps.js(见后续更新)和server.js的代码如下,在按原文部署完之后替换即可 - 云函数的执行超时改长一些,我这里设置的200秒
server.js
const axios = require('axios');
const sckey = require('./config').sckey;
url = `https://sctapi.ftqq.com/${sckey}.send`
console.log(url)
async function server(b) {
res = await axios.post(url, `text=每日打卡&desp=${b}`)
if (res.data.data.error === 'SUCCESS') {
console.log('server酱:发送成功')
} else {
console.log('server酱:发送失败')
console.log(res.data)
}
}
module.exports = server
原文
原项目来源于酷安,原作者的教程已经非常清楚了,但是其提供的说明及源代码有些bug,本教程修改了其中的错误,经测试可以正常运行
原项目见WPS小程序签到,目前自动打卡已失效,但还可以自动邀请。每天只需要微信手动打卡一次还可以获取11天会员。
1、wps_sid获取
网页登录wps 查看链接
按下F12打开控制台 选择network
刷新一下网页
点击wps的链接进入
如图查看cookie 有wps_sid那一坨 =后边就是所需的sid(V02开头的那一串,不含’wps_sid=’)
2、分享ID获取
网页登录wps 查看链接
左边的复制链接,其中的sid=后面的那一串数字就是分享ID
3、SCF代码
首先下载我发的代码
下载链接
登录腾讯云scf
查看链接
需要实名认证吧好像忘了
登录后 如图 新建一个项目 环境选择node.js10.15
选择本地上传zip包 传之前下载的代码
选择函数代码,点击 config.js,输入这三个参数
sckey是为了微信通知提醒,没有的去这里注册 查看链接,非必填项
4、定时任务
如图 触发管理 新建触发器 定时任务,填入
0 0 12 * * * *
表示每天12点整执行。