全局模块
说明
全局模块是指直接调用方法就可以使用的模块,无需使用前缀对象名称
应用版本
version 获取应用程序版本
- 获取应用程序版本
- @return 字符串 例如 2.9.0
function main() {
logd(version())
}
main();
脚本启停
exit 退出脚本
exit();
isScriptExit 是否已退出脚本
- 判断EC运行的当前线程是否处于退出状态,可用判断脚本是否退出,或者子线程是否退出
- @return true 已退出
function main() {
try {
while (true) {
sleep(1000)
logd("222")
if (isScriptExit()) {
break
}
}
logd("222")
} catch (e) {
logd(e)
if (isScriptExit()) {
return
}
}
}
main();
sleep 暂停执行
- 休眠
- @param miSecond 毫秒
function main() {
sleep(1000);
}
main();
execScript 载入JS
- 执行JS文件或 者内容
- @param a_execType 1=文件,2=直接是JS内容
- @param _acontent 路径[参考file模块]例如/var/a.js或者js的内容
- @return 布尔型,true代表执行成功, false代表失败
function main() {
let d = "logd(1)"
let dx = execScript(2, d);
while (true) {
sleep(2000);
loge("fsadffsad")
}
}
main();
restartScript 重启脚本
- 支持EC iOS脱机版本 2.2.0+
- 重启脚本,适合无限循环,或者有异常的情况可以再次执行,
- 注意: 该方法威力巨大,请自行控制好是否自动重启,否则只能强杀进程才能停止
- @param path 新的IEC路径,如果不需要可以填写null
- @param stopCurrent 是否停止当前的脚本
- @param delay 延迟多少秒后执行
- @return bool true 代表成功 false 代表失败
function main() {
logd("我是在脚本运行的");
setStopCallback(function () {
restartScript(null, false, 3)
});
//setExceptionCallback(function (){
// restartScript(null,true,3)
//});
sleep(1000);
logd("脚本结束")
}
main();
js导入
require 导入JS
- 导入JS模块
- @param path 路径,例如 本地js文件或者 EC工程中的文件路径 slib/a.js
- @return 模块对象
function main() {
//注意,js文件不要放在js目录或下级目录中
//注意,EC iOS 脱机版本 1.3.+
let lib1 = require("res/lib.js")
new lib1(1, 2, 3).say()
let lib2 = require("res/lib2")
logd(lib2.add(1, 2))
}
main();
//视频介绍:https://www.bilibili.com/video/BV1ES4y1f7qV?vd_source=2abc6be820f5a6382ebc0ceafc5dbe00&p=39&spm_id_from=333.788.videopod.episodes
// res/lib2.js 内容
function add(a, b) {
return a + b;
}
var a1 = 1
module.exports = {add, a1};
// res/lib2js 内容
module.exports = function (name, age, money) {
this.name = name;
this.age = age;
this.money = money;
this.say = function () {
console.log('我的名字叫:' + this.name + ',我今年' + this.age + '岁,月薪为:' + this.money + '元;')
}
};
JSON处理
JSON.stringify 格式化为JSON字符串
- 格式化对象为JSON字符串
- @param 对象
- @return 字符串
function main() {
var m = {"sss": "a"};
var d = JSON.stringify(m);
logd(d);
}
main();
JSON.parse 转换为JSON对象
- 格式化JSON字符串为对象
- @param 字符串
- @return 对象
function main() {
var m = {"sss": "a"};
var d = JSON.stringify(m);
d = JSON.parse(d);
logd(d);
}
main();
监听脚本和服务
setStopCallback 脚本停止监听
- 支持EC iOS脱机版本 2.2.0+
function main() {
setStopCallback(function () {
logd("fdsafsad 我是停止回调")
});
var result = sleep(1000);
if (result) {
logd("成功");
} else {
logd("失败");
}
}
main();
setExceptionCallback 脚本异常停止监听
- 支持EC iOS脱机版本 2.2.0+
function main() {
setExceptionCallback(function (msg) {
logd(" 异常停止消息: " + msg)
});
var result = sleep(1000);
if (result) {
logd("成功");
} else {
logd("失败");
}
//这里有异常抛出
result.length();
}
main();
日志消息方法
setLogLevel 设置日志的等级
- 设置日志的等级,可以根据情况关闭或开启日志
- @param level 日志等级,值分别是 debug,info,warn,error,off,排序分别是debug < info < warn < error < off,
- 例如 off代表关闭所有级别日志,debug代表打印包含logd,logi,logw,loge的日志,info代表打印包含logi,logw,loge的日志,warn 代表打印包含logw,loge的日志
- @param displaylogd 是否展示logd消息,这个参数未实现
- @return
{bool}
布尔型 true代表成功 false代表失败
function main() {
setLogLevel("info", false)
for (var i = 0; i < 1; i++) {
sleep(10);
//logd(time()+" debug");
logi(time() + " info");
//logw(time()+" warn");
// loge(time()+" error");
logd("--- " + time());
}
//logd(time()+" 222");
}
main();
logd 调试日志
- 调试日志
- @param msg 消息字符串
function main() {
logd("msg");
//可变参数写法
logd("我是消息{},{}", "测试1", 2)
}
main();
loge 错误日志
- 错误日志
- @param msg 消息字符串
function main() {
loge("msg");
//可变参数写法
loge("我是消息{},{}", "测试1", 2)
}
main();
logw 警告日志
- 警告日志
- @param msg 消息字符串
function main() {
logw("msg");
//可变参数写法
logw("我是消息{},{}", "测试1", 2)
}
main();
logi 信息日志
- 信息日志
- @param msg 消息字符串
function main() {
logi("msg");
//可变参数写法
logi("我是消息{},{}", "测试1", 2)
}
main();
setSaveLogEx 保存日志
- 设置保存日志信息到文件中,可以使用爱思软件导出日志
- EC iOS 3.13+新增了level参数
- @param save 是否保存
- @param level 日志等级,值分别是 debug,info,warn,error,off,排序分别是
debug<info<warn<error
, - 例如 off代表关闭所有级别日志,debug代表打印包含logd,logi,logw,loge的日志,info代表打印包含logi,logw,loge的日志,warn 代表打印包含logw,loge的日志
- @return 保存日志文件的目录
function main() {
let d = setSaveLogEx(true, "debug")
logd(d)
}
main();