(s, key, title, acData, ask)
| 640 | } |
| 641 | |
| 642 | function JDUserSignPre1(s, key, title, acData, ask) { |
| 643 | return new Promise((resolve, reject) => { |
| 644 | if (disable(key, title, 1)) return reject() |
| 645 | const JDUrl = { |
| 646 | url: 'https://api.m.jd.com/?client=wh5&functionId=qryH5BabelFloors', |
| 647 | headers: { |
| 648 | Cookie: KEY |
| 649 | }, |
| 650 | opts: { |
| 651 | 'filter': 'try{var od=JSON.parse(body);var params=(od.floatLayerList||[]).filter(o=>o.params&&o.params.match(/enActK/)).map(o=>o.params).pop()||(od.floorList||[]).filter(o=>o.template=="signIn"&&o.signInfos&&o.signInfos.params&&o.signInfos.params.match(/enActK/)).map(o=>o.signInfos&&o.signInfos.params).pop();var tId=(od.floorList||[]).filter(o=>o.boardParams&&o.boardParams.turnTableId).map(o=>o.boardParams.turnTableId).pop();var page=od.paginationFlrs;return JSON.stringify({qxAct:params||null,qxTid:tId||null,qxPage:page||null})}catch(e){return `=> 过滤器发生错误: ${e.message}`}' |
| 652 | }, |
| 653 | body: `body=${encodeURIComponent(`{"activityId":"${acData}"${ask?`,"paginationParam":"2","paginationFlrs":"${ask}"`:``}}`)}` |
| 654 | }; |
| 655 | $nobyda.post(JDUrl, async function(error, response, data) { |
| 656 | try { |
| 657 | if (error) { |
| 658 | throw new Error(error) |
| 659 | } else { |
| 660 | const od = JSON.parse(data || '{}'); |
| 661 | const turnTableId = od.qxTid || (od.floorList || []).filter(o => o.boardParams && o.boardParams.turnTableId).map(o => o.boardParams.turnTableId).pop(); |
| 662 | const page = od.qxPage || od.paginationFlrs; |
| 663 | if (data.match(/enActK/)) { // 含有签到活动数据 |
| 664 | let params = od.qxAct || (od.floatLayerList || []).filter(o => o.params && o.params.match(/enActK/)).map(o => o.params).pop() |
| 665 | if (!params) { // 第一处找到签到所需数据 |
| 666 | // floatLayerList未找到签到所需数据,从floorList中查找 |
| 667 | let signInfo = (od.floorList || []).filter(o => o.template == 'signIn' && o.signInfos && o.signInfos.params && o.signInfos.params.match(/enActK/)) |
| 668 | .map(o => o.signInfos).pop(); |
| 669 | if (signInfo) { |
| 670 | if (signInfo.signStat == '1') { |
| 671 | console.log(`\n${title}重复签到`) |
| 672 | merge[key].notify = `${title}: 失败, 原因: 已签过 ⚠️` |
| 673 | merge[key].fail = 1 |
| 674 | } else { |
| 675 | params = signInfo.params; |
| 676 | } |
| 677 | } else { |
| 678 | merge[key].notify = `${title}: 失败, 活动查找异常 ⚠️` |
| 679 | merge[key].fail = 1 |
| 680 | } |
| 681 | } |
| 682 | if (params) { |
| 683 | return resolve({ |
| 684 | params: params |
| 685 | }); // 执行签到处理 |
| 686 | } |
| 687 | } else if (turnTableId) { // 无签到数据, 但含有关注店铺签到 |
| 688 | const boxds = $nobyda.read("JD_Follow_disable") === "false" ? false : true |
| 689 | if (boxds) { |
| 690 | console.log(`\n${title}关注店铺`) |
| 691 | return resolve(parseInt(turnTableId)) |
| 692 | } else { |
| 693 | merge[key].notify = `${title}: 失败, 需要关注店铺 ⚠️` |
| 694 | merge[key].fail = 1 |
| 695 | } |
| 696 | } else if (page && !ask) { // 无签到数据, 尝试带参查询 |
| 697 | const boxds = $nobyda.read("JD_Retry_disable") === "false" ? false : true |
| 698 | if (boxds) { |
| 699 | console.log(`\n${title}二次查询`) |
no test coverage detected