微信小程序获取手机号流程
小程序中获取手机号前提
小程序需企业认证,才可以获取用户的手机号,个人开发者是不能获取的
哔哔下
官方文档给出需先登录才可获取手机号 传送门
思路为:login登录获取code-->code传给后台-->后台根据code获取sessionKey
前台通过触发获取手机号事件得到加密数据-->传给后台,后台通过之前获取的
sessionKey来解密,并将数据返回给前台
注意项
code传给后台时后台需去访问官网给的接口去检验 传送门
撸码
getPhoneNumber: function (e) {
let _this = this;
if (e.detail.errMsg == "getPhoneNumber:ok") {
//校验是否过期
wx.checkSession({
success: function () {
// session_key 未过期,并且在本生命周期一直有效
_this.gettel(e);//获取手机号
},
fail: function () {
// session_key 已经失效,需要重新执行登录流程
wx.login({
success: function (res) {
wx.request({
url: 'xxxxxx',
method: 'post',
data: {
code: res.code
},
header: {
'Content-Type': 'application/x-www-form-urlencoded'
},
success: function (r) {
_this.gettel(e);//获取手机号
},
fail: function (err) {
console.log("登录失败");
console.log(err);
}
})
}
})
}
})
} else {
wx.showModal({
title: '提示',
content: '需获取信息才可查看历史预约',
})
}
},
gettel: function (e) {
let _this = this;
let iv = e.detail.iv;
let encryptedData = e.detail.encryptedData;
wx.request({
url: 'xxxxxxxxxxxxxxxx',
method: 'post',
data: {
iv: iv,
encryptedData: encryptedData
},
header: {
'Content-Type': 'application/x-www-form-urlencoded'
},
success: function (res) {
console.log(res);//手机号在这里面哦
<!--let item = JSON.parse(res.data.data);-->
},
fail: function (err) {
console.log(err);
}
})
}
在哔哔下
wx.login首次登录我写在需要获取手机号时的page中onload事件中
因为login返回的code有时效,所以在需要的时候在调用
微信小程序获取手机号流程的更多相关文章
- 微信小程序获取手机号
wxml 代码: <!-- 授权 --> <button type="primary" open-type="getUserInfo" bin ...
- 微信小程序后端开发流程
微信小程序后端开发流程根据官网总结为两个步骤 1.前端调用 wx.login 返回了code,然后调用wx.getUserInfo获取到用户的昵称 头像 2.服务端根据code去微信获取openid, ...
- SpringCloud微服务实战——搭建企业级开发框架(五十二):第三方登录-微信小程序授权登录流程设计和实现
在前面的设计和实现中,我们的微服务开发平台通过JustAuth来实现第三方授权登录,通过集成公共组件,着实减少了很多工作量,大多数的第三方登录直接通过配置就可以实现.而在第三方授权登录中,微信小程 ...
- C# 微信小程序获取openid sessionkey
项目介绍 1.微信小程序获取openid和session_key 2.后台使用C#开发 项目流程 准备工作 1 获取appid 1.1 下载微信web开发工具 https://developers.w ...
- .Net之微信小程序获取用户UnionID
前言: 在实际项目开发中我们经常会遇到账号统一的问题,如何在不同端或者是不同的登录方式下保证同一个会员或者用户账号唯一(便于用户信息的管理).这段时间就有一个这样的需求,之前有个客户做了一个微信小程序 ...
- 微信小程序登入流程
微信小程序登入流程 一.首先前端先传code去后端 wx.login({ success(res) { if (res.code) { //发起网络请求 wx.request({ url: app.g ...
- 微信小程序-获取经纬度
微信小程序-获取经纬度 最近公司新功能 要求在外的市场人员 发送位置信息回来. 用的还是微信小程序开发.... 微信小程序 提供一个接口 getLocation 这个接口反回来的位置 相对实际位置 相 ...
- 微信小程序-获取当前城市位置及再次授权地理位置
微信小程序-获取当前城市位置 1. 获取当前地理位置,可通过wx.getLocation接口,返回经纬度.速度等信息; 注意---它的默认工作机制: 首次进入页面,调用该api,返回用户授权结果,并保 ...
- 微信小程序获取Access_token和页面URL生成小程序码或二维码
1.微信小程序获取Access_token: access_token具体时效看官方文档. using System; using System.Collections.Generic; using ...
- [微信小程序] 微信小程序获取用户定位信息并加载对应城市信息,wx.getLocation,腾讯地图小程序api,微信小程序经纬度逆解析地理信息
因为需要在小程序加个定位并加载对应城市信息 然而小程序自带api目前只能获取经纬度不能逆解析,虽然自己解析方式,但是同时也要调用地图,难道用户每次进小程序还要强行打开地图选择地址才定位吗?多麻烦也不利 ...
随机推荐
- NC19857 最后的晚餐(dinner)
题目链接 题目 题目描述 **YZ(已被和谐)的食堂实在是太挤辣!所以Apojacsleam现在想邀请他的一些好友去校外吃一顿饭,并在某酒店包下了一桌饭. 当Apojacsleam和他的同学们 ...
- sensitive-word-admin v1.3.0 发布 如何支持敏感词控台分布式部署?
拓展阅读 sensitive-word-admin v1.3.0 发布 如何支持分布式部署? sensitive-word-admin 敏感词控台 v1.2.0 版本开源 sensitive-word ...
- PHP验证码识别实例
PHP验证码识别实例 PHP验证码识别实例,识别的过程包括对图像的二值化.降噪.补偿.切割.倾斜矫正.建库.匹配,最后会提供实例代码,能够直接运行识别. 简述 要识别的验证码相对比较简单,没有粘连字符 ...
- Linux中作业控制命令
开门见山,最近.NET劝退师要在linux上写些长时间运行的脚本,获取Azure BlobStorage存储的数据. 记录一下Linux中后台执行作业的命令. Linux作业 作业(Job)是shel ...
- pikachu sql inject 宽字节注入
宽字节注入原理 什么是宽字节? 如果一个字符的大小是一个字节的,称为窄字节: 如果一个字符的大小是两个字节的,成为宽字节: 像GB2312.GBK.GB18030.BIG5.Shift_JIS等这些编 ...
- [WEB安全] XSS攻击防御 Vue
一.概念 XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序. 这些恶意网页程序通常是JavaScript,但实际上也可以 ...
- Python全栈面试题及知识点总结
Python全栈面试题 Python全栈阶段总结:https://github.com/HkwJsxl/PythonFullStack/tree/master/Notes Python基础 基础 逻辑 ...
- 名校AI课推荐 | MIT6.S191《深度学习导论》
"连续开设5年,对新手友好.易于上手,参加课程的多数学生来自非计算机科学领域--" 推荐一门AI课程--MIT官方深度学习入门课程6.S191<深度学习导论(2022)> ...
- 【Azure 服务总线】如何批量删除Azure Service Bus中的Topics(数量较多,需要过滤后批量删除)
问题描述 Azure Service Bus 的门户操作页面上,是否可以批量删除其中的Topics呢? 问题解答 Azure Service Bus门户或Service Bus Explorer工具没 ...
- 【Azure Redis 缓存 Azure Cache For Redis】Azure Redis删除 TLS 1.0 和 1.1的计划及问题
问题描述 Azure Redis 正式关闭TLS1.0和1.1关闭的时间 根据文档描述Azure Redis阶段2我们将停止支持 TLS 1.1 和 TLS 1.0,暂时计划 2020 年 12 月 ...