微信小程序授权登录(含获取基本信息及绑定的手机号)

这篇具有很好参考价值的文章主要介绍了微信小程序授权登录(含获取基本信息及绑定的手机号)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、授权获取微信个人信息

wx.getUserProfile({
  desc: '展示用户信息',
  success: (res) => {
    this.setData({
      nickName: res.userInfo.nickName,
      avatarUrl: res.userInfo.avatarUrl
    })
  },
  fail: res => {
    wx.showToast({
      title: '您已拒绝授权,请重新点击并授权',
      icon:'none'
    })
  }
})

2、调用wx.login()获取临时登录凭证code

wx.login({
	success: res => {
	   this.setData({
	      jsCode: res.code
	   })
  }
})

3、用code调用接口换取用户唯一标识openId、用户在微信开放平台账号下的唯一标识unionId和会话密钥session_key
(1)前端获取

wx.request({
//微信开发者工具勾选-不校验合法域名
	url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appId + '&secret=' + secret + '&js_code=' + code + '&grant_type=authorization_code',
	data:{},
	header:{
	  'content-type':'json'
	},
	success:function(res) {
	  console.log(res);
	}
})

注意点:正常开发中不会通过这种方法获取,会通过后台获取调用微信公众平台接口获取openid,为了保护一些敏感信息如appid,secret密钥不被泄露。前端可以用来在测试中使用从而达到效果。
(2)调用后台接口获取

getOpenId({jsCode:this.data.jsCode}).then(res => {
  if (res.data.code === 1) {
    this.setData({
       openid: res.data.data.openid,
       sessionKey: res.data.data.sessionKey,
       unionid: res.data.data.unionid
     })
  }
})

4、授权获取手机号
(1)使用button按钮触发授权弹窗

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号码</button>
getPhoneNumber(e){
	console.log(e.detail.iv);//加密算法的初始向量
	console.log(e.detail.encryptedData);//完整用户信息的加密数据
	console.log(e.detail.code);//手机号获取凭证
}

(2)通过参数encryptedDataivsessionKey或者是codesessionKey请求后端接口,后端进行解密然后返回用户手机号
注意:如果通过code来获取,用微信开发者工具测试的时候,可能会显示不出code,这是调试基础库的原因,在真机调试上不会出现问题。本地调试的时候将调式基础库修改为2.22.1版本即可。
微信小程序授权登录(含获取基本信息及绑定的手机号)

常见的报错信息如下:getPhoneNumber:fail no permission

微信小程序授权登录(含获取基本信息及绑定的手机号)

说明没有进行微信认证

问题描述及相关讨论: https://developers.weixin.qq.com/community/develop/doc/000604480f0470b458364596051800

登录小程序后台:微信公众平台,找到设置中的基本设置,在基本信息中有微信认证

关于认证的费用问题:

1、独立申请的小程序账号认证费用是只收取一次300元永久认证费用,第二年以后每年都不会收取认证费用。因为小程序账号认证不需要年审。
2、如果是通过微信公众号注册认证的小程序账号绑定了公众号,是每年需要收取微信公众号的认证费用,也是不收取小程序账号的认证费用。

5、绑定微信
只需授权然后使用获取的openidunionidsessionKey调用后端接口文章来源地址https://www.toymoban.com/news/detail-493536.html

wx.getUserProfile({
  desc: '展示用户信息',
  success: (res) => {
    let data = {}
    data.openid = this.data.openid
    data.unionid = this.data.unionid
    data.sessionKey = this.data.sessionKey
    miniBind(data).then(res => {
      if (res.data.code === 1) {
        wx.showToast({
          title: '授权成功!'
        }) 
      } else {
        wx.showToast({
          icon: "none",
          title: res.data.msg,
        })
      }
    })
  }
})

到了这里,关于微信小程序授权登录(含获取基本信息及绑定的手机号)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包