Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b79c2b476 | ||
|
|
de27f8dc27 | ||
|
|
42a170f19a | ||
|
|
6bd32b40a7 | ||
|
|
6eba1d340f |
No files matched your search
@@ -0,0 +1,105 @@
|
|||||||
|
// 等待获取无障碍权限
|
||||||
|
auto.waitFor()
|
||||||
|
|
||||||
|
// 设置脚本坐标点击所适合的屏幕宽高。如果脚本运行时,屏幕宽度不一致会自动放缩坐标。
|
||||||
|
setScreenMetrics(1080, 1920)
|
||||||
|
|
||||||
|
|
||||||
|
importClass(android.graphics.Paint);
|
||||||
|
Canvas = android.graphics.Canvas;
|
||||||
|
importClass(android.graphics.Bitmap);
|
||||||
|
|
||||||
|
function textpaint() {
|
||||||
|
var bitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
|
||||||
|
|
||||||
|
var canvas = new Canvas(bitmap);
|
||||||
|
//background-color
|
||||||
|
//(Alpha,Red,Green,Blue)
|
||||||
|
canvas.drawARGB(255, 0, 0, 0);
|
||||||
|
|
||||||
|
|
||||||
|
// var paint = new Paint();
|
||||||
|
|
||||||
|
// //圆盘背景???
|
||||||
|
// paint.setARGB(255, 0, 255, 0); //白色画笔
|
||||||
|
// paint.setStyle(Paint.Style.FILL); //空心样式
|
||||||
|
// paint.setFilterBitmap(true); //抗锯齿
|
||||||
|
// paint.setFakeBoldText(true); //加粗
|
||||||
|
// paint.setHinting(16); //字体微调
|
||||||
|
// paint.setTextSize(22);
|
||||||
|
// for (i = 0; i < str.length; i++) {
|
||||||
|
// // paint.setARGB(255, random(0, 255), random(0, 255), random(0, 255)); //眼睛快瞎了
|
||||||
|
// canvas.drawText(str[i], 0, (i + 1) * 25, paint);
|
||||||
|
// }
|
||||||
|
// // canvas.drawText(str, 0, (i + 1) * 25, paint);
|
||||||
|
|
||||||
|
canvas.save(Canvas.ALL_SAVE_FLAG);
|
||||||
|
canvas.restore();
|
||||||
|
|
||||||
|
return bitmap;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var window = floaty.window(
|
||||||
|
<frame>
|
||||||
|
<vertical>
|
||||||
|
/*circle="true",两端裁剪为circle,其他圆角风格可以参考https://easydoc.net/doc/84873548/LvEnNZ0d/DuI3kIia */
|
||||||
|
<img id="img" w="auto" h="auto" radius="25"/>
|
||||||
|
</vertical>
|
||||||
|
</frame>
|
||||||
|
);
|
||||||
|
|
||||||
|
window.img.setImageBitmap(textpaint());
|
||||||
|
window.setPosition(240, 500);
|
||||||
|
clickCount = 0
|
||||||
|
//记录按键被按下的时间以便判断长按等动作 疑似有点幽默了
|
||||||
|
var downTime;
|
||||||
|
window.img.setOnTouchListener(function (view, event) {
|
||||||
|
switch (event.getAction()) {
|
||||||
|
//手指落下
|
||||||
|
case event.ACTION_DOWN:
|
||||||
|
x = event.getRawX();
|
||||||
|
y = event.getRawY();
|
||||||
|
windowX = window.getX();
|
||||||
|
windowY = window.getY();
|
||||||
|
downTime = new Date().getTime();
|
||||||
|
return true;
|
||||||
|
//移动
|
||||||
|
case event.ACTION_MOVE:
|
||||||
|
//移动手指时调整悬浮窗位置
|
||||||
|
window.setPosition(windowX + (event.getRawX() - x), windowY + (event.getRawY() - y));
|
||||||
|
return true;
|
||||||
|
//抬起
|
||||||
|
case event.ACTION_UP:
|
||||||
|
//手指弹起时如果偏移很小则判断为点击
|
||||||
|
if (Math.abs(event.getRawY() - y) < 5 && Math.abs(event.getRawX() - x) < 5) {
|
||||||
|
clickCount+=1
|
||||||
|
threads.start(function () {
|
||||||
|
sleep(500)
|
||||||
|
if(clickCount == 1)
|
||||||
|
onClick();
|
||||||
|
if(clickCount > 1)
|
||||||
|
onClick2();
|
||||||
|
clickCount=0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
|
||||||
|
function onClick(){
|
||||||
|
// var str = prompt('kxnmsl')
|
||||||
|
toast('单击')
|
||||||
|
// exit()
|
||||||
|
}
|
||||||
|
|
||||||
|
function onClick2(){
|
||||||
|
// var str = prompt('kxnmsl')
|
||||||
|
toast('双击')
|
||||||
|
// exit()
|
||||||
|
}
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
sleep(1000);
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
launchApp("Auto.js");
|
||||||
|
launch("com.tencent.mm");
|
||||||
|
|
||||||
|
-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
swipe(x1, y1, x2, y2, duration)
|
||||||
|
x1 {number} 滑动的起始坐标的x值
|
||||||
|
y1 {number} 滑动的起始坐标的y值
|
||||||
|
x2 {number} 滑动的结束坐标的x值
|
||||||
|
y2 {number} 滑动的结束坐标的y值
|
||||||
|
duration {number} 滑动时长,单位毫秒
|
||||||
|
模拟从坐标(x1, y1)滑动到坐标(x2, y2),并返回是否成功。只有滑动操作执行完成时脚本才会继续执行。
|
||||||
|
|
||||||
|
-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
click(text[, i])
|
||||||
|
text {string} 要点击的文本
|
||||||
|
i {number} 如果相同的文本在屏幕中出现多次,则 i 表示要点击第几个文本, i 从 0 开始计算
|
||||||
|
返回是否点击成功。当屏幕中并未包含该文本,或者该文本所在区域不能点击时返回 false,否则返回 true。
|
||||||
|
|
||||||
|
-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
http://doc.autoxjs.com/#/events?id=%e4%ba%8b%e4%bb%b6-39notification39
|
||||||
|
通知收取
|
||||||
|
|
||||||
|
-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
launch("com.ss.android.ugc.aweme")
|
||||||
|
|
||||||
|
sleep(1500)
|
||||||
|
|
||||||
|
// 设置脚本坐标点击所适合的屏幕宽高。如果脚本运行时,屏幕宽度不一致会自动放缩坐标。
|
||||||
|
setScreenMetrics(1080, 1920)
|
||||||
|
|
||||||
|
//滑动至直播界面
|
||||||
|
swipe(200, 200, 800, 200, parseInt(Math.random()*200+200))
|
||||||
|
|
||||||
|
sleep(500)
|
||||||
|
|
||||||
|
//点击直播
|
||||||
|
click(300, 200)
|
||||||
|
|
||||||
|
sleep(1000)
|
||||||
|
|
||||||
|
//进入直播间
|
||||||
|
click(500, 500)
|
||||||
|
|
||||||
|
'-----------------------------------------------------------------------------------------------------'
|
||||||
|
|
||||||
|
//双击点赞
|
||||||
|
function doubleClick(x,y){
|
||||||
|
click(x, y)
|
||||||
|
sleep(100)
|
||||||
|
click(x, y)
|
||||||
|
}
|
||||||
|
|
||||||
|
doubleClick(500,800)
|
||||||
|
|
||||||
|
//输入文本
|
||||||
|
setText("测试")
|
||||||
|
|
||||||
@@ -0,0 +1,178 @@
|
|||||||
|
// 等待获取无障碍权限
|
||||||
|
auto.waitFor()
|
||||||
|
|
||||||
|
TrafficStats = android.net.TrafficStats;
|
||||||
|
importClass(android.graphics.Paint);
|
||||||
|
Canvas = android.graphics.Canvas;
|
||||||
|
importClass(android.graphics.Bitmap);
|
||||||
|
|
||||||
|
function textpaint(str) {
|
||||||
|
str = str.split("\n");
|
||||||
|
var bitmap = Bitmap.createBitmap(200, 110, Bitmap.Config.ARGB_8888);
|
||||||
|
|
||||||
|
var canvas = new Canvas(bitmap);
|
||||||
|
//background-color
|
||||||
|
//(Alpha,Red,Green,Blue)
|
||||||
|
canvas.drawARGB(255, 255, 0, 0);
|
||||||
|
var paint = new Paint();
|
||||||
|
|
||||||
|
//圆盘背景???
|
||||||
|
paint.setARGB(255, 0, 255, 0); //白色画笔
|
||||||
|
paint.setStyle(Paint.Style.FILL); //空心样式
|
||||||
|
paint.setFilterBitmap(true); //抗锯齿
|
||||||
|
paint.setFakeBoldText(true); //加粗
|
||||||
|
paint.setHinting(16); //字体微调
|
||||||
|
paint.setTextSize(22);
|
||||||
|
for (i = 0; i < str.length; i++) {
|
||||||
|
// paint.setARGB(255, random(0, 255), random(0, 255), random(0, 255)); //眼睛快瞎了
|
||||||
|
canvas.drawText(str[i], 0, (i + 1) * 25, paint);
|
||||||
|
}
|
||||||
|
// canvas.drawText(str, 0, (i + 1) * 25, paint);
|
||||||
|
|
||||||
|
canvas.save(Canvas.ALL_SAVE_FLAG);
|
||||||
|
canvas.restore();
|
||||||
|
|
||||||
|
return bitmap;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var window = floaty.window(
|
||||||
|
<frame>
|
||||||
|
<vertical>
|
||||||
|
/*circle="true",两端裁剪为circle,其他圆角风格可以参考https://easydoc.net/doc/84873548/LvEnNZ0d/DuI3kIia */
|
||||||
|
<img id="img" w="auto" h="auto"/>
|
||||||
|
</vertical>
|
||||||
|
</frame>
|
||||||
|
);
|
||||||
|
|
||||||
|
var x = 0,
|
||||||
|
y = 0;
|
||||||
|
//记录按键被按下时的悬浮窗位置
|
||||||
|
var windowX, windowY;
|
||||||
|
//记录按键被按下的时间以便判断长按等动作 疑似有点幽默了
|
||||||
|
var downTime;
|
||||||
|
window.img.setOnTouchListener(function (view, event) {
|
||||||
|
switch (event.getAction()) {
|
||||||
|
//手指落下
|
||||||
|
case event.ACTION_DOWN:
|
||||||
|
x = event.getRawX();
|
||||||
|
y = event.getRawY();
|
||||||
|
windowX = window.getX();
|
||||||
|
windowY = window.getY();
|
||||||
|
downTime = new Date().getTime();
|
||||||
|
return true;
|
||||||
|
//移动
|
||||||
|
case event.ACTION_MOVE:
|
||||||
|
//移动手指时调整悬浮窗位置
|
||||||
|
window.setPosition(windowX + (event.getRawX() - x), windowY + (event.getRawY() - y));
|
||||||
|
return true;
|
||||||
|
//抬起
|
||||||
|
case event.ACTION_UP:
|
||||||
|
//手指弹起时如果偏移很小则判断为点击
|
||||||
|
if (Math.abs(event.getRawY() - y) < 5 && Math.abs(event.getRawX() - x) < 5) {
|
||||||
|
threads.start(function () {
|
||||||
|
onClick();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
|
||||||
|
function onClick(){
|
||||||
|
// var str = prompt('kxnmsl')
|
||||||
|
toast('有病')
|
||||||
|
exit()
|
||||||
|
}
|
||||||
|
|
||||||
|
//nmsl
|
||||||
|
str = "";
|
||||||
|
zss = ozs();
|
||||||
|
zxs = ozx();
|
||||||
|
|
||||||
|
swsl = 0;
|
||||||
|
swxl = 0;
|
||||||
|
zwss = 0;
|
||||||
|
zwxs = 0;
|
||||||
|
threads.start(function () {
|
||||||
|
swsl = ozs();
|
||||||
|
swxl = ozx();
|
||||||
|
while (true) {
|
||||||
|
sleep(1000);
|
||||||
|
xwsl = ozs();
|
||||||
|
xwxl = ozx();
|
||||||
|
zwss = xwsl - swsl;
|
||||||
|
zwxs = xwxl - swxl;
|
||||||
|
swsl = xwsl;
|
||||||
|
swxl = xwxl;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//log(Object.keys(TrafficStats));
|
||||||
|
|
||||||
|
threads.start(function () {
|
||||||
|
while (true) {
|
||||||
|
str = "流量↑:" + sz(lzs()) + "\n流量↓:" + sz(lzx()) + "\n网速↑:" + sz(zwss) + "/s" + "\n网速↓:" + sz(zwxs) + "/s";
|
||||||
|
tu = textpaint(str);
|
||||||
|
ui.run(function () {
|
||||||
|
window.img.setImageBitmap(tu);
|
||||||
|
});
|
||||||
|
sleep(1000);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
function ozs() {
|
||||||
|
return TrafficStats.getTotalTxBytes();
|
||||||
|
}
|
||||||
|
|
||||||
|
function ozx() {
|
||||||
|
return TrafficStats.getTotalRxBytes();
|
||||||
|
}
|
||||||
|
|
||||||
|
function lzs() {
|
||||||
|
return ozs() - zss;
|
||||||
|
}
|
||||||
|
|
||||||
|
function lzx() {
|
||||||
|
return ozx() - zxs;
|
||||||
|
}
|
||||||
|
|
||||||
|
//你家天河二号?
|
||||||
|
function sz(num) {
|
||||||
|
if (num < 1024) {
|
||||||
|
return num.toFixed(2) + "by";
|
||||||
|
} else {
|
||||||
|
num /= 1024;
|
||||||
|
}
|
||||||
|
if (num < 1024) {
|
||||||
|
return num.toFixed(2) + "Kb";
|
||||||
|
} else {
|
||||||
|
num /= 1024;
|
||||||
|
}
|
||||||
|
if (num < 1024) {
|
||||||
|
return num.toFixed(2) + "Mb";
|
||||||
|
} else {
|
||||||
|
num /= 1024;
|
||||||
|
}
|
||||||
|
if (num < 1024) {
|
||||||
|
return num.toFixed(2) + "Gb";
|
||||||
|
} else {
|
||||||
|
num /= 1024;
|
||||||
|
}
|
||||||
|
if (num < 1024) {
|
||||||
|
return num.toFixed(2) + "Tb";
|
||||||
|
} else {
|
||||||
|
num /= 1024;
|
||||||
|
}
|
||||||
|
if (num < 1024) {
|
||||||
|
return num.toFixed(2) + "Pb";
|
||||||
|
} else {
|
||||||
|
num /= 1024;
|
||||||
|
}
|
||||||
|
return num.toFixed(2) + "Eb";
|
||||||
|
}
|
||||||
|
|
||||||
|
log(TrafficStats.getTotalRxBytes());
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
sleep(1000);
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
engines.stopAll();
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
// 等待获取无障碍权限
|
||||||
|
auto.waitFor()
|
||||||
|
|
||||||
|
// 设置脚本坐标点击所适合的屏幕宽高。如果脚本运行时,屏幕宽度不一致会自动放缩坐标。
|
||||||
|
setScreenMetrics(1080, 1920)
|
||||||
|
|
||||||
|
|
||||||
|
importClass(android.graphics.Paint);
|
||||||
|
Canvas = android.graphics.Canvas;
|
||||||
|
importClass(android.graphics.Bitmap);
|
||||||
|
|
||||||
|
function textpaint() {
|
||||||
|
var bitmap = Bitmap.createBitmap(600, 140, Bitmap.Config.ARGB_8888);
|
||||||
|
|
||||||
|
var canvas = new Canvas(bitmap);
|
||||||
|
//background-color
|
||||||
|
//(Alpha,Red,Green,Blue)
|
||||||
|
canvas.drawARGB(255, 0, 0, 0);
|
||||||
|
|
||||||
|
|
||||||
|
// var paint = new Paint();
|
||||||
|
|
||||||
|
// //圆盘背景???
|
||||||
|
// paint.setARGB(255, 0, 255, 0); //白色画笔
|
||||||
|
// paint.setStyle(Paint.Style.FILL); //空心样式
|
||||||
|
// paint.setFilterBitmap(true); //抗锯齿
|
||||||
|
// paint.setFakeBoldText(true); //加粗
|
||||||
|
// paint.setHinting(16); //字体微调
|
||||||
|
// paint.setTextSize(22);
|
||||||
|
// for (i = 0; i < str.length; i++) {
|
||||||
|
// // paint.setARGB(255, random(0, 255), random(0, 255), random(0, 255)); //眼睛快瞎了
|
||||||
|
// canvas.drawText(str[i], 0, (i + 1) * 25, paint);
|
||||||
|
// }
|
||||||
|
// // canvas.drawText(str, 0, (i + 1) * 25, paint);
|
||||||
|
|
||||||
|
canvas.save(Canvas.ALL_SAVE_FLAG);
|
||||||
|
canvas.restore();
|
||||||
|
|
||||||
|
return bitmap;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var window = floaty.window(
|
||||||
|
<frame>
|
||||||
|
<vertical>
|
||||||
|
/*circle="true",两端裁剪为circle,其他圆角风格可以参考https://easydoc.net/doc/84873548/LvEnNZ0d/DuI3kIia */
|
||||||
|
<img id="img" w="auto" h="auto" radiusBottomLeft="25" radiusBottomRight="25"/>
|
||||||
|
</vertical>
|
||||||
|
</frame>
|
||||||
|
);
|
||||||
|
|
||||||
|
window.img.setImageBitmap(textpaint());
|
||||||
|
window.setPosition(240, -100);
|
||||||
|
|
||||||
|
//记录按键被按下的时间以便判断长按等动作 疑似有点幽默了
|
||||||
|
var downTime;
|
||||||
|
window.img.setOnTouchListener(function (view, event) {
|
||||||
|
switch (event.getAction()) {
|
||||||
|
//手指落下
|
||||||
|
case event.ACTION_DOWN:
|
||||||
|
x = event.getRawX();
|
||||||
|
y = event.getRawY();
|
||||||
|
windowX = window.getX();
|
||||||
|
windowY = window.getY();
|
||||||
|
downTime = new Date().getTime();
|
||||||
|
return true;
|
||||||
|
//移动
|
||||||
|
case event.ACTION_MOVE:
|
||||||
|
//移动手指时调整悬浮窗位置
|
||||||
|
// window.setPosition(windowX + (event.getRawX() - x), windowY + (event.getRawY() - y));
|
||||||
|
return true;
|
||||||
|
//抬起
|
||||||
|
case event.ACTION_UP:
|
||||||
|
//手指弹起时如果偏移很小则判断为点击
|
||||||
|
if (Math.abs(event.getRawY() - y) < 5 && Math.abs(event.getRawX() - x) < 5) {
|
||||||
|
threads.start(function () {
|
||||||
|
onClick();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
|
||||||
|
function onClick(){
|
||||||
|
// var str = prompt('kxnmsl')
|
||||||
|
toast('有病')
|
||||||
|
// exit()
|
||||||
|
}
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
sleep(1000);
|
||||||
|
}
|
||||||
Reference in new issue
Block a user