吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14698|回复: 28
收起左侧

[其他转载] 使用auto.js写的界面,可以弹出竖向浮窗和横向浮窗,有实用价值

  [复制链接]
52Douyin 发表于 2020-2-18 18:22
书接上回
https://www.52pojie.cn/thread-1108063-1-1.html
        使用auto.js写的一个复杂界面,分享给大家


这次在上次功能基础上面增加了横向弹出  浮动窗口和竖向浮动窗口
代码比较多,集合在一起了。有注释。
感兴趣的同学请留言。


老规矩,先上图,再上代码


启动横向浮窗,浮窗可以移动位置
01启动横向窗口.jpg

启动横向浮窗,浮窗可以移动位置
03-横向浮动窗口-可以移动.jpg


启动  竖向浮窗,浮窗可以移动位置
04-竖向浮动窗口.jpg





启动  竖向浮窗,浮窗可以移动位置
05竖向浮窗移动位置.jpg



下面上代码


这是横向浮窗的代码

[JavaScript] 纯文本查看 复制代码
/**横向悬浮窗口 */
function xuanfuchuang2() {
    var Xwin = floaty.rawWindow(
        <vertical id="vertical" bg="#aaaaaa" w="{{Math.floor(device.width*0.5)}}px" h="{{Math.floor(device.width*0.25)}}px" gravity="center">
            <canvas id="canvas" margin="2dp" layout_weight="1" />
            <horizontal id="horizontal" margin="1dp" w="*" gravity="center">
                <button id="btnDy" layout_weight="1" bg="#c0c0c0" text="赞" />
                <button id="butKuai" layout_weight="1" bg="#c5c5c5" text="回" />
                <button id="btnMove" layout_weight="1" bg="#c9c9c9" text="移" />
                <button id="btnEx" layout_weight="1" bg="#f0e8ff" text="关闭" />
            </horizontal>
        </vertical>
    );

        /**移动窗体 */
        Xwin.btnMove.setOnTouchListener(function (view, event) {
            switch (event.getAction()) {
                case event.ACTION_DOWN:
                    x = event.getRawX();
                    y = event.getRawY();
                    aw = Xwin.getWidth();
                    ah = Xwin.getHeight();
                    windowX = Xwin.getX();
                    windowY = Xwin.getY();

                    return true;
                case event.ACTION_MOVE:
    
                    Xwin.setPosition(windowX + (event.getRawX() - x),
                        windowY + (event.getRawY() - y));
                    return true;
                case event.ACTION_UP:    

                    return true;
            }
            return true;
        });

        Xwin.btnEx.click(() => {
            toastLog("退出线程 >>");
            Xwin.close();
    
        });
}




这是  竖向浮窗的代码

[JavaScript] 纯文本查看 复制代码

