TankTim68 / robot-tools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

本项目为uni-app的应用程序,提供模拟点击控制安卓手机的能力。

安装

npm i robot-tools

1. 更新/下载基座

robot-tools init

Hbuilder的菜单:运行 -> 手机或模拟器 -> 运行基座选择 -> 自定义基座(勾选)

2. 在项目中使用

var {robot} = require('robot-tools');
var param = { 
    file: 'demo.js', //机器人脚本(static/robots/目录下),或绝对路径/sdcard/xxx.js,或远程URL(也可以用发布的打包加密代码)
    vue:  this, //可选, 将本vue对象传递给机器人
    arguments: {}, //可选, json,传递给机器人的参数。[提示]如果不传递,则系统会默认使用'当时'的vue的data数据
    onMessage: ()=>{} //回调函数,机器人给VUE发送消息, 感觉快淘汰了
}
robot.stop();
//启动机器人
robot.start(param); 

机器人脚本,请参考 https://github.com/yooge/robot

. .

机器人获取VUE发过来的参数(启动机器人时传递的)

app.args //json对象
app.arguments

机器人给VUE层发消息

app.post2host("message"); //机器人用这个方法给VUE层发消息

机器人脚本直接访问VUE页面对象

app.vue  //机器人直接访问vue的对象,上面传递进来的对象this(或别的对象)
app.vue.abc   //访问data里的abc变量
app.vue.abc = 999; //给data里面的abc赋值
app.vue.test() //访问methods里面的 test函数。 此用法可以淘汰上面的onMessage回调

3. 发布项目

默认使用本项目的热更新服务器

robot-tools deploy   //生成apk
robot-tools deploy apk=false  //不生成apk

3.2 自定义热更新服务器

robot-tools deploy apk=false server=default
robot-tools deploy apk=false server=http://abc.com/

请上传upload.php 到你的服务器位置 http://abc.com/app-store/upload.php

4. 热更新

4.1 直接升级

//1. 直接升级
require('robot-tools').version.checkThenInstall();

4.2 检查,然后升级

const {version} = require('robot-tools');

plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
        curVersion = wgtinfo.version;
        version.checkVersion((res) => {
            console.log('new version: ' + res.version);

            uni.showLoading({
                title: '加载中...'
            });
            if (curVersion != res.version) { //准备更新
                // plus.nativeUI.confirm("是否安装更新?", function(e){
                // 	console.log("Close confirm: "+e.index);
                // });
                version.install((status) => {
                    //
                    //
                });
            }
        });
    });

5. API

robot.start(startOption);

4.1 startOption

属性 类型 是否必须 描述
file string 脚本文件路径文件路径(机器人脚本(static/robots/目录下),或绝对路径/sdcard/xxx.js,或远程URL, 可以用发布的打包加密代码)
httpCacheType HttpCacheType 远程url执行脚本缓存类型
arguments {} json,传递给机器人的参数
header Object HTTP 请求 Header, header
onCacheFile () => string 缓存地址回调
onMessage () => any 回调函数,机器人给VUE发送消息

4.1.1 HttpCacheType类

HttpCacheType.NONE: 0,				// 无缓存
HttpCacheType.GENERAL: 1,		        // 有缓存(只储存不强制执行缓存,每次还是会下载)
HttpCacheType.COMPEL: 2				// 有缓存(如果发现缓存强制执行缓存不进行下载)

About


Languages

Language:JavaScript 97.3%Language:PHP 2.7%