Uniapp如何获取用户手机号?

                          发布时间:2024-05-21 12:04:53
                          内容大纲:

                          1. Uniapp获取用户手机号的必要性

                          2. Uniapp获取用户手机号的方法

                          3. 小程序获取用户手机号

                          4. Uniapp获取用户手机号的注意事项

                          Uniapp获取用户手机号的必要性

                          在开发Uniapp应用时,获取用户手机号可以帮助我们在应用中实现更多的功能,比如身份验证、用户注册、短信验证等。而且随着智能化时代的到来,越来越多的应用需要用户的手机号来实现个性化推广,提升用户体验。

                          Uniapp获取用户手机号的方法

                          Uniapp如何获取用户手机号?

                          在Uniapp中获取用户手机号需要使用到小程序的API,在uni-app中也有对应的API可以使用。以下是获取用户手机号的基本流程:

                          1. 小程序需要在app.json中写入以下代码:

                          "permission": {
                              "scope.userInfo": {
                                  "desc": "获取用户信息,可以看到你的头像和昵称"
                              },
                              "scope.userLocation": {
                                  "desc": "你的位置信息将用于小程序位置接口的效果展示"
                              },
                              "scope.userLocationBackground": {
                                  "desc": "小程序后台持续运行中,即使没有启用定位,也可收到位置消息推送"
                              },
                              "scope.address": {
                                  "desc": "获取收货地址"
                              },
                              "scope.invoiceTitle": {
                                  "desc": "获取发票抬头"
                              },
                              "scope.invoice": {
                                  "desc": "获取发票信息"
                              },
                              "scope.werun": {
                                  "desc": "微信运动步数"
                              },
                              "scope.record": {
                                  "desc": "录音功能"
                              },
                              "scope.writePhotosAlbum": {
                                  "desc": "保存到相册"
                              },
                              "scope.camera": {
                                  "desc": "摄像头"
                              },
                              "scope.phoneNumber": {
                                  "desc": "获取手机号"
                              }
                          }

                          2. 在uni-app中引入wx对象,使用其API即可:

                          wx.login({
                              success:function (res){
                                  wx.getUserInfo({
                                      success:function (res){
                                          console.log(res)
                                      }
                                  })
                              }
                          })

                          3. 调用getPhoneNumber方法,来获取用户手机号码。具体代码示例如下:

                          wx.login({
                              success: function(res) {
                                  wx.request({
                                        // 请求服务端,获取密钥等参数
                                      success: function(res) {
                                          wx.getUserInfo({
                                              success: function(res) {
                                                  wx.checkSession({
                                                      success: function() {
                                                          // 获取到加密数据后,解密获取手机号
                                                            wx.request({  
                                                                          url:"https://服务器域名/wxapp/decryptPhoneNumber",  
                                                                          data:{
                                                                              sessionKey:sessionKey,//服务端的sessionKey,需要从服务端获取
                                                                              iv: res.iv,//从getPhoneNumber方法中获取
                                                                              encryptedData: res.encryptedData//从getPhoneNumber方法中获取
                                                                          },  
                                                                          header: {  
                                                                            'content-type': 'application/json'  
                                                                          },  
                                                                          success: function (res) {  
                                                                             console.log(res.data)
                                                                          }  
                                                                   }) 
                                                      },
                                                      fail: function() {
                                                            // session_key 已经失效,需要重新执行登录流程
                                                          wx.login({
                                                              success: function(res) {
                                                                 console.log(res);
                                                              }
                                                          });
                                                      }
                                                  });
                                              }
                                          });
                                      }
                                  });
                              }
                          });

                          小程序获取用户手机号

                          小程序获取用户手机号需要使用到API:wx.login()和wx.getUserInfo():

                           wx.login({
                              success: function(res) {
                                  wx.getUserInfo({
                                      success: function(res) {
                                          console.log(res)
                                      }
                                  })
                              }
                          })

                          然后调用getPhoneNumber方法来获取手机号码。

                          Uniapp获取用户手机号的注意事项

                          Uniapp如何获取用户手机号?

                          1. 用户必须已经授权获取手机号

                          2. 获取到的手机号是加密的,需要在服务端进行解密

                          3. 在使用开放数据接口时,需要在小程序管理后台中进行设置,并且需要获取到对应的appid和appsecret

                          4. 在获取用户手机号时需要注意用户隐私,尽量在获取时提示用户授权并保障用户信息的安全

                          以上是Uniapp获取用户手机号的所有内容,希望对大家有所帮助。

                          分享 :
                            author

                            tpwallet

                            TokenPocket是全球最大的数字货币钱包,支持包括BTC, ETH, BSC, TRON, Aptos, Polygon, Solana, OKExChain, Polkadot, Kusama, EOS等在内的所有主流公链及Layer 2,已为全球近千万用户提供可信赖的数字货币资产管理服务,也是当前DeFi用户必备的工具钱包。

                              相关新闻

                              如何将火币提币到imToken
                              2024-06-23
                              如何将火币提币到imToken

                              内容大纲: 1. 火币提币到imToken2.0的步骤2. 常见的提币问题及解决方法 a. 提币到imToken2.0失败怎么办? b. 被骗了!转账...

                              imToken 2.0的全名是什么?
                              2024-03-05
                              imToken 2.0的全名是什么?

                              imToken 2.0的全名是“imToken 2.0 International Edition”。imToken是一款基于区块链技术的数字钱包应用,它支持以太坊和其他...

                              升级到im3.0?如何升级EO
                              2024-04-03
                              升级到im3.0?如何升级EO

                              为什么要升级EOS到IM3.0? IM3.0是EOS系统的最新版本,有许多新功能和改进的体验。IM3.0提供更快的交易速度,更高级的...

                              如何在imtoken2.0中转账IOS
                              2024-02-13
                              如何在imtoken2.0中转账IOS

                              什么是imtoken2.0? imToken2.0是一款基于以太坊的区块链钱包,支持众多主流数字资产、DApp管理和交易功能,是一个功能强...