一、后台 layout.blade 里

    <script>
    function jump_msg() {
        var url = "{{route('admin.message.index')}}";
        var tab_id = "user_message";
        jumpTab(url,tab_id,'消息中心');
    }
    //获取消息
    function getMessages() {
        var $ = layui.jquery;
        var _token = $("input[name='_token']").val();
        $.ajax({
            url:"{{route('admin.get_user_message')}}",
            data:{ "_token": _token},
            type: "post",
            dataType: "json",
            success: function (data) {
                $("#msg_tip").html('');
                if(data.code == 0){
                    $("#message_count").html(data.data.total);
                    $("#msg_tip").html(data.data.msg);
                    layer.open({
                        skin: 'layui-layer-molv',
                        title: '消息提示',
                        type: 1,
                        content: $("#msg_tip"),
                        area: ['300px', '150px'],
                        offset: 'rb',
                        shade: 0,
                        btn: ['点击进入'],
                        yes: function(index, layero){
                            layer.close(index);
                            var url = data.data.url+"?msg_id="+data.data.id;
                            var tab_id = "detail_inquiry";
                            jumpTab(url,tab_id,'点击查看');
                        }
                    });
                }else{
                    $("#message_count").html(data.data.total);
                }
            },
            error: function () {
            }
        });
    }
        window.setInterval(function(){
            getMessages();
        },300000);
    </script>

php 消息接口

    public function getUserMessage(Request $request){
        $user_id = auth('web')->user()->id;
        $role_id = auth('web')->user()->role->role_id; //角色id
        $total = UserMessage::where('status', '=', 0)->orderBy('id', 'desc')->count();
        if($total == 0){
            return Y::error('暂无消息', array(
                'total'=>0
            ));
        }
        //管理员看数字,弹出
        if ($role_id == 1 || $role_id == 13) {
            $total = UserMessage::where('status', '=', 0)->orderBy('id', 'desc')->count();
            if($total == 0){
                return Y::error('暂无消息', array(
                     'total'=>0
                ));
            }
            $message = UserMessage::where('status', '=', 0)->orderBy('id', 'desc')->first();
            if($message){
                $data = array(
                     'total'=> $total,
                     'msg'=> $message->msg,
                     'url'=> $message->url,
                     'id'=> $message->id
                );
                return Y::success('请求成功', $data);
            }
        }
        $total = UserMessage::where('user_id', '=', $user_id)->where('status', '=', 0)->orderBy('id', 'desc')->count();
        if($total == 0){
            return Y::error('暂无消息', array(
                 'total'=>0
            ));
        }
        $message = UserMessage::where('user_id', '=', $user_id)->where('status', '=', 0)->orderBy('id', 'desc')->first();
        if($message){
            $data = array(
                'total'=> $total,
                'msg'=> $message->msg,
                'url'=> $message->url,
                'id'=> $message->id
            );
            return Y::success('请求成功', $data);
        }
        return Y::error('暂无消息', array(
             'total'=>0
        ));
    }