Присутствие Phoenix Presence с подключением нескольких каналов - PullRequest
0 голосов
/ 06 мая 2019

Я столкнулся с проблемой.Пожалуйста, помогите мне.

У меня есть два разных канала для разных типов пользователей, таких как Admin и User.

Канал admin: {admin_id} для admin

Канал пользователь: {user_id} для пользователей

Каждый администратор и пользователи будут связываться со своей темой, я отслеживаю их присутствие, но проблема заключается в том, когда пользователь илиАдмин соединяет каналы, которые перекрывают их присутствие.Например, когда пользователи подключают присутствие этого главного администратора и когда администратор подключает присутствие этого главного пользователя.

Вот пример кода.

Users

user_channel.ex

{:ok, _} =
Presence.track(socket, “user:#{socket.assigns.id}”, %{
user_type: socket.assigns.sender,
user_id: socket.assigns.userid
})

Admin

admin_channel.ex

{:ok, _} =
Presence.track(socket, “agent:#{socket.assigns.id}”, %{
user_type: socket.assigns.sender,
user_id: socket.assigns.userid
})

Присутствие

присутствие.бывший

use Phoenix.Presence,
otp_app: :myapp,
pubsub_server: MyappWeb.PubSub,
pool_size: 10

def fetch(_topic, entries) do
IO.inspect(_topic)
IO.inspect(entries)
end
...