2020-07-28

"ui";

uimain()

ui.h1.visibility = 8

ui.h.visibility = 0

function uimain() {

  var color = "#009688";

  ui.layout(

    <drawer id="drawer">

      <vertical>

        <appbar>

          <toolbar id="toolbar" title="奥力给-集卡帮" bg="#000000" />

          <tabs id="tabs" bg="#000000" />

        </appbar>

        <viewpager id="viewpager">

          <frame>

            <vertical id="h">

              <ScrollView paddingBottom="10">

                <vertical>

                  <Switch id="autoService" text="无障碍服务" checked="{{auto.service != null}}" padding="8 8 8 8" textSize="15sp" />

                  {/* <linear>

                      <text text="抖音主页链接" marginLeft="16" />

                      <input id="dyurl" w="*" marginLeft="5" textSize="12"/>

                    </linear> */}

                  <linear id="延迟观看设置">

                    <text text="延迟" marginLeft="16" />

                    <input id="延迟时间a" w="auto" marginLeft="5" textSize="12" text="3" />

                    <text text="到" marginLeft="16" />

                    <input id="延迟时间b" w="auto" marginLeft="5" textSize="12" text="5" />

                    <text text="秒" marginLeft="16" />

                  </linear>

                </vertical>

              </ScrollView>

            </vertical>

            <button id="start" bg="#000000" layout_gravity="bottom" w="*" h="auto" text="开始任务/音量减键停止脚本  " textColor="#ffffff" />

            <vertical id="h1">

              <text text="日志信息" w="*" gravity="center" textSize="20sp" />

              <com.stardust.autojs.core.console.ConsoleView id="console" h="*" />

            </vertical>

          </frame>

          <frame>

          </frame>

          <frame>

            <text text="有问题群里咨询" textColor="red" textSize="16sp" />

          </frame>

        </viewpager>

      </vertical>

    </drawer>

  );

}

activity.setSupportActionBar(ui.toolbar);

//设置滑动页面的标题

ui.viewpager.setTitles(["首页", "日志", "帮助"]);

//让滑动页面和标签栏联动

ui.tabs.setupWithViewPager(ui.viewpager);

ui.console.setConsole(runtime.console);

// 设置控制台字体颜色

let c = new android.util.SparseArray();

let Log = android.util.Log;

c.put(Log.VERBOSE, new java.lang.Integer(colors.parseColor("#dfc0c0c0")));

c.put(Log.DEBUG, new java.lang.Integer(colors.parseColor("#cc000000")));

c.put(Log.INFO, new java.lang.Integer(colors.parseColor("#ff64dd17")));

c.put(Log.WARN, new java.lang.Integer(colors.parseColor("#ff2962ff")));

c.put(Log.ERROR, new java.lang.Integer(colors.parseColor("#ffd50000")));

c.put(Log.ASSERT, new java.lang.Integer(colors.parseColor("#ffff534e")));

ui.console.setColors(c);

ui.autoService.on("check", function (checked) {

  if (checked && auto.service == null) {

    app.startActivity({

      action: "android.settings.ACCESSIBILITY_SETTINGS"

    });

  }

  if (!checked && auto.service != null) {

    auto.service.disableSelf();

  }

});

// 当用户回到本界面时,resume事件会被触发

ui.emitter.on("resume", function () {

  // 此时根据无障碍服务的开启情况,同步开关的状态

  ui.autoService.checked = auto.service != null;

});

var 安卓版本=Number(device.release.substring(0,1))

var x = device.width;

var y = device.height;

var 无效count = 0

var 抖音前id = "";

var 截图权限 = false

抖音url = ""

var 点赞状态 = false

var 模式 = false

var 延迟timeA = Number(ui.延迟时间a.text())

var 延迟timeB = Number(ui.延迟时间b.text())

