主题
自定义方法
iTB JS-SDK
是在移动端提供的 Cordova 接口能力的基础上进行的二次封装。
exec
如果你需要使用的接口不包含在 JS-SDK 内,但又想获得 JS-SDK 一样的接口调用体验,可以使用下方接口进行包装转换:
js
// 带回调的方法,setTimer 为 boolean类型,表示是否启用定时器
itb.exec(service, action, args, success, fail, setTimer);
以某客户定制需求为例,获取签名信息,Cordova 接口定义如下:
js
function getSignature(){
cordova.exec(
// success 成功回调
function(result) {},
// fail 失败回调
function(error) {},
// service
"iTB_HTMember",
// action
"getSignature",
// args,为数组
[]
);
}
使用itb.exec
包装后:
js
const getSignature = itb.exec('iTB_HTMember', 'getSignature', []);
// 基于 Promise 的调用方式
// 如果需要兼容 callback 的方式,需要在方法定义时传入success和fail函数
getSignature()
.then(function(res) {})
.catch(function(err) {});
execSync
execSync
相比exec
,唯一的区别就是没有回调。
例如打开一个网页,这样的动作不会有任何返回,此时就应该使用execSync
方法进行转换。
js
itb.execSync(service, action, args);
接口检测
因版本及一些特殊定制原因,某些接口可能并不存在,可以通过itb.checkApi
检测。
js
itb.checkApi({
/** 插件名称 */
service: 'auth',
/** 插件方法 */
method: 'getTicket',
success(res) {},
fail(err) {},
});