autojs实现ui和逻辑分离,简化业务逻辑
Posted 九黎AJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了autojs实现ui和逻辑分离,简化业务逻辑相关的知识,希望对你有一定的参考价值。
QQ群698307198欢迎加入,和各位大神一同交流
正文部分
群里有人问。我就直接写个博客简单回答吧
ui布局该怎么写怎么写
代码部分你写好了直接剪贴到另一个js
然后在原来的文件里
直接require(“代码.js”);即可
我们先正常写一个
分离前
"ui";
ui.layout(
<vertical>
<appbar>
<toolbar title="抖音刷金币"/>
</appbar>
<Switch id="autoService" text="无障碍服务" checked="{{auto.service != null}}" padding="8 8 8 8" textSize="25sp"/>
<Switch id="overlayService" text="悬浮窗权限" checked="{{auto.service != null}}" padding="8 8 8 8"textSize="15sp" />
<frame height="200" gravity="center">
<text text="文本" gravity="center"/>
</frame>
<button id="start" text="开始运行"/>
</vertical>
);
ui.autoService.on("check", function(checked) {
// 用户勾选无障碍服务的选项时,跳转到页面让用户去开启
if(checked && auto.service == null) {
app.startActivity({
action: "android.settings.ACCESSIBILITY_SETTINGS"
});
}
if(!checked && auto.service != null){
auto.service.disableSelf();
}
});
// 当用户回到本界面时,resume事件会被触发
ui.emitter.on("resume", function() {
// 此时根据无障碍服务的开启情况,同步开关的状态
ui.autoService.checked = auto.service != null;
});
//开启悬浮窗权限
ui.overlayService.on("check", function (checked) {
// 用户勾选无障碍服务的选项时,跳转到页面让用户去开启
if (checked) {
int = app.startActivity({
packageName: "com.android.settings",
className: "com.android.settings.Settings$AppDrawOverlaySettingsActivity",
data: "package:" + auto.service.getPackageName().toString()
});
toast("请打开悬浮窗开关");
}
if (!checked && auto.service != null) {
auto.service.disableSelf();
toast("已关闭悬浮窗权限");
}
});
ui.start.on("click", function(){
//程序开始运行之前判断无障碍服务
if(auto.service == null) {
toast("请先开启无障碍服务!");
return;
}
main();
});
function main() {
threads.start(function() {
toast("准备运行。这是没分离的")
// 这里写脚本的主逻辑
})
}
分离后
ui部分设置为main.js
"ui";
ui.layout(
<vertical>
<appbar>
<toolbar title="抖音刷金币"/>
</appbar>
<Switch id="autoService" text="无障碍服务" checked="{{auto.service != null}}" padding="8 8 8 8" textSize="25sp"/>
<Switch id="overlayService" text="悬浮窗权限" checked="{{auto.service != null}}" padding="8 8 8 8"textSize="15sp" />
<frame height="200" gravity="center">
<text text="文本" gravity="center"/>
</frame>
<button id="start" text="开始运行"/>
</vertical>
);
ui.autoService.on("check", function(checked) {
// 用户勾选无障碍服务的选项时,跳转到页面让用户去开启
if(checked && auto.service == null) {
app.startActivity({
action: "android.settings.ACCESSIBILITY_SETTINGS"
});
}
if(!checked && auto.service != null){
auto.service.disableSelf();
}
});
require('代码.js');
然后新建一个代码.js文件
ui.autoService.on("check", function(checked) {
// 用户勾选无障碍服务的选项时,跳转到页面让用户去开启
if(checked && auto.service == null) {
app.startActivity({
action: "android.settings.ACCESSIBILITY_SETTINGS"
});
}
if(!checked && auto.service != null){
auto.service.disableSelf();
}
});
// 当用户回到本界面时,resume事件会被触发
ui.emitter.on("resume", function() {
// 此时根据无障碍服务的开启情况,同步开关的状态
ui.autoService.checked = auto.service != null;
});
//开启悬浮窗权限
ui.overlayService.on("check", function (checked) {
// 用户勾选无障碍服务的选项时,跳转到页面让用户去开启
if (checked) {
int = app.startActivity({
packageName: "com.android.settings",
className: "com.android.settings.Settings$AppDrawOverlaySettingsActivity",
data: "package:" + auto.service.getPackageName().toString()
});
toast("请打开悬浮窗开关");
}
if (!checked && auto.service != null) {
auto.service.disableSelf();
toast("已关闭悬浮窗权限");
}
});
ui.start.on("click", function(){
//程序开始运行之前判断无障碍服务
if(auto.service == null) {
toast("请先开启无障碍服务!");
return;
}
main();
});
function main() {
threads.start(function() {
toast("准备运行,ui和逻辑分离成功")
// 这里写脚本的主逻辑
})
}
然后运行main.js这不就ok了嘛。
参考文章
无
所属软件
声明
部分内容来自网络
本教程仅用于学习, 禁止用于其他用途
QQ群
698307198
扫一扫二维码,加入群聊.QQ
以上是关于autojs实现ui和逻辑分离,简化业务逻辑的主要内容,如果未能解决你的问题,请参考以下文章