npm 包 utra-bridge 使用教程

阅读时长 6 分钟读完

简介

utra-bridge 是一款可在 Web 端与原生移动端应用之间进行通信的工具。该工具基于 Promise 封装了一组通信 API,可跨越通信的数据类型包括简单类型、JSON 对象、数组、Blob、FormData 等。此外,它还具备接口权限管理功能,可在 Web 应用端和原生移动端应用之间实现更加安全和灵活的通信。

utra-bridge 主要由两个部分组成:

  1. Web 端 JS 库,使用方式类似于 AJAX 调用,提供了一组 API,用于向原生移动端应用发送请求并接收响应。
  2. 原生移动端应用插件,可通过插件方式调用 JS 库提供的接口,并在 Web 端 JS 库调用接口时将函数调用转发到插件上执行。

安装

通过 npm 安装是最简便的方式,如下所示:

在 Web 应用端,通过以下方式引入:

使用

初始化

在 Web 应用端初始化 utra-bridge 对象,需要同时指定插件的信息,如下所示:

pluginId 为插件的唯一标识符,必须在 Web 应用端和原生移动端应用上保持一致,否则通信将失败。

pluginName 为插件的名称,主要用于提示用户正在与哪个应用程序进行通信,可以是任意字符串。

pluginVersion 为插件的版本号,主要用于对插件进行版本控制。

发起请求

在 Web 应用端调用 bridge.request() 方法,发送请求到原生移动端应用,如下所示:

其中,getDeviceInfo 为原生移动端应用提供的一种接口,用于获取设备相关信息。请求返回的是 Promise 对象,可以使用 then()catch() 方法分别处理成功和失败的情况,获取返回数据。

接收请求

在原生移动端应用中,需要实现与 Web 应用端对应的接口,接收来自 Web 应用端发送的请求并进行处理。如下所示:

-- -------------------- ---- -------
------ ---------------------------------
------ ----------------------------

------ ----- ------------- ------- ------------ -
  ---------
  ------ ---- ----------------- -------- -
    ------ ------ - -------------------
    -- -------------------------------- -
      ----------- ---------- - ---------------------
      ---------------------------- ------------
      -------------------------- ----------------------
      ---------------------------------- ------------------------------
      ---------------------------
    - ---- -
      ------------------------------------- -------------- -----
    -
  -
-

在接收到请求后,判断请求的方法是否是 getDeviceInfo,如果是则返回包含设备信息的 JSON 对象,否则返回一个错误信息。

发送文件

utra-bridge 还提供了一种特殊的数据类型支持——Blob,用于在 Web 应用端和原生移动端应用之间传输二进制数据。如下所示:

-- -------------------- ---- -------
----- --------- - ------------------------------------------
----- -------- - ------------------

----- -------- - --- ----------
----------------------- ---------

---------------------------- ---------
  -------------- -- -
    -------------------- ---------
  --
  ------------ -- -
    ---------------------- ------
  --

接收文件

-- -------------------- ---- -------
------ ---------------------------------
------ ----------------------------

------ ----- ------------- ------- ------------ -
  ---------
  ------ ---- ----------------- -------- -
    ------ ------ - -------------------
    -- ----------------------------- -
      ----------- ----------- - ------------------------
      ------ ---- - -----------------------------------
      --- ------ - ----------------------------------------------
      -- ---------
      -----------------
    - ---- -
      ------------------------------------- -------------- -----
    -
  -
-

在接收到 uploadFile 请求时,可以通过 request.getRequestBody() 方法获取到 FormData 中的 Blob 数据,接着按照普通文件上传方式进行处理即可。

总结

utra-bridge 是一款可在 Web 端与原生移动端应用之间进行通信的工具,它提供了一组跨越通信数据类型的 API,以及接口权限管理功能,为双方应用程序之间实现更加安全和灵活的通信提供了支持。学会了 utra-bridge 的使用,可以大大简化双方应用程序之间的通信问题。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005633781e8991b448e0f52

纠错
反馈