0.0.2 • Published 5 years ago

stbridge-api v0.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
5 years ago

安装说明

  • 执行命令:npm i stbridge-api

  • main.js文件中全局注入

require('stbridge-api')

使用说明

- js调用native api

window.stBridge.common.getUserInfo(response => {
    console.log(response)
})

- 注册js api供native调用

window.stBridge.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.stBridge.custom.call('custom.testSyn', params)

            //注册 javascript API 
            window.stBridge.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

APITypeDescription
getUserInfojs获取用户信息、token
senseHttpjsajax调用
setColorjs设置标题栏颜色
setTitlejs设置标题
statusbarBacknative返回按钮触发事件
closeWindowjs关闭页面
openWindowjs打开新的页面

share

APITypeDescription
sharejs调用分享面板
isWXAppInstalledjs微信app是否安装
shareToWXSessionjs分享给微信好友
shareToWXTimelinejs分享微信朋友圈
shareToWXFavoritejs添加到微信收藏

custom

APITypeDescription
calljs同步调用
callAsynjs异步调用
callProgressjs进度回调:一次调用,多次返回
registernative注册同步api供java端调用
registerAsynnative注册异步api供java端调用
registerWidthNamspacenative命名空间