function xuanfuchuang() {
    w = floaty.window(
        <frame id="action" bg="#90251911" w="{{floaty_window_W}}" h="{{floaty_window_H}}" padding="2">
            <linear w="*" h='*'>
                <vertical gravity="left" padding="-1">
                    <button id="Bmin" text="{{floaty_window_BtnStr}}" w="40" h="40" textSize="8sp" />
                    <button id="yidong" text="移动" w="40" h="40" textSize="8sp" />
                    <button id="tuichu" text="退出" w="40" h="40" textSize="8sp" />
                </vertical>
                <vertical padding="0">
                    <vertical>
                        <com.stardust.autojs.core.console.ConsoleView id="ConS" margin="1" textSize="8sp" />
                    </vertical>
                </vertical>
            </linear>
        </frame>
    );

    setInterval(() => { }, 1000);
    /**
     * 设定窗体位置
     */
    log("窗体位置" + _golStorage.get("winx") + " pos " + _golStorage.get("winy"));

    if (_golStorage.get("winx") && _golStorage.get("winy")) {
        w.setPosition(_golStorage.get("winx"), _golStorage.get("winy"));
    } else {
        w.setPosition(5, 1000);
    }

    ui.run(() => {
        w.ConS.setConsole(runtime.console);
        //w.ConS.setConsole(org.autojs.autojs.autojs.AutoJs.getInstance().getGlobalConsole());
        //w.ConS.findViewById(org.autojs.autojs.R.id.input_container).setVisibility(android.view.View.GONE);
    });

    w.tuichu.click(() => {
        log("线程" + _golThread.isAlive());

        ui.BtnStart.setText("重启");
        ui.BtnBegin.setText("重启");

        Calc_golRunIndex();

        if (_golThread && _golThread.isAlive()) {
            _golThread.interrupt();
        }
        toastLog("退出线程 >>");
        w.close();

    });

    var x = 0, y = 0;
    var windowX, windowY;
    var downTime;
    ui.run(function () {
        windowWidth = w.getWidth();
        windowHeight = w.getHeight();
    }
    );
    /**最小化显示 */
    w.Bmin.setOnTouchListener(function (view, event) {
        switch (event.getAction()) {
            case event.ACTION_DOWN:
                x = event.getRawX();
                y = event.getRawY();
                windowX = w.getX();
                windowY = w.getY();

                return true;
            case event.ACTION_MOVE:

                let wx = windowX + (event.getRawX() - x);
                let wy = windowY + (event.getRawY() - y);
                w.setPosition(wx, wy);
                SaveFloatWinPos(wx, wy);
                SaveFloatWinStates(190, 190, w.Bmin.text());
                return true;
            case event.ACTION_UP:

                if (Math.abs(event.getRawY() - y) < 5 && Math.abs(event.getRawX() - x) < 5) {
                    if (w.Bmin.text() == "小化") {
                        w.Bmin.setText("大化");
                        w.setSize(190, 190);
                        SaveFloatWinStates(190, 190, w.Bmin.text());
                    } else {
                        w.Bmin.setText("小化");
                        w.setSize(windowWidth, windowHeight);
                        SaveFloatWinStates(windowWidth, windowHeight, w.Bmin.text());
                    }
                }
                return true;
        }
        return true;
    });
    /**移动窗体 */
    w.yidong.setOnTouchListener(function (view, event) {
        switch (event.getAction()) {
            case event.ACTION_DOWN:
                x = event.getRawX();
                y = event.getRawY();
                aw = w.getWidth();
                ah = w.getHeight();
                windowX = w.getX();
                windowY = w.getY();
                downTime = new Date().getTime();
                return true;
            case event.ACTION_MOVE:

                w.setPosition(windowX + (event.getRawX() - x),
                    windowY + (event.getRawY() - y));
                return true;
            case event.ACTION_UP:

                SaveFloatWinPos(w.getX(), w.getY());
                return true;
        }
        return true;
    });
    /**
     * 保存窗体的坐标
     * @_x x坐标
     * @_y y坐标
     */
    function SaveFloatWinPos(_x, _y) {
        _golStorage.put("winx", _x);
        _golStorage.put("winy", _y);
    };
    /**
    * 保存窗体的状态
    * _states 窗体大小
    */
    function SaveFloatWinStates(_winW, _winH, _btnStr) {
        _golStorage.put("winW", _winW);
        _golStorage.put("winH", _winH);
        _golStorage.put("btnText", _btnStr);
    };

}



UI代码都集合到main里面了
[JavaScript] 纯文本查看 复制代码
"ui";

auto();
var color = "#000000";
//数据源
var _golDataSource;
var _golHasBind = false;//是否绑定数据
var _golFolder = "./runJs/";
/**
 * 当前刷新app的索引
 */
var _golRunIndex = 0;

/**
 * card按钮宽度
 */
var _golCardWidth = 0;
/**
 * card按钮高度
 */
var _golCardHeigth = 200
/**
 * 共通方法类
 */
var golRunComm = null;
/**
 * 主线程
 */
var _golThread;
/**
 * 保存窗口数据和窗口状态
 */
var _golStorage = null;

/**小窗体的大小 */
var floaty_window_W;
var floaty_window_H;
/**按钮名称 */
var floaty_window_BtnStr;
//-----窗口数据结束

var key = "default";

/**二维码 */
var path_img = "file://./res/assests/ewm.jpg"
var path_cwxjl = "file://./res/assests/cwxjl.jpg"

