小程序的微信授权登陆,代码及一些注意的坑,配置requeest合法域名,发送网络请求的方法

最近公司在开发产品的小程序产品,没办法,即使以前没有做过,也得硬着头皮去干啊,其中有一个功能就是用我们的产品的账号和微信的账号绑定,微信授权一次后可以直接登陆了,无需再次输入账号和密码。

1,要在你的小程序的后台配置一下小程序的合法域名,配置完成后点击详情---域名信息---request合法域名,更新出来后就可以使用了。

小程序的微信授权登陆,代码及一些注意的坑,配置requeest合法域名,发送网络请求的方法_第1张图片

2,我们公司涉及到多端,比如网页端,app端,微信小程序端,此时就必须要在微信开放平台绑定您的账号,同时不能只传入一个open_id,需要code 然后后端解析传回token至前端,我们拿到token即可。

3代码如下:

wxLogin:function(){    //自定义的login方法
    var that = this;
    console.log(1111111111111111);
    wx.getSetting({      //获取微信是否授权
      success: function (res) {
        console.log(res)
        console.log(22222222222)     
        if (res.authSetting['scope.userInfo']) {
          wx.getUserInfo({           //授权成功拿到用户的信息
            success: function (res) {
              console.log(3333333333333333)
              var appid = "xxxxxxx";   //传入小程序的appid
              // var session_key = res.encryptedData;   //有的需要session_key  这里我不需要 就注释了
              wx.login({    //调用微信登陆的方法
                success: res => {
                  // console.log(res.code)
                  console.log(4444444444444444)
                  //code的登陆后就会自动生成的一串代码,
                  wx.request({      //发送请求  传入code   后端会根据code返回token  拿到token就可以登陆了
                    url:'url=+'+res.code,
                    success: function (data) {
                      console.log(55555555555555555)
                      console.log(data.data);
                      var token1 = data.data.data
                      if (data.data.ret === '0') {
                        wx.showToast({
                          title: '登录成功',
                          icon: 'success',
                          duration: 2000
                        })
                        wx.request({   //业务场景不一样,我们需要用token拿到用户的用户名和密码
                          url: 'url=+' + token,
                          success: function (data) {
                            console.log(66666666666666666)
                            console.log(data.data)
                            var token = JSON.stringify(token1);
                            // console.log(token);
                            var userName = JSON.stringify(data.data.data.user.email);
                            // console.log(userName)
                            wx.reLaunch({   //拿到之后   跳转到首页
                              url: '../../pages/index/index?token=' + token + '&userName=' + userName
                            })
                          }
                        })
                      } else {
                        wx.showToast({
                          title: '您还没有绑定微信',
                          icon: 'success',
                          duration: 2000
                        })
                      }
                    }
                  })
                }
              })
            }
          })
        }
      }
    })
  }

至此,就可以拿到token 进行登陆了。

你可能感兴趣的:(小程序的微信授权登陆,代码及一些注意的坑,配置requeest合法域名,发送网络请求的方法)