Я столкнулся с проблемой.Пожалуйста, помогите мне.
У меня есть два разных канала для разных типов пользователей, таких как 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