首页 > 其他分享 >UNI-APP 获取用户手机号授权与服务器端处理指南

UNI-APP 获取用户手机号授权与服务器端处理指南

时间:2025-01-15 14:10:04浏览次数:1  
标签:code 服务器端 APP 用户 获取 UNI 手机号

  在 UNI-APP 中,获取用户手机号的流程通常涉及到微信小程序的授权机制。以下是实现步骤:

1. 配置小程序权限

  首先,确保在微信小程序的管理后台已经开启了获取用户手机号的权限。

2. 使用 button​ 组件

  在 UNI-APP 中,你可以使用 button​ 组件来触发获取用户手机号的操作。button​ 组件需要设置 open-type​ 为 getPhoneNumber​,并绑定 @getphonenumber​ 事件。

<template>
  <view>
    <button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">获取手机号</button>
  </view>
</template>

<script>
export default {
  methods: {
    async getPhoneNumber(e) {
      if (e.detail.errMsg === 'getPhoneNumber:ok') {
        // 用户点击了允许授权
        const { code } = e.detail;
    
        // 将 code 发送到服务器,服务器通过 code 获取用户手机号
        const res = await this.$http.post('/api/getPhoneNumber', { code });
    
        if (res.data.success) {
          const phoneNumber = res.data.phoneNumber;
          console.log('用户手机号:', phoneNumber);
        } else {
          console.error('获取手机号失败:', res.data.message);
        }
      } else {
        // 用户点击了拒绝授权
        console.error('用户拒绝授权');
      }
    }
  }
}
</script>

3. 服务器端处理

  在服务器端,你需要使用微信提供的 API 来通过 code​ 获取用户的手机号。具体步骤如下:

  1. 获取 access_token​:首先,你需要通过小程序的 appid​ 和 secret​ 获取 access_token​。

    GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
    
  2. 获取用户手机号:使用 access_token​ 和 code​ 来获取用户的手机号。

    POST https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=ACCESS_TOKEN
    

    请求体:

    {
      "code": "CODE_FROM_CLIENT"
    }
    

    响应示例:

    {
      "errcode": 0,
      "errmsg": "ok",
      "phone_info": {
        "phoneNumber": "12345678901",
        "purePhoneNumber": "12345678901",
        "countryCode": "86",
        "watermark": {
          "timestamp": 1630000000,
          "appid": "wx1234567890abcdef"
        }
      }
    }
    

4. 处理响应

  服务器端获取到手机号后,将其返回给前端,前端再进行相应的处理。

注意事项

  • 安全性:手机号是敏感信息,确保在传输和存储过程中进行加密处理。
  • 用户隐私:获取用户手机号需要用户明确授权,确保在用户同意的情况下进行获取。

  通过以上步骤,你可以在 UNI-APP 中实现获取用户手机号的功能。

标签:code,服务器端,APP,用户,获取,UNI,手机号
From: https://www.cnblogs.com/shenhuanjie/p/18672893/uniapp-get-user-mobile-phone-number-authori

相关文章

  • C# 读写App
    C#读写App.config配置文件的方法|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|-------------|-------------|-------......
  • 【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优
    【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升章节内容【01】章节内容【01】vs-code配置flutter环境开发背景优雅草央千澈对本项目的描......
  • sql的join,inner join,union,union all的区别
    JOIN和INNERJOIN:JOIN 是SQL中用于将两个或多个表中的数据根据指定的关联条件组合在一起的操作。INNERJOIN 是 JOIN 的一种,它返回两个表中满足关联条件的行。语法:收起sql SELECTcolumnsFROMtable1JOINtable2ONtable1.column=table2.column;......
  • 服务器端口自动关闭,如何排查和解决?
    关于您提到的服务器端口自动关闭的问题,我们将为您提供详细的解决方案。服务器端口自动关闭可能由多种原因引起,需要逐一排查以确定根本原因并采取相应的解决措施。分析问题原因防火墙规则:服务器上的防火墙(如iptables、ufw)可能会根据预设规则自动关闭某些端口。如果规则配置不......
  • 解密 Apple Vision Pro 的眼睛舒适度调节技术
    如果你在长时间佩戴使用VisionPro后感觉到异常的眼睛疲劳,即便没有观看太多高速运动的画面仍然感觉到眩晕,或者在摘下VisionPro后眼睛需要额外花一点时间才能重新对焦到周边物体,那么你可以尝试手动调整一下这一显示屏距离,以找到最适合自己的屏幕显示效果。【视频Vision......
  • Communication Theory_exp2 MPSK通信系统的设计与性能研究
    目录一、实验目的二、实验原理2-1调制解调原理2-1-1发送端:一组M载波相位调制信号2-1-2接收端:最佳检测器判决方法2-28PSK系统框图三、实验内容3-1设计子函数3-1-18PSK信号生成子函数(对照给出4PSK信号生成子函数)3-1-2添加高斯噪声子函数3-1-3星座图绘制子函数3-......
  • UnityAPI:利器CullingGroup
    https://docs.unity3d.com/Manual/CullingGroupAPI.html这个API非常强大,可以快速的实现自定义的Occlusionculling和Lod系统,并且性能表现极佳。简要原理CullingGroup为了性能考虑,把所有的物体模拟为球形,传入摄像机后,检测球形与相机视窗的交集,通过onStateChanged通知应用......
  • 基于安卓Android 日程日历系统app(源码+LW+部署讲解+数据库+ppt)
    !!!!!!!!!选题不知道怎么选不清楚自己适合做哪块内容都可以免费来问我避免后期給自己答辩找麻烦增加难度(部分学校只有一次答辩机会没弄好就延迟毕业了)会持续一直更新下去有问必答一键收藏关注不迷路源码获取:https://pan.baidu.com/s/1aRpOv3f2sdtVYOogQjb8jg?pwd=jf1d提取码:......
  • uni-app 本地打包
    1.前言打包分为2个部分:App资源替换和打包配置(包名,应用名称,版本号,图标,证书等),目前整包升级存在问题2.配置包名包名怎么获取:包名就是appid,可以通过编辑器或者开发者后台管理中心看到配置包名:文件路径(HBuilder-Integrate-AS\simpleDemo\src\main\assets\data\dcloud_con......
  • 物联网毕设 -- 智能窗帘(STM32+APP+语音识别+MQTT)
    目录 前言一连线图1.原理图2.PCB效果3.实物效果4APP效果5功能概括(1)硬件端(2)APP端(3)云平台使用(阿里云)(需要可以找我获取)(4)演示视频二底层代码使用方式1.使用说明2.下载程序三APP使用方式1下载APP四程序架构及修改(通用) 前言智能窗帘系统通过STM32......