微信小程序手机号解析获取

本文介绍了两种在微信小程序中解析手机号的方法。首先通过wx.login获取code,然后利用appid和secret从腾讯服务器获取session_key。接着,使用encryptedData和iv进行解密。第一种方法是在前端使用js直接解析,涉及WXBizDataCrypt.js组件;第二种方法是将数据传给后端,通过Java代码进行解析。提供了相关资源链接和参考文章。
摘要由CSDN通过智能技术生成

 

 

我使用了两种方式,分享出来,新人练手,不喜勿喷。一种是通过js方式直接解析,一种是传输给后台通过java进行解析。关键参数三个encryptedData,iv,session-key。

1.通过wx.login,获取res.code,将其发送给腾讯服务器,获取session_key

//app.js里面
App({
  onLaunch: function () {
    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)
    // 登录
    wx.login({
      success: res => {
       // 发送 res.code 到后台换取 openId, sessionKey, unionId
        if (res.code) {
          //发起网络请求
          wx.request({

            url: 'https://api.weixin.qq.com/sns/jscode2session',
             data: {
//这里提一下我中的坑,appid和appsecret可以通过测试号来获取,自己的appid和appsecret放在这里好像也获取不了,测试号获取怎么弄,在微信开发者工具上面有个测试号,点击进去可以进入小程序的开发者文档,里面有个申请测试号,。只需访问 申请地址 ,点击蓝色的申请地址,里面链接中就有appid和secret。当然你能用自己正式的appid和secret成功获取到了session-key,就忽略这句话吧
               appid: 'wxb805796eb9*****',//小程序的ID
               secret: 'eaed34b32421*******',//小程序的密钥
               js_code: res.code,
               grant_type: 'authorization_code'
            },
            method: 'GET',
            header: {
              'content-type': 'application/json' // 默认值
            },
            success: function (response) {
              console.log(response);
              var openId = response.data.openid;
              var session_key = response.data.session_key;  //这里就获取了session-key
             
              console.log(session_key + "//?????" + openId);
              var app = getApp();
              app.globalData.openid = openId;
              app.globalData.session_key = session_key;
              typeof cb == "function" && cb()

            },fail: function (res) {
              console.log('获取openId、sessionKey失败!' + res.errMsg)
            }
          })
        } else {
          console.log('获取用户登录态失败!' + res.errMsg)
        }
      }
    })

考虑到某些小伙伴的appid和secret没有或者无法有效获取到session-key,自己有没有获取到session-key控制台打印一下就知道了,如果appid和secret无法获取到session-key的话,可以使用测试号提供的appid和secret来尝试,我反正使用测试号获取到的,这里提供通过测试号获取appid和secret的过程。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值