deeke-script-app 1.6.1 → 1.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/@deekeScript/@type/Class/Global.d.ts +1 -1
  2. package/@deekeScript/@type/Class/Rect.d.ts +16 -16
  3. package/@deekeScript/@type/Class/UiSelector.d.ts +201 -201
  4. package/@deekeScript/@type/Class/WebSocket.d.ts +49 -49
  5. package/@deekeScript/@type/interface/Access.d.ts +71 -71
  6. package/@deekeScript/@type/interface/Device.d.ts +88 -88
  7. package/@deekeScript/@type/interface/Encrypt.d.ts +58 -58
  8. package/@deekeScript/@type/interface/Engines.d.ts +39 -34
  9. package/@deekeScript/@type/interface/FloatDialogs.d.ts +10 -0
  10. package/@deekeScript/@type/interface/ForegroundServiceBridge.d.ts +31 -31
  11. package/@deekeScript/@type/interface/Hid.d.ts +342 -342
  12. package/@deekeScript/@type/interface/Http.d.ts +41 -41
  13. package/@deekeScript/@type/interface/Images.d.ts +71 -71
  14. package/@deekeScript/@type/interface/Java.d.ts +7 -7
  15. package/@deekeScript/@type/interface/KeyBoards.d.ts +27 -27
  16. package/@deekeScript/@type/interface/Log.d.ts +16 -16
  17. package/@deekeScript/@type/interface/NotificationBridge.d.ts +28 -28
  18. package/@deekeScript/@type/interface/{SocketIoClient.d.ts → SocketIOClient.d.ts} +76 -76
  19. package/@deekeScript/@type/interface/System.d.ts +3 -2
  20. package/@deekeScript/@type/interface/UiObject.d.ts +290 -290
  21. package/README.md +67 -67
  22. package/deekeScript.json +669 -611
  23. package/deekeScriptZipBuild +48 -48
  24. package/gulpfile +17 -17
  25. package/images/test/statistics.png +0 -0
  26. package/init +32 -32
  27. package/jsconfig.json +11 -11
  28. package/package.json +42 -42
  29. package/script/9/common/util.js +20 -0
  30. package/script/9/dy/common/common.js +10 -0
  31. package/script/9/dy/common/version.js +4 -0
  32. package/script/9/dy/common/video.js +8 -0
  33. package/script/9/dy/task/taskOne.js +7 -0
  34. package/script/9/dy/version/310701.js +7 -0
  35. package/script/index.js +0 -1
  36. package/script/statistics/statistics.js +120 -120
  37. package/script/task/douyin_zan.js +38 -0
  38. package/script/task/dy.js +7 -14
  39. package/script/task/dyApp.js +7 -7
  40. package/script/task/dyCity.js +1 -1
  41. package/script/task/tool.js +10 -19
  42. package/script/task.html +4 -4
  43. package/script/test/2.js +1 -0
  44. package/script/test/5.js +3 -0
  45. package/script/test/8.js +17 -0
  46. package/src/12/main.js +40 -0
  47. package/src/12/task.js +10 -0
  48. package/src/9/common/util.js +28 -0
  49. package/src/9/dy/common/common.js +13 -0
  50. package/src/9/dy/common/version.js +12 -0
  51. package/src/9/dy/common/video.js +14 -0
  52. package/src/9/dy/task/taskOne.js +13 -0
  53. package/src/9/dy/version/310701.js +7 -0
  54. package/src/statistics/statistics.js +120 -120
  55. package/src/task/douyin_zan.js +89 -0
  56. package/src/task/dy.js +14 -14
  57. package/src/task/dyApp.js +7 -7
  58. package/src/task/tool.js +19 -19
  59. package/src/task.html +4 -4
  60. package/src/test/2.js +2 -0
  61. package/src/test/5.js +4 -0
  62. package/src/test/8.js +36 -0
  63. package/test/2.0/engines/enginesSimple.js +72 -72
  64. package/test/2.js +6 -6
  65. package/test/Access.js +9 -9
  66. package/test/SocketIOClient.js +39 -39
  67. package/test/SocketIOServer.js +49 -49
  68. package/test/Storage.js +3 -3
  69. package/test/console.js +5 -5
  70. package/test/deekeScriptJson.js +5 -5
  71. package/test/device.js +11 -11
  72. package/test/encrypt.js +3 -3
  73. package/test/engines/1.js +4 -4
  74. package/test/engines/eng/1.js +8 -8
  75. package/test/engines/engines.js +6 -6
  76. package/test/engines/relative.dir.js +8 -8
  77. package/test/engines/relative.js +1 -1
  78. package/test/engines/test.js +6 -6
  79. package/test/engines.js +5 -5
  80. package/test/extension.js +27 -27
  81. package/test/files.js +7 -7
  82. package/test/foreground.js +23 -23
  83. package/test/http.js +19 -19
  84. package/test/images/findColor.js +15 -15
  85. package/test/java.js +28 -28
  86. package/test/log.js +10 -10
  87. package/test/module/module.js +4 -4
  88. package/test/notification.js +26 -26
  89. package/test/package.js +3 -3
  90. package/test/permise.js +29 -29
  91. package/test/thread.js +11 -11
  92. package/test/timer.close.js +27 -27
  93. package/test/timer.js +25 -25
  94. package/test/timer.stop.js +28 -28
  95. package/test/webSocket.js +22 -22
  96. package/uglify-config.json +15 -15
