小程序开发 登录

小程序的登录

一般来说可将登录的方法写在app.js中,这样可方便其他的页面调用。

第一步,获取登录凭证(code)

调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。

getAppCode: function (callback) {
    let _this = this;
    wx.login({
      success: function (data) {
        // console.log(data);
        callback && callback(data.code)
      },
      fail: function (err) {
        //console.log('wx.login 接口调用失败,将无法正常使用开放接口等服务', err)
        callback && callback(err)
      }
    })
  }

第二步,得到code后用户登录授权,完成登录

login: function (callback) {
    let _this = this;
    _this.getAppCode(function (code) {
      wx.getUserInfo({
        success: function (res) {
          let userInfo = res.userInfo;
          // 调用后台接口 此post请求是封装过的,可以用微信的原生方法替代
          request.POST(api.login, {
            nickName: userInfo.nickName,
            avatarUrl: userInfo.avatarUrl,
            gender: userInfo.gender,
            code: code
          }, function (userRes) {
            if (userRes && userRes.code == 'S00') { // 后台验证通过
              let userResData = userRes.data;
              wx.setStorage({
                data: userResData.sessionKey,
                key: 'sessionKey',
              })
              wx.setStorage({
                data: userResData.token,
                key: 'token',
              });
              wx.setStorage({
                data: userInfo,
                key: 'userInfo',
                success: function () {
                  _this.globalData.userInfo = userInfo;
                  callback && callback(res);
                }
              });
            } else { // 后台验证失败
            
            }
          })
        }
      })
    })
  }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值