个人简介

👨🏻‍💻个人主页:九黎aj

🏃🏻‍♂️幸福源自奋斗,平凡造就不凡

🌟如果文章对你有用,麻烦关注点赞收藏走一波,感谢支持!

🌱欢迎订阅我的专栏:autojs
python
🌟 QQ群:698307198

普通交流群698307198欢迎加入赞助v群, 和各位大神一同交流
免责声明:本博客提供的所有内容仅供学习、分享与交流,我们不保证内容的正确性。通过使用本博客内容随之而来的问题与本博客无关。当使用本博客代码时,代表你已接受本博客的免责声明


前言

源码分享
在这里插入图片描述

正文

"ui";
var 配置 = storages.create("DSJL");
var version = 4.1;   //版本号
ui.layout(
    <ScrollView>
        <vertical>
            <appbar>
                <toolbar id="bt" title="抖精灵" />
            </appbar>
            <Switch id="autoService" text="无障碍服务" checked="{{auto.service != null}}" padding="8 8 8 8" textSize="15sp" />
            <horizontal>
                <text text="  抖客户端:" gravity="left" />
                <spinner id="khd" entries="短视频|极速版" />
            </horizontal>
            <horizontal>
                <text text="  运行总时间:" gravity="left" />
                <input id="yhsc" hint="时间(分钟)" textSize="15sp" inputType="number" gravity="center" />
                <text text="    喜欢概率:" gravity="left" />
                <input id="xhgl" hint="喜欢概率" textSize="15sp" inputType="number" gravity="center" />
            </horizontal>
            <horizontal>
                <text text="  浏览作品时间:" gravity="left" />
                <input id="jg" hint="最小值" textSize="15sp" inputType="number" gravity="center" />
                <text text="----" gravity="center" />
                <input id="jg1" hint="最大值" textSize="15sp" inputType="number" gravity="center" />
                <text text="   秒" gravity="left" />
            </horizontal>
            <horizontal>
                <text text="  作品关键词:" gravity="left" />
                <input id="key" hint="务必填写,不填写无法运行!" textSize="15sp" />
            </horizontal>
            <text text="   温馨提示:" gravity="left" />
            <text text="   1.软件根据关键词识别作品是否浏览;" gravity="left" />
            <text text="   2.关键词尽量精准,才能使账号更加垂直;" gravity="left" />
            <text text="   3.可设置多个关键词,分隔符“,”;" gravity="left" />
            <text text="   4.例如:剪辑,影视,观影,60帧等;" gravity="left" />
            <text text="   5.关键词尽可能多而精准;" gravity="left" />
            <horizontal>
                <text text="   系统提示:" gravity="left" />
                <checkbox id="支持" text="本软件无需root权限。" checked="true" />
            </horizontal>

            <horizontal>
                <text id="ver" text="   当前软件版本:  " gravity="left" />
                <text id="安卓版本" textSize="15sp" />
            </horizontal>
            <horizontal>
                <button id="start" text="开始运行" layout_weight="1" style="Widget.AppCompat.Button.Colored" />
            </horizontal>

        </vertical>
    </ScrollView>
);
ui.安卓版本.text("   本机安卓版本:" + device.release + "");
ui.ver.text("   当前软件版本:" + version + "     ");
ui.bt.title = "抖精灵 V" + version;
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();
    }
});