_golCardWidth = parseInt(device.width * 0.155);


Main();//主入口

ui.layout(
    <drawer id="drawer">
        <vertical>
            <appbar>
                <toolbar bg="#FF5c50e6" id="toolbar" title="自动刷新" paddingTop="2dp" h="auto" >
                    <button bg="#FF00CED1" id="BtnExit" layout_gravity="right" textColor="#ffffff" text="离开" style="Widget.AppCompat.Button.Borderless.Colored" w="auto" />
                </toolbar>
                <tabs id="tabs" />
            </appbar>
            <viewpager id="viewpager">
                {/* 第一级 */}
                <frame>
                    <scroll>
                        <vertical>
                            <horizontal gravity="center_vertical">
                                <card w="{{_golCardWidth}}" h="{{_golCardHeigth}}"
                                    layout_width="0dp" layout_weight="3"
                                    margin="4" cardCornerRadius="15dp" cardBackgroundColor="#f5f5f5"
                                    cardElevation="15dp" gravity="left" foreground="?selectableItemBackground">
                                    <vertical>
                                        <linear margin="0 40 0 0">
                                            <View bg="#2196f3" h="*" w="10" />
                                            <text id="name" w="*" h="40" hint="欢迎自动刷新" />
                                        </linear>
                                        <button id="BtnStart" text="开始刷新" w="{{_golCardWidth}}" />
                                    </vertical>
                                </card>
                                <card w="{{_golCardWidth}}" h="{{_golCardHeigth}}"
                                    layout_width="0dp" layout_weight="3"
                                    margin="4" cardCornerRadius="15dp" cardBackgroundColor="#f5f5f5"
                                    cardElevation="15dp" gravity="right" foreground="?selectableItemBackground">
                                    <vertical>
                                        <linear margin="0 40 0 0">
                                            <img w="30" h="30" src="@drawable/ic_person_black_48dp" />
                                            <text id="name" w="*" h="40" hint="关于我们" />
                                        </linear>
                                        <button id="BtnHorWin" text="横向窗体" w="{{_golCardWidth}}" />
                                    </vertical>
                                </card>
                            </horizontal>
                            <horizontal gravity="center_vertical">
                                <card w="{{_golCardWidth}}" h="{{_golCardHeigth}}"
                                    layout_width="0dp" layout_weight="3"
                                    margin="4" cardCornerRadius="15dp" cardBackgroundColor="#f5f5f5"
                                    cardElevation="15dp" gravity="left" foreground="?selectableItemBackground">
                                    <vertical>
                                        <linear margin="0 40 0 0">
                                        
                                        <img w="120" h="120" src="{{path_img}}" />
                                        </linear>
                                        <text id="name" w="*" h="40" hint="欢迎使用学生快乐编程" />
                                    </vertical>
                                </card>
                                <card w="{{_golCardWidth}}" h="{{_golCardHeigth}}"
                                    layout_width="0dp" layout_weight="3"
                                    margin="4" cardCornerRadius="15dp" cardBackgroundColor="#f5f5f5"
                                    cardElevation="15dp" gravity="right" foreground="?selectableItemBackground">
                                    <vertical>
                                        <linear margin="0 40 0 0">
                                       
                                        <img w="120" h="120" src="{{path_cwxjl}}" />
                                        </linear>
                                        <text id="name" w="*" h="40" hint="关注我" />
                                    </vertical>
                                </card>
                            </horizontal>

                        </vertical>
                    </scroll>
                </frame>
                {/*
                第二级
                 注释:
                 -修改排序内容 */}
                <frame>
                    <vertical>
                        <horizontal weightSum="8" bg='#FF5c50e6'>
                            <button layout_width="0dp" layout_weight="4" id="BtnSave" text="手动保存" />
                            <button layout_width="0dp" layout_weight="4" id="BtnBegin" text="开始刷新" />
                        </horizontal>
                        <scroll>
                            <vertical>
                                <card id="card0" w="*" h="70" margin="10 5" cardCornerRadius="2dp" cardElevation="1dp" foreground="?selectableItemBackground">
                                    <horizontal gravity="center_vertical">
                                        <View bg="#000080" h="*" w="10" />
                                        <vertical padding="10 8" h="auto" w="0" layout_weight="1">
                                            <text id="appCnName0" text="" textColor="#222222" textSize="14sp" maxLines="1" />
                                            <text id="filepath0" text="" textColor="#999999" textSize="12sp" maxLines="1" />
                                            <text id="app0" text="" textColor="#999999" textSize="12sp" maxLines="1" />
                                        </vertical>
                                        <text w="auto" gravity="right" color="#111111" size="13" text="排序" />
                                        <input id="sortid0" text="" textSize="13sp" maxLines="1" inputType="number" />
                                        <text w="auto" gravity="right" color="#111111" size="13" text="(秒)" />
                                        <input id="t0" w="auto" gravity="right" textSize="13sp" text="" inputType="number" />
                                        <checkbox id="done0" marginLeft="4" marginRight="6" checked="true" />
                                    </horizontal>
                                </card>

                                <card id="card1" w="*" h="70" margin="10 5" cardCornerRadius="2dp" cardElevation="1dp" foreground="?selectableItemBackground">
                                    <horizontal gravity="center_vertical">
                                        <View bg="#00008B" h="*" w="10" />
                                        <vertical padding="10 8" h="auto" w="0" layout_weight="1">
                                            <text id="appCnName1" text="" textColor="#222222" textSize="14sp" maxLines="1" />
                                            <text id="filepath1" text="" textColor="#999999" textSize="12sp" maxLines="1" />
                                            <text id="app1" text="" textColor="#999999" textSize="12sp" maxLines="1" />
                                        </vertical>
                                        <text w="auto" gravity="right" color="#111111" size="13" text="排序" />
                                        <input id="sortid1" text="" textSize="13sp" maxLines="1" inputType="number" />
                                        <text w="auto" gravity="right" color="#111111" size="13" text="(秒)" />
                                        <input id="t1" w="auto" gravity="right" textSize="13sp" text="" inputType="number" />
                                        <checkbox id="done1" marginLeft="4" marginRight="6" checked="false" />
                                    </horizontal>
                                </card>

                                <card id="card2" w="*" h="70" margin="10 5" cardCornerRadius="2dp" cardElevation="1dp" foreground="?selectableItemBackground">
                                    <horizontal gravity="center_vertical">
                                        <View bg="#0000CD" h="*" w="10" />
                                        <vertical padding="10 8" h="auto" w="0" layout_weight="1">
                                            <text id="appCnName2" text="" textColor="#222222" textSize="14sp" maxLines="1" />
                                            <text id="filepath2" text="" textColor="#999999" textSize="12sp" maxLines="1" />
                                            <text id="app2" text="" textColor="#999999" textSize="12sp" maxLines="1" />
                                        </vertical>
                                        <text w="auto" gravity="right" color="#111111" size="13" text="排序" />
                                        <input id="sortid2" text="" textSize="13sp" maxLines="1" inputType="number" />
                                        <text w="auto" gravity="right" color="#111111" size="13" text="(秒)" />
                                        <input id="t2" w="auto" gravity="right" textSize="13sp" text="" inputType="number" />
                                        <checkbox id="done2" marginLeft="4" marginRight="6" checked="false" />
                                    </horizontal>
                                </card>

                                <card id="card3" w="*" h="70" margin="10 5" cardCornerRadius="2dp"
                                    cardElevation="1dp" foreground="?selectableItemBackground">
                                    <horizontal gravity="center_vertical">
                                        <View bg="#0000FF" h="*" w="10" />
                                        <vertical padding="10 8" h="auto" w="0" layout_weight="1">
                                            <text id="appCnName3" text="" textColor="#222222" textSize="14sp" maxLines="1" />
                                            <text id="filepath3" text="" textColor="#999999" textSize="12sp" maxLines="1" />
                                            <text id="app3" text="" textColor="#999999" textSize="12sp" maxLines="1" />
                                        </vertical>
                                        <text w="auto" gravity="right" color="#111111" size="13" text="排序" />
                                        <input id="sortid3" textSize="13sp" maxLines="1" inputType="number" />
                                        <text w="auto" gravity="right" color="#111111" size="13" text="(秒)" />
                                        <input id="t3" w="auto" gravity="right" textSize="13sp" text="" inputType="number" />
                                        <checkbox id="done3" marginLeft="4" marginRight="6" checked="false" />
                                    </horizontal>
                                </card>

                                <card id="card4" w="*" h="70" margin="10 5" cardCornerRadius="2dp" cardElevation="1dp" foreground="?selectableItemBackground">
                                    <horizontal gravity="center_vertical">
                                        <View bg="#00BFFF" h="*" w="10" />
                                        <vertical padding="10 8" h="auto" w="0" layout_weight="1">
                                            <text id="appCnName4" text="" textColor="#222222" textSize="14sp" maxLines="1" />
                                            <text id="filepath4" text="" textColor="#999999" textSize="12sp" maxLines="1" />
                                            <text id="app4" text="" textColor="#999999" textSize="12sp" maxLines="1" />
                                        </vertical>
                                        <text w="auto" gravity="right" color="#111111" size="13" text="排序" />
                                        <input id="sortid4" textSize="13sp" maxLines="1" inputType="number" />
                                        <text w="auto" gravity="right" color="#111111" size="13" text="(秒)" />
                                        <input id="t4" w="auto" gravity="right" textSize="13sp" text="" inputType="number" />
                                        <checkbox id="done4" marginLeft="4" marginRight="6" checked="false" />
                                    </horizontal>
                                </card>


                            </vertical>
                        </scroll>
                    </vertical>
                </frame>
                {/*
                    第三级
                 ?第二层结束? */}
                <frame>
                    <com.stardust.autojs.core.console.ConsoleView id="console" h="*" />
                </frame>
                {/*
                    第四级
                 ?第四层结束? */}
                <frame>
                <card id="card4" w="*" h="100" margin="10 5" cardCornerRadius="2dp" cardElevation="1dp" foreground="?selectableItemBackground">
                                    <horizontal gravity="center_vertical">
                                        <View bg="#00BFFF" h="*" w="10" />
                                        <vertical padding="10 8" h="auto" w="0" layout_weight="1">
                                        <text w="auto" color="#111111" size="16" text="1、需要启动无障碍服务。" />
                                        <text w="auto" color="#111111" size="16" text="2、允许app显示在其他应用的上层。" />
                                        </vertical>   
                                       
                                    </horizontal>
                                </card>
                </frame>
                {/*
                    第五级
                 ?第五层结束? */}
                <frame>
                    <text w="auto" gravity="right" color="#111111" size="16" text="          第四页:关注公众号学生快乐编程" />

                </frame>
            </viewpager>
        </vertical>
        <vertical layout_gravity="left" bg="#ffffff" w="280">
            <img w="280" h="200" scaleType="fitXY" />
            <list id="menu">
                <horizontal bg="?selectableItemBackground" w="*">
                    <img w="50" h="50" padding="16" src="{{this.icon}}" tint="{{color}}" />
                    <text textColor="black" textSize="15sp" text="{{this.title}}" layout_gravity="center" />
                </horizontal>
            </list>
        </vertical>
    </drawer>
);



