firebase怎么用_firebase是什么

firebase怎么用_firebase是什么firebase文档:https://firebase.google.com/docs/auth/web/google-signin?hl=zh-cn以下代码中firebaseConfig参数从

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

firebase文档: https://firebase.google.com/docs/auth/web/google-signin?hl=zh-cn

以下代码中firebaseConfig 参数从如下获取
点击项目设置
点击常规
此处下面就是

import firebase from 'firebase/app'
import * as firebaseui from "firebaseui"
import "firebase/auth";
import "firebase/firestore";

export default {
  data() {
    return {
      ui: null,
      language: {
        zh_CN: 'zh_CN',
        en_US: 'en_US',
        hi_IN: 'hi_IN'
      },
      authTypeOption: {
        Google: 0,
        Facebook: 2,
        Twitter: 1
      },
      FirebaseTypeKey: 'FirebaseType'
    }
  },
  created() {
    this.FirebaseInte()
    this.getFirebaseRedirectResult()
  },
  mounted() {
    // this.getFirebaseRedirectResult()
  },
  methods: {
    FirebaseInte() { // 初始化
      if (!firebase.apps.length) {
        var firebaseConfig = {
          apiKey: "xxxxxxxxxxx",
          authDomain: "xxxxxxxxxxx",
          databaseURL: "xxxxxxxxxxx",
          projectId: "xxxxxxxxxxx",
          storageBucket: "xxxxxxxxxxx",
          messagingSenderId: "xxxxxxxxxxx",
          appId: "xxxxxxxxxxx",
          measurementId: "xxxxxxxxxxx"
        };
        // Initialize Firebase
        firebase.initializeApp(firebaseConfig);
        // UI初始化
        // this.ui = new firebaseui.auth.AuthUI(firebase.auth());
      }
    },
    FirebaseLogin(type) { // 登录
      // alert(type)
      var provider = null
      if (type === 'Google') provider = new firebase.auth.GoogleAuthProvider()
      if (type === 'Facebook') provider = new firebase.auth.FacebookAuthProvider()
      if (type === 'Twitter') provider = new firebase.auth.TwitterAuthProvider()
      if (!provider) return
      firebase.auth().languageCode = this.$Cookies.get('lang')
      window.sessionStorage.setItem(this.FirebaseTypeKey, type)
      // firebase.auth().languageCode = this.language[this.$Cookies.get('lang')]
      // firebase.auth().useDeviceLanguage()
      // provider.setCustomParameters({ 'lang': this.language[this.$Cookies.get('lang')] })
      // signInWithRedirect 为重定向
      firebase.auth().signInWithRedirect(provider)

      // signInWithPopup 为弹框形式登录
      // firebase.auth().signInWithPopup(provider).then(function(result) {
      //   // This gives you a Google Access Token. You can use it to access the Google API.
      //   var token = result.credential.accessToken;
      //   // The signed-in user info.
      //   var user = result.user;
      //   // ...
      // }).catch(function(error) {
      //   // Handle Errors here.
      //   var errorCode = error.code;
      //   var errorMessage = error.message;
      //   // The email of the user's account used.
      //   var email = error.email;
      //   // The firebase.auth.AuthCredential type that was used.
      //   var credential = error.credential;
      //   // ...
      // });
    },
    getFirebaseRedirectResult() { // 获取登录信息
      if (!firebase.apps.length) return
      firebase.auth().getRedirectResult().then((result) => {
        if (result.user) this.getUUID(result.user.uid)
        // The signed-in user info.
        var user = result.user;
      }).catch((error) => {
        // Handle Errors here.
        console.log(error)
        var errorCode = error.code;
        var errorMessage = error.message;
        // The email of the user's account used.
        var email = error.email;
        // The firebase.auth.AuthCredential type that was used.
        var credential = error.credential;
        // ...
      });
    },
    getUUID(uid) { // 获取UUID并获取用户信息
      //调用接口获取用户信息
    },
    FirebaseSignOut() { // 退出登录
      // console.log('执行退出')
      firebase.auth().signOut().then(function() {
        console.log('退出成功')
        firebase.clearPersistence() // 清除firebase缓存
        // Sign-out successful.
      }).catch(function(error) {
        // An error happened.
      });
    }
  }
}