ui.start.on("click", () => {

  threads.shutDownAll()

  if (ui.h.visibility == 8) {

    ui.start.setText("开始任务/音量减键停止脚本")

    ui.h1.visibility = 8

    ui.h.visibility = 0

    threads.shutDownAll()

    return

  }

  ui.h.visibility = 8

  ui.h1.visibility = 0

  ui.start.setText("返回设置页面/并停止脚本")

  toast("音量减键停止脚本")

  //程序开始运行之前判断无障碍服务

  // if (ui.dyurl.text() == "") {

  //  toast("请填写抖音链接")

  //  return

  // }

  if (auto.service == null) {

    toast("请先开启无障碍服务!");

    return;

  }

  threads.start(function () {

    console.show()

    console.log("开始")

    main()

    //监听音量上键按下

  });

  events.observeKey();

  events.onKeyDown("volume_down", function (event) {

    threads.shutDownAll()

    floaty.closeAll()

    toast("脚本停止");

    console.log("脚本停止");

  });

});

function main() {

  try {

    log("检测更新中")

    var qunhao

    var gengxin

    var r = http.get("https://www.jianshu.com/p/843a9f1448c6", {

    });

    var xin = r.body.string()

    qunhao = subStringOne(xin, "群号", "群号a")

    gengxin = subStringOne(xin, "a更新", "更新a")

    if (Number(gengxin) == 1) {

    } else {

      var bo = confirm("软件已更新,加群")

      加群(qunhao)

      exit()

    }

    log("检测完毕,开始登入")

  } catch (err) {

    confirm("未知错误" + err)

    exit()

  }

  // 抖音url = ui.dyurl.text()

  // try {

  //  抖音url = 抖音url.replace("在抖音,记录美好生活!", "")

  //  抖音url = 抖音url.replace(/\s*/g, "")

  //  importClass("java.net.HttpURLConnection");

  //  importClass("java.net.URL");

  //  var conn = new URL(抖音url).openConnection();

  //  conn.setInstanceFollowRedirects(false);

  //  conn.setConnectTimeout(5000);

  //  抖音url = conn.getHeaderField("Location");

  // } catch (err) {

  //  console.error("解析抖音信息失败" + err)

  //  return 9

  // }

  var packname = getPackageName("集卡帮")

  console.log("打开抖音短视频")

  app.launchApp("抖音短视频")

  sleep(8000)

  console.log("启动集卡帮-倒计时20秒")

  app.launchApp("集卡帮")

  sleep(20000)

  console.log("开始")

  延迟timeA = Number(ui.延迟时间a.text())

  延迟timeB = Number(ui.延迟时间b.text())

  auto.setWindowFilter((info) => {

    try {

      return info.getRoot().getPackageName() == packname

    } catch (e) {

      return true

    }

  })

  var 点赞任务 = className("android.widget.Button").textContains("点赞任务").findOne(5000)

  if (点赞任务 == null) {

    var 点赞任务 = className("android.widget.Button").descContains("点赞任").findOne(5000)

    if (点赞任务 == null) {

      console.error("该设备不适配")

      return 1

    } else {

      模式 = false

    }

  } else {

    模式 = true

  }

  while (1) {

    auto.setWindowFilter((info) => {

      try {

        return info.getRoot().getPackageName() == packname

      } catch (e) {

        return true

      }

    })

    if (模式) {

      var 点赞任务 = className("android.widget.Button").textContains("点赞任务").findOne(5000)

    } else {

      var 点赞任务 = className("android.widget.Button").descStartsWith("点赞任").findOne(5000)

    }

    if (点赞任务 != null) {

      点赞任务.click()

      sleep(2000)

      log("点击了获取任务")

      sleep(500)

      console.show()

      var a = getClip()

      if (a != null && a != "" && a != "15到adaf") {

        setClip("1")

        var 抖音id = subStringOne(a, "video/", "/?region")

        if (抖音id != null && 抖音id != "") {

          抖音id = 抖音id.replace("/?", "")

          if (抖音id == 抖音前id) {

            console.warn("没有任务")

            setClip("1")

            setClip("1")

          } else {

            抖音前id = 抖音id

            console.log("抖音" + 抖音id)

            setClip("1")

            setClip("2")

            setClip("3")

            app.launchApp("抖音短视频")

            sleep(1000)

            点赞状态 = true

            app.startActivity({

              action: "android.intent.action.VIEW",

              data: "snssdk1128://aweme/detail/" + 抖音id,

            });

            sleep(1000)

            var sjyc = Math.floor(Math.random() * (延迟timeA * 1000 - 延迟timeB * 1000) + 延迟timeB * 1000)

            console.warn("观看视频延迟:" + sjyc + "毫秒")

            sleep(sjyc)

            if (安卓版本 >= 7) {

              点赞()

              var random = Math.floor(Math.random() * (30 - 1) + 1)

              var x1 = x * 0.7 + random

              var y1 = y * 0.62 + random

              click(x1, y1);

              sleep(100)

              click(x1 + 3, y1 + 5);

              click(x1 + 6, y1 + 7);

              sleep(100)

              var random = Math.floor(Math.random() * (30 - 1) + 1)

              var x1 = x * 0.7 + random

              var y1 = y * 0.62 + random

              click(x1, y1);

              var random = Math.floor(Math.random() * (30 - 1) + 1)

              var x1 = x * 0.7 + random

              var y1 = y * 0.62 + random

              click(x1, y1);

              sleep(100)

              click(x1 + 3, y1 + 5);

              click(x1 + 6, y1 + 7);

              sleep(100)

              var random = Math.floor(Math.random() * (30 - 1) + 1)

              var x1 = x * 0.7 + random

              var y1 = y * 0.62 + random

              click(x1, y1);

              var x1 = x * 0.7 + random

              var y1 = y * 0.62 + random

              click(x1, y1);

            } else {

              点赞()

            }

            sleep(1000)

            back()

            sleep(1000)

            launchApp("集卡帮")

            //  click(提交x,提交y)

            auto.setWindowFilter((info) => {

              try {

                return info.getRoot().getPackageName() == packname

              } catch (e) {

                return true

              }

            })

            if (模式) {

              var 点赞提交 = className("android.widget.Button").textContains("点赞提交").findOne(20000)

            } else {

              var 点赞提交 = className("android.widget.Button").descStartsWith("点赞提").findOne(20000)

            }

            if (点赞提交 != null) {

              点赞状态 = false

              点赞提交.click()

              sleep(2000)

              var 确定 = textStartsWith("确定").className("android.widget.Button").boundsInside(0, device.height * 0.4, device.width, device.height * 0.6).findOne(3000)

              if (确定 != null) {

                确定.click()

                log("点击了确定")

              }

              if (模式) {

                var 获取今日 = className("android.widget.Button").textContains("获取今日").findOne(2000)

              } else {

                var 获取今日 = className("android.widget.Button").descStartsWith("获取今日").findOne(2000)

              }

              if (获取今日 == null) {

                var 确定 = textStartsWith("确定").className("android.widget.Button").boundsInside(0, device.height * 0.4, device.width, device.height * 0.6).findOne(3000)

                if (确定 != null) {

                  确定.click()

                  log("点击了确定")

                }

              } else {

                获取今日.click()

              }

            } else {

              launchApp("集卡帮")

              sleep(3000)

              if (模式) {

                var 点赞提交 = className("android.widget.Button").textContains("点赞提交").findOne(20000)

              } else {

                var 点赞提交 = className("android.widget.Button").descStartsWith("点赞提").findOne(20000)

              }

              if (点赞提交 != null) {

                点赞状态 = false

                点赞提交.click()

                sleep(2000)

                var 确定 = textStartsWith("确定").className("android.widget.Button").boundsInside(0, device.height * 0.4, device.width, device.height * 0.6).findOne(3000)

                if (确定 != null) {

                  确定.click()

                  log("点击了确定")

                }

                if (模式) {

                  var 获取今日 = className("android.widget.Button").textContains("获取今日").findOne(2000)

                } else {

                  var 获取今日 = className("android.widget.Button").descStartsWith("获取今日").findOne(2000)

                }

                if (获取今日 == null) {

                  var 确定 = textStartsWith("确定").className("android.widget.Button").boundsInside(0, device.height * 0.4, device.width, device.height * 0.6).findOne(3000)

                  if (确定 != null) {

                    确定.click()

                    log("点击了确定")

                  }

                } else {

                  获取今日.click()

                }

              } else {

                log("失败失败")

              }

            }

          }

        }

      } else {

        sleep(3000)

        console.warn("妈个鸡,没任务")

        var 确定 = textStartsWith("确定").className("android.widget.Button").boundsInside(0, device.height * 0.4, device.width, device.height * 0.6).findOne(3000)

        if (确定 != null) {

          确定.click()

          log("点击了确定")

        }

      }

    } else {

      var 确定 = textStartsWith("确定").className("android.widget.Button").boundsInside(0, device.height * 0.4, device.width, device.height * 0.6).findOne(3000)

      if (确定 != null) {

        确定.click()

        log("点击了确定")

      }

    }

  }

}

