首页 > 编程语言 >UniApp小程序开发如何获取用户手机号

UniApp小程序开发如何获取用户手机号

时间:2023-04-12 11:26:30浏览次数:38  
标签:UniApp code 手机号 程序开发 获取 session key uni

我们在小程序开发的时候经常遇到这种需求,需要在账号登陆的时候进行手机号获取,并使用手机号登陆。

本文讲述如何在前后端分离的状态下获取手机号

   查阅官网文档不难发现我们需要使用uni.login()这个方法来获取用户的code,获取用户的openid和session_key是需要后端去发请求的,因为需要调取  https://api.weixin.qq.com/sns/jscode2session  这个接口来获取,官方说明不可以把这个域名作为白名单配置需要后端去发送请求。所以我们前端进行uni.login()获取code之后发送给后端让后端去结合四个参数(appid、secret、js_code、grant_type)来发送请求获取session_key和openid

话不多说放代码

uni.login({
    provider: 'weixin', //使用微信登录
    success: function(loginRes) {
           console.log(loginRes.code)
           } })

这个里面获取到的loginRes.code就是我们需要的code,我们将code传输给后端就可以了。

后端只需要返回一个session_key我们前端就可以获取到手机号密文

html:<button open-type="getPhoneNumber" size="mini" @getphonenumber="getPhoneNumber">获取手机号</button>

函数://获取手机号 getPhoneNumber(e) { if (e.detail.errMsg == "getPhoneNumber:ok") { // 用户允许或去手机号 uni.request({   url: "这里请求的地址是后端进行解密的接口", method: "POST", header: { 'haneton-wildfire': 请求头 }, data: { encData: e.detail.encryptedData, iv: e.detail.iv, key: this.session_key,  },     success: (res) => {     console.log(res) } }) } else {         alert("用户取消了授权") } }

以上是获取手机号授权并进行解密的函数,我们需要将之前后端返回的session_key保存并在这里携带发送请求,这个方法会自动获取密文等信息

 

以上是前后端分离前端获取手机号的方法和步骤欢迎指正

标签:UniApp,code,手机号,程序开发,获取,session,key,uni
From: https://www.cnblogs.com/shengjiangMock/p/17309121.html

相关文章

  • 微信小程序开发——getLocation:fail the api need to be declared in the requiredPr
    getLocation:failtheapineedtobedeclaredintherequiredPrivateInfosfieldinapp.json/ext.json异常解析:app.json中没配置requiredPrivateInfos参数,按下边示例代码配置即可。示例代码:{..."permission":{"scope.userLocation":{"desc&qu......
  • 选择小程序开发公司的注意要点
    选择小程序开发公司时,需要注意以下几点:技术能力:要了解小程序开发公司的技术能力,比如其开发小程序的技术架构和经验,可以通过调查、访谈等方式了解小程序开发公司能力是否符合预期。技术支持:小程序开发公司的技术支持比较重要,它能够确保程序的开发和运行,而且能够根据客户的要......
  • uniapp小程序使用高德地图api实现路线规划
    uniapp小程序使用高德地图api实现路线规划 Postedon 2023-01-1011:18  书中枫叶 阅读(1387) 评论(3)  编辑  收藏  举报路线规划简介路线规划常用于出行路线的提前预览,我们提供4种类型的路线规划,分别为:驾车、步行、公交和骑行,满足各种的出行场景。高德开放......
  • 小程序开发 登入与授权手机号码
    前言  此篇博客讲解小程序的登入功能与绑定手机号码功能登入功能登入一般在onLoad生命周期中处理请求js/***检查登入token*/checkLogin(){lettoken=wx.getStorageSync('token')if(token==null){wxlogin()......
  • 【小程序】微信小程序开发流程
    目录一、概述二、整体开发架构三、注册账号和安装开发工具1)注册账号1、注册方法2、选择注册的帐号类型3、填写邮箱和密码4、激活邮箱5、填写主体信息6、登录后台补充信息2)安装开发工具3)快速开始1、云开发和传统开发的区别2、云开发API分类3、AppID获取4、快速开始四、小程序登......
  • uniapp如何支持npm下载
    首先一个正常的Nodejs项目都会有package.json简单的说,在早期的前端领域中其实没有组件化,模块化这种概念,直到nodejs中引入了模块,它认为一个模块就是一个库或者一个框架(比如文件处理模块fs模块),当模块化出现之后,为了管理这些模块,或者说为了描述这个模块,package.json应运而生,至于......
  • uniapp如何下载video.js
    在uni-app中引入video.js有两种方式1.通过cdn的方式引入(不建议,当这个cdn失效时,你的业务可能就崩了)<linkhref="https://cdnjs.cloudflare.com/ajax/libs/video.js/7.3.0/video-js.min.css"rel="stylesheet"><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/vide......
  • uniapp生命周期
    应用生命周期(onLaunch等)页面生命周期(onLoad,onShow等)组件生命周期(组件生命周期是vue的生命周期,没有onLoad,onShow这些页面生命周期)......
  • 小程序开发系统的四个显著特点,让你日进斗金
     在当下的时代,小程序开发系统在我们的生活中扮演着一个非常重要的角色,可以极大程度地满足我们的消费需求,让许多商家纷纷加入其中。那么它有什么特点呢?今天名锐讯动为大家介绍小程序开发系统的四个显著特点。 1.成本低。对于新手以及一些成本预算不足的人来说,开发小程序需要付......
  • 小程序开发 JSON转换的使用
    前言  此篇博客讲解小程序的JSON使用,因为JavaScript与JSON泛用性太大。初学者很容易在JSON的使用上困惑。 字符串转JSON请注意,下面的字符串json是带引号的。jsonTest(){letjsonString="{\"id\":\"1\",\"name\":\"测试JSON\"}";letdata......