autoJS pro-手机自动化脚本(悬浮框控制以及打印log)

autoJS自动化

本人是一个web前端开发工程师,没想到可以用javascript来实现手机自动化,就有了之后的一系列文章,有好建议的同学欢迎评论区分享 ;-)

专栏地址:点击此处

autoJS pro-手机自动化脚本(悬浮框控制以及打印log)_第1张图片


文章目录

  • autoJS自动化
  • 开发环境
  • 链接
  • 背景
  • 功能笔记
    • 1. 创建悬浮框


开发环境

不同的环境可能导致部分代码运行有问题,所以开发者要确定好自己对应的环境

autojs版本:Pro 9.2.13-0
手机型号:小米8
android版本:10
开发工具:vscode
vscode连接插件:Auto.js-Pro-Ext
脚本对应软件:douyin极速版 version22.3.0

链接

autojs参考文档:点击
CSDN专栏:点击
gitee地址:点击

背景

autojsPro真机测试的时候,经常会有部分信息不能直接显示出来,如果通过toast()的话,会自动消失,不能查看记录。
为此,这边设置了一个浮动框,一方面是用来做操控,另外一方面就是为了打印数据并且可以实时查看。


功能笔记

1. 创建悬浮框

现在,每次APP中,有log打印的话,就会实时到弹框中…

autoJS pro-手机自动化脚本(悬浮框控制以及打印log)_第2张图片

/*
 * @Author: Penk
 * @desc: 这边封装好了,直接require(./当前文件)即可,当了,记得把它download到本机上...
 * @LastEditors: Penk
 * @LastEditTime: 2022-09-15 13:11:38
 * @FilePath: \autojs\ui界面.js
 */
;(function(){
	var mDialog = floaty.window(
		<card id="consoleWarp" cardCornerRadius="10" cardBackgroundColor="#00000000" cardElevation="0">
			<vertical  id="root" gravity="center" padding="10dp">
				<button id="switch" text="开始" />
				<console id="console" w="*" h="*" />
			</vertical >
		</card>
	);

	
	var storage = storages.create("dy");
	if(!!storage.get("switch")){
		storage.put("switch", true);
		mDialog.switch.attr("text", "停止");
	}else{
		storage.put("switch", false);
		mDialog.switch.attr("text", "开始");
	}
	
	//指定确定按钮点击时要执行的动作
	mDialog.switch.on("click", function(){
		var text = mDialog.switch.text();

		if(text=='开始'){
			storage.put("switch", false);
			mDialog.switch.attr("text", "停止");
		}else if(text=='停止'){
			storage.put("switch", true);
			mDialog.switch.attr("text", "开始");
		}
	})
	
	let mDialog_options = {
		alpha: 0.7, //透明度,可选值:0.0-1.0 默认值:0.6
		frontColor: "#00ff00", //文字颜色,可选值:颜色代码 默认值:"#ffffff"
		frontSize: 15, //文字大小,单位sp,可选值:0+ 默认值:16,
		adjustEnabled:true,  //是否启用悬浮窗调整(大小、位置),
		size:[800,500],  // 设置悬浮窗大小
		position:[100,100],  //设置悬浮窗位置。
	};
	ui.run(() => {
		let bg = colors.parseColor("#66000000");
		if (mDialog_options.alpha < 1 && mDialog_options.alpha > 0) bg = colors.parseColor("#" + parseInt(mDialog_options.alpha * 255).toString(16) + "000000");
		mDialog.root.setBackgroundColor(bg);
		mDialog.console.setConsole(runtime.console);
		mDialog.console.setColor("D", mDialog_options.frontColor || "#ffffff");
		mDialog.console.setTextSize(mDialog_options.frontSize || 16);
		mDialog.console.setInputEnabled(false);
		
		// 设置其他参数
		// rawWindow的对象才有
		// mDialog.setTouchable(false);
		// window的对象才有
		mDialog.setAdjustEnabled(mDialog_options.adjustEnabled);
		mDialog.setSize(mDialog_options.size[0],mDialog_options.size[1]);
		mDialog.setPosition(mDialog_options.position[0],mDialog_options.position[1]);
	});
	// exit();
	setInterval(() => {}, 1000);

	log("开始监听log...");
	log("当前开关按钮:",storage.get("switch"))
})();

你可能感兴趣的:(autojs,自动化,javascript,ui)