Skip to content

Latest commit

 

History

History
65 lines (47 loc) · 5.54 KB

groups.md

File metadata and controls

65 lines (47 loc) · 5.54 KB

Работа c группами

Данный документ описывает логику и сценарий работы по управлению группами.

  1. Создание группы
  2. Просмотр группы
  3. Редактирование группы

Создание группы

Для создания группы необходимо отправить следующий фрейм [new group](/socket.io/client-emited/group/new group.md). В пользовательском интерфесе получение необходимых данных для создания группы происходит в два этапа.

  1. После нажати на иконку создания группы открывается следующий экран:

    На этом экране опционально можно установить аватар будущей группы. Обязательно необходимо указать название будущей группы. После нажатия на кнопку далее переход на следующий экран.
  2. Экран выбора участников группы:

    На это экране задается список участников группы. После нажатия кнопки далее создается новая группа [new group](/socket.io/client-emited/group/new group.md). Далее необходимо создать первый диалог. В новый диалог необходимо добавить сообщение с разным текстом для создавшего группу и для остальных участников. Сообщения:
  • Администратор: 'Создана новая группа. Этот диалог создан автоматически.'
  • Остальные участники: 'Вы добавлены в новую группу. Это самое начало переписки.'

Просмотр группы

Для просмотра информации о группе необходимо перейти в карточку группы, тапнув на заголовок на экране с перепиской.

Вид карточки для администратора группы:

  1. Основной экран
  2. Редактирование названия
  3. Просмотр аватара
  4. Меню управления аватаром
  5. Меню участника группы

Вид карточки для остальных участников

  1. Основной экран
  2. Меню участника группы
  3. Просмотр аватара

Редактирование группы

Редактирование группы происходит из карточки группы.

  1. Изменение аватара [change avatar](/socket.io/client-emited/group/change avatar.md)
  2. Изменение названия группы | добавление участников | исключение участников [edit group](/socket.io/client-emited/group/edit group.md).

При изменении группы стоит обратить внимание на следующее:

  1. Перешифрование имен диалогов. При изменении числа участнико группы необходимо обновить набор Bodies для каждого диалога в группе, чтобы сохранить согласованность данных и чтобы каждый из участников смог расшифровать названия диалогов.
  2. Отметка о прочтении сообщений. Каждое создаваемое сервисное сообщение дублируется в каждый диалог в группе. Необходимо сделать так, чтобы непрочитанными были сообщения, отправляемые только в диалог с самой свежей перепиской. Для этого у каждого создаваемого сервисного сообщения предусмотрено поле as_read. Для администратора группы все сообщения автоматически отмечаются как прочтенные. Для остальных собеседников необходимо установить as_read = true для всех диалогов, кроме самого свежего. Чтобы получить самый свежий диалог, нужно определить в каком из диалогов в группе находится сообщение с самой новой датой.