Bạn đã sử dụng bộ đẩy, vì vậy tôi cho rằng bạn biết cách sử dụng sự kiện.
Tôi khuyên bạn nên sử dụng laravel-echo-server. Nó rất dễ sử dụng với một api tích hợp sẵn.
Đây là một ví dụ mới về dự án laravel-echo từ đầu. Sau khi bạn thiết lập dự án.
bạn sẽ cần phần trước nếu bạn chưa cài đặt nó
composer require predis/predis
redis-server /usr/local/etc/redis.conf
- chạy
npm install -g laravel-echo-server
- chạy
laravel-echo-server init
- bỏ ghi chú
App\Providers\BroadcastServiceProvider::class
trongconfig/app.php
- thêm
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/socket.io.js"></script>
trong app.blade.php của bạn - bạn cần một socketio-client, bạn có thể chạy
npm install --save laravel-echo
Trong trường hợp bạn không quen thuộc với npm hoặc vue, bạn có thể chỉ cần đưa tệp đã biên dịch này vào github project.compiledjs của tôi -
thêm cái này vào app.blade.php
<script> window.Echo = new Echo({ broadcaster: 'socket.io', host: '{{url('/').':6001'}}', }); Echo.private(`App.User.{{Auth::id()}}`) // private channel .listen('NewMessage', (e) => { console.log(e) }); </script>
-
cuối cùng chạy laravel-echo-server start và mở dự án của bạn, bạn sẽ thấy
[20:53:21] - Lv5OKDAcuSLsK1nBAAAE authenticated for: private- App.User.1 [20:53:21] - Lv5OKDAcuSLsK1nBAAAE joined channel: private-App.User.1
-
bạn có thể nghe bất kỳ sự kiện nào bạn muốn hoặc các thông báo khác
-
đây là echo-example dự án github của tôi
thêm một đoạn mã nhỏ để bạn có thể sử dụng tính năng gửi tin nhắn của người đưa thư đến người dùng cụ thể. Bạn có thể xem thông báo từ bảng điều khiển chrome. Bạn có thể biết thêm chi tiết từ ảnh chụp màn hình của dự án github