zerockvnext / notice
v1.0.1
2018-01-30 08:17 UTC
Requires
- php: >=5.6.4
- illuminate/console: ~5.0
- illuminate/database: ~5.0
- illuminate/support: ~5.0
- nesbot/carbon: ~1.0
Requires (Dev)
- phpunit/phpunit: ~5.7
This package is not auto-updated.
Last update: 2024-09-29 05:34:58 UTC
README
这个库是一个简洁的基于Laravel 5的Web应用程序通知中心
我只在Laravel 5上进行了测试,不确定它是否适用于Laravel 4。
内容
安装
- 使用Composer安装
composer require "zerockvnext/notice:~1.0"
- 打开您的
config/app.php文件,并将以下内容添加到providers数组中
ZerockvNext\Notice\NoticeServiceProvider::class,
- 在同一个
config/app.php文件中,并将以下内容添加到aliases数组中
'Notice' => ZerockvNext\Notice\NoticeFacade::class,
- 运行以下命令以发布包的配置和迁移文件
php artisan vendor:publish --provider="ZerockvNext\Notice\NoticeServiceProvider"
- 运行迁移
php artisan migrate
配置
- 打开您的
config/notice.php文件,并将以下内容添加到orm数组中
'orm' => [ 'user' => \App\User::class ],
将其更改为您的用户ORM
使用
发送消息
Notice::PostOffice() ->type(Notice::Consts()->typeMessage()) ->sender(1) // Sender ID ->title('test message') ->message('message contents. this is a test message!') ->addReceiver(2) // Receiver ID ->addReceivers([3, 4, 5, 6, 7]) // Receivers ->send();
在此代码中,title() 和 message() 是 非必需的。
Notice::Consts()->typeMessage() // message, someone send message to someone else. Notice::Consts()->typeNotice() // notice, announcement by someone. Notice::Consts()->typeSystem() // system, messages sent by the system.
type() 可以接收 'message'、'notice' 和 'system',默认类型是 'message'。
邮箱
接收消息
$Messages = Notice::MailBox() ->receiver(4) // Receiver ID ->getPagedMessages(1, 10); // Page, Limited, Type = null $Totals = Notice::MailBox() ->totalMessages(); // Type = null return [ 'messages' => $Messages, // Paged messages 'totals' => $Totals, // Total count of messages ];
或者像这样
Notice::MailBox()->receiver(4) // Receiver ID $Messages = Notice::MailBox()->getPagedMessages(1, 10, Notice::Consts()->typeMessage()); $Totals = Notice::MailBox()->totalMessages(Notice::Consts()->typeMessage()); return [ 'messages' => $Messages, // Paged messages 'totals' => $Totals, // Total count of messages ];
如果您设置了 $Type 的值,那么这个方法将返回相应类型的结果。
消息数量
Notice::MailBox()->receiver(4); Notice::MailBox()->hasUnread(); // Type = null, return bool Notice::MailBox()->hasUnread(Notice::Consts()->typeMessage()); Notice::MailBox()->totalUnread(); // Type = null, return unread count num Notice::MailBox()->totalUnread(Notice::Consts()->typeMessage()); Notice::MailBox()->totalMessages(); // Type = null, return count num Notice::MailBox()->totalMessages(Notice::Consts()->typeMessage()); Notice::MailBox()->countUnread(); // Type = null // return array like this ['message' => 5, 'notice' => 2, 'system' => 3] Notice::MailBox()->countUnread(Notice::Consts()->typeMessage()); // return array like this ['message' => 5]
获取指定消息
$Message = Notice::MailBox()->receiver(4)->getTransfer(1) // Transfer ID return [ 'message' => $Message, // Message ];
注意:只能获取此接收者的消息。
阅读 / 未读
Notice::MailBox()->receiver(4)->read(1) // Transfer ID Notice::MailBox()->receiver(4)->read([1,2,3,4]) // Transfer IDs Notice::MailBox()->receiver(4)->readAll(); Notice::MailBox()->receiver(4)->readAll(Notice::Consts()->typeMessage()); // Type Notice::MailBox()->receiver(4)->unread(1) // Transfer ID Notice::MailBox()->receiver(4)->unread([1,2,3,4]) // Transfer IDs
注意:只有对应的接收者可以修改消息状态。
删除消息
Notice::MailBox()->receiver(4)->remove(1) // Transfer ID Notice::MailBox()->receiver(4)->remove([1,2,3,4]) // Transfer IDs
查看删除消息
Notice::MailBox()->mode(Notice::Consts()->modeRecycled()); $Messages = Notice::MailBox() ->receiver(4) ->getPagedMessages(1, 10); $Totals = Notice::MailBox()->totalMessages(); return [ 'messages' => $Messages, // Paged messages 'totals' => $Totals, // Total count of messages ];
您可以使用这些值
Notice::Consts()->modeAll() // return null, all messages Notice::Consts()->modeWithoutRecycled() // return true, default, only not recycled Notice::Consts()->modeRecycled() // return false, only recycled
许可证
MIT许可证。