提供H5页面和客户端通讯的机制。提供webview中js调用IOS,Andriod内部方法的机制。提供事件机制,方便Native对js的调用。
window.applink.invoke("class", "function", params, success, fail, timeout);
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的时候,返回值为空
let promise = window.applink.invoke("class", "function", params);
promise.then(function(res) {
//...
}).catch(function(res) {
//...
})
触发H5页面指定事件
参数:
- @param eventname {String} 事件名
- @param eventdata {String} 参数
IOS下设置过多的额外参数
参数:
- @param uuid
- @param params {String} 参数字符串
获得IOS的参数设置
参数:
- @param uuid
- 完成js对ios和native的调用
- 完成Promise
- ES6重构代码,改变代码结构
- 加入事件监听,方便native调用H5
- 可配置协议头信息,超时信息
- 优化显示内容
- 添加单元测试
- 添加param和chunk可以额外存储参数,解决安卓端和ios上回调参数过过长而导致丢失。
- 添加对UA的更多侦测,假如指定的UA
- 添加hybird.js的封装