微信小程序获取用户手机号方法

  1. 首先在 app.json 页面添加一个新的用户授权页面,放在首页index的后面即可

  2. 在 app.js 页面中编写如下代码:
    这里包含了获取用户信息的相关代码

//app.js
import request from './utils/request.js';
// const app = getApp();
App({onLaunch: function () {if (this.globalData.phonenumber = '' || this.globalData.phonenumber.length < 11) {if (wx.getStorageSync('tel').length < 11) {wx.redirectTo({url: '/pages/sqy/sqy', // 该 url 就是第一条中新增的用户授权页地址})}}console.log(this.globalData.phonenumber);// // 展示本地存储能力// var logs = wx.getStorageSync('logs') || []// logs.unshift(Date.now())// wx.setStorageSync('logs', logs)// // 登录// wx.login({//   success: res => {//     // 发送 res.code 到后台换取 openId, sessionKey, unionId//     console.log(res)//     wx.request({//       url: 'https://hs2.ala-cloud.cn/api/wx_getopenid1.php',//       method: 'POST',//       header: {//         "Content-Type": "application/x-www-form-urlencoded"//       },//       data: {//         code: res.code//       },//       success: re => {//         console.log(re)//         wx.setStorageSync('openid', re.data.res)//       }//     })//   }// })// // 获取用户信息// wx.getSetting({//   success: res => {//     if (res.authSetting['scope.userInfo']) {//       // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框//       wx.getUserInfo({//         success: res => {//           // 可以将 res 发送给后台解码出 unionId//           this.globalData.userInfo = res.userInfo//           // console.log(res.userInfo)//           // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回//           // 所以此处加入 callback 以防止这种情况//           if (this.userInfoReadyCallback) {//             this.userInfoReadyCallback(res)//           }//         }//       })//     }//   }// })},globalData: {userInfo: null,phonenumber: '',},req: new request()
})
  1. 编辑用户授权页的wxml
 <button  wx:if="{{!phone}}"  open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>
  1. 编辑用户授权页的wxss

  2. 编辑用户授权页的js

const app = getApp();
Page({data: {},onLoad: function () {},getPhoneNumber: function (e) {if (e.detail.errMsg == "getPhoneNumber:fail user deny") return;//用户允许授权console.log("Iv", e.detail.iv);console.log(e.detail.encryptedData);wx.showLoading()var self = this//1. 调用登录接口获取临时登录codewx.login({success: res => {if (res.code) {//2. 访问登录凭证校验接口获取session_key、openidwx.request({url: "https://hs2.ala-cloud.cn/api/wx_getopenid.php",data: {'code': res.code,},method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECTheader: {'content-type': 'application/json'}, // 设置请求的 headersuccess: function (data) {console.log("data", data)if (data.statusCode == 200) {//3. 解密wx.request({url: 'https://hs2.ala-cloud.cn/api/getsjh.php',data: {'encryptedData': e.detail.encryptedData,'iv': e.detail.iv,'session_key': data.data.res.session_key},method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECTheader: {'content-type': 'application/json'}, // 设置请求的 headersuccess: function (data2) {wx.hideLoading()// console.log("data2", data2)if (data2.statusCode == 200 && data2.data.Message.phoneNumber) {self.setData({phone: data2.data.Message.phoneNumber})app.globalData.phonenumber = data2.data.Message.phoneNumberconsole.log(getApp().globalData.phonenumber);wx.setStorageSync('tel', app.globalData.phonenumber)}if (app.globalData.phonenumber.length >= 11) {wx.switchTab({url: '/pages/index/index',})} else {wx.redirectTo({url: '/pages/sqy/sqy',})}},fail: function (err) {console.log(err);}})}},fail: function (err) {console.log(err);}})}}})}
})

微信小程序获取用户手机号授权方法相关推荐

  1. 微信小程序获取用户手机号授权

    1.获取微信用户绑定的手机号,需要先在主页面调用wx.login接口 2.使用button按钮触发授权弹窗 <button open-type="getPhoneNumber" ...

  2. 微信小程序python解析获取用户手机号_微信小程序获取用户手机号

    获取微信用户绑定的手机号,需先调用wx.login接口. 小程序获取code. 后台得到session_key,openid. 组件触发getPhoneNumber 因为需要用户主动触发才能发起获取手 ...

  3. springboot 微信小程序获取用户手机号 最新方式

    springboot 微信小程序获取用户手机号 直接开整!!! 现在有两种方式获取微信用户的手机号 第一种 这种方式比较旧了,也能获取到手机号,但不建议使用. 1.前端调用wx.login()(官方的 ...

  4. 微信小程序获取用户手机号--官方示例

    微信小程序获取用户手机号–官方示例 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNu ...

  5. 微信小程序获取用户手机号存数据库,前后端都有《Java后台版 》

    开发这个功能的时候走了很多弯路磨了很多时间,我发一下我自己用的来帮助大家 流程图 前端 index.wxml <view>我的首页内容</view><button cla ...

  6. 微信小程序获取用户手机号,后端php实现 (前后端完整代码附效果图)

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 如图: 小程序代码: 第一步,登录,获取用户的 session_key: 第二步,点击按钮调用 bindget ...

  7. 微信小程序python解析获取用户手机号_微信小程序获取用户手机号详解

    最近在做一款微信小程序,需要获取用户手机号,具体步骤如下: 流程图: 1.首先,客户端调用wx.login,回调数据了包含jscode,用于获取openid(用户唯一标识)和sessionkey(会话 ...

  8. 微信小程序获取 自己手机号(方法)

    1.小程序获取自己的手机号必须先获取session_key (需要appid,secret,js_code=>登录所得,grant_type=authorization_code.这几个参数一起 ...

  9. 微信小程序获取用户信息“授权失败”场景的处理

    很多的时候我们在处理小程序功能的时候需要用户获取用户信息,但是呢为了信息安全,用户不授权导致授权失败场景:但是小程序第二次不在启动授权信息弹层,为了用户体验,可以用以下方式处理: function i ...

最新文章

  1. Ubuntu 查看隐藏的文件
  2. CSS3透明属性opacity
  3. yii2 windows 安装
  4. 《浪潮之巅》九、十章笔记
  5. 屏蔽 iOS 系统自动更新
  6. 如果拿到私钥的话,https会被攻击吗?
  7. npm dev run 报错
  8. leetcode214. 最短回文串
  9. 运行Hadoop自带的wordcount单词统计程序
  10. 35-46集 中心极限定理、置信区间
  11. jquery $.get()、$.ajax()与后台servlet交互方法
  12. IDEA自动勾选显示类型(specify type)
  13. python添加模块
  14. html 正方形代码,SVG rect
  15. 基于Python实现自动慢查询分析,邮件自动发送
  16. django 模型-----模型查询
  17. BRVAH的基本使用
  18. 做微信公众号淘宝客返利系统必须要知道3件事儿
  19. 差分技术:LVDS(低电压差分信号)
  20. 2019年9月Leetcode每日训练日志

热门文章

  1. 阿里达摩院python教程真的吗_阿里达摩院推荐的最新400集python教程,据说懂中文就能上手...
  2. 向量的点乘与叉乘概念理解以及C++代码实现
  3. Python办公自动化实战 04 | Python-docx库:Python与Word的完美结合_综合案例快速上手
  4. YYModel高性能 iOS数据模型转换
  5. python偷回灭霸的宝石_Python+PyQt5实现灭霸响指功能
  6. sqlserver配置管理器不显示服务器,sql 2008配置管理器的服务器无法启动(待)
  7. poj3370Halloween treats(鸽笼原理)
  8. 网站安全公司 实习学习经验感慨
  9. TDengine Error: Unable to resolve FQDN
  10. bebian10主机名,FQDN修改