Javascript 如何在AngularJS中使用firebase进行一对一聊天
我正在尝试使用firebase实现一对一的聊天功能。现在,我的消息结构在fb数据库中是有意义的,但我无法在angular中使用firebase的api实现一对一聊天功能。我可以垃圾邮件聊天室的所有用户都可以看到每个人的消息,但我想有一个一对一聊天功能在我的应用程序。我在firebase数据库中的结构很好,我只需要操作javascript代码就可以了。我的代码如下Javascript 如何在AngularJS中使用firebase进行一对一聊天,javascript,angularjs,firebase,firebase-realtime-database,chat,Javascript,Angularjs,Firebase,Firebase Realtime Database,Chat,我正在尝试使用firebase实现一对一的聊天功能。现在,我的消息结构在fb数据库中是有意义的,但我无法在angular中使用firebase的api实现一对一聊天功能。我可以垃圾邮件聊天室的所有用户都可以看到每个人的消息,但我想有一个一对一聊天功能在我的应用程序。我在firebase数据库中的结构很好,我只需要操作javascript代码就可以了。我的代码如下 function chatController($scope,$firebaseArray) { var ref1=fire
function chatController($scope,$firebaseArray) {
var ref1=firebase.database().ref().child('users/59c1c11cec/chats/-KuRshPYbO_d9B');
$scope.chats=$firebaseArray(ref1);
var ref=firebase.database().ref().child('chats/-KuRshPYbO_d9B/messages');
$scope.messages=$firebaseArray(ref);
$scope.send=function(){
$scope.messages.$add({
message:$scope.messageText,
// date:Date.now()
})
}
}
我能够通过硬编码用户ID在两个用户之间创建一对一的聊天,但我想知道firebase的api是否能够动态地做到这一点。如果是,我将如何做?作为参考,59c1c11cec是当前登录的用户id,-KuRshPYbO_d9B是当前用户正在开始对话的另一个人的id,我在自己的数据库中没有任何访问权限,但仅在firebase的数据库中。我使用这个用户id检索两个用户之间的消息。我怎样才能做到这一点?我只需要用我提到的值替换硬编码的值。非常感谢 您可以使用
firebase.auth().currentUser.uid
。获取其他用户的ID是特定于应用程序的。您可能希望显示当前用户可以开始聊天的联系人列表。在我的情况下,在数据库中创建匹配项时会创建一个聊天对象,就像tinder一样。我需要获取的当前用户id的对应匹配项。Firebase不提供此功能?您可以使用Firebase.auth().currentUser.uid
。获取其他用户的ID是特定于应用程序的。您可能希望显示当前用户可以开始聊天的联系人列表。在我的情况下,在数据库中创建匹配项时会创建一个聊天对象,就像tinder一样。我需要获取的当前用户id的对应匹配项。Firebase不提供这个?