/**复选框 开始*/
//绑定勾选框事件
ui.done0.on("check", function (checked) {
    log("ck-" + checked);

    if (checked) {
        ui.card0.attr("bg", "#F5f5f5");
    } else {
        ui.card0.attr("bg", "#999999");
    }

});
/**复选框 结束*/
activity.setSupportActionBar(ui.toolbar);

//设置滑动页面的标题
ui.viewpager.setTitles(["主页", "配置", "日志", "帮助", "About"]);
//让滑动页面和标签栏联动
ui.tabs.setupWithViewPager(ui.viewpager);

//让工具栏左上角可以打开侧拉菜单
ui.toolbar.setupWithDrawer(ui.drawer);

/**
 * 页面头部选项卡更改侦听器
 * */
ui.viewpager.setOnPageChangeListener({
    //已选定页面发生改变时触发
    onPageSelected: function (index) {
        if (index == 1 && _golHasBind == false) {
            /**
            * 绑定,填充数据
            */
            bindDdata();
        } else if (index == 2) {
            /**控制台 */
            ui.console.setConsole(runtime.console);
            // ui.console.findViewById(org.autojs.autojs.R.id.input_container).setVisibility(android.view.View.GONE);
            //ui.console.setConsole(org.autojs.autojs.autojs.AutoJs.getInstance().getGlobalConsole());            

            // 设置控制台字体颜色
            let c = new android.util.SparseArray();
            let Log = android.util.Log;
            c.put(Log.VERBOSE, new java.lang.Integer(colors.parseColor("#dfc0c0c0")));
            c.put(Log.DEBUG, new java.lang.Integer(colors.parseColor("#cc000000")));
            c.put(Log.INFO, new java.lang.Integer(colors.parseColor("#ff64dd17")));
            c.put(Log.WARN, new java.lang.Integer(colors.parseColor("#ff2962ff")));
            c.put(Log.ERROR, new java.lang.Integer(colors.parseColor("#ffd50000")));
            c.put(Log.ASSERT, new java.lang.Integer(colors.parseColor("#ffff534e")));
            ui.console.setColors(c);
            /**控制台 */
        }

    }
})