var 悬块 = function (window, view) {
    if (!window || !view) {
        throw "缺参数";
    };
    this.x = 0, this.y = 0;
    this.windowX, this.windowY;
    this.downTime = 500;
    this.Timeout = 0;
    this.Click = function () { };
    this.LongClick = function () { };
    this.setClick = function (fun) {
        //判断参数类型是否为函数?
        if (typeof fun == "function") {
            this.Click = fun;
        };
    };
    this.setLongClick = function (fun, ji) {
        //判断参数类型是否为函数?
        if (typeof fun == "function") {
            this.LongClick = fun;
            //判断参数是否可为设置数字?
            if (parseInt(ji) <= 1000) {
                this.downTime = parseInt(ji);
            };
        };
    };

    view.setOnTouchListener(new android.view.View.OnTouchListener((view, event) => {
        switch (event.getAction()) {
            //按下事件。
            case event.ACTION_DOWN:
                //按下记录各种坐标数据。
                this.x = event.getRawX();
                this.y = event.getRawY();
                this.windowX = window.getX();
                this.windowY = window.getY();
                //创建一个定时器用来定时执行长按操作。
                this.Timeout = setTimeout(() => {
                    this.LongClick();
                    this.Timeout = 0;
                }, this.downTime);
                return true;
            //移动事件。
            case event.ACTION_MOVE:
                //移动距离过大则判断为移动状态
                // if (Math.abs(event.getRawY() - this.y) > 5 && Math.abs(event.getRawX() - this.x) > 5) {
                //     //移动状态清除定时器
                //     if (this.Timeout) {
                //         //定时器存在则清除定时器。
                //         clearTimeout(this.Timeout);
                //         this.Timeout = 0;
                //     };
                //     //移动手指时调整悬浮窗位置
                //     window.setPosition(this.windowX + (event.getRawX() - this.x), this.windowY + (event.getRawY() - this.y));
                // };
                return true;
            //抬起事件。
            case event.ACTION_UP:
                if (this.Timeout) {
                    clearTimeout(this.Timeout);
                    this.Timeout = 0;
                    this.Click();
                };
                return true;
        };
        return true;
    }));
};
var startime = Date.parse(new Date());
var 点赞数量 = 0;
var 浏览数量 = 0;
readconfig();//读取配置

ui.start.on("click", function () {
    //程序开始运行之前判断无障碍服务
    if (auto.service == null) {
        toast("请先开启无障碍服务!");
        return;
    }
    saveconfig();//保存配置
    xf();//悬浮窗
    d();//主线程
});

声明
部分内容来自网络
本教程仅用于学习, 禁止用于其他用途

文章内容有限.完整内容可加群获取 QQ群
698307198

具体操作

其他

参考文章

文中涉及到的连接.和v群的开发者交流做为参考

声明

部分内容来自网络
本教程仅用于学习, 禁止用于其他用途

QQ群

698307198
扫一扫二维码,加入群聊

在这里插入图片描述

说明:
本文提供的代码仅供参考。
有些地方可能在最新版本的Auto.js上面需要做修改,才能运行的.如果不理解,可以加群询问.

Auto.js简介
Auto.js是利用安卓系统的“辅助功能”实现类似于按键精灵,触摸精灵.懒人精灵等一样,可以通过代码模拟一系列界面动作的辅助工作。
而与“按键精灵”不同的是,它的模拟动作并不是简单的使用在界面定坐标点来实现,而是类似与win一般,找窗口句柄来实现的。通过控件点击可以实现全分辨率的模拟人工点击效果

Auto.js使用JavaScript作为脚本语言,目前使用Rhino作为脚本引擎,支持ES5与部分ES6特性。新的autojs pro9系列可以使用node.js开发

开发文档
进群下载

为什么要使用Auto.js Pro开发脚本,有什么特点?

吸引我使用Auto.js Pro的原因有很多。最主要的几个原因是:

  1. Auto.js Pro能开发免ROOT的安卓脚本 Auto.js Pro基于节点操作,能开发全分辨率的脚本,自动适配各种安卓机型
  2. 可以使用手机开发,这使得开发者更多,有更多代码可以参考学习.在此也欢迎加入九黎的赞助vip群,目前已经收集或者开发了大概4000余代码,覆盖各个分类.包含autojs教程视频,易语言,按键精灵,aj,python大量源码
  3. Auto.js Pro丰富的UI组件,能自定义各种样式的安卓界面 Auto.js.并且可以使用原生xml
  4. Pro使用的javascript的语法比较优雅,代码可读性强 Auto.js Pro的命令库非常的丰富,接口比较多 Auto.js
  5. Pro脚本文件体积比较小。1000行的代码,打包后的apk文件只有3-5M,还没有广告

相关教程
点击这里看更多 Auto.js Pro教程

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