function subStringOne(text, begin, end) {

  var regex;

  if (end == '\\n')

    regex = RegExp(begin + '(.+)?');

  else

    regex = RegExp(begin + '([.\\s\\S]+?)' + end);

  try {

    return regex.exec(text)[1].trim()

  } catch (err) {

    return null;

  }

};

function 抖音跳转(抖音id) {

  app.startActivity({

    action: "android.intent.action.VIEW",

    data: "snssdk1128://aweme/detail/" + 抖音id,

    packageName: "com.ss.android.ugc.aweme",

  });

}

function 判断点赞(点赞前) {

  for (var ai = 0; ai < 2; ai++) {

    var random = Math.floor(Math.random() * (30 - 1) + 1)

    var x1 = x * 0.7 + random

    var y1 = y * 0.62 + random

    console.hide()

    点赞()

    click(x1, y1);

    sleep(100)

    click(x1 + 3, y1 + 5);

    click(x1 + 6, y1 + 7);

    sleep(100)

    var random = Math.floor(Math.random() * (30 - 1) + 1)

    var x1 = x * 0.7 + random

    var y1 = y * 0.62 + random

    click(x1, y1);

    var 点赞后 = Number(抖音信息()["点赞"])

    console.log("点赞前:" + 点赞前 + "点赞后:" + 点赞后)

    if (点赞后 > 点赞前) {

      console.info("点赞成功")

      return true

    } else {

      console.show()

      console.log("点赞失败")

      点赞()

      var random = Math.floor(Math.random() * (30 - 1) + 1)

      var x1 = x * 0.7 + random

      var y1 = y * 0.62 + random

      console.hide()

      click(x1, y1);

      sleep(100)

      click(x1 + 3, y1 + 5);

      click(x1 + 6, y1 + 7);

      sleep(100)

      var random = Math.floor(Math.random() * (30 - 1) + 1)

      var x1 = x * 0.7 + random

      var y1 = y * 0.62 + random

      click(x1, y1);

    }

  }

  console.show()

  console.log("点赞失败")

  return false

}

