npm i robot-tools
robot-tools init
Hbuilder的菜单:运行 -> 手机或模拟器 -> 运行基座选择 -> 自定义基座(勾选)
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
. .
app.args //json对象
app.arguments
app.post2host("message"); //机器人用这个方法给VUE层发消息
app.vue //机器人直接访问vue的对象,上面传递进来的对象this(或别的对象)
app.vue.abc //访问data里的abc变量
app.vue.abc = 999; //给data里面的abc赋值
app.vue.test() //访问methods里面的 test函数。 此用法可以淘汰上面的onMessage回调
默认使用本项目的热更新服务器
robot-tools deploy //生成apk
robot-tools deploy apk=false //不生成apk
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
//1. 直接升级
require('robot-tools').version.checkThenInstall();
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) => {
//
//
});
}
});
});
robot.start(startOption);
属性 | 类型 | 是否必须 | 描述 |
---|---|---|---|
file | string | 是 | 脚本文件路径文件路径(机器人脚本(static/robots/目录下),或绝对路径/sdcard/xxx.js,或远程URL, 可以用发布的打包加密代码) |
httpCacheType | HttpCacheType | 否 | 远程url执行脚本缓存类型 |
arguments | {} | 否 | json,传递给机器人的参数 |
header | Object | 否 | HTTP 请求 Header, header |
onCacheFile | () => string | 否 | 缓存地址回调 |
onMessage | () => any | 否 | 回调函数,机器人给VUE发送消息 |
HttpCacheType.NONE: 0, // 无缓存
HttpCacheType.GENERAL: 1, // 有缓存(只储存不强制执行缓存,每次还是会下载)
HttpCacheType.COMPEL: 2 // 有缓存(如果发现缓存强制执行缓存不进行下载)