deeke-script-app 1.6.9 → 1.7.0

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 (42) 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 +104 -104
  6. package/@deekeScript/@type/interface/App.d.ts +101 -101
  7. package/@deekeScript/@type/interface/DeekeScriptJson.d.ts +13 -13
  8. package/@deekeScript/@type/interface/Device.d.ts +88 -88
  9. package/@deekeScript/@type/interface/Encrypt.d.ts +58 -58
  10. package/@deekeScript/@type/interface/Engines.d.ts +39 -39
  11. package/@deekeScript/@type/interface/Files.d.ts +283 -283
  12. package/@deekeScript/@type/interface/FloatDialogs.d.ts +41 -41
  13. package/@deekeScript/@type/interface/ForegroundServiceBridge.d.ts +31 -31
  14. package/@deekeScript/@type/interface/Hid.d.ts +342 -342
  15. package/@deekeScript/@type/interface/Http.d.ts +43 -41
  16. package/@deekeScript/@type/interface/Images.d.ts +71 -71
  17. package/@deekeScript/@type/interface/Java.d.ts +7 -7
  18. package/@deekeScript/@type/interface/KeyBoards.d.ts +27 -27
  19. package/@deekeScript/@type/interface/Log.d.ts +16 -16
  20. package/@deekeScript/@type/interface/MediaStore.d.ts +146 -146
  21. package/@deekeScript/@type/interface/NotificationBridge.d.ts +28 -28
  22. package/@deekeScript/@type/interface/{SocketIoClient.d.ts → SocketIOClient.d.ts} +76 -76
  23. package/@deekeScript/@type/interface/Storage.d.ts +119 -119
  24. package/@deekeScript/@type/interface/System.d.ts +114 -114
  25. package/@deekeScript/@type/interface/UiObject.d.ts +197 -197
  26. package/README.md +67 -67
  27. package/deekeScript.json +669 -669
  28. package/deekeScriptZipBuild +48 -48
  29. package/gulpfile +17 -17
  30. package/init +32 -32
  31. package/jsconfig.json +11 -11
  32. package/package.json +43 -43
  33. package/script/statistics/statistics.js +120 -120
  34. package/script/task.html +4 -4
  35. package/src/statistics/statistics.js +120 -120
  36. package/src/task/douyin_zan.js +89 -89
  37. package/src/task/dy.js +14 -14
  38. package/src/task/dyApp.js +7 -7
  39. package/src/task/tool.js +19 -19
  40. package/src/task.html +4 -4
  41. package/uglify-config.json +15 -15
  42. package/images/test/statistics.png +0 -0
@@ -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
+ }
@@ -1,89 +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('抖音任务完成');
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('提示', '请编写业务代码');
package/src/task/dyApp.js CHANGED
@@ -1,7 +1,7 @@
1
- const dyApp = {
2
- getName(){
3
- return "appName";
4
- }
5
- }
6
-
7
- module.exports = dyApp;
1
+ const dyApp = {
2
+ getName(){
3
+ return "appName";
4
+ }
5
+ }
6
+
7
+ module.exports = dyApp;
package/src/task/tool.js CHANGED
@@ -1,19 +1,19 @@
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 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();
package/src/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
@@ -1,16 +1,16 @@
1
- {
2
- "compress": {
3
- "drop_console": false,
4
- "unused": true,
5
- "sequences": true,
6
- "dead_code": true,
7
- "unsafe_math": true
8
- },
9
- "mangle": {
10
- "toplevel": true
11
- },
12
- "output": {
13
- "beautify": true,
14
- "comments": "/^!|@license/i"
15
- }
1
+ {
2
+ "compress": {
3
+ "drop_console": false,
4
+ "unused": true,
5
+ "sequences": true,
6
+ "dead_code": true,
7
+ "unsafe_math": true
8
+ },
9
+ "mangle": {
10
+ "toplevel": true
11
+ },
12
+ "output": {
13
+ "beautify": true,
14
+ "comments": "/^!|@license/i"
15
+ }
16
16
  }
Binary file