Skip to content

CaelumTian/app-link

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Applink


提供H5页面和客户端通讯的机制。提供webview中js调用IOS,Andriod内部方法的机制。提供事件机制,方便Native对js的调用。

如何使用

1.0.0

window.applink.invoke("class", "function", params, success, fail, timeout);

1.1.0

Applink 类为单例模式
初始化对象,调用native

//初始化参数 协议头部 超时时间 
let applink = new Applink("aplink", 60 * 1000 * 10);  
applink.invoke("class", "function", params, success, fail, timeout);

利用事件native调用H5
H5注册事件, 客户端只需要调用applink.fireEvent方法,来触发H5的JS

document.addEventListener('eventName', function(data) {
	// 这里要注意,Native 传递过来的事件参数是在 data 的 param 属性中。
	alert(data.param);
}, false);

支持Promise

在不支持Promise的时候,返回值为空

let promise = window.applink.invoke("class", "function", params);
promise.then(function(res) {
    //...
}).catch(function(res) {
    //...
})

对外提供的接口

applink.fireEvent

触发H5页面指定事件
参数:

  • @param eventname {String} 事件名
  • @param eventdata {String} 参数

applink.setParam

IOS下设置过多的额外参数
参数:

  • @param uuid
  • @param params {String} 参数字符串

applink.getParam

获得IOS的参数设置
参数:

  • @param uuid

changelog

1.0.0

  1. 完成js对ios和native的调用
  2. 完成Promise

1.1.0

  1. ES6重构代码,改变代码结构
  2. 加入事件监听,方便native调用H5
  3. 可配置协议头信息,超时信息
  4. 优化显示内容

1.1.1

  1. 添加单元测试

1.1.2

  1. 添加param和chunk可以额外存储参数,解决安卓端和ios上回调参数过过长而导致丢失。

待更新问题

  1. 添加对UA的更多侦测,假如指定的UA
  2. 添加hybird.js的封装

About

js bridge 为H5页面提供与客户端通讯的机制

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published