/**
 * 主入口程序
 */
function Main() {
    log("main");

    engines.all().slice(1).forEach(script => {
        if (script.getSource().getName().indexOf(engines.myEngine().getSource())) {
            toastLog("脚本正在运行中");
            engines.myEngine().forceStop();
        }
    });

    ui.statusBarColor(color);

    _golDataSource = LoadConfig();
    _golStorage = storages.create("asianbest.vip");

    log("winW=" + _golStorage.get("winW"));
    log("winH=" + _golStorage.get("winH") + "-btnText-" + _golStorage.get("btnText"));


    floaty_window_W = 120;
    floaty_window_H = 120;
    floaty_window_BtnStr = "小化";
}


/**
 * 将数据填充到UI中
 */
function bindDdata() {

    for (let k = 0; k < _golDataSource.length; k++) {

        ui["filepath" + k].setText(_golDataSource[k].filepath);

        let appEn = _golDataSource[k].app;
        ui["app" + k].setText(appEn);


        let appCn = getAppName(appEn);
        if (null == appCn) {

            ui["done" + k].checked = false;
            ui["card" + k].attr("bg", "#999999");
            ui["appCnName" + k].setText(appEn);
        }
        else {

            ui["done" + k].checked = true;
            ui["card" + k].attr("bg", "#F5f5f5");
            ui["appCnName" + k].setText(appCn);
        }

        let isRun = _golDataSource[k].Run;
        if ("0" == isRun) {
            ui["done" + k].checked = false;
            ui["card" + k].attr("bg", "#A9A9A9");
        }

        ui["sortid" + k].setText(_golDataSource[k].sortid);
        ui["t" + k].setText(_golDataSource[k].t);
    }
    _golHasBind = true;
}

