跳转到内容

在浏览器中使用

使用独立的浏览器入口可以排除依赖 Node.js 的代码:

import { send } from 'statocysts/browser'
await send('jsons://example.com/notifications', {
title: 'Browser event',
body: 'A client-side task completed.',
})

浏览器入口包含:

  • Slack
  • Discord
  • 飞书和 Lark
  • QQ 机器人
  • Telegram
  • Bark
  • Server 酱
  • JSON 和 JSONS
  • 日志

邮件提供方需要 Node.js SMTP API,因此无法在浏览器中使用。

支持浏览器运行并不代表远程通知服务允许浏览器跨域请求。通知目标服务必须返回兼容的 CORS 响应头;如果没有,请改为从服务端发送通知。

浏览器投递只适合公开或短期通知目标,以及专门面向不受信任客户端的端点。需要权限的通知应通过后端投递。

在客户端代码中始终从 statocysts/browser 导入:

import {
createNotifier,
NotificationDeliveryError,
send,
} from 'statocysts/browser'

通知运行时行为和错误类型与 Node.js 入口一致。签名请参阅 API 参考