/*
firebas 安装
npm install firebaseui --save
npm install --save firebase

firebas 使用
文档 https://firebase.google.com/docs/auth/web/google-signin?hl=zh-cn

firebas语言设置
参考: https://github.com/firebase/firebaseui-web/blob/master/LANGUAGES.md
ar	Arabic 阿拉伯
bg	Bulgarian 保加利亚
ca	Catalan 加泰罗尼亚
zh_cn	Chinese (Simplified) 中文(简体)
zh_tw	Chinese (Traditional) 中文(繁体)
hr	Croatian 克罗地亚
cs	Czech 捷克
da	Danish 丹麦
nl	Dutch 荷兰
en	English 英语
en_gb	English (UK) 英语(英国)
fa	Farsi 波斯语
fil	Filipino 菲律宾
fi	Finnish 芬兰
fr	French 法国
de	German 德国
el	Greek 希腊
iw	Hebrew 希伯来语
hi	Hindi 印地语
hu	Hungarian 匈牙利
id	Indonesian 印尼
it	Italian 意大利
ja	Japanese 日本
ko	Korean 韩国
lv	Latvian 拉脱维亚语
lt	Lithuanian 立陶宛语
no	Norwegian (Bokmal) 挪威语
pl	Polish 波兰
pt_br	Portuguese (Brazil) 葡萄牙语(巴西)
pt_pt	Portuguese (Portugal) 葡萄牙语(葡萄牙)
ro	Romanian 罗马尼亚
ru	Russian 俄罗斯
sr	Serbian 塞尔维亚
sk	Slovak 斯洛伐克
sl	Slovenian 斯洛文尼亚
es	Spanish 西班牙
es_419	Spanish (Latin America) 西班牙语(拉丁美洲)
sv	Swedish 瑞典
th	Thai 泰国
tr	Turkish 土耳其
uk	Ukrainian 英国乌克兰
vi	Vietnamese 越南
*/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168361.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据库复习笔记(全覆盖,包括往年部分真题)

    ##1、数据库系统概述**1.1数据库的基本概念**数据库:长期储存在计算机内、有组织的、可共享的大量数据的集合。*基本特征:*数据按一定的数据模型组织、描述和储存可为各种用户共享、冗余度较小、易扩展数据独立性较高数据:描述事物的符号记录数据有结构的:记录是计算机存储数据的一种格式或一种方法数据库管理系统及其功能:位于…

    2022年4月8日
    47
  • 河北对口计算机专业一分一档6,最新!河北6市中考分数线、一分一档表→

    河北对口计算机专业一分一档6,最新!河北6市中考分数线、一分一档表→原标题:最新!河北6市中考分数线、一分一档表→邢台刚刚!邢台市区中考一分一档表公布!邯郸邯郸市2020年主城区普通高中招生最低控制分数线↓↓↓2020年邯郸中考一分一档统计表公布!沧州沧州一中录取参考线(文化分)1、沧州市区北大班:542分珍珠班:530分实验班:以教育局公布为准2、沧州各县市报到时间:7月30日,上午8:00-11:30交费(2000元)⑴现金1…

    2022年7月13日
    29
  • CreateMutex、WaitForSingleObject、ReleaseMutex——创建互斥对象

    CreateMutex、WaitForSingleObject、ReleaseMutex——创建互斥对象CreateMutexCreateMutex作用是找出当前系统是否已经存在指定进程的实例。如果没有则创建一个互斥体。互斥对象是系统内核维护的一种数据结构,它保证了对象对单个线程的访问权互斥对象的结构:包含了一个使用数量,一个线程ID,一个计数器使用数量是指有多少个线程在调用该对象,线程ID是指互斥对象维护的线程的ID计数器表示当前线程调用该对象的次数声明HANDLECreateMu…

    2022年6月26日
    32
  • java uninstall tool_java卸载工具|java卸载工具(JavaUninstallTool)下载v1.1.0.0 – 欧普软件下载…「建议收藏」

    java uninstall tool_java卸载工具|java卸载工具(JavaUninstallTool)下载v1.1.0.0 – 欧普软件下载…「建议收藏」java卸载工具(JavaUninstallTool)是甲骨文官方发布的一款专门用于卸载JAVA软件的工具,能够非常方便快捷以及彻底的卸载掉JAVA,使用很简单,只需要解压缩即可使用,赶快下载使用吧!软件功能1、检测到的Java版本将向用户显示以供删除2、用户可以选择删除全部版本,也可以选择删除特定的Java版本3、适用于Windows操作系统4、检测并允许删除Java版本1.4…

    2022年5月12日
    34
  • 【Oracle数据库】手滑删错数据,一步步教你如何挽救?

    【Oracle数据库】手滑删错数据,一步步教你如何挽救?常在河边走,哪能不湿鞋?

    2022年7月17日
    15
  • Altium Designer2018下载安装及基本使用[通俗易懂]

    Altium Designer2018下载安装及基本使用[通俗易懂]一、AltiumDesigner2018下载下载链接:https://pan.baidu.com/s/1gVJre-0tW_T2_oRqclYWAQ提取码:fnr9安装步骤请点我!2、用AD画基本的电路图1.首先新建一个PCB工程。如下所示:2.新建一个原理图如下所示:3.导入基本的元件库4.查找所需元件(这里以查找电阻为例)以下给出了一些常用元件的查找字母(…

    2022年7月13日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号