【小程序】一文读懂微信小程序登录流程及获取手机号

简介: 【小程序】一文读懂微信小程序登录流程及获取手机号

 image.gif编辑

目录

一、小程序的登录流程

首次登录

再次登录的时候,就要判断存储的session_key是否过期了

二、小程序怎么获取手机号

总结


一、小程序的登录流程

image.gif编辑

首次登录

    1. 调用小程序api接口 wx.login() 获取 临时登录凭证code ,这个code是有过期时间的.
    2. 将这个 code 回传到开发者服务器(就是请求开发者服务器的登录接口,通过凭证进而换取用
    3. 户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)等)
    4. 拿到开发者服务器传回来的会话密钥(session_key)之后,前端需要保存起来.
    wx.setStorageSync('sessionKey', 'value')

    image.gif

    再次登录的时候,就要判断存储的session_key是否过期了

       1. 获取缓存中的session_keywx.getStorageSync('sessionKey')

       2. 果缓存中存在session_key,那么调用小程序api接口 wx.checkSession() 来判断登录态是 否过期,回调成功说明当前 session_key 未过期,回调失败说明 session_key 已过期。登录态过 期后前端需要再调用 wx.login()获取新的用户的code,然后再向开发者服务器发起登录请求.

       3. 一般在项目开发,开发者服务器也会对用户的登录态做过期限制,所以这时在判断完微信服务 器中登录态如果没有过期之后还要判断开发者服务器的登录态是否过期。(请求开发者服务器 给定的接口进行请求判断就好)


    二、小程序怎么获取手机号

    1. 准备一个button组件, button 组件 open-type 的值设置为 getPhoneNumber ,当用户点击并

    同意之后,可以通过 bindgetphonenumber 事件回调获取到动态令牌 code ;

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

    image.gif

    Page({ 
        getPhoneNumber (e) { 
                console.log(e.detail.code) 
                } 
        })

    image.gif

    2. 接着把 code 传到开发者后台,并在开发者后台调用微信后台提供的

    phonenumber.getPhoneNumber 接口,消费 code 来换取用户手机号。每个 code 有效期为5

    钟,且只能消费一次。

    getPhoneNumber: function (e) { 
         var that = this;
        console.log(e.detail.errMsg == "getPhoneNumber:ok"); 
        if (e.detail.errMsg == "getPhoneNumber:ok") { 
            wx.request({ 
                url: 'http://localhost/index/users/decodePhone',
                 data: { encryptedData: e.detail.encryptedData,
                 iv: e.detail.iv, 
                 sessionKey: that.data.session_key, 
                  uid: "", },
                 method: "post", 
                 success: function (res) {
                     console.log(res);
                     }
                  }) 
               }
         }

    image.gif

    注: getPhoneNumber 返回的 code wx.login 返回的 code 作用是不一样的,不能混用.

    注:从基础库 2.21.2 开始,对获取手机号的接口进行了安全升级, 需要用户主动触发才能发起获取

    手机号接口,所以该功能不由 API 来调用,需用 button 组件的点击来触发。另外,新版本接口

    需要提前调用 wx.login 进行登录.


    总结

    本篇文章给大家分享了微信小程序开发过程中用户登录及获取手机号的方法。

    image.gif编辑


    目录
    相关文章
    |
    4月前
    |
    API 数据安全/隐私保护 开发者
    企业微信自动加好友软件,导入手机号批量添加微信好友,python版本源码分享
    代码展示了企业微信官方API的合规使用方式,包括获取access_token、查询部门列表和创建用户等功能
    |
    5月前
    |
    Android开发
    微信加好友脚本自动,手机号自动添加定时,可群聊通讯录添加
    这是一款基于 AutoJS 的微信自动化脚本,适用于 Android 7.0+ 系统,实现定时批量添加好友功能。采用分层设计(主控模块+功能模块+配置模块)
    微信养号脚本,导入手机号自动添加,autojs代码分享
    这段代码实现了基本的微信自动添加好友功能,包括读取手机号文件、启动微信、搜索用户和发送
    企业微信批量加好友脚本,企业微信自动加手机号好友软件,自动同意群发消息自动回复
    这是一款为企业微信设计的自动化营销工具,能够一键批量加好友并自动回复消息。通过模拟操作实现自动化流程,提升网络营销效率。
    |
    8月前
    |
    安全 算法 小程序
    【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
    【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
    535 28
    【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
    |
    6月前
    |
    安全 Go 开发工具
    HarmonyOS5云服务技术分享--手机号登录教程
    本文详细讲解了在HarmonyOS中集成手机号认证功能的全流程。首先分析了手机号认证的优势,如用户友好、安全性强及快速接入。接着介绍了环境准备步骤,包括集成AGC认证SDK、开启手机认证能力及添加必要权限。核心功能实现部分提供了新用户注册、密码登录和验证码登录的代码示例。此外,还涵盖了账号管理技巧,如修改绑定手机号、重置密码等,并提供了避坑指南和扩展能力建议,帮助开发者轻松实现安全高效的认证系统。
    |
    8月前
    |
    小程序
    【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
    【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
    563 1
    【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
    |
    9月前
    |
    小程序
    【01】微信支付商户申请下户到配置完整流程-微信商户申请-资料准备以及提交-微信商户密钥申请-申请+配置完整流程-优雅草卓伊凡
    【01】微信支付商户申请下户到配置完整流程-微信商户申请-资料准备以及提交-微信商户密钥申请-申请+配置完整流程-优雅草卓伊凡
    265 2
    【01】微信支付商户申请下户到配置完整流程-微信商户申请-资料准备以及提交-微信商户密钥申请-申请+配置完整流程-优雅草卓伊凡
    |
    8月前
    |
    小程序 JavaScript 前端开发
    微信小程序开发全流程:从注册到上线的完整指南
    这篇文章详细记录了微信小程序的完整开发到最终上线的每一个步骤。适合对小程序开发感兴趣的个人开发者或希望了解完整流程的学习者,涵盖了云开发、事件绑定、生命周期管理、组件使用等关键内容。
    3588 11
    |
    9月前
    |
    小程序 数据安全/隐私保护 开发者
    【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
    【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
    595 3

    热门文章

    最新文章