function 点赞() {

  try{

      auto.setWindowFilter((info) => {

        try {

          return info.getRoot().getPackageName() == "com.ss.android.ugc.aweme"

        } catch (e) {

          return false

        }

      })

        let btn = descContains("喜欢").className("android.widget.ImageView").boundsInside(0, device.height * 0.1, device.width, device.height * 0.9).findOnce()

        if (btn) {

          if (!btn.desc().match("已选中"))

            btn.parent().click()

          return true

          like = true

        } else {

          let btn = id("aer").className("android.widget.ImageView").boundsInside(0, device.height * 0.1, device.width, device.height * 0.9).findOnce()

          if (btn){                         

                btn.parent().click()                   

              like = true               

          }

        }

    }catch(err){

      log("错误")

    }

}

function 抖音信息() {

  try {

    var codes = {

      "": "0", "": "0", "": "0",

      "": "1", "": "1", "": "1",

      "": "2", "": "2", "": "2",

      "": "3", "": "3", "": "3",

      "": "4", "": "4", "": "4",

      "": "5", "": "5", "": "5",

      "": "6", "": "6", "": "6",

      "": "7", "": "7", "": "7",

      "": "8", "": "8", "": "8",

      "": "9", "": "9", "": "9"

    }

    for (let atat = 0; atat < 10; atat++) {

      var res = http.get(抖音url, {});

      var html = res.body.string()

      if (html != undefined) {

        var stringID = subStringOne(html, '<p class="shortid">', '</p>')

        var 关注数量 = subStringOne(html, '<span class="num">', '</span><span class="text">关注')

        var 喜欢数量 = subStringOne(html, '喜欢<span class="num">', '</span>')

        for (var j = 0; j < 10; j++) {

          for (var i in codes) {

            stringID = stringID.replace(i, codes[i])

            stringID = stringID.replace("抖音ID:    ", "").replace('<i class="icon iconfont ">', "").replace(" </i>", "")

            关注数量 = 关注数量.replace(i, codes[i])

            关注数量 = 关注数量.replace('<i class="icon iconfont follow-num">', "").replace(" </i>", "")

            喜欢数量 = 喜欢数量.replace(i, codes[i])

            喜欢数量 = 喜欢数量.replace('<i class="icon iconfont tab-num">', "").replace(" </i>", "")

          }

        }

        stringID = stringID.replace(/\s*/g, "")

        关注数量 = 关注数量.replace(/\s*/g, "")

        喜欢数量 = 喜欢数量.replace(/\s*/g, "")

        if (喜欢数量.indexOf("w") != -1 || 关注数量.indexOf("w")) {

          var data = {}

          data = 万赞检测(抖音url)

          关注数量 = data["关注"]

          喜欢数量 = data["喜欢"]

          break

        }

        break;

      }

    }

    var DYObject = { "点赞": 喜欢数量, "关注": 关注数量 }

    return DYObject

  } catch (err) {

    console.log(err + "获取抖音信息失败")

  }

}

