dsbridge-test-api

执行命令:npm i dsbridge-test-api

Usage no npm install needed!

<script type="module">
  import dsbridgeTestApi from 'https://cdn.skypack.dev/dsbridge-test-api';
</script>

README

安装说明

  • 执行命令:npm i dsbridge-test-api

  • main.js文件中全局注入

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 命名空间