通知 Reducer

出于增强 Gloria 扩展性的考虑, Gloria 0.9.0 加入了通知 Reducer 功能, 你可以在高级面板找到它.

通知 Reducer 是一个同步的 JavaScript 函数, 每一个预备弹出的 Gloria Notification 对象都会被当作参数传入 Reducer 函数一次.

你可以用 Reducer 过滤你不想弹出的 Notification, 或是做一些修改, 也可以在这时候将 Notification 通过 HTTP 请求发送给其他服务.

Reducer 接收一个 Gloria Notification 作为参数, 并返回一个新的 Gloria Notification, 该返回值将被用于弹出通知. 如果 Reducer 没有返回值, 或是返回 null, 则视为将该 Gloria Notification 抛弃.

出于性能和易用性的考虑, Reducer 函数的运行级别非常高, 它被设定为直接在 Gloria 代码的运行环境里执行, 所以任何错误的代码都将有可能破坏当前 Gloria 的运行时环境, 使用时请务必多加小心.

过滤 Notification

function reducer(notification) {
  if (notification.message.includes('IP')) {
    return null
  }
  return notification
}

修改 Notification

function reducer(notification) {
  if (notification.message.includes('IP')) {
    notification.message.replace(/IP/g, 'intellectual property')
  }
  return notification
}

Pushbullet

你可以通过 Pushbullet 将 Gloria 的通知同步到移动设备上, 代码请参考

https://github.com/BlackGlory/gloria-recipes/blob/master/hooks/pushbullet.js

(请手动替换代码中的 YOUR_ACCESS_TOKEN 为你自己的)

results matching ""

    No results matching ""