As notificações podem ser uma dádiva de Deus ou a ruína de nossa existência nos dias de hoje. Todos os aplicativos que você instala no seu telefone querem ter acesso a notificações, assim como os aplicativos de desktop, e agora temos um API de notificações da Web juntamente com um API Web Pushcaso o senhor já não tenha notificações suficientes em sua vida. Os lembretes de compromissos do Calendar são sempre bem-vindos (caso contrário, eu esqueceria todos os eventos), mas será que o Wacky Mini Golf realmente precisa me notificar de que não jogo há 4 dias? Provavelmente não.
De qualquer forma, eu estava pensando em notificações e em como poderia usá-las para me lembrar de coisas que eu precisava fazer em um determinado momento do dia; ou seja, lembrar-me de ir almoçar, dar um passeio de bicicleta ou ir buscar meu filho na escola em um dia estranho. Como sou um nerd do JavaScript, decidi pesquisar a criação de notificações para Mac usando o Node.js e rapidamente encontrei minha resposta: node-notifier
! Vamos dar uma olhada!
Criar uma notificação simples
node-notifier
funciona tanto no Mac quanto em PCs com Windows. As notificações podem variar de muito simples a avançadas, portanto, vamos primeiro criar uma notificação muito simples:
const notifier = require('node-notifier'); // String notifier.notify('Go empty the dishwasher!'); // Object notifier.notify({ 'title': 'David Walsh Blog', 'subtitle': 'Daily Maintenance', 'message': 'Go approve comments in moderation!', 'icon': 'dwb-logo.png', 'contentImage': 'blog.png', 'sound': 'ding.mp3', 'wait': true });
O senhor pode fornecer notifier
o básico, como um title
, message
, e icon
e, em seguida, vá além para adicionar uma imagem de conteúdo, um som e até mesmo controlar os botões exibidos na notificação.
Notificações avançadas
O senhor pode criar notificações avançadas e repletas de recursos com o node-notifier
incluindo a capacidade de responder, controlar os rótulos dos botões de notificação e muito mais. A seguir, um exemplo mais avançado:
const NotificationCenter = require('node-notifier').NotificationCenter; var notifier = new NotificationCenter({ withFallback: false, // Use Growl Fallback ifHere's a quick peak at the type of actions your notifications can make:
Events
node-notifier
is capable of sendingclick
andclose
events -- handy for triggering specific actions depending on how the user interacts with the notification:// Open the DWB website! notifier.on('click', (obj, options) => { const spawn = require('child_process').spawn; const cmd = spawn('open', ['https://davidwalsh.name']); }); notifier.on('close', (obj, options) => {});
O exemplo acima permite que eu clique na notificação para abrir meu site; o senhor também pode usar isso para acionar outras rotinas em seu computador, é claro, depende simplesmente da finalidade da notificação.
O senhor pode ser muito detalhista com seus objetos e eventos de notificação por plataforma, portanto, não deixe de conferir o
node-notifier
API se o senhor realmente quiser se aprofundar. Ou, se o senhor for uma pessoa sã, talvez não precise de mais notificações em sua vida!