微信小程序获取用户手机号授权方法
微信小程序获取用户手机号方法
首先在 app.json 页面添加一个新的用户授权页面,放在首页index的后面即可
在 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()
})
- 编辑用户授权页的wxml
<button wx:if="{{!phone}}" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>
编辑用户授权页的wxss
编辑用户授权页的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.获取微信用户绑定的手机号,需要先在主页面调用wx.login接口 2.使用button按钮触发授权弹窗 <button open-type="getPhoneNumber" ...
- 微信小程序python解析获取用户手机号_微信小程序获取用户手机号
获取微信用户绑定的手机号,需先调用wx.login接口. 小程序获取code. 后台得到session_key,openid. 组件触发getPhoneNumber 因为需要用户主动触发才能发起获取手 ...
- springboot 微信小程序获取用户手机号 最新方式
springboot 微信小程序获取用户手机号 直接开整!!! 现在有两种方式获取微信用户的手机号 第一种 这种方式比较旧了,也能获取到手机号,但不建议使用. 1.前端调用wx.login()(官方的 ...
- 微信小程序获取用户手机号--官方示例
微信小程序获取用户手机号–官方示例 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNu ...
- 微信小程序获取用户手机号存数据库,前后端都有《Java后台版 》
开发这个功能的时候走了很多弯路磨了很多时间,我发一下我自己用的来帮助大家 流程图 前端 index.wxml <view>我的首页内容</view><button cla ...
- 微信小程序获取用户手机号,后端php实现 (前后端完整代码附效果图)
微信小程序开发交流qq群 173683895 承接微信小程序开发.扫码加微信. 如图: 小程序代码: 第一步,登录,获取用户的 session_key: 第二步,点击按钮调用 bindget ...
- 微信小程序python解析获取用户手机号_微信小程序获取用户手机号详解
最近在做一款微信小程序,需要获取用户手机号,具体步骤如下: 流程图: 1.首先,客户端调用wx.login,回调数据了包含jscode,用于获取openid(用户唯一标识)和sessionkey(会话 ...
- 微信小程序获取 自己手机号(方法)
1.小程序获取自己的手机号必须先获取session_key (需要appid,secret,js_code=>登录所得,grant_type=authorization_code.这几个参数一起 ...
- 微信小程序获取用户信息“授权失败”场景的处理
很多的时候我们在处理小程序功能的时候需要用户获取用户信息,但是呢为了信息安全,用户不授权导致授权失败场景:但是小程序第二次不在启动授权信息弹层,为了用户体验,可以用以下方式处理: function i ...
最新文章
- Ubuntu 查看隐藏的文件
- CSS3透明属性opacity
- yii2 windows 安装
- 《浪潮之巅》九、十章笔记
- 屏蔽 iOS 系统自动更新
- 如果拿到私钥的话,https会被攻击吗?
- npm dev run 报错
- leetcode214. 最短回文串
- 运行Hadoop自带的wordcount单词统计程序
- 35-46集 中心极限定理、置信区间
- jquery $.get()、$.ajax()与后台servlet交互方法
- IDEA自动勾选显示类型(specify type)
- python添加模块
- html 正方形代码,SVG rect
- 基于Python实现自动慢查询分析,邮件自动发送
- django 模型-----模型查询
- BRVAH的基本使用
- 做微信公众号淘宝客返利系统必须要知道3件事儿
- 差分技术:LVDS(低电压差分信号)
- 2019年9月Leetcode每日训练日志
热门文章
- 阿里达摩院python教程真的吗_阿里达摩院推荐的最新400集python教程,据说懂中文就能上手...
- 向量的点乘与叉乘概念理解以及C++代码实现
- Python办公自动化实战 04 | Python-docx库:Python与Word的完美结合_综合案例快速上手
- YYModel高性能 iOS数据模型转换
- python偷回灭霸的宝石_Python+PyQt5实现灭霸响指功能
- sqlserver配置管理器不显示服务器,sql 2008配置管理器的服务器无法启动(待)
- poj3370Halloween treats(鸽笼原理)
- 网站安全公司 实习学习经验感慨
- TDengine Error: Unable to resolve FQDN
- bebian10主机名,FQDN修改