/**
 * 读取config文件
 */
function LoadConfig() {

    let _txtFile = _golFolder + "config.txt";

    if (files.exists(_txtFile)) {

        toast('读取文件' + _txtFile);

        var jsonStr = files.read(_txtFile);
        setTimeout(() => {
            toastLog("读取文件。");
        }, 400);
        var commFun = require(_golFolder + "CommonFun.js");
        golRunComm = new commFun();

        /**
        *对数组重新排序
        */
        let obj = golRunComm.ReSort(eval('(' + jsonStr + ')'));
        setTimeout(() => {
            toastLog("文件解析完成。");
        }, 400);

        return obj;
    }

}

/**保存按钮 */
ui.BtnSave.on("click", function () {

    let str = "[";

    for (let k = 0; k < _golDataSource.length; k++) {

        str += "{\"filepath\":\"" + ui["filepath" + k].text() + "\",";
        str += "\"app\":\"" + ui["app" + k].text() + "\","
        str += "\"sortid\":\"" + ui["sortid" + k].text() + "\",";
        str += "\"t\":\"" + ui["t" + k].text() + "\"}";
        if (k < _golDataSource.length - 1) {
            str += ",";
        }
    }

    str += "]";

    _golDataSource = golRunComm.ReSort(eval('(' + str + ')'));

    let _txtFile = _golFolder + "config.txt";
    files.write(_txtFile, str);

    setTimeout(() => {
        toastLog("修改文件。");
    }, 1500);

    bindDdata();
    setTimeout(() => {
        toastLog("更新UI界面。");
    }, 1500);
});
/**
 * 启动刷新程序
 */
