习惯养成之登陆

习惯养成之登录

背景

​ 上文中已经实现了注册功能,此次需要实现一个登陆的判定看是否有注册,如果已经注册则直接跳过注册直接登陆

注册判定

授权获取完用户的openid后将openid以及个人信息存储到全局变量中,查找数据库注册的用户信息看是否有此openid,有则直接获取该用户数据,无则显示注册框,代码如下:

bindGetUserInfo: function () {
    var that = this
    wx.getUserInfo({
      success: function (res) {
        console.log(res)
        app.globalData = res.userInfo
        console.log(app.globalData)
      }
    })
    wx.cloud.callFunction({
      name: 'login',
      data: {},
      success: res => {
        console.log('[云函数] [login] user openid: ', res.result.openid)
        app.globalData.openid = res.result.openid
        console.log(app.globalData.openid)
        wx.cloud.callFunction({
          name: 'database',
          data: {
            type: "get", //指定操作是insert  
            db: "user", //指定操作的数据表
            limit: 1,
            skip: 0,
            condition: { password: app.globalData.openid }
          },
          success: function (res) {
            console.log("-======-")
            console.log(app.globalData.openid)
            app.globalData.mine = res.result.data[0]
            console.log(res.result.data[0])
            console.log("===============-------")
            if (res.result.data.length != 0) {
              wx.showToast({
                title: '登陆成功',
                icon: 'success'
              })
              wx.switchTab({
                url: '../mine/mine',
              });
            }
            else {
              that.setData({
                hiddenmodalput: false
              })
            }
          },
          error: function (error) {
            console.log(error)
          }
        });
      },
      fail: err => {
        console.error('[云函数] [login] 调用失败', err)

      }
    })
  },

存贮用户数据库信息

​ 我在全局变量中命名了一个globalData.mine的列表存数据库中的查询到的个人信息,然后登陆完直接跳到个人页面

  onShow: function () {
      that.setData({
        userImg: app.globalData.avatarUrl,
        inputValue: app.globalData.mine.username
      })
    //that.data.inputValue = app.globalData.mine.username
    console.log(app.globalData.mine.username)
  },

​ 将存贮的个人头像以及数据库中的username调出来显示在个人页面上

bugbugbug

​ 依旧存在异步处理的错误必须将所有云函数的调用都使用嵌套模式,而且这样串起来后本来调用云函数就很慢,导致整个程序运行起来非常的慢,这个问题无法解决

​ 还有一些玄学问题,时好时坏,无从调试,不过最后测试注册登陆功能是完美实现了的,官方文档也很坑,非常痛苦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值