问题描述
基本上,我正在尝试使用React和Firebase / Firestore构建类似于Slack的Web应用程序。我可以构建一个类似于聊天室的Slack网络应用,用户可以在其中创建多个聊天渠道。但是,我不知道如何复制Slack的workspace
概念。以以下URL为例:https://app.slack.com/client/T01X6XXXXXX/X01X9XXXXXX
,/ client /之后的数字:T01X6XXXXXX
是工作区的唯一ID,只有受邀用户才能加入。加入后,受邀用户可以看到其他用户之前创建的所有频道。随机用户无法加入该工作空间,因为他们不知道该工作空间的ID。
所以我的问题是:如何使用带有React / Firebase / Firestore的workspace
概念来构建聊天室?我应该如何构造Firestore Db?
当前,我的Firestore数据如下:
/rooms/HgUYoCYI45DCTScIMYEG/messages
房间(集合)和消息(集合)之间的数字是通道ID。通道(文档)由channelName
和channelId
组成。
解决方法
聊天室中的每个文档都应具有一个成员数组,用于存储用户ID;如果用户打开某个聊天室,则在前端,如果不进行重定向,请检查其ID是否位于聊天室成员数组中;此外,如果您使用fireStore,则可以使用<td class="ui-resizable-column"><img *ngIf="rowData['logo']"
[src]="getLogoImage(rowData['logo'])" height="50"
width="50" alt="logo"></td>