ui.BtnStart.on("click", () => {
    ui.BtnStart.setText("暂停");
    ui.BtnBegin.setText("暂停");
    _golThread = threads.start(function () {
        log("Start日志");
        xuanfuchuang();
        log("启动子线程");
        ThreadStart();
    });
});
ui.BtnBegin.on("click", () => {
    ui.BtnStart.setText("暂停");
    ui.BtnBegin.setText("暂停");
    _golThread = threads.start(function () {
        log("Start日志");
        xuanfuchuang();
        log("启动子线程");
        ThreadStart();
    });
});
/**
 * 退出程序
 */
ui.BtnExit.on("click", () => {
    if (_golThread && _golThread.isAlive()) {
        log("线程" + _golThread.isAlive());
        _golThread.interrupt();
    }
    ui.finish();
});

function ThreadStart() {
    log("线程启动>>" + _golDataSource[0].filepath);

    Help(_golFolder + _golDataSource[_golRunIndex].filepath,
        _golDataSource[_golRunIndex].app,
        _golDataSource[_golRunIndex].t,
        getAppName(_golDataSource[_golRunIndex].app));
}

/**
* 
* [url=home.php?mod=space&uid=952169]@Param[/url] {js路径} _path 
* @param {app包名称} _appName 
* @param {执行时间长度} _times 
* @param {包中文名} _cn 
*/
function Help(_path, _appName, _times, _cn) {
    var myObj = require(_path);
    var unlock = new myObj(_appName, _times, _cn, golRunComm);
    unlock.RunApp();
    Calc_golRunIndex();
    ThreadStart();
}




最后奉上整合后的代码,喜欢的点赞再走。

链接:https://pan.baidu.com/s/1wJCnz09Bb5KLMlk3SOk60A
提取码:7uj5


02横向浮窗-移动位置.jpg

免费评分

参与人数 8吾爱币 +7 热心值 +5 收起 理由
shiguangbugudan + 1 用心讨论,共获提升!
vpn49390 + 1 + 1 我很赞同!
wzzycpp + 1 + 1 谢谢@Thanks!
南枝的根 + 1 谢谢@Thanks!
导哥啊 + 1 + 1 热心回复!
dotdot8 + 1 谢谢@Thanks!
lqylbh + 1 + 1 用心讨论,共获提升!
indian806 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

  • · 好帖|主题: 549, 订阅: 87

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

vagrantear 发表于 2020-3-29 10:13
自己写的拿来自用是挺有成就感的,但.....
vagrantear 发表于 2020-3-29 17:23
indian806 发表于 2020-2-19 09:23
头像被屏蔽
石昊荒天帝 发表于 2020-2-20 01:05
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 52Douyin 发表于 2020-2-20 10:07
浮窗,里面包含日志文本,
可以在操作过程中,显示当前的操作日志。
浮窗按钮,可以终止当前的线程。退出线程。
sumengzhenyue 发表于 2020-3-2 00:13
学到了很多,请大佬指导,ui.viewpager.setTitles(["主页", "配置", "日志", "帮助", "About"]); 这些title的文字颜色如何修改?谢谢!
 楼主| 52Douyin 发表于 2020-3-2 11:45
这个没改过,
storms 发表于 2020-3-28 23:25
下载失效了,能在分享一下不
导哥啊 发表于 2020-3-29 02:12
一按配置就错误退出了,怎么弄呀
 楼主| 52Douyin 发表于 2020-3-29 09:33
导哥啊 发表于 2020-3-29 02:12
一按配置就错误退出了,怎么弄呀

发截图看看,什么错!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 13:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表