Script API¶
基本信息¶
- $loon
$loon
: device Name, system version, app version, build version
- $script
$script.name
: 被执行的脚本名称
$script.startTime
: 执行脚本的时间
- $config
$config.getConfig()
: 获取当前配置信息,返回json字符串
$config.getConfig(policyName,selectName)
: 设置policyName策略组所选策略为selectName,参数都为String,失败返回false,成功返回true
$config.getSubPolicies(policyName, function(subPolicies){})
:获取policyName策略组的所有子策略,获取成功后回调,subPolicies为字符串子数组
$config.getSelectedPolicy(policyName)
: 返回policyName策略组所选的子策略组名称
$config.setRunningModel(model)
: 设置Loon当前运行模式,model类型为int,0:全局直连 1:分流模式 2:全局代理
本地存储¶
- $persistentStore
$persistentStore.write(value,[key])
: 将value以key为键存储在本地,value和key类型都为字符串,key不传时为当前脚本名字的hash值,存储成功后返回true,失败返回false
$persistentStore.read([key])
: 读取保存在本地中key映射的值,key不传时为当前脚本名字的hash值,返回相应的value,key和value都为字符串
$persistentStore.remove()
: 清除所有使用脚本API保存在本地的数据
- $notification
$notification.post(title,subtitle,content,[attach])
: 发起一个ios的本地通知,前三个参数分别为标题、副标题、通知内容,都为String类型,attach为可选内容,最为通知的附件,如通知带的一个图片\视频url或者点击通知时的触发的openurl
网络请求¶
- $httpClient
$httpClient.get(params, function(errormsg,response,data){})
: 发起一个http get请求,params是请求参数,callback是请求结束的回调
$httpClient.post(params, function(errormsg,response,data){})
: 发起post请求,参数、callback参数同get
$httpClient.head(params, function(errormsg,response,data){})
: 发起head请求,参数、callback参数同get
$httpClient.delete(params, function(errormsg,response,data){})
: 发起delete请求,参数、callback参数同get
$httpClient.put(params, function(errormsg,response,data){})
: 发起put请求,参数、callback参数同get
$httpClient.options(params, function(errormsg,response,data){})
: 发起options请求,参数、callback参数同get
$httpClient.patch(params, function(errormsg,response,data){})
: 发起patch请求,参数、callback参数同get
其他¶
- $done()
在一般的脚本中,调用$done()表示结束脚本的执行,loon内部会进行脚本资源的释放,所以为了loon的js资源请在脚本结束时调用$done()释放资源;在http-request、http-response类型的脚本中,$done()的调用请参考相关脚本类型的说明:Loon脚本类型
- $envirnoment
仅用于generic类型的脚本中,当generic类型的脚本运用于某个节点时,$envirnoment
对象有如下几个属性
$environment.params.node
: 表示节点名称(build 410版本后推荐用nodeInfo)
$environment.params.nodeInfo
: 节点简洁信息(为了安全起见,不会返回所有节点信息)