移动过期脚本,迁移tencentscf.md到别的文件夹中
This commit is contained in:
@ -85,9 +85,9 @@
|
|||||||
### 方法二:云服务器、腾讯云函数等等
|
### 方法二:云服务器、腾讯云函数等等
|
||||||
|
|
||||||
- 需自行有云服务器,云函数等
|
- 需自行有云服务器,云函数等
|
||||||
- 腾讯云云函数 [快速部署教程](tencentscf.md)(免费)
|
- 腾讯云云函数 [快速部署教程](../tencentscf.md)(免费)
|
||||||
- 腾讯云云函数控制台使用 [教程说明](iCloud.md)
|
- 腾讯云云函数控制台使用 [教程说明](iCloud.md)
|
||||||
- 腾讯云云函数 [GitHub Action部署教程](tencentscf.md#github-action-部署)
|
- 腾讯云云函数 [GitHub Action部署教程](../tencentscf.md#github-action-部署)
|
||||||
|
|
||||||
|
|
||||||
### 方法三:Docker(NAS或VPS用户)
|
### 方法三:Docker(NAS或VPS用户)
|
||||||
|
128
backUp/tencentscf.md
Normal file
128
backUp/tencentscf.md
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
|
||||||
|
# 云函数快速部署京东脚本
|
||||||
|
>
|
||||||
|
> - 本地安装依赖使用serverless部署,[点这里](tencentscf.md#1-安装-nodejs-环境)
|
||||||
|
> - Github Action 部署[点这里](tencentscf.md#github-action-部署)
|
||||||
|
|
||||||
|
## 1. 安装 Node.js 环境
|
||||||
|
|
||||||
|
Node.js 环境 [下载地址](https://nodejs.org/zh-tw/download/) ,根据自己的操作系统下载和安装。
|
||||||
|
|
||||||
|
## 2. 下载代码
|
||||||
|
|
||||||
|
点击红框处下载压缩包
|
||||||
|

|
||||||
|
|
||||||
|
## 3. 安装依赖,配置 cookie
|
||||||
|
|
||||||
|
### 3.1 安装依赖
|
||||||
|
|
||||||
|
压缩包解压后进入项目文件夹
|
||||||
|
|
||||||
|
- Windows 用户按住 **shift** 点击右键,点击 **在此处打开命令窗口**
|
||||||
|
- Mac 用户通过终端,自行进入该文件夹
|
||||||
|
|
||||||
|
在命令行内输入 `npm i `,等待运行完成。
|
||||||
|
|
||||||
|
此时,项目文件夹内会多出一个 `node_modules`文件夹
|
||||||
|
|
||||||
|
### 3.2 配置 cookie
|
||||||
|
|
||||||
|
打开项目文件内的 `jdCookie.js`
|
||||||
|
|
||||||
|
在最上面的 `CookieJDs`里写入 cookie ,多个账号以逗号分隔
|
||||||
|
|
||||||
|
例如
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
let CookieJDs = [
|
||||||
|
'pt_key=xxx;pt_pin=xxx;',
|
||||||
|
'pt_key=zzz;pt_pin=zzz;',
|
||||||
|
'pt_key=aaa;pt_pin=xxxaaa'
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
> 注:获取京东 cookie 教程参考 [浏览器获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie.md) , [插件获取京东cookie教程](https://github.com/lxk0301/jd_scripts/blob/master/backUp/GetJdCookie2.md)
|
||||||
|
|
||||||
|
|
||||||
|
## 4. 部署到云函数
|
||||||
|
|
||||||
|
### 4.1 开通服务
|
||||||
|
|
||||||
|
依次登录 [SCF 云函数控制台](https://console.cloud.tencent.com/scf) 和 [SLS 控制台](https://console.cloud.tencent.com/sls) 开通相关服务,确保账户下已开通服务并创建相应[服务角色](https://console.cloud.tencent.com/cam/role) **SCF_QcsRole、SLS_QcsRole**
|
||||||
|
|
||||||
|
> 注意!为了确保权限足够,获取这两个参数时不要使用子账户!此外,腾讯云账户需要[实名认证](https://console.cloud.tencent.com/developer/auth)。
|
||||||
|
|
||||||
|
### 4.2 工具部署
|
||||||
|
|
||||||
|
下载 Serverless 工具,快速部署函数
|
||||||
|
```
|
||||||
|
npm install -g serverless
|
||||||
|
```
|
||||||
|
|
||||||
|
执行部署命令
|
||||||
|
```
|
||||||
|
serverless deploy
|
||||||
|
```
|
||||||
|
|
||||||
|
如果已经配置了永久秘钥,则可以直接部署,如果没有,可以直接**微信扫码**登录腾讯云,并且授权部署。
|
||||||
|
|
||||||
|
过几秒后,查看输出,可以看到函数和定时触发器都已经配置完成。
|
||||||
|
```
|
||||||
|
serverless ⚡framework
|
||||||
|
Action: "deploy" - Stage: "dev" - App: "jdscript" - Instance: "jdscript"
|
||||||
|
|
||||||
|
functionName: scf-jdscript
|
||||||
|
description: This is a function in jdscript application.
|
||||||
|
namespace: default
|
||||||
|
runtime: Nodejs12.16
|
||||||
|
handler: index.main_handler
|
||||||
|
memorySize: 64
|
||||||
|
lastVersion: $LATEST
|
||||||
|
traffic: 1
|
||||||
|
triggers:
|
||||||
|
timer:
|
||||||
|
- timer-jdscript-dev
|
||||||
|
|
||||||
|
36s › jdscript › Success
|
||||||
|
```
|
||||||
|
|
||||||
|
## 5. 查看和测试
|
||||||
|
|
||||||
|
登录后,在 [腾讯云函数地址](https://console.cloud.tencent.com/scf/index) 点击管理控制台,查看最新部署的函数。
|
||||||
|
|
||||||
|
在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
> 如果需要配置永久秘钥,则可以在[访问秘钥页面](https://console.cloud.tencent.com/cam/capi)获取账号的 TENCENT_SECRET_ID,TENCENT_SECRET_KEY,并配置在代码根目录 .env 文件中。
|
||||||
|
|
||||||
|
|
||||||
|
# Github Action 部署
|
||||||
|
## 1. 开通服务
|
||||||
|
|
||||||
|
依次登录 [SCF 云函数控制台](https://console.cloud.tencent.com/scf) 和 [SLS 控制台](https://console.cloud.tencent.com/sls) 开通相关服务,确保账户下已开通服务并创建相应[服务角色](https://console.cloud.tencent.com/cam/role) **SCF_QcsRole、SLS_QcsRole**
|
||||||
|
|
||||||
|
> 注意!为了确保权限足够,获取这两个参数时不要使用子账户!此外,腾讯云账户需要[实名认证](https://console.cloud.tencent.com/developer/auth)。
|
||||||
|
|
||||||
|
## 2. 在这里新建一个访问密钥[新建密钥](https://console.cloud.tencent.com/cam/capi)
|
||||||
|
> 将SecretId和SecretKey分别配置在仓库的secrets变量里面, TENCENT_SECRET_ID对应你的SecretId的值,TENCENT_SECRET_KEY对应你的SecretKey的值
|
||||||
|
|
||||||
|
## 3. 配置自己需要secrets变量[参考这里](githubAction.md#下方提供使用到的-secrets全集合)
|
||||||
|
### __重要的说三遍__
|
||||||
|
### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接
|
||||||
|
### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接
|
||||||
|
### 如果涉及一个变量配置多个值,如多个cookie,多个取消订阅关键字,去掉里面的 *__[空格]()__* 和 __*[换行]()*__ 使用 `&` 连接
|
||||||
|
> 排查问题第一步先看自己[腾讯云函数](https://console.cloud.tencent.com/scf/list-detail?rid=5&ns=default&id=scf-jdscript)那边的环境变量跟自己在仓库配置的 `secrets` 是否一致
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
## 4.执行action workflow进行部署,workflow未报错即部署成功
|
||||||
|

|
||||||
|
## 5. 查看和测试
|
||||||
|
登录后,在 [腾讯云函数地址](https://console.cloud.tencent.com/scf/index) 点击管理控制台,查看最新部署的函数。
|
||||||
|
|
||||||
|
在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。
|
||||||
|
|
||||||
|

|
||||||
|
## 6. 设置触发器[看这里](iCloud.md#5设置触发器) 或者看这里的[注释说明](https://github.com/iouAkira/jd_scripts/blob/patch-1/index.js#L4)
|
40
jd_fruit.js
40
jd_fruit.js
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
东东水果:脚本更新地址 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js
|
东东水果:脚本更新地址 https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_fruit.js
|
||||||
更新时间:2020-12-25
|
更新时间:2021-1-5
|
||||||
东东农场活动链接:https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html
|
东东农场活动链接:https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html
|
||||||
已支持IOS双京东账号,Node.js支持N个京东账号
|
已支持IOS双京东账号,Node.js支持N个京东账号
|
||||||
脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js
|
脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js
|
||||||
@ -29,9 +29,9 @@ let cookiesArr = [], cookie = '', jdFruitShareArr = [], isBox = false, notify, n
|
|||||||
//下面给出两个账号的填写示例(iOS只支持2个京东账号)
|
//下面给出两个账号的填写示例(iOS只支持2个京东账号)
|
||||||
let shareCodes = [ // 这个列表填入你要助力的好友的shareCode
|
let shareCodes = [ // 这个列表填入你要助力的好友的shareCode
|
||||||
//账号一的好友shareCode,不同好友的shareCode中间用@符号隔开
|
//账号一的好友shareCode,不同好友的shareCode中间用@符号隔开
|
||||||
'0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@56db8e7bc5874668ba7d5195230d067a',
|
'0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3@6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6@56db8e7bc5874668ba7d5195230d067a@',
|
||||||
//账号二的好友shareCode,不同好友的shareCode中间用@符号隔开
|
//账号二的好友shareCode,不同好友的shareCode中间用@符号隔开
|
||||||
'b1638a774d054a05a30a17d3b4d364b8@f92cb56c6a1349f5a35f0372aa041ea0@9c52670d52ad4e1a812f894563c746ea@8175509d82504e96828afc8b1bbb9cb3',
|
'b1638a774d054a05a30a17d3b4d364b8@f92cb56c6a1349f5a35f0372aa041ea0@9c52670d52ad4e1a812f894563c746ea@8175509d82504e96828afc8b1bbb9cb3@2673c3777d4443829b2a635059953a28',
|
||||||
]
|
]
|
||||||
let message = '', subTitle = '', option = {}, isFruitFinished = false;
|
let message = '', subTitle = '', option = {}, isFruitFinished = false;
|
||||||
const retainWater = 100;//保留水滴大于多少g,默认100g;
|
const retainWater = 100;//保留水滴大于多少g,默认100g;
|
||||||
@ -771,24 +771,28 @@ async function clockInIn() {
|
|||||||
//
|
//
|
||||||
async function getAwardInviteFriend() {
|
async function getAwardInviteFriend() {
|
||||||
await friendListInitForFarm();//查询好友列表
|
await friendListInitForFarm();//查询好友列表
|
||||||
console.log(`\n今日已邀请好友${$.friendList.inviteFriendCount}个 / 每日邀请上限${$.friendList.inviteFriendMax}个`);
|
if ($.friendList) {
|
||||||
console.log(`开始删除${$.friendList.friends.length}个好友,可拿每天的邀请奖励`);
|
console.log(`\n今日已邀请好友${$.friendList.inviteFriendCount}个 / 每日邀请上限${$.friendList.inviteFriendMax}个`);
|
||||||
for (let friend of $.friendList.friends) {
|
console.log(`开始删除${$.friendList.friends.length}个好友,可拿每天的邀请奖励`);
|
||||||
console.log(`\n开始删除好友 [${friend.shareCode}]`);
|
for (let friend of $.friendList.friends) {
|
||||||
const deleteFriendForFarm = await request('deleteFriendForFarm', { "shareCode": `${friend.shareCode}`,"version":8,"channel":1 });
|
console.log(`\n开始删除好友 [${friend.shareCode}]`);
|
||||||
if (deleteFriendForFarm && deleteFriendForFarm.code === '0') {
|
const deleteFriendForFarm = await request('deleteFriendForFarm', { "shareCode": `${friend.shareCode}`,"version":8,"channel":1 });
|
||||||
console.log(`删除好友 [${friend.shareCode}] 成功\n`);
|
if (deleteFriendForFarm && deleteFriendForFarm.code === '0') {
|
||||||
|
console.log(`删除好友 [${friend.shareCode}] 成功\n`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
await receiveFriendInvite();//为他人助力,接受邀请成为别人的好友
|
||||||
await receiveFriendInvite();//为他人助力,接受邀请成为别人的好友
|
if ($.friendList.inviteFriendCount > 0) {
|
||||||
if ($.friendList.inviteFriendCount > 0) {
|
if ($.friendList.inviteFriendCount > $.friendList.inviteFriendGotAwardCount) {
|
||||||
if ($.friendList.inviteFriendCount > $.friendList.inviteFriendGotAwardCount) {
|
console.log('开始领取邀请好友的奖励');
|
||||||
console.log('开始领取邀请好友的奖励');
|
await awardInviteFriendForFarm();
|
||||||
await awardInviteFriendForFarm();
|
console.log(`领取邀请好友的奖励结果::${JSON.stringify($.awardInviteFriendRes)}`);
|
||||||
console.log(`领取邀请好友的奖励结果::${JSON.stringify($.awardInviteFriendRes)}`);
|
}
|
||||||
|
} else {
|
||||||
|
console.log('今日未邀请过好友')
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log('今日未邀请过好友')
|
console.log(`查询好友列表失败\n`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//给好友浇水
|
//给好友浇水
|
||||||
|
Reference in New Issue
Block a user