微信小程序获取手机号流程
小程序中获取手机号前提
小程序需企业认证,才可以获取用户的手机号,个人开发者是不能获取的
哔哔下
官方文档给出需先登录才可获取手机号 传送门
思路为: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目前只能获取经纬度不能逆解析,虽然自己解析方式,但是同时也要调用地图,难道用户每次进小程序还要强行打开地图选择地址才定位吗?多麻烦也不利 ...
随机推荐
- CF505C Mr. Kitayuta, the Treasure Hunter
题目链接 题目 见链接. 题解 知识点:线性dp. 常规的状态 \(dp[i][j]\) 表示为到第 \(i\) 个岛上一步走了 \(j\) 能得到宝藏的最大值,会炸空间.注意到步数是就算从 \(1\ ...
- Python递归遍历目录并删除文件中的前N行
1 import os 2 3 # 遍历目录下的所有文件 4 def check_file(file_path): 5 os.chdir(file_path) 6 print(os.path.absp ...
- Swoole从入门到入土(17)——WebSocket服务器[成员函数与配置选项]
这一节,我们重点了解websocket server的成员函数以及相关的配置选项. 1.成员函数 push:向 WebSocket 客户端连接推送数据,长度最大不得超过 2M. Swoole\WebS ...
- springboot项目使用外置tomcat7部署项目
Springboot使用外置tomcat7部署运行 1.pom修改 2.tomcat底下config下catalina.properties 3.在tomcat的lib文件夹下添加 javax.el- ...
- Jsp+Servlet实现文件上传下载(三)--删除上传文件
接着上一篇讲: Jsp+Servlet实现文件上传下载(二)--文件列表展示点击打开链接 本章来实现一下删除已上传文件,同时优化了一下第一章中的代码. 废话少说,上代码 --------------- ...
- win10 wsl 运行后没有反应
wsl 运行一段时间后执行没有反应, 需要重启LxssManager 管理员模式打开 powshell 找到pid, 结束pid >tasklist /svc /fi "service ...
- C++ 多线程的错误和如何避免(6)
加锁的临界区要尽可能的紧凑和小型 问题分析: 当一个线程在临界区内执行时,所有其他试图进入临界区的线程都会被阻止,所以我们应该保证临界区尽可能的小.比如, void CallHome(string m ...
- Programming Abstractions in C阅读笔记:p293-p302
<Programming Abstractions in C>学习第73天,p293-p302总结,总计10页. 一.技术总结 1.时间复杂度 (1)quadratic time(二次时间 ...
- 彻底搞懂Java中的Runnable和Thread
写在前面 今天在阅读ThreadPoolExecutor源码的时候觉得有些地方理解起来似是而非,很别扭!最后才猛然发现,原来是我自己的问题:没有真正理解Runnable和Thread的含义! 我之前对 ...
- linux7/8版本的docker-ce安装(2022/5/27亲测可行)
centos7 # 先配阿里源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup curl - ...