小编Luk*_*kas的帖子

在 Firebase 中处理用户的在线和离线状态

我想在我的网络应用程序中处理在线和离线状态。以便用户可以看到谁在线、谁不在线。

我发现这个很棒的教程解释得很好,但我被困住了。

https://blog.campvanilla.com/firebase-firestore-guide-how-to-user-presence-online-offline-basics-66dc27f67802

我认为 存在问题cloud-functions,因为我在那里遇到了错误。

此外,该教程是从 2017 年 12 月 15 日开始的,我知道该教程cloud-functions已更新,但我不知道如何更新代码。

链接到文档:https ://firebase.google.com/docs/functions/beta-v1-diff

有人可以看一下教程并可以帮助我吗?

云功能:

 const functions = require('firebase-functions');
 const Firestore = require('@google-cloud/firestore');
 const firestore = new Firestore();

 exports.onUserStatusChanged = functions.database
  .ref('/status/{userId}') // Reference to the Firebase RealTime database key
  .onUpdate((event, context) => {

    const usersRef = firestore.collection('/users'); // Create a reference to 
    the Firestore Collection

    return event.before.ref.once('value')
      .then(statusSnapshot => snapShot.val()) // Get latest value from  the Firebase Realtime database
      .then(status => {
        // …
Run Code Online (Sandbox Code Playgroud)

javascript firebase firebase-realtime-database google-cloud-functions

5
推荐指数
2
解决办法
1万
查看次数

如何从Firestore中的数组删除对象

我有删除的问题Object出的Arrayfirestore。我在Firestore中有以下数据:

在此处输入图片说明 在此处输入图片说明

现在我想删除例如第二个 Object出来的posts Array

码:

 deletePic () {
  let docId = `${this.currentUser.uid}`

   fb.usersCollection.doc(docId).update({
     posts: firebase.firestore.FieldValue.arrayRemove()
   })
  .catch(function(error) {
      console.error("Error removing document: ", error);
  });
}
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何定义 arrayRemove()

这些是图片,每个图片都有一个删除按钮以删除图片。

在此处输入图片说明

javascript firebase google-cloud-firestore

4
推荐指数
3
解决办法
3966
查看次数

如何访问js文件VUEX中的状态

我想访问in的state属性currentUservuex在其中user.js使用它,auth.js但如果我写它不起作用:store.state.currentUser.uid ===...

我得到这个错误:

无法读取未定义的属性“状态”。

代码中缺少什么?

那个树:

src
 store
   user
    |>user.js
    |>mutations.js
   index.js
 auth.js
Run Code Online (Sandbox Code Playgroud)

用户.js:

 const state = {
   profile: {},
   loggedIn: false,
   currentUser: null,
   userProfile: {}
 }

 export default {
   namespaced: true,
   state
 }
Run Code Online (Sandbox Code Playgroud)

auth.js:

import store from './store'
const fb = require('./firebaseConfig.js')

fb.auth.onAuthStateChanged(user => {
 if (user) {
  fb.postsCollection.orderBy('createdOn', 'desc').onSnapshot(querySnapshot => {

  let createdByCurrentUser
  if (querySnapshot.docs.length) {
    createdByCurrentUser = store.state.currentUser.uid === 
      querySnapshot.docChanges()[0].doc.data().userId ? 'Yes' : 'No'
    console.log(createdByCurrentUser) …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vuex vuejs2

3
推荐指数
1
解决办法
3538
查看次数

VUEJS + Firestore 如何输出数据?

我创建了一个帖子并将其存储在其中Cloud Firestore,现在我想将数据输出到vueJs名为Dashboard.vue.

但我不知道它是如何工作的。我自己尝试了一些想法,但没有一个好的最终结果。

那么如何输出这些数据呢?

文件:

Firebase => Cloud Firestore 
Run Code Online (Sandbox Code Playgroud)

在 firebase 中创建的帖子数据:
在 firebase 中创建帖子数据

在中创建 post 方法 vueJs post.vue

    createPost () {
       fb.postsCollection.add({
        postDetails: {
        createdOn: this.postDetails.createdOn,
        content: this.postDetails.content,
        userId: this.currentUser.uid,
        image: this.postDetails.image,
        comments: this.postDetails.comments,
        likes: this.postDetails.likes
      }
      }).then(ref => {
          this.post.content = ''
          this.$router.push('/dashboard')
      }).catch(err => {
          console.log(err)
      })
    }
Run Code Online (Sandbox Code Playgroud)

firebase vue.js google-cloud-firestore

2
推荐指数
1
解决办法
1178
查看次数

如何在Firestore中为网络启用离线数据

我想在项目中启用离线数据。我找到了正确的代码,但是我不知道在哪里实现代码

我在firebaseConfig.js文件中实现代码:

import firebase from 'firebase'
import 'firebase/firestore'

// firebase init
// init code goes here
var config = {
 apiKey: '',
 authDomain: '',
 databaseURL: '',
 projectId: '',
 storageBucket: '',
 messagingSenderId: ''
} 
firebase.initializeApp(config)

firebase.firestore().enablePersistence()
 .then(function () {
   // Initialize Cloud Firestore through firebase
   var db = firebase.firestore();
 })
 .catch(function (err) {
   console.log(err)
 })

 // firebase utils
 const db = firebase.firestore()
 const oldRealTimeDb = firebase.database()
 const auth = firebase.auth()
 const currentUser = auth.currentUser

 // date issue fix according …
Run Code Online (Sandbox Code Playgroud)

javascript firebase google-cloud-firestore

0
推荐指数
1
解决办法
707
查看次数