5.10 使用通用通讯协议(application)

优质
小牛编辑
129浏览
2023-12-01

application提供了千牛移动提供的原生能力,比如打开聊天窗口(openChat)、获取地址位置(location)和打开网址(openWebsite)等,点击查看api列表和具体用法

打开“千牛欢迎页”

QN.application.invoke({
    api: 'openPlugin',
    query: { appkey: 23093073 },
    settings: { timeout: 2000 },
    success() {},
    error() {}
});


除了上述方式外,QAP支持Promise方式调用,避免回调金字塔(Pyramid of Doom):

// Promise 形式
QN.application.invoke({
    api: 'openPlugin',
    query: { appkey: 23093073 }
}).then(result => {
    console.log(result);
}, error => {
    console.log(error);
});


由于服务端没来得及更新,文档里的写法还是旧版本写法。

旧版本JS-SDK用法:

var application = TOP.mobile.application;
application.request({
      event:'openPlugin',
      biz:{
          appkey : '4272'  ,
          category : 'shangpinguanli'  ,
          extraData : '{\"key\":\"value\"}'  ,
          directUrl : 'http://www.taobao.com'  

      }
});

旧写法改成新版本写法:event换成api,biz换成query。