Skip to content

自定义方法

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

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

exec

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

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

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

js
function getSignature(){
  cordova.exec(
    // success 成功回调
    function(result) {},
    // fail 失败回调
    function(error) {},
    // service
    "WorkPlus_HTMember",
    // action
    "getSignature", 
    // args,为数组
    []
  );
}

使用w6s.exec包装后:

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

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

execSync

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

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

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

接口检测

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

js
w6s.checkApi({
  /** 插件名称 */
  service: 'auth',
  /** 插件方法 */
  method: 'getTicket',
  success(res) {},
  fail(err) {},
});

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

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