我正在创建Laravel SPA。在那里,我有与用户有关的通知。
最干净的方法是获取用户的未读通知?专业人员使用什么方式?
/api/users/{id}/unreadNotifications
---控制器$user->unreadNotifications
/api/notifications/unreadNotifications
---控制器Auth()->user()->unreadNotifications
两个选项:
定期从前端开始定期轮询路由(不确定是否使用Vue,React或其他JS框架)。
利用echo和pusher.js进行广播。] >>
对于轮询,如果您正在使用Vue,则可以执行以下操作:
data() { return { pulseIntervalId: null, pulseInterval: 60000, // 60000 1 Minutes // 120000 2 Minutes // 180000 3 Minutes // 300000 5 minutes }; },
mounted() { this.unreadNotificationsPulse(); ... },
beforeDestroy() { clearInterval(this.pulseIntervalId); }, methods: { ... unreadAlertsPulse() { const self = this; self.pulseIntervalId = setInterval(() => { // Do your call to your api here with promise if needed here, not sure if you are calling from file or using state management like vuex and updating the store that way... }, self.pulseInterval); }, ...