fei/notification-common 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

fei/notification-common

Composer 安装命令:

composer require fei/notification-common

包简介

Flash Notification - Common components

README 文档

README

GitHub release

Table of contents

Entities

Notification

Properties Type Required Default value
id integer No
createdAt datetime No Now()
origin string Yes
recipient string Yes
event string Yes
message string Yes
type integer No 1
status integer No 0
parentNotificationId integer No 0
context json No
action json No
  • originis a string representing the origin of the notification
  • recipientis a string representing the recipient of the notification
  • eventis a string representing the event linked to the notification
  • messageis a string indicating the message
  • type is an integer representing the type of the notification. 1 : Info, 2 : Warning
  • status is an integer representing the status of the notification. 0 : Unread, 1 : Read, 2 : Acknowledged
  • parentNotificationId is an integer representing the parent notification
  • context is a json
  • action is a json

Android alert entity

Properties Type Required
notification       Notification         Yes    
message       Message         Yes    
  • messageis a Message (described below) indicating the message

Message (Android alert)

Properties Type Required
data     array           No
token string No
topic string No
condition string No
notification Android\Notification Yes

Android\Notification (Android alert)

Properties Type Required
title     string           Yes
body string Yes

Email alert entity

Properties Type Required
notification       Notification         Yes    
email string Yes
subject string Yes
content string Yes
  • emailis a string representing the email recipient
  • subjectis a string indicating the subject of the email
  • contentis a string representing the content of the email

SMS alert entity

Properties Type Required
notification       Notification         Yes    
message       Message           Yes    
  • messageis a Message (described below) indicating the message

Message (SMS alert)

Properties Type
from       string         
recipients array
content string

Contribution

As FEI Service, designed and made by OpCoding. The contribution workflow will involve both technical teams. Feel free to contribute, to improve features and apply patches, but keep in mind to carefully deal with pull request. Merging must be the product of complete discussions between Flash and OpCoding teams :)

Examples

You have the possibility to validate a Notification entity with NotificationValidator class:

<?php

use Fei\Service\Notification\Validator;
use Fei\Service\Notification\Entity;

$notificationData = [
  'origin' => 'origin',
  'recipient' => 'thomas',
  'event' => 'chat.message.new',
  'message' => 'Example message',
  'type' => 1,
];

$notification = new Notification();
$notificationValidator = new NotificationValidator();
$notificationHydrator  = new NotificationHydrator();

$notification = $notificationHydrator->hydrate($notificationData, $notification);

//validate returns true if your Notification instance is valid, or false in the other case
$isValid = $notificationValidator->validate($notification);

//getErrors() allows you to get an array of errors if there are some, or an empty array in the other case
$errors = $notificationValidator->getErrors();

Notification and alert creation

<?php

use Fei\Service\Notification\Entity\Alert\Email;
use Fei\Service\Notification\Entity\Notification;
use Fei\Service\Notification\Entity\Alert\Android\Message as AndroidMessage;
use Fei\Service\Notification\Entity\Alert\Sms\Message as SmsMessage;

$notification = (new Notification())
        ->setMessage('Last test')
        ->setOrigin('test')
        ->setEvent('My best event')
        ->setType(Notification::TYPE_INFO)
        ->setAction(json_encode(['my.action' => 'first create']))
        ->setRecipient('user');

$alert_email = (new Email())
        ->setNotification($notification)
        ->setSubject('Email Subject')
        ->setContent('Email content')
        ->setEmail('email@provider.com');

$alert_android = (new Android())
        ->setNotification($notification)
        ->setMessage(new AndroidMessage())
          ->setRecipients(['id_device_1', 'id_device_2'])
          ->setDryRun(true)
          ->setPushNotification(['title' => 'Notif', 'body' => 'Test message']);

       
 $alert_sms = (new Sms())
        ->setNotification($notification)
        ->setMessage(new SmsMessage())
          ->setFrom('email@provider.com')
          ->setRecipients(['email@provider.com', 'email2@provider.com'])
          ->setContent("Sms de test");

统计信息

  • 总下载量: 8.99k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 22
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0
  • 更新时间: 2018-12-28

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固