自定义方法

WorkPlus JS-SDK是在移动端提供的 Cordova 接口能力的基础上进行的二次封装,基于通用性的考虑,一些客户定制的接口并不包含在内。

如果你需要查看完整的 Cordova 文档,请点击此处open in new window

exec

如果你需要使用的接口不包含在 JS-SDK 内,但又想获得 JS-SDK 一样的接口调用体验,可以使用下方接口进行包装转换:

// 带回调的方法,setTimer 为 boolean类型,表示是否启用定时器
w6s.exec(service, action, args, success, fail, setTimer);
1
2

以某客户定制需求为例,获取签名信息,Cordova 接口定义如下:

function getSignature(){
  cordova.exec(
    // success 成功回调
    function(result) {},
    // fail 失败回调
    function(error) {},
    // service
    "WorkPlus_HTMember",
    // action
    "getSignature", 
    // args,为数组
    []
  );
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

使用w6s.exec包装后:

const getSignature = w6s.exec('WorkPlus_HTMember', 'getSignature', []);

// 基于 Promise 的调用方式
// 如果需要兼容 callback 的方式,需要在方法定义时传入success和fail函数
getSignature()
  .then(function(res) {})
  .catch(function(err) {});
1
2
3
4
5
6
7

execSync

execSync相比exec,唯一的区别就是没有回调。

例如打开一个网页,这样的动作不会有任何返回,此时就应该使用execSync方法进行转换。

w6s.execSync(service, action, args);
1

接口检测

因版本及一些特殊定制原因,某些接口可能并不存在,可以通过w6s.checkApi检测。

w6s.checkApi({
  /** 插件名称 */
  service: 'auth',
  /** 插件方法 */
  method: 'getTicket',
  success(res) {},
  fail(err) {},
});
1
2
3
4
5
6
7
8

需使用原始 Cordova 接口的定义参数

JS-SDK 会优化一些接口的方法和属性名,目前暂不支持内部转换成原始的 Cordova 接口的参数及属性。你可以查看原始 Cordova 接口文档open in new window进行参数设置。

上次编辑于: