野狗 实时通信引擎 实现留言板 身份认证 入门版

使用下面的命令行,搭建完基本脚手架

vue init webpack demo
基本结构
image.png
新建dog-module.js
import * as wilddog from 'wilddog'

var config = {
// 你的应用url
  syncURL: 'https://wd089270fflahv.wilddogio.com/'
}
wilddog.initializeApp(config)

export default wilddog

修改App.vue
<template>
  <div id="app">
    <p v-for="item in msg" v-html="item.name"></p>
    <div>
      <input v-model="info" >
      <input type="button" value="message" @click="pushMsg">
    </div>
    <input v-model="email" >
    <input v-model="pwd" >
    <input type="button" @click="addUser" value="新增用户">
    <input type="button" @click="loginUser" value="登录用户">
    <input type="button" @click="currentUser" value="当前用户">
    <br>
    <input v-model="username">
    <input type="button" @click="updateUserInfo" value="修改当前用户">
  </div>
</template>

<script>
  import wilddog from './dog-module'

  export default {
    name: 'app',
    data () {
      return {
        info: null,
        msg: null,
        email: null,
        pwd: null,
        username: null
      }
    },
    methods: {
      updateUserInfo () {
        wilddog.auth().currentUser.updateProfile({
          displayName: 'name',
          photoURL: 'https://example.com/path/photo.jpg'
        }).then(function (res) {
          // 更新成功
          console.log('res', res)
        })
      },
      loginUser () {
        let email = this.email
        let pwd = this.pwd
        wilddog.auth().signInWithEmailAndPassword(email, pwd)
          .then(function () {
            console.info('login success, currentUser->', wilddog.auth().currentUser)
          }).catch(function (err) {
            console.info('login failed ->', err)
          })
      },
      addUser () {
        let email = this.email
        let pwd = this.pwd
        wilddog.auth().createUserWithEmailAndPassword(email, pwd)
          .then(function (user) {
            console.info('user created.', user)
          }).catch(function (err) {
            console.info('create user failed.', err)
          })
      },
      currentUser () {
     /*   wilddog.auth().onAuthStateChanged(function (user) {
          if (user) {
            console.log(user)
          } else {
            console.log('no user')
          }
        }) */
        var user = wilddog.auth().currentUser
        if (user != null) {
          // 用户已登录
          console.log(user)
        } else {
          // 没有用户登录
          console.log('no user')
        }
      },
      submitMsg () {
        var ref = wilddog.sync().ref('messageboard')
        ref.set({
          'name': 'ann'
        })
      },
      pushMsg () {
        var ref = wilddog.sync().ref('messageboard')
        console.log('this.info', this.info)
        ref.push({
          'name': this.info
        })
        this.info = ''
      }
    },
    mounted () {
      let ref = wilddog.sync().ref('messageboard')
      ref.on('value', (snapshot) => {
        this.msg = snapshot.val()
        console.log('snapshot.val()', Object.keys(this.msg))
        // 获取该节点 集合下的所有数据个数
      })
    }
  }
</script>

以上是实现一个基本的留言demo,回头在上复杂的案例。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载 :OpenDiggawesome-github-vue 是由OpenDigg整理并维护的Vue相关开源项目库...
    果汁密码阅读 23,308评论 8 124
  • 来源:github.com Vue.js开源项目速查表:https://www.ctolib.com/cheats...
    zhangtaiwei阅读 14,018评论 1 159
  • 可以从计划表开始入手: 图❶ 6点起床: 图❷3点起床: 额,我好像做不来3点起床,不过我可以试试史蒂芬.科维的《...
    悅記阅读 1,885评论 0 1
  • 其实说出来没人相信,每个人身上都有用之不尽,取之不秙的才富。为什么没有发现?估计是我们没用心去发掘而已。
    一曲笙歌琦阅读 1,014评论 0 0
  • 【每日必做】 1.每日记账、检视花费 2.规划明日最重要三件事 3.每日总结(觉察、感恩、检视、丰盛日记) 4.每...
    快乐的老露阅读 1,664评论 0 0