jd-base脚本修改记录

2023-10-21 10:58:14 浏览数 (1)

目标

今天看jd-base脚本中的日志,发现有些项目我自己没有提供互助码,脚本会自动去助力作者的互助码。然而有些项目的互助码是每日变化的,根本没有可以在配置文件内去设置我自己的互助码。所以决定修改脚本实现自动记录和查询我自己账号的互助码,以方便我自己的几个号互相助力。

修改手机狂欢城

首先修改手机狂欢城的脚本,有2个文件,分别是jd_carnivalcity.js,jd_carnivalcity_help.jsjd_carnivalcity.js是执行狂欢城任务的,会获取到自己的互助码。jd_carnivalcity_help.js是专门做互助任务的,需要我提供互助码。

jd-base的脚本代码文件都在容器内的/jd/scripts/文件夹内。 为了方便修改脚本文件,我修改了一下jd-base.sh这个文件,把docker容器的/jd/scripts/目录映射到了宿主机。

修改jd_carnivalcity.js

jd_carnivalcity.js在第521行(函数getHelp内)下面添加一行代码,用于把获取到的自己的互助码提交到我开发的一个网站接口:

代码语言:javascript复制
//获取邀请码API
function getHelp() {
  return new Promise(resolve => {
    const body = {"apiMapping":"/khc/task/getSupport"}
    $.get(taskUrl(body), async (err, resp, data) => {
      try {
        if (err) {
          console.log(`${JSON.stringify(err)}`)
          console.log(`${$.name} API请求失败,请检查网路重试`)
        } else {
          data = JSON.parse(data);
          if (data.code === 200) {
            console.log(`nn${$.name}互助码每天都变化,旧的不可继续使用`);
            $.log(`【京东账号${$.index}(${$.UserName})的${$.name}好友互助码】${data.data.shareId}nn`);

//新增代码:提交互助码
            $.get({url: `http://data.****.com/jd.php?s=/Jd/code_khc/opt/save/username/${$.UserName}/code_type/${$.name}/code/${data.data.shareId}/delete_pre/yes/`,headers: {'Host': 'data.****.com'}},async (err ,resp, data) => {}

                );
            $.temp.push(data.data.shareId);
          } else {
            console.log(`获取邀请码失败:${JSON.stringify(data)}`);
            if (data.code === 1002) $.blockAccount = true;
          }
        }
      } catch (e) {
        $.logErr(e, resp)
      } finally {
        resolve(data);
      }
    })
  })
}
修改jd_carnivalcity_help.js

jd_carnivalcity_help.js在第243行下面(函数shareCodesFormat内)添加代码获取自己的互助码列表:

代码语言:javascript复制
//格式化助力码
function shareCodesFormat() {
  return new Promise(async resolve => {
    // console.log(`第${$.index}个京东账号的助力码:::${$.shareCodesArr[$.index - 1]}`)
    $.newShareCodes = [];

//新增获取互助码
$.shareCodesArr[$.index - 1]=$.get({url: `http://data.****.com/jd.php?s=/Jd/code_khc/opt/get/code_type/${$.name}/`,headers: {'Host': 'data.****.com'}});

    if ($.shareCodesArr[$.index - 1]) {
      $.newShareCodes = $.shareCodesArr[$.index - 1].split('@');
    } else {
      console.log(`由于您第${$.index}个京东账号未提供shareCode,将采纳本脚本自带的助力码n`)
      const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1);
      $.newShareCodes = inviteCodes[tempIndex] && inviteCodes[tempIndex].split('@') || [];
      if ($.updatePkActivityIdRes && $.updatePkActivityIdRes.length) $.newShareCodes = [...$.updatePkActivityIdRes, ...$.newShareCodes];
    }
    // const readShareCodeRes = await readShareCode();
    // if (readShareCodeRes && readShareCodeRes.code === 200) {
    //   $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])];
    // }
    // console.log(`第${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`)
    resolve();
  })
}

修改东东工厂

东东工厂的脚本文件是jd_jdfactory.js,第452行(jdfactory_getTaskDetail函数内)增加提交互助码的代码。

代码语言:javascript复制
    437 //获取任务列表
    438 function jdfactory_getTaskDetail() {
    439   return new Promise(resolve => {
    440     $.post(taskPostUrl("jdfactory_getTaskDetail", {}, "jdfactory_getTaskDetail"), async (err, resp, data) => {
    441       try {
    442         if (err) {
    443           console.log(`${JSON.stringify(err)}`)
    444           console.log(`${$.name} API请求失败,请检查网路重试`)
    445         } else {
    446           if (safeGet(data)) {
    447             data = JSON.parse(data);
    448             if (data.data.bizCode === 0) {
    449               $.taskVos = data.data.result.taskVos;//任务列表
    450               $.taskVos.map(item => {
    451                 if (item.taskType === 14) {
    452                   console.log(`n【京东账号${$.index}(${$.nickName || $.UserName})的${$.name}好友互助码】${item.assistTaskDetailVo.taskToken}n`);
    453                   //新增代码:提交互助码
    454                   $.get({url: `http://data.***.**/jd.php?s=/Jd/code_khc/opt/save/username/${$.UserName}/code_type/${$.name}/code/${item.assistTaskDetailVo.taskToken}/delete_pre/yes/`,headers: {'Host':'data.***.**'}});
    455                 }
    456               })
    457             } 
    458           } 
    459         } 
    460       } catch (e) {
    461         $.logErr(e, resp)
    462       } finally {
    463         resolve();
    464       } 
    465     })
    466   })
    467 }

0 人点赞