手机网站

小程序获取openid的js代码

位置:首页 > 手机网站 > 微信小程序,2018-03-16 10:19
小程序获取openid的js代码,用此openid可以关联自己网站后台的数据库。
userlogin: function () {
    
    this.setData({
      hidden: false
    })
    var that=this

    //1、调用微信登录接口,获取code
    wx.login({
      success: function (r) {
        wx.getSetting({
          success(setRes) {  


            // 判断是否已授权  
            if (!setRes.authSetting['scope.userInfo']) {
              // 授权访问  
              wx.authorize({
                scope: 'scope.userInfo',
                success() {
                  console.log("授权成功")
 //获取用户信息  
                  var code = r.code;//登录凭证
                  if (code) {
                    //2、调用获取用户信息接口
                    //...
                    console.log('code' + code)

                    //2、调用获取用户信息接口
                    wx.getUserInfo({
                      success: function (res) {
                        console.log({ encryptedData: res.encryptedData, iv: res.iv, code: code })
                        //3.解密用户信息 获取unionId
                        //...



                        //3.请求自己的服务器,解密用户信息 获取unionId等加密信息
                        wx.request({
                          url: 'https://www.ablanxue.com/OpenidAction!openidjson.action',//自己的服务接口地址
                          method: 'post',
                          header: {
                            'content-type': 'application/x-www-form-urlencoded'
                          },
                          data: { encryptedData: res.encryptedData, iv: res.iv, code: code },
                          success: function (data) {

                            //4.解密成功后 获取自己服务器返回的结果
                            if (data.data.status == 1) {
                              var userInfo_ = data.data.userInfo;
                              console.log(userInfo_)
                            } else {
                              console.log('解密失败')
                            }
                            that.setData({
                              hidden: true
                            })

                          },
                          fail: function () {

                            console.log('系统错误')
                            that.setData({
                              hidden: true
                            })
                          }
                        })










                      },
                      fail: function () {
                        console.log('获取用户信息失败')
                        that.setData({
                          hidden: true
                        })
                      }
                    })






                  } else {
                    console.log('获取用户登录态失败!' + r.errMsg)
                    that.setData({
                      hidden: true
                    })
                  }

                },
                fail: function () {
                  callback(false)
                  that.setData({
                    hidden: true
                  })
  //获取用户信息  
                }
              })
            }
            // 判断是否已授权 
            //已授权
            else {
              console.log("已授权")


              //获取用户信息  
              var code = r.code;//登录凭证
              if (code) {
                //2、调用获取用户信息接口
                wx.getUserInfo({
                  success: function (res) {
                    console.log({ encryptedData: res.encryptedData, iv: res.iv, code: code })
                    //3.解密用户信息 获取unionId
                    //...



                    //3.请求自己的服务器,解密用户信息 获取unionId等加密信息
                    wx.request({
                      url: 'https://www.ablanxue.com/OpenidAction!openidjson.action',//自己的服务接口地址
                      method: 'post',
                      header: {
                        'content-type': 'application/x-www-form-urlencoded'
                      },
                      data: { encryptedData: res.encryptedData, iv: res.iv, code: code },
                      success: function (data) {

                        //4.解密成功后 获取自己服务器返回的结果
                        if (data.data.status == 1) {
                          var userInfo_ = data.data.userInfo;
                          console.log(userInfo_)
                        } else {
                          console.log('解密失败')
                        }
                        that.setData({
                          hidden: true
                        })

                      },
                      fail: function () {

                        console.log('系统错误')
                        that.setData({
                          hidden: true
                        })
                      }
                    })





                  },
                  fail: function () {
                    console.log('获取用户信息失败')
                    that.setData({
                      hidden: true
                    })
                  }
                })
              }
              else {
                console.log('获取用户登录态失败!' + r.errMsg)
                that.setData({
                  hidden: true
                })
              }
 //获取用户信息



              
            }
       //已授权




          }
        })
      }
   
    })


TAGS:小程序获取openid

猜你喜欢


NewHot手机版