Я создаю приложение чата SPA с примерно 3000 комнатами. Домашняя страница оценивает каждую комнату в зависимости от количества активных участников.
Для этого я использую Laravel, Vuejs, Laravel Echo и Socket.io.
Я создал простую версию своего приложения, чтобы понять мою кодовую базу: https://jsfiddle.net/benjifisher/3cotxu29/
По сути, я использую конечную точку HTTP API Laravel Echo Server *1009* для извлечения данных канала. Я отображаю список каналов для каждой комнаты.
Мне нужен совет о том, как сортировать комнаты по значению количества подписок. Я так понимаю, мне нужно сопоставить объекты с массивом и потенциально выдвинуть новый массив?
Ниже приведен фрагмент
new Vue({
el: "#app",
data: {
rooms: [
{ id: 1, name: "Room 1", url: 'room1'},
{ id: 2, name: "Room 2", url: 'room2' },
{ id: 3, name: "Room 3", url: 'room3' },
{ id: 4, name: "Room 4", url: 'room4' },
{ id: 5, name: "Room 5", url: 'room5'},
{ id: 6, name: "Room 6", url: 'room6' },
{ id: 7, name: "Room 7", url: 'room7' },
{ id: 8, name: "Room 8", url: 'room8' }
],
channels: {
channels: {
presence_room4: {
occupied: true,
subscription_count: 2,
},
presence_room5: {
occupied: true,
subscription_count: 1,
}
}
}
},
computed: {
},
methods: {
}
})
Заранее спасибо.
Ben