开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 15201|回复: 111
收起左侧

[易语言纯源码] 某音助手

[复制链接]
结帖率:100% (2/2)
发表于 2021-8-10 16:37:52 | 显示全部楼层 |阅读模式   河南省郑州市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
本帖最后由 洛璃 于 2021-8-10 18:37 编辑

编程工具:autojs
某音版本:16.8
设备:安卓7.0及以上功能:自动涨粉,3天千粉
原理:自动筛选互关的用户进行关注并评论


VX截图_20210810163648.png
直接上源码,源码导入Autojs即可使用;






其实我没有内容







  1. "ui";
  2. var 配置 = storages.create("doo");
  3. var version = "1.5"

  4. ui.layout(
  5.     <vertical>
  6.         <appbar>
  7.             <horizontal>
  8.                 <toolbar id="bt" title="share" gravity="center" textColor="red" layout_weight="1" />
  9.                 <Switch id="autoService" text="无障碍" checked="{{auto.service != null}}" padding="10 20 8 8" textSize="15sp" />
  10.             </horizontal>
  11.         </appbar>
  12.         <text text="" gravity="left" />
  13.         <text text="" gravity="left" />
  14.         <text text="" gravity="left" />
  15.         <text text="" gravity="left" />

  16.         <button id="start" text="开始运行" style="Widget.AppCompat.Button.Colored" />
  17.     </vertical>
  18. );
  19. // ui.安卓版本.text("   本机安卓版本:" + device.release + "");
  20. // ui.ver.text("   当前软件版本:" + version + "     ");
  21. ui.autoService.on("check", function (checked) {
  22.     if (checked && auto.service == null) {
  23.         app.startActivity({
  24.             action: "android.settings.ACCESSIBILITY_SETTINGS"
  25.         });
  26.     }
  27.     if (!checked && auto.service != null) {
  28.         auto.service.disableSelf();
  29.     }
  30. });
  31. ui.emitter.on("resume", function () {
  32.     ui.autoService.checked = auto.service != null;
  33. });



  34. var 悬块 = function (window, view) {
  35.     if (!window || !view) {
  36.         throw "缺参数";
  37.     };
  38.     this.x = 0, this.y = 0;
  39.     this.windowX, this.windowY;
  40.     this.downTime = 500;
  41.     this.Timeout = 0;
  42.     this.Click = function () { };
  43.     this.LongClick = function () { };
  44.     this.setClick = function (fun) {
  45.         //判断参数类型是否为函数?
  46.         if (typeof fun == "function") {
  47.             this.Click = fun;
  48.         };
  49.     };
  50.     this.setLongClick = function (fun, ji) {
  51.         //判断参数类型是否为函数?
  52.         if (typeof fun == "function") {
  53.             this.LongClick = fun;
  54.             //判断参数是否可为设置数字?
  55.             if (parseInt(ji) <= 1000) {
  56.                 this.downTime = parseInt(ji);
  57.             };
  58.         };
  59.     };

  60.     view.setOnTouchListener(new android.view.View.OnTouchListener((view, event) => {
  61.         switch (event.getAction()) {
  62.             //按下事件。
  63.             case event.ACTION_DOWN:
  64.                 //按下记录各种坐标数据。
  65.                 this.x = event.getRawX();
  66.                 this.y = event.getRawY();
  67.                 this.windowX = window.getX();
  68.                 this.windowY = window.getY();
  69.                 //创建一个定时器用来定时执行长按操作。
  70.                 this.Timeout = setTimeout(() => {
  71.                     this.LongClick();
  72.                     this.Timeout = 0;
  73.                 }, this.downTime);
  74.                 return true;
  75.             //移动事件。
  76.             case event.ACTION_MOVE:
  77.                 //移动距离过大则判断为移动状态
  78.                 // if (Math.abs(event.getRawY() - this.y) > 5 && Math.abs(event.getRawX() - this.x) > 5) {
  79.                 //     //移动状态清除定时器
  80.                 //     if (this.Timeout) {
  81.                 //         //定时器存在则清除定时器。
  82.                 //         clearTimeout(this.Timeout);
  83.                 //         this.Timeout = 0;
  84.                 //     };
  85.                 //     //移动手指时调整悬浮窗位置
  86.                 //     window.setPosition(this.windowX + (event.getRawX() - this.x), this.windowY + (event.getRawY() - this.y));
  87.                 // };
  88.                 return true;
  89.             //抬起事件。
  90.             case event.ACTION_UP:
  91.                 if (this.Timeout) {
  92.                     clearTimeout(this.Timeout);
  93.                     this.Timeout = 0;
  94.                     this.Click();
  95.                 };
  96.                 return true;
  97.         };
  98.         return true;
  99.     }));
  100. };

  101. var common = require('./common.js');
  102. var App = {
  103.     baseUrl: "", // 后台访问地址
  104.     packageName: "",
  105.     app_version: "1.0.0",
  106.     app_name: "",
  107.     dy_version: "16.8.0",
  108.     creat_time: '2021-8-3'
  109. }
  110. var Config = {
  111.     video_keywords: '互关,互粉,回关,互赞,互相,互点,必回,报团,取暖,宠粉,秒回,礼尚往来,信誉第一,不拖欠,张粉,涨粉',
  112.     comment_keywords: '互关,互粉,回关,互赞,互相,互点,必回,报团,取暖,宠粉,秒回,礼尚往来,粉丝,关注,信誉第一,不拖欠,张粉,涨粉',
  113.     is_commentdigg: false,//评论点赞
  114.     is_comment: true,//评论
  115.     is_following: true,//关注
  116.     work_duration: 9999,//运行时长(分钟)
  117.     comment_content: [
  118.         "报团取暖,关几个回几个,礼尚往来[比心][比心][比心]永关注,不取消[送心]",
  119.         '新人1000粉丝,报团取暖,关注几个回几个,礼尚往来[赞],绝对遵守规则',
  120.         '交朋友交朋友抱抱拉拉手必回必回[灵机一动][灵机一动][灵机一动][比心]',
  121.         '报团取暖,关几个回几个,礼尚往来[比心]信誉第一[比心][比心][比心]信誉第一',
  122.         '新人需1000分粉丝,报团取暖,关几个回几个,礼尚往来[比心][比心][比心]',
  123.         '报团取暖,活跃宝宝一枚,诚实守信,关几个,回几个,礼尚往来,实力宠粉[比心][比心][比心]在线等你们[比心][比心][比心]',
  124.         '新人需1000分粉丝,报团取暖,关几个回几个,礼尚往来[比心][比心][比心]我需要你们,[一起加油][一起加油]',
  125.         '诚信第一[比心][比心][比心]有几回几[比心][比心][比心]可能会迟到[比心][比心][比心]但不拖欠[比心][比心][比心]秒[比心]今限明回',
  126.         '诚实守信[比心]一起加油[一起加油]不拖欠[比心][比心]关注点赞秒回[比心][比心]可能会迟到,但不会拖欠,新手,没秒关就是频繁了,报团取暖吧',
  127.         '不说暗话,我想张粉,报团取暖[比心][比心]诚实守信,[比心]攒几回几,从不亏欠,在线等。',
  128.         '诚信第一,有一回一,可能会迟到,但不拖欠,秒秒秒,诚信诚信,加油加油。 诚信第一,有一回一,可能会迟但不拖欠[比心]'
  129.     ]
  130. }
  131. var comment_keywords = Config.comment_keywords.split(",");
  132. var video_keywords = Config.video_keywords.split(",");

  133. var startime = Date.parse(new Date());
  134. ui.start.on("click", function () {
  135.     //程序开始运行之前判断无障碍服务
  136.     if (auto.service == null) {
  137.         toast("请先开启无障碍服务!");
  138.         return;
  139.     }

  140.     xf();
  141.     main();
  142. });


  143. function xf() {
  144.     var thread = threads.start(function op() {
  145.         var window = floaty.window(
  146.             <button id="but" w="35" h="60" text="停止" />
  147.            // <img id="but" src="file://stop.png" />
  148.             // <button id="but" text="stop" />
  149.         );
  150.         window.setPosition(5, device.height / 3)
  151.         setInterval(() => { }, 500);
  152.         var ad = new 悬块(window, window.but);
  153.         ad.setLongClick(function () {
  154.             var yxtime = (Date.parse(new Date()) - startime) / 1000;
  155.             yxtime = formatSeconds(yxtime);
  156.             log("提示:用户停止运行");
  157.             log("时间提示:运行" + yxtime);
  158.             exit();
  159.         });
  160.         ad.setClick(function () {
  161.             var yxtime = (Date.parse(new Date()) - startime) / 1000;
  162.             yxtime = formatSeconds(yxtime);
  163.             log("提示:用户停止运行");
  164.             log("时间提示:运行" + yxtime);

  165.             exit();
  166.         })
  167.     })
  168.     //创建一个新的悬浮控制模块 ad 并带入参数(所要控制的悬浮窗和用来控制悬浮窗移动的控件)。

  169. }











  170. //主程序入口
  171. function main() {
  172.     threads.start(function () {
  173.         console.setSize(device.width * 0.4,device.height * 0.4 )
  174.         console.setPosition(device.width * 0.6, 10)
  175.         console.show();

  176.         dyhome();//启动抖音至首页
  177.         sleep(5000);
  178.         closePopup();//启动关闭弹窗线程
  179.         //判断作品是否符合,符合后评论,评论回复
  180.         养号();
  181.     })
  182. }
  183. /**
  184. * 获取作品的点赞数量和评论数量
  185. */
  186. function get_video_count() {
  187.     var res = {};
  188.     var uc = textMatches("[0-9]+|[0-9].+w").clickable().visibleToUser().find();
  189.     if (uc.length < 2) {
  190.         res["dz"] = 0;
  191.         res["pl"] = 0;
  192.     } else {
  193.         for (i = 0; i < uc.length; i++) {
  194.             var a = uc[i].text();
  195.             if (a.indexOf("w") > 0) {
  196.                 a = a.replace("w", "");
  197.                 a = a * 10000;
  198.             }
  199.             if (i == 0) {
  200.                 res["dz"] = a;
  201.             }
  202.             if (i == 1) {
  203.                 res["pl"] = a;
  204.             }
  205.         }
  206.     }

  207.     return res;
  208. }
  209. /**
  210. * 常规养号
  211. */
  212. function 养号() {
  213.     var mt = Date.parse(new Date());
  214.     while (true) {
  215.         if (视频检测(video_keywords)) {
  216.             var sj = random(15, 25);
  217.             if (!isNaN(sj)) {
  218.                 ts("浏览时间:" + sj + "秒");
  219.                 sleep(sj * 1000);
  220.             } else {
  221.                 ts("浏览时间:10秒");
  222.                 sleep(10 * 1000);
  223.             }
  224.             var gzsjs = random(1, 100);
  225.             if (30 > gzsjs) {
  226.                 if (desc("关注").visibleToUser().exists()) {
  227.                     desc("关注").visibleToUser().findOne(1000).click();
  228.                     sleep(1000);
  229.                 }
  230.             }
  231.             var sjs = random(1, 100);
  232.             if (35 > sjs) {
  233.                 // console.log("执行操作:双击点赞");
  234.                 click(device.width / 2 + random(-50, 50), device.height / 2 + random(-50, 50));
  235.                 sleep(50);
  236.                 click(device.width / 2 + random(-50, 50), device.height / 2 + random(-50, 50));
  237.                 sleep(500);
  238.             }
  239.             // sjs = random(1, 100);
  240.             // if (sjs <= ui.plgl.text()) {
  241.             评论();
  242.             // }
  243.         };
  244.         common.slide();//滑动
  245.         sleep(random(100, 1000));
  246.         if (Date.parse(new Date()) - mt > 1000 * 60 * Config.workduration) {
  247.             //home();
  248.             alert("系统提示:结束。")
  249.             return;
  250.         }
  251.         sleep(100);
  252.     }
  253. }
  254. /**
  255. * 视频检测
  256. * [url=home.php?mod=space&uid=275307]@param[/url] {string[]}  arr 关键词组
  257. * [url=home.php?mod=space&uid=161696]@Return[/url] {boolean}  当前视频是否包含关键词
  258. */
  259. function 视频检测(arr) {
  260.     var jstime = new Date().getTime();
  261.     var h = device.height;
  262.     if (!text("推荐").visibleToUser().exists()) {
  263.         dyhome();
  264.     }
  265.     // if (text("评论并转发").visibleToUser().exists()) {
  266.     //     back();
  267.     //     sleep(1000);
  268.     // }
  269.     var uc = textMatches(".....*").visibleToUser().boundsInside(0, device.height / 2, device.width, device.height).find();
  270.     for (let i = 0; i < uc.length; i++) {
  271.         if (uc[i].text() == "点击进入直播间") {
  272.             log("直播中,自动跳过");
  273.             log("检测耗时:" + (new Date().getTime() - jstime) + "毫秒");
  274.             return false;
  275.         }
  276.         if (uc[i].text().indexOf("[t]") != -1 || uc[i].text().indexOf("广告") != -1) {
  277.             log("广告作品,自动跳过");
  278.             log("检测耗时:" + (new Date().getTime() - jstime) + "毫秒");
  279.             return false;
  280.         }
  281.     }
  282.     for (let i = 0; i < uc.length; i++) {
  283.         for (let k = 0; k < arr.length; k++) {
  284.             if (uc[i].text().indexOf(arr[k]) != -1) {
  285.                 log("检测成功,视频符合");
  286.                 // 浏览数量 = 浏览数量 + 1;
  287.                 log(uc[i].text());
  288.                 log("关键词:" + arr[k]);
  289.                 log("检测耗时:" + (new Date().getTime() - jstime) + "毫秒");
  290.                 // if (parseInt(ui.zpdzs.text()) > 0 || parseInt(ui.zppls.text()) > 0) {
  291.                 //     var a = 取点赞评论数();
  292.                 //     if (a["dz"] >= parseInt(ui.zpdzs.text()) && a["pl"] >= parseInt(ui.zppls.text())) {
  293.                 //         return true;
  294.                 //     } else {
  295.                 //         log("系统提示:点赞数或评论数不符");
  296.                 //         return false;
  297.                 //     }
  298.                 // }
  299.                 return true;
  300.             }
  301.         }
  302.     }
  303.     log("跳过!当前视频不包含关键词");
  304.     log("检测耗时:" + (new Date().getTime() - jstime) + "毫秒");
  305.     if (new Date().getTime() - jstime < 1500) {
  306.         sleep(random(500, 1500));
  307.     }
  308.     return false;
  309. }
  310. /**
  311. * 取出包含关键词的评论内容并返回数组
  312. * @param {string[]}  strnum 关键词组
  313. */
  314. function 取评论内容(strnum) {
  315.     var res = "";
  316.     var jihe = [];
  317.     try {
  318.         var uc = textMatches(".+分钟前|.+小时前|刚刚|昨天[0-9][0-9]:[0-9][0-9]").visibleToUser().find();
  319.         for (let k = 0; k < uc.length; k++) {
  320.             for (var i = 0; i < uc[k].parent().childCount(); i++) {
  321.                 var child = uc[k].parent().child(i);
  322.                 // log(child)
  323.                 if (child.clickable()) {
  324.                     for (let m = 0; m < strnum.length; m++) {
  325.                         if (child.text().indexOf(strnum[m]) != -1) {
  326.                             log(child.text());
  327.                             log("关键词:" + strnum[m]);
  328.                             res = uc[k].parent().child(i - 1);
  329.                             // log(res.id());
  330.                             if (res.id() == "com.ss.android.ugc.aweme:id/title") {
  331.                                 jihe.push(res);
  332.                                 break;
  333.                             }
  334.                             // return res;
  335.                         }
  336.                     }
  337.                 }
  338.             }
  339.         }
  340.     } catch (error) {
  341.         log(error)
  342.     }
  343.     return jihe;
  344. }
  345. /**
  346. * 评论主操作
  347. */
  348. function 评论() {
  349.     var a = descMatches("评论.+按钮").clickable().visibleToUser().findOnce();
  350.     if (a) {
  351.         a.click();
  352.         sleep(1000);
  353.     }
  354.     if (textStartsWith("留下你的精彩评论").visibleToUser().exists()) {
  355.         log("操作提示:获取评论");
  356.         var m = 0;
  357.         while (true) {
  358.             m = m + 1;
  359.             var title_num = 取评论内容(comment_keywords);
  360.             log("本页符合:" + title_num.length);
  361.             for (var i = 0; i < title_num.length; i++) {
  362.                 if (title_num[i]) {
  363.                     // log(title_num[i]);
  364.                     //重新定位控件;
  365.                     try {
  366.                         var username = textMatches(title_num[i].text()).visibleToUser().findOnce();
  367.                         if (!username) {
  368.                             username = title_num[i];
  369.                         }
  370.                         log(username.text())
  371.                         //给评论点赞
  372.                         if (Config.is_commentdigg) {
  373.                             log("commentdigg")
  374.                             var a = clickable().className("android.view.View").boundsInside(device.width * 3 / 4, username.bounds().top - 100, device.width, username.bounds().top + 150).visibleToUser().findOne(1000);
  375.                             if (a) {
  376.                                 log(a);
  377.                                 a.click();
  378.                                 sleep(1000);
  379.                             }
  380.                         }
  381.                         //关注评论作者
  382.                         if (Config.is_following) {
  383.                             log("following")
  384.                             // username.click();
  385.                             click(username.bounds().centerX(), username.bounds().centerY())
  386.                             sleep(1500);
  387.                             //判断 当前页面
  388.                             var page = desc("更多").visibleToUser().className("android.widget.ImageView").findOnce();
  389.                             if (page) {
  390.                                 var follow = textMatches(".*#.*关注|关注").visibleToUser().clickable().findOne(1000);
  391.                                 if (follow) {
  392.                                     //判断是否为私密账号
  393.                                     if (!text("这是私密账号").visibleToUser().exists()) {
  394.                                         //简单取账号信息做判断是否关注
  395.                                         var userinfo = get_user_info();
  396.                                         if (userinfo.fanscount <= 10000) {
  397.                                             if (userinfo.followcount > 100 || userinfo.fanscount <= 100) {
  398.                                                 follow.click();
  399.                                                 sleep(1000);
  400.                                             }
  401.                                         }
  402.                                     }
  403.                                     back();
  404.                                     sleep(1000);
  405.                                 }
  406.                             }
  407.                             var page = desc("更多").visibleToUser().className("android.widget.ImageView").findOnce();
  408.                             if (page) {
  409.                                 back();
  410.                                 sleep(1000);
  411.                             }
  412.                         }
  413.                     } catch (error) {
  414.                         log(error)
  415.                     }

  416.                     //评论私信。
  417.                     // if (ui.sxpl.checked) {
  418.                     //     click(title_num[i].bounds().centerX(), title_num[i].bounds().centerY())
  419.                     //     sleep(2000);
  420.                     //     if (textMatches("抖音号.+").exists()) {
  421.                     //         var a = desc("更多").visibleToUser(true).findOne(1000);
  422.                     //         if (a) {
  423.                     //             a.click();
  424.                     //         }
  425.                     //         sleep(1000);
  426.                     //         a = text("发私信").visibleToUser(true).findOne(1000);
  427.                     //         if (a) {
  428.                     //             a.click();
  429.                     //             sleep(1000);
  430.                     //         }
  431.                     //     }
  432.                     //     if (textStartsWith("发送消息").exists() || desc("表情").exists()) {
  433.                     //         if (chat()) {
  434.                     //             任务数量 = 任务数量 + 1;
  435.                     //             log("任务数量:" + 任务数量);
  436.                     //             back();
  437.                     //             var sj = random(parseInt(ui.jg.text()), parseInt(ui.jg1.text()));
  438.                     //             if (!isNaN(sj)) {
  439.                     //                 ts("休息时间:" + sj + "秒");
  440.                     //                 sleep(sj * 1000);
  441.                     //             } else {
  442.                     //                 ts("休息时间:3秒");
  443.                     //                 sleep(3 * 1000);
  444.                     //             }
  445.                     //         } else {
  446.                     //             back();
  447.                     //             sleep(1000);
  448.                     //         }
  449.                     //     }
  450.                     // }

  451.                     //评论
  452.                     if (Config.is_comment) {
  453.                         log("comment")
  454.                         try {
  455.                             username.parent().parent().click();
  456.                             sleep(1000);
  457.                             var content = common.randomArr(Config.comment_content);
  458.                             // var sjs = random(1, 100);
  459.                             // if (sjs >= 70) {
  460.                             //     content = content + sj_bq();
  461.                             // }
  462.                             // log(content)
  463.                             common.inputTxt(content);
  464.                             sleep(1000);
  465.                             if (desc("表情").exists()) {
  466.                                 var td = desc("表情").findOne().bounds();
  467.                                 click(td.right + 50, td.centerY());
  468.                                 sleep(2000);
  469.                                 log("执行回复:" + content);
  470.                             }
  471.                         } catch (error) {

  472.                         }
  473.                     }
  474.                 }
  475.             }
  476.             if (!swipeup()) {
  477.                 //滑动失败,没有更多内容了;
  478.                 break;
  479.             }
  480.             if (m >= 10) {
  481.                 break;
  482.             }
  483.         }
  484.         //执行评论作品
  485.         if (!desc("[呲牙]").exists()) {
  486.             var content = common.randomArr(Config.comment_content);
  487.             if (textStartsWith("留下你的精彩评论").exists()) {
  488.                 // textStartsWith("留下你的精彩评论").findOne(100).click();
  489.                 click("留下你的精彩评论吧");
  490.                 sleep(1000);
  491.                 common.inputTxt(content)
  492.                 sleep(1000);
  493.                 if (desc("表情").exists()) {
  494.                     var td = desc("表情").findOne().bounds();
  495.                     click(td.right + 50, td.centerY());
  496.                     sleep(2000);
  497.                     log("执行评论:" + content);
  498.                 }
  499.             }
  500.         }
  501.         back();
  502.         sleep(2000);
  503.     }
  504.     // app.startActivity({
  505.     //     action: "android.intent.action.VIEW",
  506.     //     data: "snssdk1128://feed"
  507.     // });
  508.     sleep(100);
  509. }
  510. /**
  511. * 弹窗线程检测弹窗
  512. */
  513. function closePopup() {
  514.     thread = threads.start(function () {
  515.         while (true) {
  516.             sleep(5000);
  517.             if (text('朋友推荐').exists()) {
  518.                 back()
  519.                 sleep(1000)
  520.             };

  521.             if (text('关闭动画').exists()) {
  522.                 back()
  523.                 sleep(1000)
  524.             };
  525.             if (text('授权提示').exists()) {
  526.                 let yes = text('同意授权').findOnce();
  527.                 if (yes) {
  528.                     yes.click();
  529.                 }
  530.             };
  531.             if (text('好友推荐').exists()) {
  532.                 let fds = id('com.ss.android.ugc.aweme:id/xg').findOnce();
  533.                 if (fds) {
  534.                     fds.click();
  535.                 }
  536.             };
  537.             if (text('发现通讯录好友').exists()) {
  538.                 let telList = text('暂时不要').findOnce();
  539.                 if (telList) {
  540.                     telList.click();
  541.                 }
  542.                 sleep(1000);
  543.                 let no = text('取消').findOnce();
  544.                 if (no) {
  545.                     no.click();
  546.                 }
  547.             };
  548.             if (text('个人信息保护指引').exists()) {
  549.                 let ok = text('好的').findOnce();
  550.                 if (ok) {
  551.                     ok.click();
  552.                 }
  553.             }
  554.             if (text('去商店评分').exists()) {
  555.                 let comm = text('取消').findOnce();
  556.                 if (comm) {
  557.                     comm.click();
  558.                 }
  559.             }
  560.             if (text('检测到更新').exists()) {
  561.                 let o = text('以后再说').findOnce();
  562.                 if (o) {
  563.                     o.click();
  564.                 }
  565.             }
  566.             if (text('我知道了').visibleToUser().exists()) {
  567.                 let o = text('我知道了').visibleToUser().findOnce();
  568.                 if (o) {
  569.                     o.click();
  570.                 }
  571.             }
  572.             if (text('安装“多闪APP”,不错过你的每一条私信').exists()) {
  573.                 let ele = text('取消').findOnce();
  574.                 if (ele) {
  575.                     ele.click();
  576.                 }
  577.             }
  578.             if (text('跳过广告').exists()) {
  579.                 let ads = text('跳过广告').findOnce();
  580.                 if (ads) {
  581.                     ads.click();
  582.                 }
  583.             }
  584.         }
  585.     });
  586. }
  587. /**
  588. * 强制返回至抖音主页
  589. */
  590. function dyhome() {
  591.     app.startActivity({
  592.         action: "android.intent.action.VIEW",
  593.         data: "snssdk1128://feed"
  594.     });
  595.     sleep(1000);
  596. }
  597. /**
  598. * 返回一个随机表情
  599. */
  600. function sj_bq() {
  601.     var str = "[微笑]|[惊呆]|[爱慕]|[流泪]|[可爱]|[害羞]|[呲牙]|[来看我]|[捂脸]|[耶]|[灵光一闪]|[偷笑]|[送心]|[大笑]|[泣不成声]|[可怜]|[奸笑]|[笑哭]|[黑线]|[坏笑]|[得意]|[翻白眼]|[互粉]|[吻]|[舔屏]|[飞吻]|[汗]|[擦汗]|[做鬼脸]|[尬笑]|[奋斗]|[惊喜]|[嘿哈]|[憨笑]|[囧]";
  602.     if (str) {
  603.         str = str.split("|");
  604.         var sjz = random(0, str.length - 1);
  605.         return str[sjz];
  606.     }
  607. }
  608. /**
  609. * 控件上滑,滑动成功返回true否则返回false
  610. */
  611. function swipeup() {
  612.     var uc = scrollable(true).visibleToUser(true).find();
  613.     if (uc.length > 0) {
  614.         if (uc[uc.length - 1].scrollForward()) {
  615.             return true;
  616.         } else {
  617.             return false;
  618.         }
  619.     }
  620. }
  621. /**
  622. * 获取当前id的信息,获赞/关注/粉丝
  623. * @return {Array} diggcount/followcount/fanscount
  624. */
  625. function get_user_info() {
  626.     var res = {
  627.         diggcount: "",
  628.         followcount: "",
  629.         fanscount: ""
  630.     }
  631.     var info = textMatches("[0-9]+|[0-9].+w|[0-9].+亿").visibleToUser().filter(function (w) {
  632.         return w.desc() == null;
  633.     }).find();
  634.     if (info.length >= 3) {
  635.         res.diggcount = info[0].text();
  636.         if (info[1].text().indexOf("w") > -1) {
  637.             res.followcount = parseFloat(info[1].text()) * 10000;
  638.         } else {
  639.             res.followcount = info[1].text();
  640.         }
  641.         if (info[2].text().indexOf("w") > -1) {
  642.             res.fanscount = parseFloat(info[2].text()) * 10000;
  643.         } else {
  644.             res.fanscount = info[2].text();
  645.         }
  646.     }
  647.     return res;
  648. }

  649. function ts(txt) {
  650.     log(txt);
  651. }
  652. function formatSeconds(value) {
  653.     var secondTime = parseInt(value);// 秒
  654.     var minuteTime = 0;// 分
  655.     var hourTime = 0;// 小时
  656.     if (secondTime > 60) {
  657.         minuteTime = parseInt(secondTime / 60);
  658.         secondTime = parseInt(secondTime % 60);
  659.         if (minuteTime > 60) {
  660.             hourTime = parseInt(minuteTime / 60);
  661.             minuteTime = parseInt(minuteTime % 60);
  662.         }
  663.     }
  664.     var result = "" + parseInt(secondTime) + "秒";

  665.     if (minuteTime > 0) {
  666.         result = "" + parseInt(minuteTime) + "分" + result;
  667.     }
  668.     if (hourTime > 0) {
  669.         result = "" + parseInt(hourTime) + "小时" + result;
  670.     }
  671.     return result;
  672. }
