Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface JSBridgeProtocol

Hierarchy

  • Subscribe<WebViewEventMap>
    • JSBridgeProtocol

Implemented by

Index

Properties

webViewType: WebViewTypeEnum

当前容器类型

Methods

  • actionShare(shareConfig: Partial<ShareConfig>): Promise<JSBridgeReturnType<boolean>>
  • 设置分享配置。

    Parameters

    • shareConfig: Partial<ShareConfig>

    Returns Promise<JSBridgeReturnType<boolean>>

  • callAndBackfeed<T>(schemeUrl: string): Promise<JSBridgeReturnType<false | T>>
  • 原子方法 callAndBackfeed()

    description

    JavaScript 上下文环境向 WebView 传递数据 执行某些操作并得到 WebView 的反馈。 (注意:反馈是一次性的)。

    example

    比如,本 SDK 并没有提供播放一段音频,但是可以基于VRWebView实现 PlayVoiceMsg Scheme, 前端环境可以采用如下方式进行调用:

    const success = await jsBridge.callAndBackfeed<boolean>('/PlayVoiceMsg?msg='这是一段希望语音播放的文本'')

    // success 表示播放成功与否。

    Type Parameters

    • T

    Parameters

    • schemeUrl: string

    Returns Promise<JSBridgeReturnType<false | T>>

  • callAndListen<T>(schemeUrl: string, callback: ((data: T) => void)): Promise<JSBridgeReturnType<false | (() => void)>>
  • 原子方法 callAndListen()

    description

    JavaScript 上下文环境向 WebView 注册事件监听,当触发监听事件则执行回调函数。

    Type Parameters

    • T

    Parameters

    • schemeUrl: string
    • callback: ((data: T) => void)
        • (data: T): void
        • Parameters

          • data: T

          Returns void

    Returns Promise<JSBridgeReturnType<false | (() => void)>>

    销毁注册的事件监听。

  • closeLoading(): Promise<JSBridgeReturnType<boolean>>
  • 关闭 WebView 进度条

    Returns Promise<JSBridgeReturnType<boolean>>

  • closeWebView(): Promise<JSBridgeReturnType<boolean>>
  • 关闭当前 WebView。

    Returns Promise<JSBridgeReturnType<boolean>>

  • createCacheProxyUrl(urls: string | string[]): string[]
  • 生成一个缓存代理的地址。

    description

    如果你不想通过浏览器/WebView 执行 HTTP 请求,可以通过此方法生成一个 通过客户端执行 HTTP 请求的链接。

    注意事项:

    • 此方法仅对 iOS VRWebView[Android VRWebView]() 有效。
    • 请求结果会被客户端缓存,即第二次之后的请求 可能 直接读缓存值,不会执行 HTTP 请求。

    Parameters

    • urls: string | string[]

    Returns string[]

  • detectMicro(): Promise<JSBridgeReturnType<boolean>>
  • 监测麦克风是否授权。

    description

    涉及语音业务时需要监测麦克风情况。

    如果麦克风没有授权,此方法会自动弹窗引导用户开启授权。

    Returns Promise<JSBridgeReturnType<boolean>>

  • emit<K>(name: K, ...data: Parameters<WebViewEventMap[K]>): boolean
  • 触发事件

    Type Parameters

    • K extends keyof WebViewEventMap

      预设的监听事件名称

    Parameters

    • name: K

      事件类型

    • Rest ...data: Parameters<WebViewEventMap[K]>

      触发事件的数据

    Returns boolean

    canceled 是否被触发取消

  • getBangsHeight(): Promise<JSBridgeReturnType<number | false>>
  • 获取因 '刘海'、'挖孔' 等屏幕占用的高度。

    Returns Promise<JSBridgeReturnType<number | false>>

  • getDeviceInfo(): Promise<JSBridgeReturnType<false | DeviceInfo>>
  • 获取当前设备的信息。

    Returns Promise<JSBridgeReturnType<false | DeviceInfo>>

  • getUserInfo(): Promise<JSBridgeReturnType<false | UserInfo>>
  • 获取用户信息。

    description

    需要甲方自行实现。

    Returns Promise<JSBridgeReturnType<false | UserInfo>>

  • getWebViewState(): Promise<JSBridgeReturnType<false | WebViewState>>
  • 获取当前 WebView 的实时状态。

    Returns Promise<JSBridgeReturnType<false | WebViewState>>

  • hasListener(name: keyof WebViewEventMap): boolean
  • 判断是否注册了事件

    Parameters

    • name: keyof WebViewEventMap

      事件类型

    Returns boolean

  • invokeNativeApi<P, R>(method: string, data?: P): R | Promise<R>
  • 调用原生方法,小程序专属

    Type Parameters

    • P extends unknown

    • R extends unknown

    Parameters

    • method: string

      小程序api方法名

    • Optional data: P

      方法参数

    Returns R | Promise<R>

  • keepScreenLight(enable: boolean): Promise<JSBridgeReturnType<boolean>>
  • 是否保持屏幕常亮(不息屏)。

    Parameters

    • enable: boolean

    Returns Promise<JSBridgeReturnType<boolean>>

  • loadProgress(progress: number): Promise<JSBridgeReturnType<boolean>>
  • WebView 进度条。

    description

    为规避 Web 请求及渲染耗时造成黑白屏带来的体验影响,WebView 提供了进度条动画,通过此 jsBridge 方法能控制进度条信息。

    Parameters

    • progress: number

    Returns Promise<JSBridgeReturnType<boolean>>

  • login(): Promise<JSBridgeReturnType<false | UserInfo>>
  • 登录:登录成功后返回值为当前登录的用户信息。

    description

    需要甲方自行实现。

    Returns Promise<JSBridgeReturnType<false | UserInfo>>

  • logout(): Promise<JSBridgeReturnType<boolean>>
  • 登出:用户退出登录。

    description

    需要甲方自行实现。

    Returns Promise<JSBridgeReturnType<boolean>>

  • minimize(): Promise<JSBridgeReturnType<boolean>>
  • 最小化。

    Returns Promise<JSBridgeReturnType<boolean>>

  • off<K>(name?: K, callback?: ((...args: Parameters<WebViewEventMap[K]>) => ReturnType<WebViewEventMap[K]>)): void
  • 解除事件

    如果 name 不传的话解除对应所有事件 如果 name, callback 不传的话解除所有name的所有事件

    Type Parameters

    • K extends keyof WebViewEventMap

      预设的监听事件名称

    Parameters

    • Optional name: K

      事件类型

    • Optional callback: ((...args: Parameters<WebViewEventMap[K]>) => ReturnType<WebViewEventMap[K]>)

      事件回调函数

        • (...args: Parameters<WebViewEventMap[K]>): ReturnType<WebViewEventMap[K]>
        • Parameters

          • Rest ...args: Parameters<WebViewEventMap[K]>

          Returns ReturnType<WebViewEventMap[K]>

    Returns void

  • on<K>(name: K, callback: ((...args: Parameters<WebViewEventMap[K]>) => ReturnType<WebViewEventMap[K]>), once?: boolean): (() => void)
  • 注册事件

    Type Parameters

    • K extends keyof WebViewEventMap

      预设的监听事件名称

    Parameters

    • name: K

      事件类型

    • callback: ((...args: Parameters<WebViewEventMap[K]>) => ReturnType<WebViewEventMap[K]>)

      事件回调函数

        • (...args: Parameters<WebViewEventMap[K]>): ReturnType<WebViewEventMap[K]>
        • Parameters

          • Rest ...args: Parameters<WebViewEventMap[K]>

          Returns ReturnType<WebViewEventMap[K]>

    • Optional once: boolean

      是否只执行一次

    Returns (() => void)

    解除事件

      • (): void
      • 注册事件

        Returns void

        解除事件

  • once<K>(name: K, callback: ((...args: Parameters<WebViewEventMap[K]>) => ReturnType<WebViewEventMap[K]>)): (() => void)
  • 注册事件(是否只执行一次)

    Type Parameters

    • K extends keyof WebViewEventMap

      预设的监听事件名称

    Parameters

    • name: K

      事件类型

    • callback: ((...args: Parameters<WebViewEventMap[K]>) => ReturnType<WebViewEventMap[K]>)

      事件回调函数

        • (...args: Parameters<WebViewEventMap[K]>): ReturnType<WebViewEventMap[K]>
        • Parameters

          • Rest ...args: Parameters<WebViewEventMap[K]>

          Returns ReturnType<WebViewEventMap[K]>

    Returns (() => void)

    解除事件

      • (): void
      • 注册事件(是否只执行一次)

        Returns void

        解除事件

  • openWebView(url: string, way: OpenWebViewEnum): Promise<JSBridgeReturnType<boolean>>
  • 开启新的 WebView。

    Parameters

    • url: string
    • way: OpenWebViewEnum

    Returns Promise<JSBridgeReturnType<boolean>>

  • preload(urls: string[]): Promise<JSBridgeReturnType<boolean>>
  • 预载资源。

    Parameters

    • urls: string[]

      需要预载的CDN资源。

    Returns Promise<JSBridgeReturnType<boolean>>

  • ready(): Promise<JSBridgeReturnType<boolean>>
  • 状态判断。

    description

    判断 jsBridge 是否完成初始化。

    Returns Promise<JSBridgeReturnType<boolean>>

  • saveImage2Album(base64: string): Promise<JSBridgeReturnType<boolean>>
  • 保存图片到用户相册。

    description

    业务场景:保存图片至本地。

    Parameters

    • base64: string

    Returns Promise<JSBridgeReturnType<boolean>>

  • setLeftTopBackButton(enable: boolean): Promise<JSBridgeReturnType<boolean>>
  • 设置左上角返回按钮。

    description

    WebView 左上角默认有个隐藏按钮,点击执行返回操作。

    Parameters

    • enable: boolean

      开启或禁用(默认是开启的)。

    Returns Promise<JSBridgeReturnType<boolean>>

  • setOrientation(orientation: OrientationEnum): Promise<JSBridgeReturnType<boolean>>
  • 设置屏幕的方向。

    Parameters

    • orientation: OrientationEnum

    Returns Promise<JSBridgeReturnType<boolean>>

  • shock(duration?: number): Promise<JSBridgeReturnType<boolean>>
  • 震动。

    Parameters

    • Optional duration: number

      震动的时间/次数;Android 端表示震动多少,iOS 端表示震动多少

    Returns Promise<JSBridgeReturnType<boolean>>