1
0
mirror of https://github.com/okyyds/yyds.git synced 2026-07-13 05:31:16 +08:00

update cleancart with api

This commit is contained in:
YYDS
2022-02-06 22:20:35 +08:00
parent 575b6a7693
commit e73c048d68

View File

@@ -38,6 +38,7 @@ pin3@&@不清空👉该pin不清空
let jdSignUrl = '' // 算法url let jdSignUrl = '' // 算法url
let cleancartRun = 'false' let cleancartRun = 'false'
let cleancartProducts = '' let cleancartProducts = ''
let isSignError = false;
const $ = new Env('清空购物车'); const $ = new Env('清空购物车');
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
@@ -122,7 +123,25 @@ async function run(){
try{ try{
let msg = '' let msg = ''
let signBody = `{"homeWishListUserFlag":"1","userType":"0","updateTag":true,"showPlusEntry":"2","hitNewUIStatus":"1","cvhv":"049591","cartuuid":"hjudwgohxzVu96krv/T6Hg==","adid":""}` let signBody = `{"homeWishListUserFlag":"1","userType":"0","updateTag":true,"showPlusEntry":"2","hitNewUIStatus":"1","cvhv":"049591","cartuuid":"hjudwgohxzVu96krv/T6Hg==","adid":""}`
let body = await jdSign('cartClearQuery', signBody) let body = await GetjdSign('cartClearQuery', signBody)
if (isSignError) {
console.log(`Sign获取失败,等待2秒后再次尝试...`)
await $.wait(2 * 1000);
isSignError = false;
body = await GetjdSign('cartClearQuery', signBody);
}
if (isSignError) {
console.log(`Sign获取失败,等待2秒后再次尝试...`)
await $.wait(2 * 1000);
isSignError = false;
body = await GetjdSign('cartClearQuery', signBody);
}
if (isSignError) {
console.log(`Sign获取失败,等待2秒后再次尝试...`)
await $.wait(2 * 1000);
isSignError = false;
body = await GetjdSign('cartClearQuery', signBody);
}
if($.out) return if($.out) return
if(!body){ if(!body){
console.log('获取不到算法') console.log('获取不到算法')
@@ -170,7 +189,27 @@ async function run(){
msg += `清空${operNum}件商品|没有找到要清空的商品\n` msg += `清空${operNum}件商品|没有找到要清空的商品\n`
}else{ }else{
let clearBody = `{"homeWishListUserFlag":"1","userType":"0","updateTag":false,"showPlusEntry":"2","hitNewUIStatus":"1","cvhv":"049591","cartuuid":"hjudwgohxzVu96krv/T6Hg==","operations":${$.toStr(operations,operations)},"adid":"","coord_type":"0"}` let clearBody = `{"homeWishListUserFlag":"1","userType":"0","updateTag":false,"showPlusEntry":"2","hitNewUIStatus":"1","cvhv":"049591","cartuuid":"hjudwgohxzVu96krv/T6Hg==","operations":${$.toStr(operations,operations)},"adid":"","coord_type":"0"}`
clearBody = await jdSign('cartClearRemove', clearBody) isSignError = false;
clearBody = await GetjdSign('cartClearRemove', clearBody);
if (isSignError) {
console.log(`Sign获取失败,等待2秒后再次尝试...`)
await $.wait(2 * 1000);
isSignError = false;
clearBody = await GetjdSign('cartClearRemove', clearBody);
}
if (isSignError) {
console.log(`Sign获取失败,等待2秒后再次尝试...`)
await $.wait(2 * 1000);
isSignError = false;
clearBody = await GetjdSign('cartClearRemove', clearBody);
}
if (isSignError) {
console.log(`Sign获取失败,等待2秒后再次尝试...`)
await $.wait(2 * 1000);
isSignError = false;
clearBody = await GetjdSign('cartClearRemove', clearBody);
}
if($.out) return if($.out) return
if(!clearBody){ if(!clearBody){
console.log('获取不到算法') console.log('获取不到算法')
@@ -256,60 +295,40 @@ function jdApi(functionId,body) {
}) })
} }
function jdSign(fn,body) { function GetjdSign(functionid, body) {
let sign = '' return new Promise(async resolve => {
let flag = false let data = {
try{ "functionId": functionid,
const fs = require('fs'); "body": body,
if (fs.existsSync('./gua_encryption_sign.js')) { "client": "apple",
const encryptionSign = require('./gua_encryption_sign'); "clientVersion": "10.1.0"
sign = encryptionSign.getSign(fn, body) }
}else{ let HostArr = ['jdsign.cf', 'signer.nz.lu']
flag = true let Host = HostArr[Math.floor((Math.random() * HostArr.length))]
} let options = {
sign = sign.data && sign.data.sign && sign.data.sign || '' url: `https://cdn.nz.lu/ddo`,
}catch(e){ body: JSON.stringify(data),
flag = true headers: {
} Host,
if(!flag) return sign "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88"
if(!jdSignUrl.match(/^https?:\/\//)){ },
console.log('请填写算法url') timeout: 15000
$.out = true }
return '' $.post(options, (err, resp, data) => {
} try {
return new Promise((resolve) => { if (err) {
let url = { console.log(`${JSON.stringify(err)}`);
url: jdSignUrl, isSignError = true;
body:`{"fn":"${fn}","body":${body}}`, //console.log(`${$.name} getSign API请求失败请检查网路重试`)
followRedirect:false, } else {}
headers: { } catch (e) {
'Accept':'*/*', $.logErr(e, resp)
"accept-encoding": "gzip, deflate, br", }
'Content-Type': 'application/json', finally {
}, resolve(data);
timeout:30000 }
} })
$.post(url, async (err, resp, data) => { })
try {
// console.log(data)
let res = $.toObj(data,data)
if(typeof res === 'object' && res){
if(res.code && res.code == 200 && res.msg == "ok" && res.data){
if(res.data.sign) sign = res.data.sign || ''
if(sign != '') resolve(sign)
}else{
console.log(data)
}
}else{
console.log(data)
}
} catch (e) {
$.logErr(e, resp);
} finally {
resolve('')
}
})
})
} }