复制代码



评分

参与人数 2好评 +2 精币 +4 收起 理由
mosheng + 1 + 2 支持开源~!感谢分享
翎朗 + 1 + 2 其实我没有内容

查看全部评分


本帖被以下淘专辑推荐:

签到天数: 22 天

发表于 2021-12-3 20:00:15 | 显示全部楼层   湖南省岳阳市

common.js  少这个js
回复 支持 反对

使用道具 举报

结帖率:93% (246/265)

签到天数: 18 天

发表于 2021-10-12 09:58:11 | 显示全部楼层   广西壮族自治区崇左市
好像没用啊
回复 支持 反对

使用道具 举报

签到天数: 21 天

发表于 2021-10-4 15:48:54 | 显示全部楼层   江西省宜春市
学习了,谢谢分享
回复 支持 反对

使用道具 举报

结帖率:75% (3/4)

签到天数: 1 天

发表于 2021-9-11 06:21:47 | 显示全部楼层   广东省东莞市
大哥牛逼
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2021-9-3 08:22:59 | 显示全部楼层   山西省运城市
不是太懂 有成品吗
回复 支持 反对

使用道具 举报

发表于 2021-8-25 18:08:18 | 显示全部楼层   湖南省长沙市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2021-8-17 15:45:25 | 显示全部楼层   福建省龙岩市
我是来学习的
回复 支持 反对

使用道具 举报

结帖率:43% (3/7)
发表于 2021-8-17 14:21:52 | 显示全部楼层   江西省景德镇市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:64% (9/14)

签到天数: 8 天

发表于 2021-8-17 13:46:49 | 显示全部楼层   江苏省淮安市
感谢无私分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表