求助 Laravel 实时通知功能实现

目前在写一个小系统,想实现前台或app下订单,在后台实时弹出提示方框(您有新订单)。
经过查资料,ajax长轮询已经pass掉,占用资源多,并且这个方法很老了。
目前准备使用laravel的事件广播和redis的订阅发布
想知道2个答案:
1.该方案可行吗,做法是否正确
2.求帮助梳理一下具体的逻辑思路,只用给一个思路就好。
万分感谢!

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 7

可以使用swoole websocket。后台写一个服务。前台或app和这个服务建立连接。同时 公司后台也和这个服务建立连接。当有订单产生。就通过socket发给后台。

5年前 评论

@qxy 使用swoole好像确实能解决,但是接收到消息如何调用js方法弹出页面呢。还有跟redis+laravel-echo哪个方法更加好呢?在这块还有疑问,麻烦您啦

5年前 评论

不能理解你的意思,后台接受到socket数据。就这样啊
// 响应收到的消息:
var ws = new WebSocket("ws://localhost:8080/msg");
ws.onmessage = function(evt) {
// todo 弹框
console.log("Received Message: " + evt.data);
};
我觉得还是第一种比较好。如果使用Redis。你是ajax是吧

5年前 评论

@qxy 这是第一种方案https://learnku.com/articles/11208/an-example-of-the-laravel-broadcasting-system
不过我还没太深入接触swoole呢,我的意思是想知道这两种方式,哪种更推荐,我好深入去学习一下

5年前 评论

我对laravel广播系统也没有用过。无法给你参考哦
@qpuilie

5年前 评论

@qxy 还是非常感谢您的耐心呢~哈哈 :kissing_heart:

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!