Script API
基础 API
console.log()
在脚本日志中输出内容:
console.log("Hello Loon");
setTimeout()
延迟指定毫秒后执行回调:
setTimeout(() => {
console.log("Hello Loon");
$done();
}, 1000);
setTimeout() 不会阻塞后续代码。请在回调任务完成后调用 $done(),否则脚本资源可能提前释放。
运行信息
$loon
包含设备名称、系统版本、Loon 版本和 Build 版本。
$script
| 属性 | 说明 |
|---|---|
$script.name | 当前脚本名称 |
$script.startTime | 脚本开始执行的时间 |
配置
$config.getConfig()
返回当前配置的 JSON 字符串,主要字段包括:
{
"running_model": 1,
"all_buildin_nodes": ["DIRECT", "REJECT"],
"global_proxy": "节点选择",
"all_policy_groups": ["节点选择", "全球直连"],
"ssid": "loon-wifi-5g",
"final": "节点选择",
"policy_select": {
"节点选择": "HK",
"全球直连": "DIRECT"
}
}
running_model 的值:
| 值 | 模式 |
|---|---|
0 | 全局直连 |
1 | 分流 |
2 | 全局代理 |
$config.getConfig(policyName, selectName)
将策略组 policyName 切换到 selectName。成功返回 true,失败返回 false。
$config.getSubPolicies(policyName, callback)
获取策略组的子策略,并通过回调返回字符串数组:
$config.getSubPolicies("节点选择", (subPolicies) => {
console.log(subPolicies);
});
$config.getSelectedPolicy(policyName)
返回策略组当前选择的子策略名称。
$config.setRunningModel(model)
设置运行模式,model 使用上表中的数字。
本地存储
$persistentStore.write(value, [key])
保存字符串。成功返回 true,失败返回 false。未提供 key 时,使用当前脚本名称的哈希值。
$persistentStore.write("value", "key");
$persistentStore.read([key])
读取字符串。未提供 key 时,使用当前脚本名称的哈希值。
const value = $persistentStore.read("key");