function 万赞检测(抖音url) {

  // importClass("java.net.HttpURLConnection");

  // importClass("java.net.URL");

  // var conn = new URL(url).openConnection();

  // conn.setInstanceFollowRedirects(false);

  // conn.setConnectTimeout(5000);

  // var 长连接 = conn.getHeaderField("Location");

  var sec_uid = subStringOne(抖音url, "sec_uid=", "&")

  temp = http.get("https://api3-normal-c-lq.amemv.com/aweme/v1/user/profile/other/?sec_user_id=" + sec_uid);

  if (temp && temp.statusCode == 200) {

    temp = temp.body.json();

    if (temp["status_code"] == 0) {

      var data = {}

      data["名字"] = temp["user"]["nickname"];

      data["喜欢"] = temp["user"]["favoriting_count"];

      data["关注"] = temp["user"]["following_count"];

      return data

    } else {

      console.warn(data);

    }

  }

}

function 检测更新() {

  try {

    log("检测更新中")

    var qunhao

    var gengxin

    var r = http.get("https://www.jianshu.com/p/331442570d36", {

    });

    var xin = r.body.string()

    qunhao = subStringOne(xin, "群号", "群号a")

    gengxin = subStringOne(xin, "a更新", "更新a")

    if (Number(gengxin) == 1) {

    } else {

      var bo = confirm("软件已更新,加群")

      加群(qunhao)

      exit()

    }

    log("检测完毕,开始登入")

  } catch (err) {

    confirm("未知错误" + err)

    exit()

  }

}

function 强制更新() {

  try {

    var qunhao

    var gengxin

    var r = http.get("https://www.jianshu.com/p/9b7f8daa1820", {

    });

    var xin = r.body.string()

    qunhao = subStringOne(xin, "群号", "群号a")

    gengxin = subStringOne(xin, "a更新", "更新a")

    if (Number(gengxin) == 1) {

    } else {

      var bo = confirm("软件已更更新,点击确定即可更新")

      app.openUrl("https://www.lanzous.com/b00z89n4f?t=1302")

      exit()

    }

  } catch (err) {

    confirm("未知错误" + err)

    exit()

  }

}

function 加群(qunhao) {

  app.startActivity({

    action: "android.intent.action.VIEW",

    data: "mqqapi://card/show_pslcard?src_type=internal&version=1&card_type=group&source=qrcode&uin=" + qunhao

  });

}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335