如何执行本地、离线自动化脚本?

在编写冰狐智能辅助脚本过程中,由于各种原因有时候我们想执行手机本地的js脚本(或者离线脚本)。本篇文章就详细介绍下具体如何执行本地js脚本。

一、直接调用setDefaultScript函数

在脚本中执行setDefaultScript函数,设置默认脚本,调用该函数后永久有效,除非重新设置默认脚本。如果取消默认脚本可以通过填入空字符串参数实现。

function main() {
    // 设置apk资源里面的脚本
    // setDefaultScript('asset:xx.js');

    // 设置相对路径脚本
    // setDefaultScript('xx.js');

    // 设置在线默认脚本
    // setDefaultScript('xx');

    // 设置绝对路径路径
    setDefaultScript('/sdcard/xx.js');
}

二、直接调用callScript函数

callScript函数可以调用任何js脚本,比如:存在apk资源中的js,存在手机中的js,存在冰狐服务器上的在线js等。同步调用脚本,执行移动端脚本中的main函数,其返回值为脚本的返回值。(注意,该函数不会创建独立的线程,直接在当前线程中执行,所以不能在ui代码中使用(因为有可能会阻塞ui线程),ui中应该使用runTask)

callscript参数:
参数名 类型 必填 说明
scriptName string 必填 移动端脚本名,支持在线脚本和本地脚本,本地脚本包括apk资源文件,asset:脚本名(打包app时添加的js文件)比如:'asset:temp.js';本地js文件,比如:'/sdcard/temp.js'。在线脚本(网络,直接给出脚本名)。比如:callScript('asset:test.js');
params... 可变参数 选填 任意个参数,参数直接透传给脚本。

// 调用脚本,注意test是在冰狐在线脚本
callScript('test');

// 调用本地脚本,可以在打包apk时添加js脚本,12和'abc'为脚本参数
callScript('asset:test.js', 12, 'abc');

// 调用本地脚本,12和'abc'为脚本参数
callScript('/sdcard/test.js', 12, 'abc');

 以下是存在手机本地的test.js 文件

// 以下是test.js文件
function main(id, name) {
    // id:12  name:abc
    console.log('id:' + id + '  name:' + name);
    return name + id;
}

总结

本文提供了两种在冰狐智能辅助中实现调用本地脚本的方法,非常适用,如果有任何问题,欢迎留言

商务合作QQ:3765323427
Copyright © 2021-2025 冰狐智能辅助. All rights reserved. 浙ICP备15043866号 《冰狐智能辅助服务协议》