DwebServiceWorker

BFChain2023年8月11日
  • Shim
  • DwebServiceWorker
大约 1 分钟

模拟 ServiceWorker 并且提供应用升级控制器和应用控制功能。 提供 app 的控制和 api 的拦截。 这是一个纯粹的 Web 应用相互通讯的机制,可以实现本地不同 app 之间,消息的收发。 继承与 BaseEvent;

import { dwebServiceWorker } from "@plaoc/plugin";

属性

方法

  • addEventListener

    添加事件监听器

  • removeEventListener

    移除事件监听器

事件

支持任意时间,以下是预定义事件;

  • "fetch"

    该事件负责处理别人发送来的消息,然后通过 respondWith 返回数据回去。 在这里可以通过匹配路由,去提供不同的功能给别的 app,形成互联。

  • "pause"

    应用暂停会触发被触发;传递一个 Event 给处理器;

  • "resume"

    应用恢复到前台会被触发;传递一个 Event 给处理器;

  • "updatefound"

    更新或重启的时候触发;传递一个 Event 给处理器;

示例

import { dwebServiceWorker } from "@plaoc/plugin";
dwebServiceWorker.addEventListener('fetch', async (fetchEvent) => {
  const url = new URL(event.request.url);
  if (url.pathname.endsWith("/say/hi")) {
    // message 是消息内容
    const message = url.searchParams.get("message");
    // 发送消息回去
    return event.respondWith(`match`);
  }
  return event.respondWith("Not match any routes");
}) 

平台兼容性

属性/方法/事件AndroidIOSDesktop-DevDesktop
pluginX
updateContollerX
externalFetchX
updateX
closeX
restartX
addEventListenerX
removeEventListenerX
event fetchX
event pauseX
event resumeX
event updatefoundX

相关链接

Shim

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.13.0