搜索
查看: 307|回复: 0
收起左侧

[其他发布] Autojs6-道聚城自动签到任务脚本

[复制链接]

签到天数: 2 天

[LV.1]初来乍到

发表于 2023-12-25 13:58:21 | 显示全部楼层 |阅读模式
用于TX道聚城自动签到及自动完成任务领豆。
分辨率2340*1080可直接使用。



  1. "auto" //系统配置初始化auto.waitFor();sleep(3000);
  2. wakeup()
  3. unlock()
  4. device.setBrightnessMode(0);
  5. device.setBrightness(1);
  6. device.setMusicVolume(0);
  7. clearrecents()
  8. //floatyPermission();
  9. let state = false; //是否执行成功状态
  10. const verCode = app.versionCode;
  11. const verName = app.versionName;
  12. const kx = device.width / 1080; //横坐标比例系数
  13. const ky = device.height / 2340; //纵比例系数
  14. let backX = 83 * kx; //左上角返回按钮的横坐标
  15. let backY = 185 * ky; //左上角返回按钮的纵坐标
  16. let gotY = false; //是否已获取新的backY
  17. let step=1500;
  18. sleep(1000);
  19. console.show();
  20. sleep(500);
  21. console.setSize(800, 500);
  22. sleep(500);
  23. console.setPosition(0, 1400);
  24. console.hide();
  25. DJC()
  26. home();
  27. sleep(1000);
  28. clearrecents()
  29. sleep(1000);
  30. lock()
  31. engines.stopAllAndToast();  
  32. //道聚城签到
  33. function DJC()
  34. {
  35.      
  36. launch("com.tencent.djcity");
  37. waitForPackage("com.tencent.djcity");

  38. text("首页").untilFind();
  39. log("道聚城启动完必");
  40. sleep(5000);
  41. desc("签到成功").findOne(5000);

  42. var signinok=className("android.view.View").desc("好的").findOne(2000)
  43. if(signinok!=null)
  44. {
  45. click(signinok.bounds().centerX(), signinok.bounds().centerY());
  46. }
  47. sleep(2000);
  48. click(546,1320);
  49. sleep(2000);
  50. back();
  51. sleep(2000);

  52. var libao=className("android.view.View").desc("礼包中心").findOne(1000);
  53. if(libao!=null)
  54. {
  55. click(libao.bounds().centerX(), libao.bounds().centerY());
  56. log("点击礼包中心");
  57. }
  58. sleep(5000);
  59. var shouyou=className("android.view.View").desc("手游").findOne(3000);
  60. if(shouyou!=null)
  61. {
  62. click(shouyou.bounds().centerX(), shouyou.bounds().centerY());
  63. log("点击手游");
  64. }
  65. sleep(3000);
  66. click(540,932)
  67. sleep(2000);
  68. click(906,1046);
  69. sleep(2000);
  70. click(220,1451);
  71. sleep(1000);
  72. click(713,1332);
  73. sleep(2000);
  74. djbackhome()
  75. sleep(1000);
  76. click(116,189)

  77. sleep(2000);

  78. sml_move(540, step, 540, 900, 200);
  79. sleep(2000);
  80. click(526,1568);
  81. sleep(2000);
  82. djautorw()

  83. djgetjl()
  84. sleep(2000);
  85. djopenbox()
  86. sleep(1000);
  87. }

  88. function djgetjl()
  89. {
  90.     let i = 0;
  91.     while(i<6)
  92.     {
  93.         var LJL=className("android.view.View").desc("领取奖励").findOne(1000);
  94.         if(LJL!=null)
  95.         {
  96.                click(LJL.bounds().centerX(), LJL.bounds().centerY());
  97.                sleep(2000);
  98.                click(538,1521);
  99.                sleep(2000);
  100.                   
  101.                      
  102.          
  103.         }
  104.         else
  105.         {
  106.             log("已无奖励退出");
  107.             break;
  108.         }
  109.    }
  110. }

  111. //自动完成道聚城任务
  112. function djautorw()
  113. {
  114.    
  115.       for(let i = 1; i< 5; i++)
  116.     {
  117.         var gojoin=className("android.view.View").desc("去参与").findOne(2000);
  118.         if(gojoin!=null)
  119.         {
  120.             click(gojoin.bounds().centerX(), gojoin.bounds().centerY());

  121.             sleep(5000);
  122.             back();
  123.             sleep(1000);
  124.         }
  125.         else
  126.         {
  127.             log("参与任务已结束");
  128.             break;
  129.          }
  130.      }

  131. sleep(1000);

  132. var gotolook=className("android.view.View").desc("去浏览").findOne(2000);
  133. if (gotolook!=null)
  134. {
  135.     click(gotolook.bounds().centerX(), gotolook.bounds().centerY());
  136. sleep(2000);
  137. click(516,900)
  138. sleep(6000);
  139. back();
  140. sleep(2000);
  141. click(554,1804)
  142. sleep(6000);
  143. back();
  144. sleep(2000);

  145. scrollForward()

  146. sleep(2000);
  147. click(516,800)
  148. sleep(6000);
  149. back();
  150. sleep(2000);
  151. click(554,1645)
  152. sleep(6000);
  153. back();
  154. sleep(500);
  155. back();
  156. sleep(2000);
  157. }
  158. }


  159. //打开宝箱
  160. function djopenbox()
  161. {
  162. var openboxed=className("android.view.View").desc("打开宝箱").findOne(2000);

  163.     if (openboxed!=null)
  164.     {
  165.     click(829,580)
  166. sleep(2000);
  167. click(538,1521);
  168. sleep(2000);
  169. click(829,580)
  170. sleep(2000);
  171. click(538,1521);
  172. sleep(500);
  173. }
  174. }


  175. //道聚城返回主页面
  176. function djbackhome()
  177. {
  178.     log("检测是否在主界面");
  179.     for(let i = 1; i< 11; i++)
  180.     {
  181.         var homepage=text("首页").findOne(2000);
  182.         if(homepage!=null)
  183.         {
  184.             log("已在主界面");
  185.             break;
  186.         }
  187.         else if(i==10)
  188.         {
  189.             log("返回主界面失败退出");
  190.             exit();
  191.         }
  192.         else
  193.         {
  194.             back();
  195.             log("正在返回主界面中...");
  196.             sleep(1000);
  197.          }
  198.      }
  199. }


  200. //仿真曲线滑动
  201. function bezier_curves(cp, t) {
  202.     cx = 3.0 * (cp[1].x - cp[0].x);
  203.     bx = 3.0 * (cp[2].x - cp[1].x) - cx;
  204.     ax = cp[3].x - cp[0].x - cx - bx;
  205.     cy = 3.0 * (cp[1].y - cp[0].y);
  206.     by = 3.0 * (cp[2].y - cp[1].y) - cy;
  207.     ay = cp[3].y - cp[0].y - cy - by;
  208.      
  209.     tSquared = t * t;
  210.     tCubed = tSquared * t;
  211.     result = {
  212.         "x": 0,
  213.         "y": 0
  214.     };
  215.     result.x = (ax * tCubed) + (bx * tSquared) + (cx * t) + cp[0].x;
  216.     result.y = (ay * tCubed) + (by * tSquared) + (cy * t) + cp[0].y;
  217.     return result;
  218. };

  219. //仿真随机带曲线滑动  
  220. //qx, qy, zx, zy, time 代表起点x,起点y,终点x,终点y,过程耗时单位毫秒
  221. function sml_move(qx, qy, zx, zy, time) {
  222.     var xxy = [time];
  223.     var point = [];
  224.     var dx0 = {
  225.         "x": qx,
  226.         "y": qy
  227.     };

  228.     var dx1 = {
  229.         "x": random(qx - 100, qx + 100),
  230.         "y": random(qy , qy + 50)
  231.     };
  232.     var dx2 = {
  233.         "x": random(zx - 100, zx + 100),
  234.         "y": random(zy , zy + 50),
  235.     };
  236.     var dx3 = {
  237.         "x": zx,
  238.         "y": zy
  239.     };
  240.     for (var i = 0; i < 4; i++) {

  241.         eval("point.push(dx" + i + ")");

  242.     };
  243.     //log(point[3].x)

  244.     for (let i = 0; i < 1; i += 0.08) {
  245.         xxyy = [parseInt(bezier_curves(point, i).x), parseInt(bezier_curves(point, i).y)]

  246.         xxy.push(xxyy);

  247.     }

  248.     //log(xxy);
  249.     gesture.apply(null, xxy);
  250. };


  251. //清理后台
  252. function clearrecents()
  253. {
  254.     recents()
  255. sleep(1000);
  256. var clearbox=id("clearbox").findOne(1000);
  257. if (clearbox!=null)
  258. {
  259.     click(clearbox.bounds().centerX(), clearbox.bounds().centerY());
  260.     sleep(1000);
  261.     home();
  262. }
  263. else
  264. {
  265.     home();
  266. }
  267. }
  268. function lock()
  269. {
  270.     var lockscreen=className("android.widget.TextView").desc("一键锁屏,应用在托盘上").findOne(1000);
  271.     if (lockscreen!=null)
  272.     {
  273.         click(lockscreen.bounds().centerX(), lockscreen.bounds().centerY());
  274.         sleep(1000);
  275.     }
  276. }

  277. //关闭屏幕
  278. function closescreen()
  279. {
  280.     var w = floaty.rawWindow(
  281.     <frame gravity="center" bg="#000000"/>
  282.     );
  283.     w.setSize(device.width,device.height);
  284.     w.setPosition(0, -60);
  285.     w.setTouchable(false);
  286.     //保持脚本运行
  287.     setInterval(()=>{}, 1000);
  288. }


  289. //唤醒屏幕
  290. function wakeup()
  291. {
  292.     for(let i = 1;i<11;i++)
  293.     {
  294.         if (!device.isScreenOn())
  295.         {
  296.             device.wakeUp() // 唤醒设备
  297.             log("亮屏"+i+"次");
  298.             sleep(1000);
  299.         }
  300.         else if(i==10)
  301.         {
  302.             log("亮屏失败退出");
  303.             exit();
  304.         }
  305.         else
  306.         {
  307.             log("已亮屏");
  308.             device.keepScreenOn(1200*1000); // 保持亮屏
  309.             break;
  310.         }
  311.     }
  312. }
  313. //判断是否有屏幕锁
  314. function isDeviceLocked()
  315. {
  316.   importClass(android.app.KeyguardManager);
  317.   importClass(android.content.Context);
  318.   var km = context.getSystemService(Context.KEYGUARD_SERVICE);
  319.   return km.isKeyguardLocked();
  320. }
  321. // 输入密码
  322. function password_input()
  323. {
  324.     var password = "******"
  325.     for(var i = 0; i < password.length; i++)
  326.     {
  327.          
  328.         var p = text(password[i].toString()).findOne(1000)
  329.         longClick(p.centerX(), p.centerY());
  330.         sleep(100);
  331.     }
  332.     log("解锁成功");
  333. }
  334. //解锁屏幕
  335. function unlock()
  336. {
  337.     for(let l=1;l<6;l++)
  338.     {
  339.         if(isDeviceLocked())
  340.         {
  341.             sml_move(540,1800,600,1000,500);
  342.             log("滑动屏幕"+l+"次");
  343.             var mima=text("输入密码").findOne(2000);
  344.             if(mima!=null)
  345.             {
  346.                 log("输入密码");
  347.                 password_input();
  348.                 break;
  349.             }
  350.         }
  351.         else if(l==5)
  352.         {
  353.             log("解锁失败退出");
  354.             exit();
  355.         }
  356.         else
  357.         {
  358.             log("无需解锁");
  359.             break;
  360.         }
  361.     }
  362. }
复制代码






上一篇:文档版的装修避坑资料
下一篇:零域色彩头像-在线矢量风格头像生成器
您需要登录后才可以回帖 登录 | 注册用户

本版积分规则

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