安装说明
require('dsbridge-test-api')
使用说明
- js调用native api
window.stDsbridge.common.getUserInfo(response => {
console.log(response)
})
- 注册js api供native调用
window.stDsbridge.custom.registerAsyn('namespace.api', (params, responseCallback) => {
console.log(JSON.stringify(params));
responseCallback(response);
})
- 添加自定义api(需android端api支持)
1.新建一个Java类,实现API
public class JsApi{
//同步API
@JavascriptInterface
public String testSyn(Object msg) {
return msg + "[syn call]";
}
//异步API
@JavascriptInterface
public void testAsyn(Object msg, CompletionHandler<String> handler) {
handler.complete(msg+" [ asyn call]");
}
}
2. 添加API类实例到 DWebView .
import wendu.dsbridge.DWebView
...
DWebView dwebView= (DWebView) findViewById(R.id.dwebview);
dwebView.addJavascriptObject(new JsApi(), 'custom');
3. 在Javascript中调用原生 (Java/Object-c/swift) API ,并注册一个 javascript API供原生调用.
- 调用原生API ,并注册一个 javascript API供原生调用.
window.stDsbridge.custom.call('custom.testSyn', params)
//注册 javascript API
window.stDsbridge.custom.registerAsyn('custom.testJava', (l, r) => {
return l + r;
})
4. 在Java中调用 Javascript API
dwebView.callHandler("custom.testJava",new Object[]{3,4},new OnReturnValue<Integer>(){
@Override
public void onValue(Integer retValue) {
Log.d("jsbridge","call succeed,return value is "+retValue);
}
});
API列表
common
API |
Type |
Description |
getUserInfo |
js |
获取用户信息、token |
senseHttp |
js |
ajax调用 |
setColor |
js |
设置标题栏颜色 |
setTitle |
js |
设置标题 |
statusbarBack |
native |
返回按钮触发事件 |
closeWindow |
js |
关闭页面 |
openWindow |
js |
打开新的页面 |
share
API |
Type |
Description |
share |
js |
调用分享面板 |
isWXAppInstalled |
js |
微信app是否安装 |
shareToWXSession |
js |
分享给微信好友 |
shareToWXTimeline |
js |
分享微信朋友圈 |
shareToWXFavorite |
js |
添加到微信收藏 |
custom
API |
Type |
Description |
call |
js |
同步调用 |
callAsyn |
js |
异步调用 |
callProgress |
js |
进度回调:一次调用,多次返回 |
register |
native |
注册同步api供java端调用 |
registerAsyn |
native |
注册异步api供java端调用 |
registerWidthNamspace |
native |
命名空间 |