Nolan Pro登录面板如何对接傻妞机器人详细教程
Pro搭建获取token有门槛，大佬关门了，没在群里的请划走。根据大佬的教程搭建好容器后，配置好配置文件。教程开始登录你的傻妞WEB后台在插件订阅里面添加订阅地址傻妞后台订阅地址文章底部获取 傻妞后台订阅地址文章底部获取 然后点击插件市场，多刷新几遍，搜索京东，安装这个京东登录然后继续搜qinglong与something模块，把这两都安装了给傻妞发下面两条命令配置下就可以使用了设置nolan Pro面板地址例：set jd_cookie nolanPro_addr http://192.168.1.65:1234 （注意后面一定不要有/）set jd_cookie nolanPro_addr ?设置nolan Pro对接机器人的token这个在Pro后台自己设置，设置好后复制到命令后面发给机器人配置即可例：set jd_cookie nolanPro_token hdiuoahiohq4156set jd_cookie nolanPro_token ?然后去给傻妞发登录试试吧！扫码登录先得发一个“打开扫码”。 注意的是，nolan面板地址后面一定不要加 / 更新方法禁容器-->运行更新命令docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -c --run-once pro上面命令无法更新？ 来，禁Pro容器，删掉之前的Pro镜像CD到Pro目录cd /root/pro 在Pro容器里面配置好信息拉库，这样就拉的最新的了sudo docker run -id \ --name pro -p 5016:5016 \ -v "$(pwd)":/app/Data \ -e Prolic=第2步获取的 \ -e User=自定义管理帐号 \ -e Pwd=自定义管理密码(八位以上包含大小写字母、数字或特殊字符) \ --privileged=true \ nolanhzy/proPro首页样式代码分享：复制代码到这里修改了保存即可 样式一： 样式二： 样式三 傻妞订阅（三选一自己测试）以及模板代码获取{tabs}{tabs-pane label="傻妞国外机订阅地址一"}sub://T4EywWN46ztYBhHNdOl6Tk+4LnA5YNOgqmfJbjgPviVQIpORRGZeGJ5YUDg0ZW1H4/faKbq2RwQ2J1f50NbvUIiD/axharg92phr6DLh3NsPKpEy3VV/2cveR4YawmWhI0ewXrtaMHiPcOfNiWED/1d3g+szZYXiSO5OBrbKuy0={/tabs-pane}{tabs-pane label="傻妞国外机订阅地址二"}sub://T4EywWN46ztYBhHNdOl6Tr9gtAYiz3SRzcdeEobLHz90DHlvStJfWnrrkIBsmkj7IOvMl+lbwQYbGyZbUsPNftcvldmoonfat85juJ9oMGbGCLDzmpmxQs2V3/KTovRrgZRYrm6/8fNKHIglNorss7TzByd3Xhq8vDXtqDGZP1A={/tabs-pane}{tabs-pane label="傻妞国内订阅地址"}sub://T4EywWN46ztYBhHNdOl6Tkzap0mlmGqEMtMXHYFK3RePfCNugQWCjNHPpLZ8JoasT4VDcT9qG9TQFsqfbcA+SPnJAv0s+kH/KO/AX57Cx5vfJ8VDSI7d5JKehw8dp+GFnMbh2Gt1Dr/SSB304QDL/KPXvBfLvxc0USzCgHYjzVk={/tabs-pane}{tabs-pane label="样式一代码"} 首页 季春便民 如果官方不动手 扫码登录：有效期6个月 手机登录：有效期3个月 季春便民公众号 {/tabs-pane}{tabs-pane label="样式二代码"} 特别提醒 本项目脚本收集自互联，为了保障您账号的财产安全，请设置支付密码并关闭免密支付！ （东东-设置-支付设置-支付验证设置） <marquee width="100%" behavior="scroll" style="color: #00f;">登录后可以扫码关注公众号，每天获取资产推送~</marquee>{/tabs-pane}{tabs-pane label="样式三代码"} {/tabs-pane}{/tabs}部分人无法订阅到库直接复制内容去傻妞插件那新建吧{tabs}{tabs-pane label="京东登录"}https://raw.githubusercontent.com/LevenYi/sillyGirl_Plugins/master/download/16dbd882-32f7-11ed-89fb-fc7c02eb3d87.js{/tabs-pane}{tabs-pane label="qinglong"}/* * @author https://t.me/sillyGirl_Plugin * @rule qinglong * @origin * @module true * @create_at 2021-09-09 16:30:33 * @description 青龙模块(可能仅支持部分版本青龙) * @version v1.0.4 * @public false * @title qinglong */ module.exports = { //认证 Get_QL_Token, //订阅 Get_QL_Subs, Start_QL_Subs, //环境变量 Get_QL_Envs, Get_QL_Env, Add_QL_Envs, Update_QL_Env, Delete_QL_Envs, Move_QL_Env, Disable_QL_Envs, Enable_QL_Envs, //配置文件 Get_QL_Config, Get_QL_Configs, Update_QL_Config, //日志 Get_QL_Logs, Get_QL_Log, //定时任务 Get_QL_Crons, Add_QL_Cron, Update_QL_Cron, Delete_QL_Crons, Disable_QL_Crons, Enable_QL_Crons, Get_QL_CronLog, Pin_QL_Crons, Unpin_QL_Crons, Start_QL_Crons, Stop_QL_Crons, //脚本 Get_QL_Scripts, Get_QL_Script, Add_QL_Script, Update_QL_Script, Delete_QL_Script, Task_QL_Script, //自定义 QLS, Sync_QL_Envs, Modify_QL_Config } //使用样例 function Sample(){ let data=null let QL=QLS()[0] let host=QL.host let client_id=QL.client_id let client_secret=QLS.client_secret let token=QL.token // let token=Get_QL_Token(host,client_id,client_secret) // data=Get_QL_Version(host,token) // let login=QL_Login(host,"username","passsword") // data=Get_QL_SeqLogClear(host,token) // data=Get_QL_Scripts(host,token)[2].children[0] // data=Get_QL_Script(host,token,"KingRan_KR","root.json") // data=Add_QL_Script(host,token,"测试.js","","hello word","") // data=Update_QL_Script(host,token,"测试.js","","你好") // data=Delete_QL_Script(host,token,"测试.js","") // data=Task_QL_Script(host,token,"jd_CheckCK.js","KingRan_KR") // data=Stop_QL_Script(host,token,"jd_CheckCK.js","KingRan_KR") // let envs=Get_QL_Envs(host,token) // data=envs[0] // data=Add_QL_Envs(host,token,[{"name":"Test","value":"值","remarks":"备注1"}]) // data=Update_QL_Env(host,token,"9gDpadTPLRM1rBoK","Test2","value2","remark2") // data=Move_QL_Env(host,token,"9gDpadTPLRM1rBoK",65,60) // data=Get_QL_Env(host,token,"9gDpadTPLRM1rBoK") // data=Delete_QL_Envs(host,token,["9gDpadTPLRM1rBoK"]) // data=Disable_QL_Envs(host,token,["NVgvoIAzhPhPwU8n"]) // data=Enable_QL_Envs(host,token,["NVgvoIAzhPhPwU8n"]) // data=Get_QL_Configs(host,token) // data=Get_QL_Config(host,token,"extra.sh") // data=Update_QL_Config(host,token,"extra.sh","Hello") // let logs=Get_QL_Logs(host,token) // data=logs[1].files // data=Get_QL_Log(host,token,logs[1].name,logs[1].files[0]) // data=Get_QL_Crons(host,token)[30] // data=Add_QL_Cron(host,token,"测试任务","task hello.py","1 2 1 1 1") // data=Update_QL_Cron(host,token,"iBKdVkntztpWOJmZ","测试任务","task hello.py2","1 4 1 1 1") // data=Disable_QL_Crons(host,token,["DBPOktsB6d4S6RUn"]) // data=Enable_QL_Crons(host,token,["DBPOktsB6d4S6RUn"]) // data=Pin_QL_Crons(host,token,["DBPOktsB6d4S6RUn"]) // data=Unpin_QL_Crons(host,token,["DBPOktsB6d4S6RUn"]) // data=Get_QL_CronImport(host.token) // data=Start_QL_Crons(host,token,["aZTfc0tRFD2jvPR5"]) // data=Stop_QL_Crons(host,token,["aZTfc0tRFD2jvPR5"]) // data=Delete_QL_Crons(host,token,["tAEzGQX9Vtgk262O"]) // data=Get_QL_CronLog(host,token,"h08xz5tLf34v6Sgl") console.log(data) console.log(JSON.stringify(data)) } //青龙变量name同步 //function Sync_QL_Envs(from_host,from_token,to_host,to_token,name,value_keyword){ function Sync_QL_Envs(ql1,ql2,name,value_keyword){ let from_envs=Get_QL_Envs(from_host,from_token) let to_envs=Get_QL_Envs(to_host,to_token) if(!from_envs || !to_envs) return false if(name){ from_envs=from_envs.filter(env=>env.name==name) to_envs=to_envs.filter(env=>env.name==name) } for(let i=0;i<from_envs.length;i++){ let keyword="" let index=0 if(value_keyword){ keyword=from_envs[i].value.match(value_keyword) if(!keyword) return false else keyword=keyword[0] index=to_envs.findIndex(env=>{ let kt=env.match(keyword) if(kt && kt[0]==keyword) return true else return false }) } else index=to_envs.findIndex(env=>env.name==from_envs[i].name) if(index!=-1){ let id=to_envs[index]._id?to_envs[index]._id:to_envs[index].id to_envs[index].value=from_envs[i].value if(!Update_QL_Env(to_host,to_token,id,from_envs[i].name,from_envs[i].value,from_envs[i].remarks)) console.log(from_envs[i].name+"\n"+from_envs[i].value+"sync update failed") } else{ if(!Add_QL_Envs(to_host,to_token,from_envs[i].name,[from_envs[i]])) console.log(from_envs[i].name+"\n"+from_envs[i].value+"sync add failed") } } } //修改青龙配置文件变量 function Modify_QL_Config(host, token, envs) { //s.reply(JSON.stringify(envs)) let Config = Get_QL_Config(host, token, "config.sh") if (Config != null) { for (let i = 0; i < envs.length; i++) { let reg = new RegExp("(?<=export[ ]+" + envs[i].name + "[ ]*=[ ]*(\"|\'))[^\"\']*") if (Config.search(reg) == -1) Config += "\nexport " + envs[i].name + "=\"" + envs[i].value + "\"" else Config =Config.replace(reg, envs[i].value) } return Update_QL_Config(host, token, "config.sh", Config) } else return false } //修改配置文件变量envs:[{name:变量名,value:变量值}]并执行含关键词keywords:[]的任务 function Spy_QL_Task (host,token, envs, keywords) { if (!Modify_QL_Config(host, token, envs)) { return false } let crons = Search_QL_Crons(host, token, keywords) if(!crons) return false else return Start_QL_Crons(host, token, crons[0].id?[crons[0].id]:crons[0]._id) } //获取容器信息 function QLS(){ let updated=false let db=new Bucket("qinglong") let data=db.get("QLS") if(!data) return null else QLS=JSON.parse(data) QLS.forEach((ql,i)=>{ if(ql.token){ let envs=Get_QL_Envs(ql.host,ql.token) //检测token是否失效 if(!envs){ console.log(ql.name+"token疑似失效,重新获取") QLS[i]["token"]=Get_QL_Token(ql.host,ql.client_id,ql.client_secret) updated=true } } else{ console.log("获取"+ql.name+"token") QLS[i]["token"]=Get_QL_Token(ql.host,ql.client_id,ql.client_secret) updated=true } if(!QLS[i].token){ console.log(ql.name+"token获取失败,青龙管理容器配置错误或者青龙已挂掉\n") return null } }) if(updated) db.set("QLS",JSON.stringify(QLS)) return QLS } /****************用户*******************/ //获取青龙token function Get_QL_Token(host,client_id,client_secret){ let resp=request(host+"/open/auth/token?client_id="+client_id+"&client_secret="+client_secret) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //获取青龙登陆信息,未知错误 function QL_Login(host,name,password){ let resp=request({ url:host+"/open/user/login", method:"post", headers:{ "accept": "application/json" }, body:{"name": name,"password": password} }) try{ s.reply("login---"+data) return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //****************青龙订阅***************** */ /*{ "id": 4, "name": "KR", "url": "https://github.com/KingRan/KR.git", "schedule": "2 23 * * *", "interval_schedule": null, "type": "public-repo", "whitelist": "jd_|jx_|jdCookie", "blacklist": "activity|backUp|XAY|FLP|MN|AJ|YSLD|qbyq", "status": 1, "dependences": "^jd[^_]|USER|utils|function|sign|sendNotify|ql|JDJR", "extensions": null, "sub_before": null, "sub_after": null, "branch": null, "pull_type": null, "pull_option": null, "pid": 12934, "is_disabled": null, "log_path": "KingRan_KR/2023-01-18-23-02-00.log", "schedule_type": "crontab", "alias": "KingRan_KR", "proxy": null, "createdAt": "2023-01-16T15:52:19.105Z", "updatedAt": "2023-01-18T15:02:03.896Z" }*/ //获取青龙订阅，无searchValue返回所有订阅 function Get_QL_Subs(host,token,searchValue){ let option={ url:host+"/open/subscriptions", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } } if(searchValue) option.url+="?searchValue="+encodeURI(searchValue) let resp=request(option) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //立即执行订阅id,id为数组 function Start_QL_Subs(host,token,id){ let resp=request({ url:host+"/open/subscriptions/run", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } /****************青龙变量*******************/ /*环境变量对象 [{ "value": "", //值 "_id": "", //青龙2.11版本开始为id，自测 "created": , "status": 0, //状态，是否禁用 "timestamp": "Wed Jun 22 2022 17:55:12 GMT+0800 (中国标准时间)", "position": , "name": "", //变量名 "remarks": "" //变量备注 }]*/ //获取青龙环境变量,无searchValue返回所有环境变量对象 function Get_QL_Envs(host,token,searchValue){ let option={ url:host+"/open/envs", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } } if(searchValue) option.url+="?searchValue="+encodeURI(searchValue) let resp=request(option) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //根据id获取青龙环境变量详细信息，成功返回环境变量对象 function Get_QL_Env(host,token,id){ let resp=request({ url:host+"/open/envs/"+id, method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //添加青龙变量envs:[{name:变量名,value:变量值,remarks:变量备注}]数组 //成功返回环境变量对象 function Add_QL_Envs(host,token,envs){ let resp=request({ url:host+"/open/envs", method:"post", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:envs }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //修改青龙变量id:变量id,修改为name:变量名,value:变量值,remark:变量备注 //成功返回修改后的环境变量对象 function Update_QL_Env(host,token,id,name,value,remark){ let body=null if(typeof(id)=="string") body={"value": value,"name": name,"remarks": remark,"_id":id} else body={"value": value,"name": name,"remarks": remark,"id":id} let resp=request({ url:host+"/open/envs", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:body }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //删除青龙变量id,id为数组,提交成功即成功， function Delete_QL_Envs(host,token,id){ let resp=request({ url:host+"/open/envs", method:"delete", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //移动青龙变量_id从位置from至位置to,from与to为数组下标 function Move_QL_Env(host,token,id,from,to){ let resp=request({ url:host+"/open/envs/"+id+"/move", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:{"fromIndex": from,"toIndex": to} }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //禁用青龙变量id,id为数组 function Disable_QL_Envs(host,token,id){ let resp=request({ url:host+"/open/envs/disable", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //启用青龙变量id,id为数组 function Enable_QL_Envs(host,token,id){ let resp=request({ url:host+"/open/envs/enable", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } /****************青龙配置文件*******************/ //获取青龙配置文件列表,成功返回[{title:filename,value:filename}]对象 function Get_QL_Configs(host,token){ let resp=request({ url:host+"/open/configs/files", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //获取青龙配置文件内容 function Get_QL_Config(host,token,filename){ let resp=request({ url:host+"/open/configs/"+filename, method:"get", headers:{ "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //修改配置文件 function Update_QL_Config(host,token,filename,content){ let resp=request({ url:host+"/open/configs/save", method:"post", headers:{ "Authorization":token.token_type+" "+token.token, "content-Type":"application/json" }, body:{"name":filename,"content":content} }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } /****************青龙日志*******************/ //获取青龙日志件列表,成功返回[{ "name": "","isDir": true, "files": []}]对象数组 function Get_QL_Logs(host,token){ let resp=request({ url:host+"/open/logs", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).dirs } catch(err){ console.log(JSON.stringify(resp)) return null } } //获取青龙日志内容,成功返回string内容 function Get_QL_Log(host,token,name,logfile){ let resp=request({ url:host+"/open/logs/"+name+"/"+logfile, method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } /****************青龙任务*******************/ //获取青龙定时任务，无searchValue返回所有任务 function Get_QL_Crons(host,token,searchValue){ let option={ url:host+"/open/crons", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } } if(searchValue) option.url+="?searchValue="+encodeURI(searchValue) let resp=request(option) try{ let data=JSON.parse(resp.body).data return data.data?data.data:data } catch(err){ console.log(JSON.stringify(resp)) } } //添加任务 function Add_QL_Cron(host,token,name,task,cron){ let resp=request({ url:host+"/open/crons", method:"post", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:{ "command": task, "schedule": cron, "name": name } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //修改任务 function Update_QL_Cron(host,token,id,name,task,cron){ let body=null if(typeof(id)=="string") body={"command": task,"name": name,"schedule": cron,"_id":id} else body={"command": task,"name": name,"schedule": cron,"id":id} let resp=request({ url:host+"/open/crons", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:body }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //删除任务数组 function Delete_QL_Crons(host,token,id){ let resp=request({ url:host+"/open/crons", method:"delete", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //禁用任务id,id为数组 function Disable_QL_Crons(host,token,id){ let resp=request({ url:host+"/open/crons/disable", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //启用任务id,id为数组 function Enable_QL_Crons(host,token,id){ let resp=request({ url:host+"/open/crons/enable", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //获取任务日志 function Get_QL_CronLog(host,token,id){ let resp=request({ url:host+"/open/crons/"+id+"/log", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //置顶任务id,id为数组 function Pin_QL_Crons(host,token,id){ let resp=request({ url:host+"/open/crons/pin", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //取消置顶任务id,id为数组 function Unpin_QL_Crons(host,token,id){ let resp=request({ url:host+"/open/crons/unpin", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //立即执行任务id,id为数组 function Start_QL_Crons(host,token,id){ let resp=request({ url:host+"/open/crons/run", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //停止任务id,id为数组 function Stop_QL_Crons(host,token,id){ let resp=request({ url:host+"/open/crons/stop", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:id }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //未知 function Get_QL_CronImport(host,token){ let resp=request({ url:host+"/open/crons/import", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ return null } } /****************青龙脚本*******************/ //本部分所有路径均指/ql/scripts/的相对路径 //获取所有脚本,成功返回脚本信息对象 function Get_QL_Scripts(host,token){ let resp=request({ url:host+"/open/scripts/files", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //获取脚本内容,parent为路径 function Get_QL_Script(host,token,filename,parent){ let resp=request({ url:host+"/open/scripts/"+filename+"?path="+parent, method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //添加脚本,文件名，路径，脚本内容，原始文件名(?) function Add_QL_Script(host,token,filename,path,content,originFilename){ let resp=request({ url:host+"/open/scripts", method:"post", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:{ "filename": filename, "path": path, "content": content, "originFilename": originFilename } }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //修改脚本文件 function Update_QL_Script(host,token,filename,path,content){ let resp=request({ url:host+"/open/scripts", method:"post", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:{ "path":path, "filename":filename, "content":content } }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //删除脚本 function Delete_QL_Script(host,token,filename,path){ let resp=request({ url:host+"/open/scripts", method:"delete", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:{ "filename": filename, "path": path } }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //执行脚本 function Task_QL_Script(host,token,filename,path){ let resp=request({ url:host+"/open/scripts/run", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:{ "filename": filename, "path": path } }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } //停止执行脚本,未知错误 function Stop_QL_Script(host,token,filename,path){ let resp=request({ url:host+"/open/scripts/stop", method:"put", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token }, body:{ "filename": filename, "path": path } }) try{ if(JSON.parse(resp.body).code==200) return true else{ console.log(resp.body) return false } } catch(err){ console.log(JSON.stringify(resp)) return false } } /****************系统管理*******************/ //获取青龙版本，未知错误，获取失败 function Get_QL_Version(host,token){ let resp=request({ url:host+"/open/system", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } //获取青龙日志删除频率,未知错误，获取失败 function Get_QL_SeqLogClear(host,token){ let resp=request({ url:host+"/open/system/log/remove", method:"get", headers:{ "accept": "application/json", "Authorization":token.token_type+" "+token.token } }) try{ return JSON.parse(resp.body).data } catch(err){ console.log(JSON.stringify(resp)) return null } } {/tabs-pane}{tabs-pane label="something"}/* * @author https://t.me/sillyGirl_Plugin * @rule something * @origin * @module true * @create_at 2021-09-09 16:30:33 * @description 一些通用函数和网络接口以及数据 * @version v1.0.6 * @title something * @public false */ module.exports={ NotifyPinInGroup, NotifyPin, NotifyMainKey, NotifyMasters, GetBind, ToHyperLink, ToEasyCopy, CQ_Image, USER_AGENT, JD_UserInfo, JD_BeanInfo, JD_ExpireBean, JD_RedPacket, JD_isLogin, WallDecode, WindfggDecode, NolanDecode, SendToTG, GetFile } function formatStringLen(strVal, len,padChar){ if (!strVal) { return null } let pad=padChar||" " let count=0 for(let i=0;i<strVal.length;i++){ if(strVal.charCodeAt(i)>255) count=count+2 else count=count+1 } //console.log(count) for(i=0;i<len-count;i++) strVal+=padChar return strVal } function CQ_Image(url){ return "[CQ:image,cache=0,file="+url+"]" } //tg快捷复制 function ToEasyCopy(imtype,title,msg){ if(imtype=="pgm") return "【**"+title+"**】`"+msg+"`" else if(imtype=="tg") return "【*"+title+"*】`"+msg+"`" // else if(imtype=="qq") // return else return "【" + title + "】"+msg } //获取imtype平台用户uid所绑定的京东账号pin function GetBind(imtype,uid){ let db=new Bucket("pin"+imtype.toUpperCase()) let allpins=db.keys(); let pin=[] for(let i=0;i<allpins.length;i++) if(db.get(allpins[i])==uid) pin.push(allpins[i]) return pin } //管理员通知 function NotifyMasters(msg){ const sillyGirl=new SillyGirl() let types=["qq","tg","wx"] types.forEach(type=>{ let matsers=(new Bucket(type).get("masters")) matsers.split("&").forEach(id=> sillyGirl.push({ platform: type, userId: id, content: msg }) ) }) } //在totype平台的群cid中向绑定京东账号pin的用户通知msg function NotifyPinInGroup(totype,cid,pin,msg){ let uid=(new Bucket("pin"+totype.toUpperCase())).get(pin) if(uid){ sillyGirl.push({ platform:totype, userID:uid, groupCode:cid, content:msg }) return true } else return false } //向绑定pin的用户全平台推送msg，返回该用户所绑定的所有平台 function NotifyPin(pin,msg){ const sillyGirl=new SillyGirl() let types=["qq","tg","wx","sxg","wxmp"] let to=[] types.forEach(type=>{ let uid=(new Bucket("pin"+type.toUpperCase())).get(pin) if(uid) to.push({type:type,id:uid}) }) for(let i=0;i<to.length;i++) sillyGirl.push({ platform:to[i].type, userID:to[i].id, content:msg, }) return to } //获取傻妞数据库mainkey下设置的通知渠道发送msg消息 function NotifyMainKey(mainKey, isGroup, msg,token) { const sillyGirl=new SillyGirl() let record = [] //记录已通知[{imType:qq/tg/wx,id:ID}] let NotifyTo = { platform: "", userID: "", groupCode: "", content: msg } let dbn = new Bucket(mainKey) let toType = dbn.keys() for (let i = 0; i < toType.length; i++) { let ids = dbn.get(toType[i]).split("&") if(toType[i]=="tg"){ ids.forEach(id=>{ SendToTG(id,msg,null,token) record.push({ imType: toType[i], id: id }) }) } else{ NotifyTo.platform = toType[i] for (let j = 0; j < ids.length; j++) { if (isGroup) NotifyTo.groupCode = ids[j] else NotifyTo.userID = ids[j] sillyGirl.push(NotifyTo) record.push({ imType: toType[i], id: ids[j] }) } } } return record } //转各平台超链接 function ToHyperLink(type,url,title){ if(type=="tg"||type=="pgm") return "["+title+"]("+url+")" else if(type=="qq") return "[CQ:share,url="+url+",title="+title+"]" else return "【"+title+"】\n"+url } //***************京东api********************/ //用户登陆状态 function JD_isLogin(ck){ try{ return Number(JSON.parse(request({ url:"https://plogin.m.jd.com/cgi-bin/ml/islogin", headers:{ "Cookie": ck, "User-Agent": USER_AGENT() } }).body).islogin) } catch(err){ return null } } //获取ck对应账号的信息 function JD_UserInfo(ck){ let resp=request({ url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", method:"get", // dataType:"json", headers: { "User-Agent": USER_AGENT(), "Cookie": ck } }) try{ return JSON.parse(resp.body).data } catch(err){ return null } } //获取ck对应账号最近days天的每一项收入 //各项收入详情[{eventMassage:活动名,amount:获得京豆数量,date:获得时间,...}] function JD_BeanInfo(ck,days){ let data=JD_BeanInfo2(ck,days) // return data?data:JD_BeanInfo1(ck,days) if(data) return data else{ console.log("切换查询接口") return JD_BeanInfo1(ck,days) } } function JD_BeanInfo1(ck,days){ let ua= USER_AGENT() let page=1 //京豆收入页 let info=[] //每一项收入活动详情记录 let limit=100 //死循环保险 let day="" //记录前一项收入的日期，以统计记录天数 let count=0 //天数统计 while(limit-->0){ let body=encodeURI(JSON.stringify({ "pageSize": "200", "page": page.toString() })) let data=request({ url: "https://api.m.jd.com/client.action?functionId=getJingBeanBalanceDetail", method:"post", dataType:"json", body: "body="+body+"&appid=ld", headers: { "User-Agent": ua, "Host": "api.m.jd.com", "Content-Type": "application/x-www-form-urlencoded", "Cookie": ck } }) if(data.status==200 && data.body.code==0){ for(let i=0;i<data.body.detailList.length;i++){ let infoday=data.body.detailList[i].date.match(/\d+(?= )/)[0] //收入项时间-天 if(day!=infoday){ day=infoday if(count==days) return info count++ } info.push(data.body.detailList[i]) } } else return null sleep(500) page++ } } function JD_BeanInfo2(ck,days){ let ua= USER_AGENT() let page=1 //京豆收入页 let info=[] //每一项收入活动详情记录 let limit=100 //死循环保险 let day="" //记录前一项收入的日期，以统计记录天数 let count=0 //天数统计 while(limit-->0){ let data=request({ url:"https://bean.m.jd.com/beanDetail/detail.json?page="+page, dataType:"json", headers:{ "Cookie":ck, "User-Agent":ua } }) if(data.status==200 && data.body.success){ for(let i=0;i<data.body.jingDetailList.length;i++){ let infoday=data.body.jingDetailList[i].date.match(/\d+(?= )/)[0] //收入项时间-天 if(day!=infoday){ day=infoday if(count==days) return info count++ } info.push(data.body.jingDetailList[i]) } } else return null sleep(500) page++ } } //获取ck对应账号7天内过期京豆 function JD_ExpireBean(ck){ let resp=request({ url:`https://wq.jd.com/activep3/singjd/queryexpirejingdou?_=${Date.now()}&g_login_type=1&sceneval=2`, headers:{ "Cookie": ck, "Referer":"https://wqs.jd.com/promote/201801/bean/mybean.html", "User-Agent": USER_AGENT() } }) try{ return JSON.parse(resp.body.slice(23, -13)).expirejingdou } catch(err){ return null } } //获取ck对应账号红包数据 function JD_RedPacket(ck){ let resp=request({ url:`https://m.jingxi.com/user/info/QueryUserRedEnvelopesV2?type=1&orgFlag=JD_PinGou_New&page=1&cashRedType=1&redBalanceFlag=1&channel=1&_=${+new Date()}&sceneval=2&g_login_type=1&g_ty=ls`, headers:{ "Cookie": ck, "Referer":"https://st.jingxi.com/my/redpacket.shtml?newPg=App&jxsid=16156262265849285961", "User-Agent": USER_AGENT() } }) try{ let data=JSON.parse(resp.body) if(data.msg=="success") return data.data else return null } catch(err){ return null } } const USER_AGENTS = [ 'jdltapp;iPad;3.7.0;14.4;network/wifi;Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;2346663656561603-4353564623932316;network/wifi;model/ONEPLUS A5010;addressid/0;aid/2dfceea045ed292a;oaid/;osVer/29;appBuild/1436;psn/BS6Y9SAiw0IpJ4ro7rjSOkCRZTgR3z2K|10;psq/5;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/10.5;jdv/;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/oppo;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045140 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.1;59d6ae6e8387bd09fe046d5b8918ead51614e80a;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone12,1;hasOCPay/0;appBuild/1017;supportBestPay/0;addressid/;pv/1.26;apprpd/;ref/JDLTSubMainPageViewController;psq/0;ads/;psn/59d6ae6e8387bd09fe046d5b8918ead51614e80a|3;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;13.5;22d679c006bf9c087abf362cf1d2e0020ebb8798;network/wifi;ADID/10857A57-DDF8-4A0D-A548-7B8F43AC77EE;hasUPPay/0;pushNoticeIsOpen/1;lang/zh_CN;model/iPhone12,1;addressid/2378947694;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/15.7;apprpd/Allowance_Registered;ref/JDLTTaskCenterViewController;psq/6;ads/;psn/22d679c006bf9c087abf362cf1d2e0020ebb8798|22;jdv/0|kong|t_1000170135|tuiguang|notset|1614153044558|1614153044;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 13.5;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;2616935633265383-5333463636261326;network/UNKNOWN;model/M2007J3SC;addressid/1840745247;aid/ba9e3b5853dccb1b;oaid/371d8af7dd71e8d5;osVer/29;appBuild/1436;psn/t7JmxZUXGkimd4f9Jdul2jEeuYLwxPrm|8;psq/6;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/5.6;jdv/;ref/com.jd.jdlite.lib.jdlitemessage.view.activity.MessageCenterMainActivity;partner/xiaomi;apprpd/MessageCenter_MessageMerge;eufv/1;Mozilla/5.0 (Linux; Android 10; M2007J3SC Build/QKQ1.200419.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045135 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.3;d7beab54ae7758fa896c193b49470204fbb8fce9;network/4g;ADID/97AD46C9-6D49-4642-BF6F-689256673906;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/6.28;apprpd/;ref/JDLTRedPacketViewController;psq/3;ads/;psn/d7beab54ae7758fa896c193b49470204fbb8fce9|8;jdv/0|kong|t_1001707023_|jingfen|79ad0319fa4d47e38521a616d80bc4bd|1613800945610|1613824900;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;9;D246836333735-3264353430393;network/4g;model/MIX 2;addressid/138678023;aid/bf8bcf1214b3832a;oaid/308540d1f1feb2f5;osVer/28;appBuild/1436;psn/Z/rGqfWBY/h5gcGFnVIsRw==|16;psq/3;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 9;osv/9;pv/13.7;jdv/;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/xiaomi;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 9; MIX 2 Build/PKQ1.190118.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045135 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;eb5a9e7e596e262b4ffb3b6b5c830984c8a5c0d5;network/wifi;ADID/5603541B-30C1-4B5C-A782-20D0B569D810;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/1041002757;hasOCPay/0;appBuild/101;supportBestPay/0;pv/34.6;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/5;ads/;psn/eb5a9e7e596e262b4ffb3b6b5c830984c8a5c0d5|44;jdv/0|androidapp|t_335139774|appshare|CopyURL|1612612940307|1612612944;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;21631ed983b3e854a3154b0336413825ad0d6783;network/3g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,4;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.47;apprpd/;ref/JDLTSubMainPageViewController;psq/8;ads/;psn/21631ed983b3e854a3154b0336413825ad0d6783|9;jdv/0|direct|-|none|-|1614150725100|1614225882;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;13.5;500a795cb2abae60b877ee4a1930557a800bef1c;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone8,1;addressid/669949466;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/9.11;apprpd/;ref/JDLTSubMainPageViewController;psq/10;ads/;psn/500a795cb2abae60b877ee4a1930557a800bef1c|11;jdv/;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 13.5;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPad;3.7.0;14.4;f5e7b7980fb50efc9c294ac38653c1584846c3db;network/wifi;hasUPPay/0;pushNoticeIsOpen/1;lang/zh_CN;model/iPad6,3;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/231.11;pap/JA2020_3112531|3.7.0|IOS 14.4;apprpd/;psn/f5e7b7980fb50efc9c294ac38653c1584846c3db|305;usc/kong;jdv/0|kong|t_1000170135|tuiguang|notset|1613606450668|1613606450;umd/tuiguang;psq/2;ucp/t_1000170135;app_device/IOS;utr/notset;ref/JDLTRedPacketViewController;adk/;ads/;Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;19fef5419f88076c43f5317eabe20121d52c6a61;network/wifi;ADID/00000000-0000-0000-0000-000000000000;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,8;addressid/3430850943;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/10.4;apprpd/;ref/JDLTSubMainPageViewController;psq/3;ads/;psn/19fef5419f88076c43f5317eabe20121d52c6a61|16;jdv/0|kong|t_1001327829_|jingfen|f51febe09dd64b20b06bc6ef4c1ad790#/|1614096460311|1614096511;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148', 'jdltapp;iPhone;3.7.0;12.2;f995bc883282f7c7ea9d7f32da3f658127aa36c7;network/4g;ADID/9F40F4CA-EA7C-4F2E-8E09-97A66901D83E;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone10,4;addressid/525064695;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/11.11;apprpd/;ref/JDLTSubMainPageViewController;psq/2;ads/;psn/f995bc883282f7c7ea9d7f32da3f658127aa36c7|22;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 12.2;Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;5366566313931326-6633931643233693;network/wifi;model/Mi9 Pro 5G;addressid/0;aid/5fe6191bf39a42c9;oaid/e3a9473ef6699f75;osVer/29;appBuild/1436;psn/b3rJlGi AwLqa9AqX7Vp0jv4T7XPMa0o|5;psq/4;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/5.4;jdv/;ref/HomeFragment;partner/xiaomi;apprpd/Home_Main;eufv/1;Mozilla/5.0 (Linux; Android 10; Mi9 Pro 5G Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045135 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;4e6b46913a2e18dd06d6d69843ee4cdd8e033bc1;network/3g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,2;addressid/666624049;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/54.11;apprpd/MessageCenter_MessageMerge;ref/MessageCenterController;psq/10;ads/;psn/4e6b46913a2e18dd06d6d69843ee4cdd8e033bc1|101;jdv/0|kong|t_2010804675_|jingfen|810dab1ba2c04b8588c5aa5a0d44c4bd|1614183499;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.2;c71b599e9a0bcbd8d1ad924d85b5715530efad06;network/wifi;ADID/751C6E92-FD10-4323-B37C-187FD0CF0551;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,8;addressid/4053561885;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/263.8;apprpd/;ref/JDLTSubMainPageViewController;psq/2;ads/;psn/c71b599e9a0bcbd8d1ad924d85b5715530efad06|481;jdv/0|kong|t_1001610202_|jingfen|3911bea7ee2f4fcf8d11fdf663192bbe|1614157052210|1614157056;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.2;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;2d306ee3cacd2c02560627a5113817ebea20a2c9;network/4g;ADID/A346F099-3182-4889-9A62-2B3C28AB861E;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,3;hasOCPay/0;appBuild/1017;supportBestPay/0;addressid/;pv/1.35;apprpd/Allowance_Registered;ref/JDLTTaskCenterViewController;psq/0;ads/;psn/2d306ee3cacd2c02560627a5113817ebea20a2c9|2;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;28355aff16cec8bcf3e5728dbbc9725656d8c2c2;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone10,2;addressid/833058617;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.10;apprpd/;ref/JDLTWebViewController;psq/9;ads/;psn/28355aff16cec8bcf3e5728dbbc9725656d8c2c2|5;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;13.5;24ddac73a3de1b91816b7aedef53e97c4c313733;network/4g;ADID/598C6841-76AC-4512-AA97-CBA940548D70;hasUPPay/0;pushNoticeIsOpen/1;lang/zh_CN;model/iPhone11,6;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/12.6;apprpd/;ref/JDLTSubMainPageViewController;psq/5;ads/;psn/24ddac73a3de1b91816b7aedef53e97c4c313733|23;jdv/0|kong|t_1000170135|tuiguang|notset|1614126110904|1614126110;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 13.5;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;d7732ba60c8ff73cc3f5ba7290a3aa9551f73a1b;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone12,1;addressid/25239372;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/8.6;apprpd/;ref/JDLTSubMainPageViewController;psq/5;ads/;psn/d7732ba60c8ff73cc3f5ba7290a3aa9551f73a1b|14;jdv/0|kong|t_1001226363_|jingfen|5713234d1e1e4893b92b2de2cb32484d|1614182989528|1614182992;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;ca1a32afca36bc9fb37fd03f18e653bce53eaca5;network/wifi;ADID/3AF380AB-CB74-4FE6-9E7C-967693863CA3;hasUPPay/0;pushNoticeIsOpen/1;lang/zh_CN;model/iPhone8,1;addressid/138323416;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/72.12;apprpd/;ref/JDLTRedPacketViewController;psq/3;ads/;psn/ca1a32afca36bc9fb37fd03f18e653bce53eaca5|109;jdv/0|kong|t_1000536212_|jingfen|c82bfa19e33a4269a5884ffc614790f4|1614141246;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;7346933333666353-8333366646039373;network/wifi;model/ONEPLUS A5010;addressid/138117973;aid/7d933f6583cfd097;oaid/;osVer/29;appBuild/1436;psn/T/eqfRSwp8VKEvvXyEunq09Cg2MUkiQ5|17;psq/4;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/11.4;jdv/0|kong|t_1001849073_|jingfen|495a47f6c0b8431c9d460f61ad2304dc|1614084403978|1614084407;ref/HomeFragment;partner/oppo;apprpd/Home_Main;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045140 Mobile Safari/537.36', 'jdltapp;android;3.7.0;11;4626269356736353-5353236346334673;network/wifi;model/M2006J10C;addressid/0;aid/dbb9e7655526d3d7;oaid/66a7af49362987b0;osVer/30;appBuild/1436;psn/rQRQgJ 4 S3qkq8YDl28y6jkUHmI/rlX|3;psq/4;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 11;osv/11;pv/3.4;jdv/;ref/HomeFragment;partner/xiaomi;apprpd/Home_Main;eufv/1;Mozilla/5.0 (Linux; Android 11; M2006J10C Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045513 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;78fc1d919de0c8c2de15725eff508d8ab14f9c82;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,1;addressid/137829713;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/23.11;apprpd/;ref/JDLTSubMainPageViewController;psq/10;ads/;psn/78fc1d919de0c8c2de15725eff508d8ab14f9c82|34;jdv/0|iosapp|t_335139774|appshare|Wxfriends|1612508702380|1612534293;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;0373263343266633-5663030363465326;network/wifi;model/Redmi Note 7;addressid/590846082;aid/07b34bf3e6006d5b;oaid/17975a142e67ec92;osVer/29;appBuild/1436;psn/OHNqtdhQKv1okyh7rB3HxjwI00ixJMNG|4;psq/3;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/2.3;jdv/;ref/activityId=8a8fabf3cccb417f8e691b6774938bc2;partner/xiaomi;apprpd/jsbqd_home;eufv/1;Mozilla/5.0 (Linux; Android 10; Redmi Note 7 Build/QKQ1.190910.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.152 Mobile Safari/537.36', 'jdltapp;android;3.7.0;10;3636566623663623-1693635613166646;network/wifi;model/ASUS_I001DA;addressid/1397761133;aid/ccef2fc2a96e1afd;oaid/;osVer/29;appBuild/1436;psn/T8087T0D82PHzJ4VUMGFrfB9dw4gUnKG|76;psq/5;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/73.5;jdv/0|kong|t_1002354188_|jingfen|2335e043b3344107a2750a781fde9a2e#/|1614097081426|1614097087;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/yingyongbao;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 10; ASUS_I001DA Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045140 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone10,2;addressid/138419019;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/5.7;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/6;ads/;psn/4ee6af0db48fd605adb69b63f00fcbb51c2fc3f0|9;jdv/0|direct|-|none|-|1613705981655|1613823229;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/wifi;ADID/F9FD7728-2956-4DD1-8EDD-58B07950864C;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone10,1;addressid/1346909722;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/30.8;apprpd/;ref/JDLTSubMainPageViewController;psq/7;ads/;psn/40d4d4323eb3987226cae367d6b0d8be50f2c7b3|39;jdv/0|kong|t_1000252057_0|tuiguang|eba7648a0f4445aa9cfa6f35c6f36e15|1613995717959|1613995723;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;ADID/5D306F0D-A131-4B26-947E-166CCB9BFFFF;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,6;addressid/138164461;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/7.8;apprpd/;ref/JDLTSubMainPageViewController;psq/7;ads/;psn/d40e5d4a33c100e8527f779557c347569b49c304|7;jdv/0|kong|t_1001226363_|jingfen|3bf5372cb9cd445bbb270b8bc9a34f00|1608439066693|1608439068;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPad;3.7.0;14.5;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPad8,9;hasOCPay/0;appBuild/1017;supportBestPay/0;addressid/;pv/1.20;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/5;ads/;psn/d9f5ddaa0160a20f32fb2c8bfd174fae7993c1b4|3;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.5;Mozilla/5.0 (iPad; CPU OS 14_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/wifi;ADID/31548A9C-8A01-469A-B148-E7D841C91FD0;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/10.5;apprpd/;ref/JDLTSubMainPageViewController;psq/4;ads/;psn/a858fb4b40e432ea32f80729916e6c3e910bb922|12;jdv/0|direct|-|none|-|1613898710373|1613898712;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;13.5;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/2237496805;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/13.6;apprpd/;ref/JDLTSubMainPageViewController;psq/5;ads/;psn/48e495dcf5dc398b4d46b27e9f15a2b427a154aa|15;jdv/0|direct|-|none|-|1613354874698|1613952828;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 13.5;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;3346332626262353-1666434336539336;network/wifi;model/ONEPLUS A6000;addressid/0;aid/3d3bbb25af44c59c;oaid/;osVer/29;appBuild/1436;psn/ECbc2EqmdSa7mDF1PS1GSrV/Tn7R1LS1|6;psq/8;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/2.67;jdv/0|direct|-|none|-|1613822479379|1613991194;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/oppo;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A6000 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045140 Mobile Safari/537.36', 'jdltapp;android;3.7.0;8.1.0;8363834353530333132333132373-43D2930366035323639333662383;network/wifi;model/16th Plus;addressid/0;aid/f909e5f2c464c7c6;oaid/;osVer/27;appBuild/1436;psn/c21YWvVr77Hn6 pOZfxXGY4TZrre1 UOL5hcPbCEDMo=|3;psq/10;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 8.1.0;osv/8.1.0;pv/2.15;jdv/;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/jsxdlyqj09;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 8.1.0; 16th Plus Build/OPM1.171019.026; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045514 Mobile Safari/537.36', 'jdltapp;android;3.7.0;11;1343467336264693-3343562673463613;network/wifi;model/Mi 10 Pro;addressid/0;aid/14d7cbd934eb7dc1;oaid/335f198546eb3141;osVer/30;appBuild/1436;psn/ZcQh/Wov sNYfZ6JUjTIUBu28 KT0T3u|1;psq/24;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 11;osv/11;pv/1.24;jdv/;ref/com.jd.jdlite.lib.jdlitemessage.view.activity.MessageCenterMainActivity;partner/xiaomi;apprpd/MessageCenter_MessageMerge;eufv/1;Mozilla/5.0 (Linux; Android 11; Mi 10 Pro Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.181 Mobile Safari/537.36', 'jdltapp;android;3.7.0;10;8353636393732346-6646931673935346;network/wifi;model/MI 8;addressid/1969998059;aid/8566972dfd9a795d;oaid/4a8b773c3e307386;osVer/29;appBuild/1436;psn/PhYbUtCsCJo r 1b8hwxjnY8rEv5S8XC|383;psq/14;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/374.14;jdv/0|iosapp|t_335139774|liteshare|CopyURL|1609306590175|1609306596;ref/com.jd.jdlite.lib.jdlitemessage.view.activity.MessageCenterMainActivity;partner/jsxdlyqj09;apprpd/MessageCenter_MessageMerge;eufv/1;Mozilla/5.0 (Linux; Android 10; MI 8 Build/QKQ1.190828.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045140 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;6d343c58764a908d4fa56609da4cb3a5cc1396d3;network/wifi;ADID/4965D884-3E61-4C4E-AEA7-9A8CE3742DA7;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,1;addressid/70390480;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.24;apprpd/MyJD_Main;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fafter%2Findex.action%3FcategoryId%3D600%26v%3D6%26entry%3Dm_self_jd;psq/4;ads/;psn/6d343c58764a908d4fa56609da4cb3a5cc1396d3|17;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;13.6.1;4606ddccdfe8f343f8137de7fea7f91fc4aef3a3;network/4g;ADID/C6FB6E20-D334-45FA-818A-7A4C58305202;hasUPPay/0;pushNoticeIsOpen/1;lang/zh_CN;model/iPhone10,1;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/5.9;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/8;ads/;psn/4606ddccdfe8f343f8137de7fea7f91fc4aef3a3|5;jdv/0|iosapp|t_335139774|liteshare|Qqfriends|1614206359106|1614206366;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 13.6.1;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;3b6e79334551fc6f31952d338b996789d157c4e8;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone10,1;addressid/138051400;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/14.34;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/12;ads/;psn/3b6e79334551fc6f31952d338b996789d157c4e8|46;jdv/0|kong|t_1001707023_|jingfen|e80d7173a4264f4c9a3addcac7da8b5d|1613837384708|1613858760;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;1346235693831363-2373837393932673;network/wifi;model/LYA-AL00;addressid/3321567203;aid/1d2e9816278799b7;oaid/00000000-0000-0000-0000-000000000000;osVer/29;appBuild/1436;psn/45VUZFTZJkhP5fAXbeBoQ0 O2GCB I|7;psq/5;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/5.8;jdv/0|iosapp|t_335139774|liteshare|CopyURL|1614066210320|1614066219;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/huawei;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 10; LYA-AL00 Build/HUAWEILYA-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.3;c2a8854e622a1b17a6c56c789f832f9d78ef1ba7;network/wifi;hasUPPay/0;pushNoticeIsOpen/1;lang/zh_CN;model/iPhone12,5;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/3.9;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/8;ads/;psn/c2a8854e622a1b17a6c56c789f832f9d78ef1ba7|6;jdv/0|direct|-|none|-|1613541016735|1613823566;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;9;;network/wifi;model/MIX 2S;addressid/;aid/f87efed6d9ed3c65;oaid/94739128ef9dd245;osVer/28;appBuild/1436;psn/R7wD/OWkQjYWxax1pDV6kTIDFPJCUid7C/nl2hHnUuI=|3;psq/13;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 9;osv/9;pv/1.42;jdv/;ref/activityId=8a8fabf3cccb417f8e691b6774938bc2;partner/xiaomi;apprpd/jsbqd_home;eufv/1;Mozilla/5.0 (Linux; Android 9; MIX 2S Build/PKQ1.180729.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.181 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;network/wifi;Mozilla/5.0 (Linux; Android 10; Redmi Note 7 Build/QKQ1.190910.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.152 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;network/3g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148', 'jdltapp;iPad;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/1;lang/zh_CN;model/iPad6,3;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/231.11;pap/JA2020_3112531|3.7.0|IOS 14.4;apprpd/;psn/f5e7b7980fb50efc9c294ac38653c1584846c3db|305;usc/kong;jdv/0|kong|t_1000170135|tuiguang|notset|1613606450668|1613606450;umd/tuiguang;psq/2;ucp/t_1000170135;app_device/IOS;utr/notset;ref/JDLTRedPacketViewController;adk/;ads/;Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;13.5;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone8,1;addressid/669949466;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/9.11;apprpd/;ref/JDLTSubMainPageViewController;psq/10;ads/;psn/500a795cb2abae60b877ee4a1930557a800bef1c|11;jdv/;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 13.5;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/3g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,4;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.47;apprpd/;ref/JDLTSubMainPageViewController;psq/8;ads/;psn/21631ed983b3e854a3154b0336413825ad0d6783|9;jdv/0|direct|-|none|-|1614150725100|1614225882;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/3g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,4;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.47;apprpd/;ref/JDLTSubMainPageViewController;psq/8;ads/;psn/21631ed983b3e854a3154b0336413825ad0d6783|9;jdv/0|direct|-|none|-|1614150725100|1614225882;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/3.15;apprpd/;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fchat%2Findex.action%3Fentry%3Djd_m_JiSuCommodity%26pid%3D7763388%26lng%3D118.159665%26lat%3D24.504633%26sid%3D31cddc2d58f6e36bf2c31c4e8a79767w%26un_area%3D16_1315_3486_0;psq/12;ads/;psn/c10e0db6f15dec57a94637365f4c3d43e05bbd48|4;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/3.15;apprpd/;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fchat%2Findex.action%3Fentry%3Djd_m_JiSuCommodity%26pid%3D7763388%26lng%3D118.159665%26lat%3D24.504633%26sid%3D31cddc2d58f6e36bf2c31c4e8a79767w%26un_area%3D16_1315_3486_0;psq/12;ads/;psn/c10e0db6f15dec57a94637365f4c3d43e05bbd48|4;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/3.15;apprpd/;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fchat%2Findex.action%3Fentry%3Djd_m_JiSuCommodity%26pid%3D7763388%26lng%3D118.159665%26lat%3D24.504633%26sid%3D31cddc2d58f6e36bf2c31c4e8a79767w%26un_area%3D16_1315_3486_0;psq/12;ads/;psn/c10e0db6f15dec57a94637365f4c3d43e05bbd48|4;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,6;hasOCPay/0;appBuild/1017;supportBestPay/0;addressid/2813715704;pv/67.38;apprpd/MyJD_Main;ref/https%3A%2F%2Fh5.m.jd.com%2FbabelDiy%2FZeus%2F2ynE8QDtc2svd36VowmYWBzzDdK6%2Findex.html%3Flng%3D103.957532%26lat%3D30.626962%26sid%3D4fe8ef4283b24723a7bb30ee87c18b2w%26un_area%3D22_1930_49324_52512;psq/4;ads/;psn/5aef178f95931bdbbde849ea9e2fc62b18bc5829|127;jdv/0|direct|-|none|-|1612588090667|1613822580;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/6.28;apprpd/;ref/JDLTRedPacketViewController;psq/3;ads/;psn/d7beab54ae7758fa896c193b49470204fbb8fce9|8;jdv/0|kong|t_1001707023_|jingfen|79ad0319fa4d47e38521a616d80bc4bd|1613800945610|1613824900;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/6.28;apprpd/;ref/JDLTRedPacketViewController;psq/3;ads/;psn/d7beab54ae7758fa896c193b49470204fbb8fce9|8;jdv/0|kong|t_1001707023_|jingfen|79ad0319fa4d47e38521a616d80bc4bd|1613800945610|1613824900;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/6.28;apprpd/;ref/JDLTRedPacketViewController;psq/3;ads/;psn/d7beab54ae7758fa896c193b49470204fbb8fce9|8;jdv/0|kong|t_1001707023_|jingfen|79ad0319fa4d47e38521a616d80bc4bd|1613800945610|1613824900;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/6.28;apprpd/;ref/JDLTRedPacketViewController;psq/3;ads/;psn/d7beab54ae7758fa896c193b49470204fbb8fce9|8;jdv/0|kong|t_1001707023_|jingfen|79ad0319fa4d47e38521a616d80bc4bd|1613800945610|1613824900;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,2;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/6.28;apprpd/;ref/JDLTRedPacketViewController;psq/3;ads/;psn/d7beab54ae7758fa896c193b49470204fbb8fce9|8;jdv/0|kong|t_1001707023_|jingfen|79ad0319fa4d47e38521a616d80bc4bd|1613800945610|1613824900;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone12,1;addressid/3104834020;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.6;apprpd/;ref/JDLTSubMainPageViewController;psq/5;ads/;psn/c633e62b5a4ad0fdd93d9862bdcacfa8f3ecef63|6;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone10,1;addressid/1346909722;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/30.8;apprpd/;ref/JDLTSubMainPageViewController;psq/7;ads/;psn/40d4d4323eb3987226cae367d6b0d8be50f2c7b3|39;jdv/0|kong|t_1000252057_0|tuiguang|eba7648a0f4445aa9cfa6f35c6f36e15|1613995717959|1613995723;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.3;network/wifi;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone10,1;addressid/1346909722;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/30.8;apprpd/;ref/JDLTSubMainPageViewController;psq/7;ads/;psn/40d4d4323eb3987226cae367d6b0d8be50f2c7b3|39;jdv/0|kong|t_1000252057_0|tuiguang|eba7648a0f4445aa9cfa6f35c6f36e15|1613995717959|1613995723;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,6;addressid/138164461;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/7.8;apprpd/;ref/JDLTSubMainPageViewController;psq/7;ads/;psn/d40e5d4a33c100e8527f779557c347569b49c304|7;jdv/0|kong|t_1001226363_|jingfen|3bf5372cb9cd445bbb270b8bc9a34f00|1608439066693|1608439068;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,6;addressid/138164461;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/7.8;apprpd/;ref/JDLTSubMainPageViewController;psq/7;ads/;psn/d40e5d4a33c100e8527f779557c347569b49c304|7;jdv/0|kong|t_1001226363_|jingfen|3bf5372cb9cd445bbb270b8bc9a34f00|1608439066693|1608439068;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone11,6;addressid/138164461;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/7.8;apprpd/;ref/JDLTSubMainPageViewController;psq/7;ads/;psn/d40e5d4a33c100e8527f779557c347569b49c304|7;jdv/0|kong|t_1001226363_|jingfen|3bf5372cb9cd445bbb270b8bc9a34f00|1608439066693|1608439068;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;13.5;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/2237496805;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/13.6;apprpd/;ref/JDLTSubMainPageViewController;psq/5;ads/;psn/48e495dcf5dc398b4d46b27e9f15a2b427a154aa|15;jdv/0|direct|-|none|-|1613354874698|1613952828;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 13.5;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;android;3.7.0;10;network/wifi;model/ONEPLUS A6000;addressid/0;aid/3d3bbb25af44c59c;oaid/;osVer/29;appBuild/1436;psn/ECbc2EqmdSa7mDF1PS1GSrV/Tn7R1LS1|6;psq/8;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/2.67;jdv/0|direct|-|none|-|1613822479379|1613991194;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/oppo;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 10; ONEPLUS A6000 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045140 Mobile Safari/537.36', 'jdltapp;android;3.7.0;8.1.0;network/wifi;model/16th Plus;addressid/0;aid/f909e5f2c464c7c6;oaid/;osVer/27;appBuild/1436;psn/c21YWvVr77Hn6 pOZfxXGY4TZrre1 UOL5hcPbCEDMo=|3;psq/10;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 8.1.0;osv/8.1.0;pv/2.15;jdv/;ref/com.jd.jdlite.lib.personal.view.fragment.JDPersonalFragment;partner/jsxdlyqj09;apprpd/MyJD_Main;eufv/1;Mozilla/5.0 (Linux; Android 8.1.0; 16th Plus Build/OPM1.171019.026; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045514 Mobile Safari/537.36', 'jdltapp;android;3.7.0;11;network/wifi;model/Mi 10 Pro;addressid/0;aid/14d7cbd934eb7dc1;oaid/335f198546eb3141;osVer/30;appBuild/1436;psn/ZcQh/Wov sNYfZ6JUjTIUBu28 KT0T3u|1;psq/24;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 11;osv/11;pv/1.24;jdv/;ref/com.jd.jdlite.lib.jdlitemessage.view.activity.MessageCenterMainActivity;partner/xiaomi;apprpd/MessageCenter_MessageMerge;eufv/1;Mozilla/5.0 (Linux; Android 11; Mi 10 Pro Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.181 Mobile Safari/537.36', 'jdltapp;android;3.7.0;10;network/wifi;model/MI 8;addressid/1969998059;aid/8566972dfd9a795d;oaid/4a8b773c3e307386;osVer/29;appBuild/1436;psn/PhYbUtCsCJo r 1b8hwxjnY8rEv5S8XC|383;psq/14;adk/;ads/;pap/JA2020_3112531|3.7.0|ANDROID 10;osv/10;pv/374.14;jdv/0|iosapp|t_335139774|liteshare|CopyURL|1609306590175|1609306596;ref/com.jd.jdlite.lib.jdlitemessage.view.activity.MessageCenterMainActivity;partner/jsxdlyqj09;apprpd/MessageCenter_MessageMerge;eufv/1;Mozilla/5.0 (Linux; Android 10; MI 8 Build/QKQ1.190828.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045140 Mobile Safari/537.36', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone8,4;addressid/1477231693;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/21.15;apprpd/MyJD_Main;ref/https%3A%2F%2Fgold.jd.com%2F%3Flng%3D0.000000%26lat%3D0.000000%26sid%3D4584eb84dc00141b0d58e000583a338w%26un_area%3D19_1607_3155_62114;psq/0;ads/;psn/2c822e59db319590266cc83b78c4a943783d0077|46;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,1;addressid/70390480;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.24;apprpd/MyJD_Main;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fafter%2Findex.action%3FcategoryId%3D600%26v%3D6%26entry%3Dm_self_jd;psq/4;ads/;psn/6d343c58764a908d4fa56609da4cb3a5cc1396d3|17;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,1;addressid/70390480;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.24;apprpd/MyJD_Main;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fafter%2Findex.action%3FcategoryId%3D600%26v%3D6%26entry%3Dm_self_jd;psq/4;ads/;psn/6d343c58764a908d4fa56609da4cb3a5cc1396d3|17;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,1;addressid/70390480;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.24;apprpd/MyJD_Main;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fafter%2Findex.action%3FcategoryId%3D600%26v%3D6%26entry%3Dm_self_jd;psq/4;ads/;psn/6d343c58764a908d4fa56609da4cb3a5cc1396d3|17;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,1;addressid/70390480;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.24;apprpd/MyJD_Main;ref/https%3A%2F%2Fjdcs.m.jd.com%2Fafter%2Findex.action%3FcategoryId%3D600%26v%3D6%26entry%3Dm_self_jd;psq/4;ads/;psn/6d343c58764a908d4fa56609da4cb3a5cc1396d3|17;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPhone;3.7.0;14.4;network/4g;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone12,3;hasOCPay/0;appBuild/1017;supportBestPay/0;addressid/;pv/3.49;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/7;ads/;psn/9e0e0ea9c6801dfd53f2e50ffaa7f84c7b40cd15|6;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', 'jdltapp;iPad;3.7.0;14.4;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPad7,5;addressid/;hasOCPay/0;appBuild/1017;supportBestPay/0;pv/4.14;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/3;ads/;psn/956c074c769cd2eeab2e36fca24ad4c9e469751a|8;jdv/0|;adk/;app_device/IOS;pap/JA2020_3112531|3.7.0|IOS 14.4;Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', ] function USER_AGENT(){ return USER_AGENTS[Math.floor(Math.random()*USER_AGENTS.length)] } /*************第三方私人api******************/ //京东口令解析-wall function WallDecode(code) { let resp = request({ url: "http://ailoveu.eu.org:19840/jCommand", headers: { "User-Agent": "Mozilla/5.0 (Linux; U; Android 11; zh-cn; KB2000 Build/RP1A.201005.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36 HeyTapBrowser/40.7.19.3 uuid/cddaa248eaf1933ddbe92e9bf4d72cb3", "Content-Type": "application/json;charset=utf-8", "token": (new Bucket("otto")).get("WALL") }, method: "post", dataType: "json", body: { "code": code } }) try { let data = resp.body if (data.code == 200 && typeof(data.data) != "string") return data.data else return null } catch (err) { return null } } //京东口令解析-Windfgg function WindfggDecode(code) { let data = request({ url: "http://api.windfgg.cf/jd/code", headers: { "User-Agent": "Mozilla/5.0 (Linux; U; Android 11; zh-cn; KB2000 Build/RP1A.201005.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36 HeyTapBrowser/40.7.19.3 uuid/cddaa248eaf1933ddbe92e9bf4d72cb3", "Content-Type": "application/json;charset=utf-8", "Authorization": "Bearer " + (new Bucket("otto")).get("WindfggToken") }, method: "post", dataType: "json", body: { "code": code } }) try { if (data.code == 200) return data.data else return null } catch (err) { return null } } //京东口令解析-nolan function NolanDecode(code) { let resp = request({ url: "https://api.nolanstore.top/JComExchange", method: "post", body: { "code": code } }) try { let data = JSON.parse(resp.body) if (data.code == 0) return data.data else return null } catch (err) { return null } } /****************tg bot API*********************/ const tg_url = (new Bucket("tg")).get("url", "https://api.telegram.org")// ?设置代理地址指令：set tg url ? 默认直连官方服务器 //让tg机器人给在对话id中发送msg(markdown,markdown语法错误会导致发送失败),reply_markup为高级功能，见tg官方文档,无token时使用傻妞所对接的机器人发送 function SendToTG(id, msg,reply_markup,token) { let bot_token=token?token:(new Bucket("tg")).get("token") let option={ url: tg_url+"/bot" + bot_token + "/sendMessage", method: "post", body: { "chat_id": id, "parse_mode": "Markdown", "text": msg } } if(reply_markup) option.body["reply_markup"]=reply_markup try{ let resp=request(option) if(JSON.parse(resp.body).ok) return true else{ console.log("SendToTG failed\n"+resp.body+"\n"+msg) delete option.body["parse_mode"] return JSON.parse(request(option).body).ok } } catch(err){ return false } } function GetFile(id,token){ let bot_token=token?token:(new Bucket("tg")).get("token") let resp=request({ url: tg_url+"/bot" + bot_token + "/getFile", method: "post", body: { "file_id": id } }) console.log(id+"\n"+bot_token) try{ let temp=JSON.parse(resp.body) console.log(resp.body) if(temp.ok){ resp=request(tg_url+"/file/bot" + bot_token + temp.result.file_path) return resp.body } } catch(err){ return false } } {/tabs-pane}{/tabs}