我有一个用Flutter编写的社交媒体应用程序。用户可以看到彼此的个人资料,并阻止/取消阻止他们。我使用MySQL来保存这些数据。现在我想使用Firebase Firestore实现聊天功能(或者MongoDB).当一个用户向另一个用户发送消息时,我是否应该检查用户是否每次都阻止另一个用户访问MySQL,所以用户不能发送新消息。这是聊天应用程序中的一个好习惯吗?或者我也应该在Firebase中存储“被阻止”的数据。我深入研究了这个问题,但没有找到任何解决办法。
bsxbgnwa1#
就像当用户试图发送消息给另一个用户,所以在收件人列表中,你也检索的值(是特定用户被当前用户阻止),如果是这样,你检查这个时间.第二,如果你想在发送到服务器时进行检查,那么你可以使用Firestore事务来管理这个,在这个事务中你可以得到发送者的对象,检查发送者阻止了谁,你可以抛出一个异常。另一件事你也可以使用Firestore安全规则来管理它。
chhqkbe12#
因此,您可以像当前大多数社交媒体作品一样编写代码。
简单地让用户发送消息,但是在接收方用户侧设置条件,使得如果用户被接收方阻止,则不应当在用户聊天列表中显示聊天,并且如果用户被接收方阻止,则不应当发送通知。
2条答案
按热度按时间bsxbgnwa1#
就像当用户试图发送消息给另一个用户,所以在收件人列表中,你也检索的值(是特定用户被当前用户阻止),如果是这样,你检查这个时间.
第二,如果你想在发送到服务器时进行检查,那么你可以使用Firestore事务来管理这个,在这个事务中你可以得到发送者的对象,检查发送者阻止了谁,你可以抛出一个异常。另一件事你也可以使用Firestore安全规则来管理它。
chhqkbe12#
因此,您可以像当前大多数社交媒体作品一样编写代码。
简单地让用户发送消息,但是在接收方用户侧设置条件,使得如果用户被接收方阻止,则不应当在用户聊天列表中显示聊天,并且如果用户被接收方阻止,则不应当发送通知。