小程序登陆授权的两种方式

1、小程序授权登录流程
调用 wx.login 获取 code。
使用 wx.getSetting 获取用户的授权情况
如果用户已经授权,直接调用 API wx.getUserInfo 获取用户最新的信息;
用户未授权,在界面中显示一个按钮提示用户登入,当用户点击并授权后就获取到用户的最新信息。
将获取到的用户数据连同wx.login返回的code一同传给后端

2、手机号登陆授权
1.页面使用


2.js中

getPhoneNumber(e) {
    let _this = this;
    //console.log(e.detail)
    if (e.detail.errMsg == 'getPhoneNumber:fail user deny') {
      wx.showModal({
        title: '提示',
        showCancel: false,
        content: '未授权不能操作',
        success: function (res) {
        }
      })
    }else{
      // 执行微信登录
      wx.login({
        success: function (res) {
          console.log(res)
          // 发送用户信息
          App._post_form('user/login'
            , {
              code: res.code,
              user_info: e.detail.rawData,
              encrypted_data: e.detail.encryptedData,
              iv: e.detail.iv,
              signature: e.detail.signature,
              pid: _this.data.pid
            }
            , function (result) {
              // 记录token user_id
              wx.setStorageSync('token', result.data.token);
              wx.setStorageSync('user_id', result.data.user_id);
              // 跳转回原页面
              _this.navigateBack();
            }
            , false
            , function () {
              wx.hideLoading();
            });
        }
      });
    }
  }

3.后台根据code获取session_key和openid_id ,将open_id存入session
4.根据session_key,app_id,encrypted_data,iv解密手机号
5.token 生成
根据open_id+盐生成token返回给前端,前端每次请求携带
6.用户信息查询

你可能感兴趣的:(小程序)