用户在使用小程序时,经常需要授权登录,授权登录的作用是获取用户的基本信息,如头像、昵称以及openid等,openid可用于微信授权手机号、微信支付。

微信授权登录

.xhtml如下,wxLogin为自定义方法

<button open-type="getUserInfo" bindgetuserinfo="wxLogin"></button>

.js如下

// 微信登录
wxLogin (e) {let reqUrl = api // 后台请求接口let signature = e.detail.signaturelet rawData = e.detail.rawDatalet encryptedData = e.detail.encryptedDatalet iv = e.detail.ivlet reqData = {'signature': signature,'rawData': rawData,'encryptedData': encryptedData,'iv': iv}if (e.detail.userInfo) {wx.login({success: (res) => {let code = res.codereqData['code'] = codewx.request({url: reqUrl,method: 'POST',data: reqData,success: (res) => {let resData = res.dataif (resData.code != 1) {console.log('fail')}else {let token = resData.data.datalet openid = resData.data.openidlet session3rd = resData.data.session3rdwx.setStorageSync("token", token)wx.setStorageSync("openid", openid)wx.setStorageSync("session3rd", session3rd)}}})}})}
},

微信授权绑定手机号

.xhtml如下,getPhoneNumber为自定义方法

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>

.js如下

getPhoneNumber (e) {let reqUrl = api // 后台接口let encryptedData = e.detail.encryptedDatalet iv = e.detail.ivlet session3rd = wx.getStorageSync("session3rd") // 由第一步"微信授权"操作后台返回let openid = wx.getStorageSync("openid")         // 由第一步"微信授权"操作后台返回let token = wx.getStorageSync("token")           // 由第一步"微信授权"操作后台返回let reqData = {'encryptedData': encryptedData,'iv': iv,'3rd_session': session3rd,'openid': openid}wx.request({url: reqUrl,header: {'token': token},method: 'POST',data: reqData,success: (res) => {let resData = res.dataif (resData.code !== 1) {console.log('fail')}else {console.log('success')}}})},

值得注意的是:以上代码中的session3rd并不是固定的变量名,具体由后台同事声明,也可能是session_3rdsession_key

小程序 - 微信授权登录 微信授权绑定手机号相关推荐

  1. 微信小程序如何进行登录授权和获取用户信息

    微信小程序如何进行登录授权和获取用户信息

  2. 微信小程序实现用户登录授权java代码

    1.微信官方文档 auth.code2Session | 微信开放文档 2.我们来实现这个登录功能, 直接上完整代码  controller <!-- 工具类-JSONUtil --> & ...

  3. 小程序微信授权登录服务器异常,解决调试腾讯云微信小程序Demo错误“登录失败:调用鉴权服务失败#40029_WEIXIN_CODE_ERR”...

    此文章解决大家有可能遇到的"登录失败:调用鉴权服务失败#40029的问题"~~ 很多人出现上面的问题,那是因为:如果在购买解决方案时,把AppId 和 AppSecret 填写错误 ...

  4. 微信小程序2022最新用户信息授权设置

    微信小程序2022最新用户信息授权设置 微信小程序中 用户信息授权 一直是一个非常重要的功能,它有着提升用户体验.进行用户身份认证.便于开发者进行数据分析等作用. -- 但是用户授权功能涉及到用户隐私 ...

  5. 微信小程序之wx.getLocation再次授权问题解决

    微信小程序之wx.getLocation再次授权问题解决 首先,在page外定义一个公共函数用于发送获取位置的请求 var getLocation = function (that) {wx.getL ...

  6. uniapp微信一键登录微信授权

    前言 现在小程序逐渐成为主流,常用的微信授权登录很重要很常见的一个功能,今天自己总结了一下. 准备工作 1.如果你想自己想试一下这个功能首先你需要有一个开发中的项目并且你在开发成员里面. 2.配置自己 ...

  7. 黯然微信小程序杂记(二):小程序最新版登录并进行缓存模块的实现 附源码

    黯然微信小程序杂记(二):小程序最新版登录进行缓存模块的实现 附源码 一.功能描述 二.mine.wxml界面图片 三.mine.wxml代码 四.mine.wxss代码 五.mine.js代码 六. ...

  8. 微信小程token_微信小程序开发之登录换取token

    本文将带你了解微信小程序开发之登录换取token,希望本文对大家学微信有所帮助 前言:这次主要是介绍些业务逻辑,技术点倒是没有多少.不过在开发中,优秀的编程思路同样是非常值得学习的. 最近小程序可以说 ...

  9. 微信小程序的详细登录(上)

    前段时间发布了一个微信小程序的简单登录,那段时间我一直在忙着项目,有一天,我清闲下来准备进入小程序群里面看一下来着,刚好有人问问题了,我一看这哥们的问题好像是我写的东西啊,我感觉是时候秀一波了,是时候 ...

最新文章

  1. 有状态bean与无状态bean
  2. 安装、设置与启动MySql5.1.30绿色版的方法
  3. 漫画:如何在数组中找到和为 “特定值” 的两个数?
  4. centos pptp+l2tp+radius+mysql+tc限速,安装配置
  5. spring boot 系列之四:spring boot 整合JPA
  6. s3c2440地址分配
  7. crypto——明文攻击
  8. 程序员如何做好技术规划?
  9. Kafka(六)Kafka基本客户端命令操作
  10. 牛根生--蒙牛创业故事
  11. signature=3e4864de0d5dd0316b95f8329f488c7d,一种农机车桥轮毂油封
  12. .net 延时操作_锁、CAS操作和无锁队列的实现
  13. 程序员提高编程能力万无一失的办法
  14. PAT (Basic Level) Practice1023 组个最小数
  15. MFC框架学习:《深入浅出MFC》阅读笔记
  16. tftp 查看服务器文件夹,TFTP服务器的配置
  17. 微信公众号唤起微信支付
  18. Vim插件管理插件Vim-plug
  19. Android 智能机顶盒之蓝牙遥控器开机自动配对
  20. 交互式shell脚本实操

热门文章

  1. 深圳证券交易所关于五种市价委托方式的业务说明
  2. Vue的计算属性computed和监听属性watch
  3. 【GNN应用】金融风控领域
  4. 程序员的插画成长之路并不平坦
  5. VUE基础用法(四)
  6. 《码出高效》学习:TreeMap与红黑树
  7. [总结]Android系统体系结构
  8. 机械祭天法力无边:练习3.6:编写一段程序,使用范围for语句将字符串内的所有字符用X代替。
  9. JAVA新生入学报到管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
  10. 平板时代即将到来,写在即将发布Win8 Surface平板和iPad Mini之际