哈希表 @好友及通知模块的实现

2018年09月16日23:38:37 XXM

上一篇传送文:哈希表博客 评论@好友功能实现

上一周只是简单的实现@好友的一个功能,这周末对这个功能进行了一些优化操作以及增加了通知模块

首先是评论框的改变

2018-09-16 23-42-21屏幕截图.png

使p看起来更像一个textarea 增加了placeholde,这个是通过一个p标签实现的,通过js的oninput 和 onblur事件来完成

2018-09-16 23-56-29屏幕截图.png

通知模块的实现

我们通过artisan命令来生成 notification table 和 执行数据库迁移

php artisan notifications:table

php artisan migrate

然后我们需要生成一个通知类

php artisan make:notification Commented

代码太长 直接贴上来

<?php

namespace App\Notifications;

use App\Blog;
use App\User;
use App\Comment;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;

class Commented extends Notification
{
    use Queueable;

    protected $post;
    protected $comment;
    protected $user;
    protected $message;

    /**
     * Create a new notification instance.
     *
     * @return void
     */
    public function __construct(Blog $post, Comment $comment, User $user, String $message = '')
    {
        $this->post = $post;
        $this->comment = $comment;
        $this->user = $user;
        $this->message = $message;
    }

    /**
     * Get the notification's delivery channels.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function via($notifiable) {
        return ['database'];
    }

    /**
     * Get the mail representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return \Illuminate\Notifications\Messages\MailMessage
     */
    public function toMail($notifiable)
    {
        return (new MailMessage)
                    ->line('The introduction to the notification.')
                    ->action('Notification Action', url('/'))
                    ->line('Thank you for using our application!');
    }

    /**
     * Get the array representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function toArray($notifiable)
    {
        return [
            'type' => 'commentAt',
            'user_id' => $this->user->id,
            'user_name' => $this->user->name,
            'post_id' => $this->post->id,
            'article_title' => $this->post->title,
            'comment_id' => $this->comment->id,
            'comment' => $this->comment->body,
            'message' => $this->message,
            'lou' => $this->comment->lou,
        ];
    }
}

当我们通知类实现完成后,我们可以通过user-notify()方法来触发通知

2018-09-17 00-06-53屏幕截图.png

最终效果如下

2018-09-17 00-08-58屏幕截图.png

日记本

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
被以下专题收入,发现更多相似内容