Jelajahi Sumber

firestore 플러그인 설치 + 로그인 정보firestore 저장소 통합

yongun 5 tahun lalu
induk
melakukan
ceadc82751
5 mengubah file dengan 997 tambahan dan 20 penghapusan
  1. 2 1
      nuxt.config.js
  2. 965 19
      package-lock.json
  3. 1 0
      package.json
  4. 24 0
      plugins/firestore.js
  5. 5 0
      store/index.js

+ 2 - 1
nuxt.config.js

@@ -32,7 +32,8 @@ export default {
   */
   plugins: [
     { src: '~/plugins/vue-material' },
-    { src: '~/plugins/axios' }
+    { src: '~/plugins/axios' },
+    { src: '~/plugins/firestore' }
   ],
   /*
   ** Nuxt.js dev-modules

File diff ditekan karena terlalu besar
+ 965 - 19
package-lock.json


+ 1 - 0
package.json

@@ -14,6 +14,7 @@
   "dependencies": {
     "@nuxtjs/axios": "^5.3.6",
     "@nuxtjs/proxy": "^1.3.3",
+    "firebase": "^7.6.1",
     "md5": "^2.2.1",
     "nuxt": "^2.0.0",
     "vue-material": "^1.0.0-beta-11",

+ 24 - 0
plugins/firestore.js

@@ -0,0 +1,24 @@
+import firebase from 'firebase/app'
+import 'firebase/firestore'
+
+if (!firebase.apps.length) {
+  // Your web app's Firebase configuration
+  const firebaseConfig = {
+    apiKey: 'AIzaSyCYndjau99Ugi0BhT5THKDKhR5XTCv_zw4',
+    authDomain: 'nuxt-news-feed-d3f2c.firebaseapp.com',
+    databaseURL: 'https://nuxt-news-feed-d3f2c.firebaseio.com',
+    projectId: 'nuxt-news-feed-d3f2c',
+    storageBucket: 'nuxt-news-feed-d3f2c.appspot.com',
+    messagingSenderId: '63219978573',
+    appId: '1:63219978573:web:340b19689158fde8dd2704'
+  }
+  // Initialize Firebase
+  firebase.initializeApp(firebaseConfig)
+  firebase.firestore().settings({
+    timestampsInSnapshots: true
+  })
+}
+
+const db = firebase.firestore()
+
+export default db

+ 5 - 0
store/index.js

@@ -1,5 +1,6 @@
 import Vuex from 'vuex'
 import md5 from 'md5'
+import db from '~/plugins/firestore'
 
 const createStore = () => {
   return new Vuex.Store({
@@ -47,6 +48,10 @@ const createStore = () => {
           )
           const avatar = `http://gravatar.com/avatar/${md5(autuUserData.email)}?d=identicon`
           const user = { email: autuUserData.email, avatar }
+          await db
+            .collection('users')
+            .doc(userPayload.email)
+            .set(user)
           commit('setUser', user)
           commit('setToken', autuUserData.idToken)
           commit('setLoading', false)