1.1.2 • Published 3 years ago
ebrige v1.1.2
这是一个用于javascript与原生交互的库
🏠 Homepage
Prerequisites
- IOS >=8.0.0
- android >=4.4
Install
npm install ebrige --save
Usage
import Ebrige from 'ebrige'
// Promise调用
// 调用原生方法(传递参数)
Ebrige.dispath('getUser',{token:'token'}).then(res=>{
// res is native return data
})
// 不传递参数
Ebrige.dispath('getUser').then(res=>{
// res is native return data
})
// 普通回调调用
// 调用原生方法(传递参数)
Ebrige.dispath('getUser',{token:'token'},res=>{
// res is native return data
})
// 不传递参数
Ebrige.dispath('getUser',res=>{
// res is native return data
})
// 在vue中使用
Vue.prototype.$ebrige = Ebrige
this.$ebrige.dispatch('getUser',{token:'token'}).then(res=>{
// res is native return data
})
如何与原生客户端进行沟通?
在使用过程中,原生(ios和android统称为原生)需要监听浏览器的跳转事件,并截取。
url样例(跳转的url)
brige://getUserInfo?callId=getUserInfo1562665696408
- brige:协议名
- getUserInfo:方法名
- callId=getUserInfo1562665696408:原生向H5沟通的凭证
callId
在原生处理完操作后,需要将结果返回给web,这时候想要向web中注入代码来通知web,代码实例为
// 这是在原生进行某些操作(比如获取地理位置)后,操作成功并向前端返回数据,responseData数据格式为JSON
window.$ebrige.callSuccess(callId,responseData)
// 这是在原生进行某些操作(比如获取地理位置)后,操作失败并向前端返回数据,responseData数据格式为JSON
window.$ebrige.callFail(callId,responseData)
未来计划
自定义配置
长连接
单元测试
疑问?
1. 原生不需要向web传递参数,data字段可以不传吗?
可以不传,但凭证是必传的(除味直接将webview关闭)
Run tests
npm run test
Run Demo
npm run demo
Author
👤 惜纸
- Github: @https://github.com/chengpeixin
🤝 Contributing
Contributions, issues and feature requests are welcome!Feel free to check issues page.
Show your support
Give a ⭐️ if this project helped you!
This README was generated with ❤️ by readme-md-generator