Fix JD cookie compatibility issue with scriptable.

This commit is contained in:
NobyDa 2021-08-17 23:15:55 +08:00
parent 6de5d0e040
commit 7de09040e8
No known key found for this signature in database
GPG Key ID: E6B0AC788D373C5B
1 changed files with 13 additions and 8 deletions

View File

@ -2,7 +2,7 @@
京东多合一签到脚本
更新时间: 2021.08.15 19:00 v2.1.0
更新时间: 2021.08.15 19:00 v2.1.1
有效接口: 20+
脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js
电报频道: @NobyDa
@ -13,7 +13,11 @@
QX, Surge, Loon 说明 :
*************************
初次使用时, app配置文件添加脚本配置,并启用Mitm后, Safari浏览器打开登录 https://home.m.jd.com/myJd/newhome.action , 点击个人中心页面, 如果通知获得cookie成功, 则可以使用此签到脚本。 注: 请勿在京东APP内获取!!!
初次使用时, app配置文件添加脚本配置, 并启用Mitm后:
Safari浏览器打开登录 https://home.m.jd.com/myJd/newhome.action 点击"我的"页面
或者使用旧版网址 https://bean.m.jd.com/bean/signIndex.action 点击签到并且出现签到日历
如果通知获取Cookie成功, 则可以使用此签到脚本. : 请勿在京东APP内获取!!!
获取京东金融签到Body说明: 正确添加脚本配置后, 进入"京东金融"APP, "首页"点击"签到"并签到一次, 待通知提示成功即可.
@ -27,7 +31,7 @@ BoxJs或QX Gallery订阅地址: https://raw.githubusercontent.com/NobyDa/Script/
*************************
正确配置QXSurgeLoon后, 并使用此脚本获取"账号1"Cookie成功后, 请勿点击退出账号(可能会导致Cookie失效), 需清除浏览器资料或更换浏览器登录"账号2"获取即可; 账号3或以上同理.
: 如需清除所有Cookie, 您可开启脚本内"DeleteCookie"选项 (第110)
: 如需清除所有Cookie, 您可开启脚本内"DeleteCookie"选项 (第114)
*************************
JSbox, Node.js 说明 :
@ -69,7 +73,7 @@ var OtherKey = `[{
获取京东Cookie = type=http-request,requires-body=1,pattern=^https:\/\/(api\.m|me-api|ms\.jr)\.jd\.com\/(client\.action\?functionId=signBean|user_new\/info\/GetJDUserInfoUnion\?|gw\/generic\/hy\/h5\/m\/appSign\?),script-path=https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js
[MITM]
hostname = ms.jr.jd.com, me-api.jd.com
hostname = ms.jr.jd.com, me-api.jd.com, api.m.jd.com
*************************
Loon 2.1+ 脚本配置:
@ -81,7 +85,7 @@ cron "5 0 * * *" tag=京东多合一签到, script-path=https://raw.githubuserco
http-request ^https:\/\/(api\.m|me-api|ms\.jr)\.jd\.com\/(client\.action\?functionId=signBean|user_new\/info\/GetJDUserInfoUnion\?|gw\/generic\/hy\/h5\/m\/appSign\?) tag=获取京东Cookie, requires-body=true, script-path=https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js
[MITM]
hostname = ms.jr.jd.com, me-api.jd.com
hostname = ms.jr.jd.com, me-api.jd.com, api.m.jd.com
*************************
QX 1.0.10+ 脚本配置 :
@ -99,7 +103,7 @@ hostname = ms.jr.jd.com, me-api.jd.com
^https:\/\/ms\.jr\.jd\.com\/gw\/generic\/hy\/h5\/m\/appSign\? url script-request-body https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js
[mitm]
hostname = ms.jr.jd.com, me-api.jd.com
hostname = ms.jr.jd.com, me-api.jd.com, api.m.jd.com
*************************/
@ -277,7 +281,7 @@ function notify() {
const Name = DualKey || OtherKey.length > 1 ? `【签到号${cnNum[$nobyda.num]||$nobyda.num}】: ${DName}\n` : ``
const disables = $nobyda.read("JD_DailyBonusDisables")
const amount = disables ? disables.split(",").length : 0
const disa = !notify || amount ? `【温馨提示】: 检测到${$nobyda.disable?`上次执行意外崩溃, `:``}已禁用${notify?`${amount}`:`所有`}接口, 如需开启请前往BoxJs或查看脚本内第114行注释.\n` : ``
const disa = !notify || amount ? `【温馨提示】: 检测到${$nobyda.disable?`上次执行意外崩溃, `:``}已禁用${notify?`${amount}`:`所有`}接口, 如需开启请前往BoxJs或查看脚本内第118行注释.\n` : ``
$nobyda.notify("", "", Name + one + two + three + four + five + disa + notify, {
'media-url': $nobyda.headUrl || 'https://cdn.jsdelivr.net/gh/NobyDa/mini@master/Color/jd.png'
});
@ -1635,6 +1639,7 @@ function checkFormat(value) { //check format and delete duplicates
k = ((i.cookie || '').match(/(pt_key|pt_pin)=.+?;/g) || []).sort();
if (k.length == 2) {
if ((n = k[1]) && !c[n]) {
i.userName = i.userName ? i.userName : decodeURIComponent(n.split(/pt_pin=(.+?);/)[1]);
i.cookie = k.join('')
if (i.jrBody && !i.jrBody.includes('reqData=')) {
console.log(`异常钢镚Body已过滤: ${i.jrBody}`)
@ -1677,7 +1682,7 @@ function CookieUpdate(oldValue, newValue, path = 'cookie') {
item = total.length;
}
return {
total,
total: checkFormat(total),
type, //-1: same, 1: add, 2:update
item,
name: decodeURIComponent(name)