微信小程序云开发之登录功能

云开发这一块,登录功能可以使用缓存。将用户信息用缓存记录。那么你可能有疑问了,用户清除了怎么办?那岂不是会造成数据紊乱?
别急,我们还是可以备份一下用户信息的嘛~ 将用户信息存入数据库一份,展示信息用缓存,这样用户每次打开小程序时,就不必要从数据库中获取数据,从而减少数据库请求次数。

我们通过button按钮设置类型获取用户信息,将用户信息设置为全局变量。因为小程序每次启动的时候都是要先运行全局文件的。所以我们可以有以下步骤:

  1. 获取用户信息,设置缓存
  2. 编写全局变量代码
  3. 获取全局变量,取用户信息

index.wxml:

 <button open-type="getUserInfo" bindgetuserinfo="getUserInfo">登录</button>

显示用户信息你可以自己写以下,通过判断userInfo值是否存在,从而取消登录按钮的展示,展示用户信息。

index.js:

data: {
        userInfo:''
    },

onLoad: function (options) {

        const userInfo = app.globalData.userInfo
        this.setData({
            userInfo:userInfo
        })
    },

getUserInfo(e){
//云函数将用户信息存入数据库,可参考我前面的文章
      wx.setStorageSync('userInfo', e.detail.userInfo)
        this.setData({
            userInfo:e.detail.userInfo
        })
 }

app.js:

onLaunch: function () {

    const userInfo = wx.getStorageSync('userInfo')
    if(userInfo){
      this.globalData.userInfo = userInfo
    }else{
      console.log('no userInfo')
    }
    if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力')
    } else {
      wx.cloud.init({
        // env 参数说明:
        //   env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
        //   此处请填入环境 ID, 环境 ID 可打开云控制台查看
        //   如不填则使用默认环境(第一个创建的环境)
        // env: 'my-env-id',
        traceUser: true,
      })
    }
  },
  globalData:{
    userInfo:'',
    openId:''
  }

在这里插入图片描述
有问题可以随时评论留言~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章