$engine - 脚本引擎

  • 更新时间:2025-12-13 11:58:45

脚本引擎

脚本引擎是全局唯一的对象,主要负责调度脚本的运行,脚本任务创建、运行、暂停、继续等操作都可以通过脚本引擎对象完成。

运行(脚本路径)

运行路径中的代码

  • 参数 : 脚本路径 {字符串} 脚本路径

  • 返回 : {字符串} 任务ID

  • 版本 : 1.6.8

定义 任务ID = $引擎.运行("/sdcard/脚本.js");

运行(js文件)

运行路径中的代码

  • 参数 : js文件 {File} 代码文件

  • 返回 : {字符串} 任务ID

  • 版本 : 1.6.8

定义 任务ID = $引擎.运行($文件.打开("/sdcard/脚本.js"));

运行代码(代码)

运行代码

  • 参数 : 代码 {字符串} 代码

  • 返回 : {字符串} 任务ID

  • 版本 : 1.6.8

定义 任务ID = $引擎.运行代码(`
    提示("提示","我被运行了");
`);

运行代码(脚本路径, 代码)

运行代码

此处传入的路径只是决定了$task中的上下文环境路径,但不是通过该路径读取文件内容,因此可以随意填写。

  • 参数 : 脚本路径 {字符串} 路径(决定了$task的路径:$task.getPath())

  • 参数 : 代码 {字符串} 代码

  • 返回 : {字符串} 任务ID

  • 版本 : 1.6.8

定义 任务ID = $引擎.运行代码("/sdcard/main.js",`
    提示("提示","我被运行了");
`);

暂停(任务ID)

暂停运行

该方法会暂停未执行完毕的所有脚本

  • 参数 : 任务ID {字符串} 任务ID

  • 版本 : 1.6.8

定义 任务ID = $引擎.运行("/sdcard/脚本.js");
//暂停运行
$引擎.暂停(任务ID);
睡觉(2000);
//继续运行
$引擎.开始(任务ID);

暂停了(任务ID)

判断任务是否处于暂停状态

遍历所有任务列表,查询这个id的任务是否处于暂停状态

  • 参数 : 任务ID {字符串} 任务id

  • 返回 : {布尔值} false:运行态; true:暂停态; null:未找到;

  • 版本 : 1.6.8

定义 暂停了 = $引擎.暂停了(任务ID);
如果(暂停了!=){
    如果(暂停了){
        信息("任务已暂停");
    }否则{
        信息("任务正在跑");
    }
}否则{
    信息("未找到任务");
}

开始(任务ID)

开始运行

该方法会继续运行暂停的脚本

  • 参数 : 任务ID {字符串} 任务ID

  • 版本 : 1.6.8

定义 任务ID = $引擎.运行("/sdcard/脚本.js");
//暂停运行
$引擎.暂停(任务ID);
睡觉(2000);
//继续运行
$引擎.开始(任务ID);

罗列()

列出所有的任务信息

  • 返回 : {JsTaskInfo[]} 任务列表信息

  • 版本 : 1.6.8

定义 任务列表 = $引擎.罗列();
循环(定义 任务 关于 任务列表){
    日志(任务);
}

停止(任务ID)

停止指定任务

  • 参数 : 任务ID {字符串} 任务id

  • 版本 : 1.6.8

定义 任务ID = $引擎.运行("/sdcard/脚本.js");
$引擎.停止(任务ID);

停止所有(是否退出系统)

停止所有任务

  • 参数 : 是否退出系统 {布尔值} 是否退出系统

  • 版本 : 1.6.8

$引擎.停止所有();//会杀死app

停止所有()

停止所有任务

  • 版本 : 1.7.0

$引擎.停止所有();

罗列任务()

获得任务列表信息

  • 返回 : {$任务[]} 任务列表信息

  • 版本 : 1.6.8

定义 任务列表 = $引擎.罗列任务();
循环(定义 任务 关于 任务列表){
    日志(任务);
}

有(任务ID)

停止指定任务

  • 参数 : 任务ID {字符串} 任务id

  • 版本 : 1.6.8

//运行脚本的时候会返回任务ID
定义 任务ID = $引擎.运行("/sdcard/脚本.js");
//怕判断任务是否存在(任务结束后会自动销毁)
定义 有任务 = $引擎.(任务ID);
如果(有任务){
    $引擎.停止(任务ID);
}