@@ -0,0 +1,38 @@
1
+ let e = {
2
+ log() {
3
+ Log.log(arguments), console.log(arguments);
4
+ },
5
+ comment() {
6
+ var e = UiSelector().id("com.ss.android.ugc.aweme:id/comment_container").isVisibleToUser(!0).findOne(), e = (console.log(e),
7
+ Gesture.click(e.bounds().left + Math.random() * e.bounds().width(), e.bounds().centerY()),
8
+ console.log("打开评论窗口"), System.sleep(1200), UiSelector().className("android.widget.EditText").editable(!0).findOne()), e = (console.log(e),
9
+ Gesture.click(e.bounds().left + Math.random() * e.bounds().width(), e.bounds().centerY()),
10
+ console.log("开始输入评论"), System.sleep(500), UiSelector().className("android.widget.EditText").editable(!0).findOne()), e = (console.log(e),
11
+ Log.log(e), e.setText("太棒了"), System.sleep(500), UiSelector().id("com.ss.android.ugc.aweme:id/dqq").text("发送").findOne());
12
+ console.log(e), Gesture.click(e.bounds().centerX(), e.bounds().centerY()),
13
+ System.sleep(500), Gesture.back(), System.sleep(500);
14
+ },
15
+ backHome() {
16
+ var e;
17
+ console.log("开始返回主页");
18
+ let o = 5;
19
+ for (;(e = UiSelector().id("com.ss.android.ugc.aweme:id/x_t").isVisibleToUser(!0).findOne()) && console.log("在首页"),
20
+ Gesture.back(), console.log("返回"), System.sleep(1e3), !e && 0 <= --o; );
21
+ },
22
+ run() {
23
+ console.log("开始进入应用"), App.launch("com.ss.android.ugc.aweme"), System.sleep(2e3);
24
+ let e = Storage.getInteger("task_douyin_zan_count"), o = Storage.getInteger("task_douyin_zan_comment");
25
+ for (console.log("配置:" + e + " 赞," + o + " 评论"); 0 < e || 0 < o; ) try {
26
+ var s;
27
+ console.log("zanCount: " + e + " commentCount: " + o), 0 <= --e && (s = UiSelector().id("com.ss.android.ugc.aweme:id/fd9").isVisibleToUser(!0).findOne(),
28
+ console.log("点赞tag", s), Gesture.click(s.bounds().left + Math.random() * s.bounds().width(), s.bounds().centerY()),
29
+ System.sleep(1e3), console.log("点赞完成")), 0 <= --o && (this.comment(),
30
+ System.sleep(1e3)), UiSelector().id("com.ss.android.ugc.aweme:id/viewpager").desc("视频").scrollable(!0).findOne().scrollForward(),
31
+ System.sleep(3e3);
32
+ } catch (e) {
33
+ console.log(e), this.backHome();
34
+ }
35
+ }
36
+ };
37
+
38
+ Log.setFile("douyin_zan.js.log"), e.run(), FloatDialogs.show("抖音任务完成");
package/script/task/dy.js CHANGED
@@ -1,14 +1,7 @@
1
- let dyApp = require("./dyApp");
2
-
3
- let tag = UiSelector().id('name').findOne();
4
-
5
- // console.log(tag.click());
6
- let config = {
7
- toker_view_video_keywords: Storage.get('toker_view_video_keywords'),
8
- toker_view_video_second: Storage.getInteger('toker_view_video_second'),
9
- toker_run_sex: Storage.getArray('toker_run_sex'),
10
- }
11
-
12
- console.log(config, dyApp.getName());//获取json文件中的配置参数
13
-
14
- FloatDialogs.show('提示', '请编写业务代码');
1
+ let e = require("./dyApp"), o = UiSelector().id("name").findOne(), r = {
2
+ toker_view_video_keywords: Storage.get("toker_view_video_keywords"),
3
+ toker_view_video_second: Storage.getInteger("toker_view_video_second"),
4
+ toker_run_sex: Storage.getArray("toker_run_sex")
5
+ };
6
+
7
+ console.log(r, e.getName()), FloatDialogs.show("提示", "请编写业务代码");
@@ -1,7 +1,7 @@
1
- const dyApp = {
2
- getName(){
3
- return "appName";
4
- }
5
- }
6
-
7
- module.exports = dyApp;
1
+ let e = {
2
+ getName() {
3
+ return "appName";
4
+ }
5
+ };
6
+
7
+ module.exports = e;
@@ -1 +1 @@
1
- FloatDialogs.show('提示', '请编写业务代码');
1
+ FloatDialogs.show("提示", "请编写业务代码");
@@ -1,19 +1,10 @@
1
- let myTask = {
2
- intoApp() {
3
- //打开并进入App
4
- },
5
-
6
- backApp() {
7
- //退出当前App
8
- },
9
-
10
- task(){
11
- //任务代码
12
- },
13
-
14
- run() {
15
- FloatDialogs.show('提示', '请编写业务代码');
16
- }
17
- }
18
-
19
- myTask.run();
1
+ let a = {
2
+ intoApp() {},
3
+ backApp() {},
4
+ task() {},
5
+ run() {
6
+ FloatDialogs.show("提示", "请编写业务代码");
7
+ }
8
+ };
9
+
10
+ a.run();
package/script/task.html CHANGED
@@ -1,4 +1,4 @@
1
- <h1>功能说明</h1>
2
-
3
- <h3>一、功能一</h3>
4
- 功能说明:XXXXX
1
+ <h1>功能说明</h1>
2
+
3
+ <h3>一、功能一</h3>
4
+ 功能说明:XXXXX
@@ -0,0 +1 @@
1
+ System.sleep(2e3), Engines.executeScriptStr("engines", "setInterval(function (){console.log('engines任务');}, 1000);");
@@ -0,0 +1,3 @@
1
+ setInterval(function() {
2
+ console.log("延时3秒执行完成");
3
+ }, 3e3);
@@ -0,0 +1,17 @@
1
+ function n() {
2
+ console.log("任务1");
3
+ }
4
+
5
+ function e(n) {
6
+ console.log("任务2", "i=" + n);
7
+ }
8
+
9
+ let o = 0, a = (setInterval(function() {
10
+ n(), o++;
11
+ }, 1e3), {
12
+ run: function() {
13
+ for (;;) e(o), System.sleep(3e3);
14
+ }
15
+ }), l = new java.lang.Thread(new java.lang.Runnable(a));
16
+
17
+ l.start();
package/src/12/main.js ADDED
@@ -0,0 +1,40 @@
1
+
2
+ let res = {
3
+ code: 0,
4
+ data: {
5
+ action: 'task'
6
+ }
7
+ };
8
+
9
+ let index = 0;
10
+
11
+ setInterval(function () {
12
+ index++;
13
+ if (index > 5) {
14
+ console.log('关闭通知');
15
+ res.data.action = 'exit';
16
+ }
17
+
18
+ if (index > 6) {
19
+ res.data.action = "";
20
+ }
21
+
22
+ if (res.code == 0 && res.data.action != "") {
23
+ let taskName = res.data.action;
24
+ if (taskName == 'exit') {
25
+ console.log('关闭除了当前脚本外的其他脚本');
26
+ Engines.closeOther();
27
+ return;
28
+ }
29
+
30
+ if (Engines.childScriptCount() > 0) {
31
+ console.log('正在运行中');
32
+ return;
33
+ }
34
+
35
+ console.log('开始执行任务:' + taskName + ".js");
36
+ Engines.executeScript("./" + taskName + ".js");
37
+ }
38
+
39
+ // Http.get("xxx.com/heard?isRunning=" + (Engines.childScriptCount() > 0 ? true : false));
40
+ }, 3000);
package/src/12/task.js ADDED
@@ -0,0 +1,10 @@
1
+
2
+ let task2 = {
3
+ run() {
4
+ console.log('task运行了');
5
+ System.sleep(5000000);
6
+ console.log('task运行完了');
7
+ }
8
+ }
9
+
10
+ task2.run();
@@ -0,0 +1,28 @@
1
+ let util = {
2
+ setLog(file) {
3
+ Log.setFile(file);
4
+ },
5
+ log() {
6
+ Log.log(arguments);
7
+ console.log(arguments);
8
+ },
9
+
10
+ click(tag) {
11
+ this.log('点击了控件:', tag);
12
+ Gesture.click(tag.bounds().left + Math.random() * tag.bounds().width(), tag.bounds().top + Math.random() * tag.bounds().height());
13
+ },
14
+
15
+ input(tag, text) {
16
+ tag.setText(text);
17
+ },
18
+
19
+ swipe() {
20
+ let bottom = Device.height() * (0.6 + Math.random() * 0.2);
21
+ let top = Device.height() * (0.2 + Math.random() * 0.2);
22
+ let left = Math.random() * Device.width() * 0.6 + Device.width() * 0.2;
23
+
24
+ Gesture.swipe(left, bottom, left + Device.width() * 0.1, top, 200 + 100 * Math.random());
25
+ }
26
+ }
27
+
28
+ module.exports = util;
@@ -0,0 +1,13 @@
1
+
2
+ let common = {
3
+ openApp() {
4
+ App.launch('com.ss.android.ugc.aweme');//打开抖音
5
+ System.sleep(8000);
6
+ },
7
+
8
+ id(idName){
9
+ return UiSelector().id('com.ss.android.ugc.aweme:id/' + idName);
10
+ }
11
+ }
12
+
13
+ module.exports = common;
@@ -0,0 +1,12 @@
1
+ let ids;
2
+
3
+ if (App.getAppVersionCode('com.ss.android.ugc.aweme') == 310701) {
4
+ ids = require('../version/310701.js');
5
+ }
6
+
7
+ if (!ids) {
8
+ FloatDialogs.show('当前版本不支持');
9
+ System.exit();
10
+ }
11
+
12
+ module.exports = ids;
@@ -0,0 +1,14 @@
1
+ let util = require('../../common/util');
2
+ let common = require('./common');
3
+ let ids = require('./version');
4
+
5
+ let video = {
6
+ zan(){
7
+ let zanTag = common.id(ids.video.zan).isVisibleToUser(true).findOne();
8
+ if(zanTag){
9
+ util.click(zanTag);
10
+ }
11
+ }
12
+ }
13
+
14
+ module.exports = video;
@@ -0,0 +1,13 @@
1
+ let util = require('../../common/util');
2
+ let common = require('../../dy/common/common');
3
+ let video = require('../../dy/common/video');
4
+
5
+ let task = {
6
+ exec(){
7
+ common.openApp();
8
+ video.zan();
9
+ }
10
+ }
11
+
12
+
13
+ task.exec();
@@ -0,0 +1,7 @@
1
+ let ids = {
2
+ video: {
3
+ zan: 'fd9',
4
+ }
5
+ }
6
+
7
+ module.exports = ids;
@@ -1,120 +1,120 @@
1
- var deekeStatistics = {
2
- getDate() {
3
- let d = new Date();
4
- let m = d.getMonth() + 1;
5
- let date = d.getDate();
6
- return (m >= 10 ? m : ('0' + m)) + '.' + (date >= 10 ? date : ('0' + date));
7
- },
8
- getData(time) {
9
- time = time || this.getDate();
10
- return {
11
- s_viewVideo: Storage.getInteger('s_viewVideo' + time) || 0,
12
- s_viewTargetVideo: Storage.getInteger('s_viewTargetVideo' + time) || 0,
13
- s_zan: Storage.getInteger('s_zan' + time) || 0,
14
- s_comment: Storage.getInteger('s_comment' + time) || 0,
15
- s_zanComment: Storage.getInteger('s_zanComment' + time) || 0,
16
- s_privateMsg: Storage.getInteger('s_privateMsg' + time) || 0,
17
- s_focus: Storage.getInteger('s_focus' + time) || 0,
18
- s_viewUser: Storage.getInteger('s_viewUser' + time) || 0,
19
- }
20
- },
21
- getWeekDate() {
22
- let dates = [];
23
- // 获取当前日期
24
- let now = new Date();
25
- // 循环获取最近 7 天的日期
26
- for (let i = 1; i <= 7; i++) {
27
- // 获取当前日期的时间戳
28
- let timestamp = now.getTime();
29
- // 计算 i 天前的时间戳
30
- let dayTimestamp = 24 * 60 * 60 * 1000; // 一天的毫秒数
31
- let iDayAgoTimestamp = timestamp - i * dayTimestamp;
32
- // 转换为日期对象
33
- let date = new Date(iDayAgoTimestamp);
34
- // 格式化日期为 "yyyy-MM-dd" 的字符串并存入数组
35
- //let year = date.getFullYear();
36
- let month = ("0" + (date.getMonth() + 1)).slice(-2);
37
- let day = ("0" + date.getDate()).slice(-2);
38
- dates.push(month + "." + day);
39
- }
40
- return dates;
41
- },
42
-
43
- getWeekData() {
44
- let dates = this.getWeekDate();
45
- let data = [];
46
- for (let i in dates) {
47
- data.push([dates[i], this.getData(dates[i])]);
48
- }
49
-
50
- //数据整理
51
- let res = [];
52
- let ids = ['s_viewVideo', 's_viewTargetVideo', 's_zan', 's_comment', 's_zanComment', 's_privateMsg', 's_focus', 's_viewUser'];
53
- for (let i in ids) {
54
- res[ids[i]] = [];
55
- for (let j = data.length - 1; j >= 0; j--) {
56
- res[ids[i]].push([data[j][0], data[j][1][ids[i]]]);
57
- }
58
- }
59
- return res;
60
- },
61
-
62
- dataList() {
63
- let data = this.getData(this.getDate());
64
- let weekData = this.getWeekData();
65
- //weight最大24
66
- return [
67
- {
68
- 'title': '今日累计视频',
69
- 'weight': 12,
70
- 'checked': true,
71
- 'value': data['s_viewVideo'],
72
- 'data': weekData['s_viewVideo'],
73
- },
74
- {
75
- 'title': '今日目标视频',
76
- 'weight': 12,
77
- 'value': data['s_viewTargetVideo'],
78
- 'data': weekData['s_viewTargetVideo'],
79
- },
80
- {
81
- 'title': '今日点赞',
82
- 'weight': 8,
83
- 'value': data['s_zan'],
84
- 'data': weekData['s_zan'],
85
- },
86
- {
87
- 'title': '今日评论',
88
- 'count': 1,
89
- 'weight': 8,
90
- 'value': data['s_comment'],
91
- 'data': weekData['s_comment'],
92
- },
93
- {
94
- 'title': '今日赞评论',
95
- 'weight': 8,
96
- 'value': data['s_zanComment'],
97
- 'data': weekData['s_zanComment'],
98
- },
99
- {
100
- 'title': '今日私信',
101
- 'weight': 8,
102
- 'value': data['s_privateMsg'],
103
- 'data': weekData['s_privateMsg'],
104
- },
105
- {
106
- 'title': '今日关注',
107
- 'count': 1,
108
- 'weight': 8,
109
- 'value': data['s_focus'],
110
- 'data': weekData['s_focus'],
111
- },
112
- {
113
- 'title': '今日访问',
114
- 'weight': 8,
115
- 'value': data['s_viewUser'],
116
- 'data': weekData['s_viewUser'],
117
- },
118
- ];
119
- }
120
- }
1
+ var deekeStatistics = {
2
+ getDate() {
3
+ let d = new Date();
4
+ let m = d.getMonth() + 1;
5
+ let date = d.getDate();
6
+ return (m >= 10 ? m : ('0' + m)) + '.' + (date >= 10 ? date : ('0' + date));
7
+ },
8
+ getData(time) {
9
+ time = time || this.getDate();
10
+ return {
11
+ s_viewVideo: Storage.getInteger('s_viewVideo' + time) || 0,
12
+ s_viewTargetVideo: Storage.getInteger('s_viewTargetVideo' + time) || 0,
13
+ s_zan: Storage.getInteger('s_zan' + time) || 0,
14
+ s_comment: Storage.getInteger('s_comment' + time) || 0,
15
+ s_zanComment: Storage.getInteger('s_zanComment' + time) || 0,
16
+ s_privateMsg: Storage.getInteger('s_privateMsg' + time) || 0,
17
+ s_focus: Storage.getInteger('s_focus' + time) || 0,
18
+ s_viewUser: Storage.getInteger('s_viewUser' + time) || 0,
19
+ }
20
+ },
21
+ getWeekDate() {
22
+ let dates = [];
23
+ // 获取当前日期
24
+ let now = new Date();
25
+ // 循环获取最近 7 天的日期
26
+ for (let i = 1; i <= 7; i++) {
27
+ // 获取当前日期的时间戳
28
+ let timestamp = now.getTime();
29
+ // 计算 i 天前的时间戳
30
+ let dayTimestamp = 24 * 60 * 60 * 1000; // 一天的毫秒数
31
+ let iDayAgoTimestamp = timestamp - i * dayTimestamp;
32
+ // 转换为日期对象
33
+ let date = new Date(iDayAgoTimestamp);
34
+ // 格式化日期为 "yyyy-MM-dd" 的字符串并存入数组
35
+ //let year = date.getFullYear();
36
+ let month = ("0" + (date.getMonth() + 1)).slice(-2);
37
+ let day = ("0" + date.getDate()).slice(-2);
38
+ dates.push(month + "." + day);
39
+ }
40
+ return dates;
41
+ },
42
+
43
+ getWeekData() {
44
+ let dates = this.getWeekDate();
45
+ let data = [];
46
+ for (let i in dates) {
47
+ data.push([dates[i], this.getData(dates[i])]);
48
+ }
49
+
50
+ //数据整理
51
+ let res = [];
52
+ let ids = ['s_viewVideo', 's_viewTargetVideo', 's_zan', 's_comment', 's_zanComment', 's_privateMsg', 's_focus', 's_viewUser'];
53
+ for (let i in ids) {
54
+ res[ids[i]] = [];
55
+ for (let j = data.length - 1; j >= 0; j--) {
56
+ res[ids[i]].push([data[j][0], data[j][1][ids[i]]]);
57
+ }
58
+ }
59
+ return res;
60
+ },
61
+
62
+ dataList() {
63
+ let data = this.getData(this.getDate());
64
+ let weekData = this.getWeekData();
65
+ //weight最大24
66
+ return [
67
+ {
68
+ 'title': '今日累计视频',
69
+ 'weight': 12,
70
+ 'checked': true,
71
+ 'value': data['s_viewVideo'],
72
+ 'data': weekData['s_viewVideo'],
73
+ },
74
+ {
75
+ 'title': '今日目标视频',
76
+ 'weight': 12,
77
+ 'value': data['s_viewTargetVideo'],
78
+ 'data': weekData['s_viewTargetVideo'],
79
+ },
80
+ {
81
+ 'title': '今日点赞',
82
+ 'weight': 8,
83
+ 'value': data['s_zan'],
84
+ 'data': weekData['s_zan'],
85
+ },
86
+ {
87
+ 'title': '今日评论',
88
+ 'count': 1,
89
+ 'weight': 8,
90
+ 'value': data['s_comment'],
91
+ 'data': weekData['s_comment'],
92
+ },
93
+ {
94
+ 'title': '今日赞评论',
95
+ 'weight': 8,
96
+ 'value': data['s_zanComment'],
97
+ 'data': weekData['s_zanComment'],
98
+ },
99
+ {
100
+ 'title': '今日私信',
101
+ 'weight': 8,
102
+ 'value': data['s_privateMsg'],
103
+ 'data': weekData['s_privateMsg'],
104
+ },
105
+ {
106
+ 'title': '今日关注',
107
+ 'count': 1,
108
+ 'weight': 8,
109
+ 'value': data['s_focus'],
110
+ 'data': weekData['s_focus'],
111
+ },
112
+ {
113
+ 'title': '今日访问',
114
+ 'weight': 8,
115
+ 'value': data['s_viewUser'],
116
+ 'data': weekData['s_viewUser'],
117
+ },
118
+ ];
119
+ }
120
+ }
@@ -0,0 +1,89 @@
1
+
2
+ let newTask = {
3
+ log(){
4
+ Log.log(arguments);
5
+ console.log(arguments);
6
+ },
7
+ comment() {
8
+ //注释
9
+ let tag = UiSelector().id('com.ss.android.ugc.aweme:id/comment_container').isVisibleToUser(true).findOne();
10
+ console.log(tag);
11
+ Gesture.click(tag.bounds().left + Math.random() * tag.bounds().width(), tag.bounds().centerY());
12
+ console.log('打开评论窗口');
13
+ System.sleep(1200);
14
+
15
+ let inputTag = UiSelector().className('android.widget.EditText').editable(true).findOne();
16
+ console.log(inputTag);
17
+ Gesture.click(inputTag.bounds().left + Math.random() * inputTag.bounds().width(), inputTag.bounds().centerY());
18
+ console.log('开始输入评论');
19
+ System.sleep(500);
20
+
21
+ let iptTag = UiSelector().className('android.widget.EditText').editable(true).findOne();
22
+ console.log(iptTag);
23
+ Log.log(iptTag);
24
+ iptTag.setText('太棒了');
25
+ System.sleep(500);
26
+
27
+ let sendTag = UiSelector().id('com.ss.android.ugc.aweme:id/dqq').text('发送').findOne();
28
+ console.log(sendTag);
29
+
30
+ Gesture.click(sendTag.bounds().centerX(), sendTag.bounds().centerY());
31
+ System.sleep(500);
32
+ Gesture.back();
33
+ System.sleep(500);
34
+ },
35
+
36
+ backHome() {
37
+ console.log('开始返回主页');
38
+ let homeTag;
39
+ let backMaxCount = 5;
40
+ do {
41
+ homeTag = UiSelector().id('com.ss.android.ugc.aweme:id/x_t').isVisibleToUser(true).findOne();
42
+ if (homeTag) {
43
+ console.log('在首页');
44
+ }
45
+ Gesture.back();
46
+ console.log('返回');
47
+ System.sleep(1000);
48
+ } while (!homeTag && --backMaxCount >= 0);
49
+ },
50
+
51
+ run() {
52
+ console.log('开始进入应用');
53
+ App.launch('com.ss.android.ugc.aweme');
54
+ System.sleep(2000);
55
+ let zanCount = Storage.getInteger('task_douyin_zan_count');
56
+ let commentCount = Storage.getInteger('task_douyin_zan_comment');
57
+
58
+ console.log('配置:' + zanCount + ' 赞,' + commentCount + ' 评论');
59
+ while (zanCount > 0 || commentCount > 0) {
60
+ try {
61
+ console.log('zanCount: ' + zanCount + ' commentCount: ' + commentCount);
62
+ if (--zanCount >= 0) {
63
+ let tag = UiSelector().id('com.ss.android.ugc.aweme:id/fd9').isVisibleToUser(true).findOne();
64
+ console.log('点赞tag', tag);
65
+ Gesture.click(tag.bounds().left + Math.random() * tag.bounds().width(), tag.bounds().centerY());
66
+ System.sleep(1000);
67
+ console.log('点赞完成');
68
+ }
69
+
70
+ if (--commentCount >= 0) {
71
+ this.comment();
72
+ System.sleep(1000);
73
+ }
74
+
75
+
76
+ let tag = UiSelector().id('com.ss.android.ugc.aweme:id/viewpager').desc('视频').scrollable(true).findOne();
77
+ tag.scrollForward();
78
+ System.sleep(3000);
79
+ } catch (e) {
80
+ console.log(e);
81
+ this.backHome();
82
+ }
83
+ }
84
+ },
85
+ }
86
+
87
+ Log.setFile("douyin_zan.js.log");
88
+ newTask.run();
89
+ FloatDialogs.show('抖音任务完成');
package/src/task/dy.js CHANGED
@@ -1,14 +1,14 @@
1
- let dyApp = require("./dyApp");
2
-
3
- let tag = UiSelector().id('name').findOne();
4
-
5
- // console.log(tag.click());
6
- let config = {
7
- toker_view_video_keywords: Storage.get('toker_view_video_keywords'),
8
- toker_view_video_second: Storage.getInteger('toker_view_video_second'),
9
- toker_run_sex: Storage.getArray('toker_run_sex'),
10
- }
11
-
12
- console.log(config, dyApp.getName());//获取json文件中的配置参数
13
-
14
- FloatDialogs.show('提示', '请编写业务代码');
1
+ let dyApp = require("./dyApp");
2
+
3
+ let tag = UiSelector().id('name').findOne();
4
+
5
+ // console.log(tag.click());
6
+ let config = {
7
+ toker_view_video_keywords: Storage.get('toker_view_video_keywords'),
8
+ toker_view_video_second: Storage.getInteger('toker_view_video_second'),
9
+ toker_run_sex: Storage.getArray('toker_run_sex'),
10
+ }
11
+
12
+ console.log(config, dyApp.getName());//获取json文件中的配置参数
13
+
14
+ FloatDialogs.show('提示', '请编写业务代码');