Laravel简单奖励系统

时间:2020-06-11 00:02:19

标签: laravel websocket socket.io echo

因此,我观看了一段有关laracast的视频,导师在其中谈论事件和听众。他创建了一个付款活动,然后听了一个优惠券奖励的听众。但是,由于这只是关于事件和听众的课程,而不是关于奖项的课程,因此他只是var_dump了一些数据到页面上并完成了操作。

这是剧集: https://laracasts.com/series/laravel-6-from-scratch/episodes/49

我现在想知道应该怎么做。例如,如果我有一个应该弹出的引导程序模版并说“ You got a coupon”,我是否应该只是回声如下:

echo '<script> alert('You got a coupon!'); </script>';

(我在上面的示例中使用了警报功能,并且可以正常工作,但是我仍然不确定这是否是正确的操作方式)

我想你明白我的意思。我想知道这是应该怎么做,还是应该开始使用websockets。

因此,也许我创建了第二个事件,称为“ Coupon Aquired”,然后在私有频道中广播该事件,在第一个事件的侦听器内部调度该事件,然后用户订阅该私有频道并侦听该特定事件事件。

(我开始实现这一点,但我完全感到困惑,这是我第一次使用websockets,我想知道它们是否甚至应该用于这种事情)

我真的很难在这里提出适当的问题,因为我很少与其他开发人员交谈。我希望这至少可以使xD有意义

1 个答案:

答案 0 :(得分:0)

所以也许我创建了第二个事件,称为“获得优惠券”,然后 该事件在私人频道中广播,并在 第一个事件的侦听器,然后用户订阅 私人频道并收听该特定事件。

是的,像这样。 我认为您应该在事件PaymentEvent中包含特定的用户信息(例如id等),但我没有看到视频,但是如果您需要为每次付款显示Coupon Award弹出窗口-只需创建两个事件侦听器:UserPaymentListenerCouponAwardGrantedListener或类似的东西。 如果目的只是发送给您-您甚至不需要eventListener。只需在正面和背面之间建立Websocket连接(播客非常棒,如何实现-https://laracasts.com/series/real-time-laravel-with-socket-io/episodes/1?autoplay=true)并在那里广播事件。 有很多方法可以实现您所需要的,但是您绝对可以走对路。 祝你好运!