收藏
回答

获取手机号码——前端为什么解密不出来手机号码?

1、<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"> 授权按钮

2、为什么官方文档 解密返回的没有手机号码;是需要用别的方式解密嘛


最后一次编辑于  09-09  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

5 个回答

  • this
    this
    09-09

    获取用户手机号这个是后端调起的接口,你小程序端肯定获取不了

    09-09
    赞同
    回复 2
    • 小花
      小花
      09-09
      后端调用的接口?请问接口是什么呀?
      09-09
      回复
    • this
      this
      09-09回复小花
      首先你在小程序端用getPhoneNumber按钮获取iv和encryptedData这两个值和调用wx.login获取了code值,然后把这三个值传给后端,用code换取appid,最后根据appid,iv,encryptedData解密出手机号码
      09-09
      回复
  • 吴迪
    吴迪
    09-09

    大胸弟,上班不认真啊

    09-09
    赞同
    回复
  • จุ๊บ
    จุ๊บ
    09-09

    你需要用button的getPhoneNumber 而不是 getUserInfo,你用getUserInfo 解密的的用户信息会有unionId。用getPhoneNumber 才会有手机号,这是两个button按钮,没办法放在一起使用

    09-09
    赞同
    回复 4
    • 小花
      小花
      09-09

      open-type 是 getPhoneNumber 会获取 encryptedData 和 iv 然后 根据加密解密 出来的

      09-09
      回复
    • จุ๊บ
      จุ๊บ
      09-09回复小花

      实际测试是没问题的。



      09-09
      回复
    • 小花
      小花
      09-09回复จุ๊บ
      你请求了后端,有访问接口,请问你这个后端接口是怎么完成的。
      09-09
      回复
    • จุ๊บ
      จุ๊บ
      09-09回复小花

      后端这个 接口 就是官方的解密demo,只不过自己写在后端了而已

      09-09
      回复
  • 烬
    09-09

    你该把你的代码亮出来

    09-09
    赞同
    回复 2
    • 小花
      小花
      09-09

      var WXBizDataCrypt = require('./WXBizDataCrypt')


      var appId = 'wx4f4bc4dec97d474b'

      var sessionKey = 'tiihtNczf5v6AKRyjwEUhQ=='

      var encryptedData = 

          'CiyLU1Aw2KjvrjMdj8YKliAjtP4gsMZM'+

          'QmRzooG2xrDcvSnxIMXFufNstNGTyaGS'+

          '9uT5geRa0W4oTOb1WT7fJlAC+oNPdbB+'+

          '3hVbJSRgv+4lGOETKUQz6OYStslQ142d'+

          'NCuabNPGBzlooOmB231qMM85d2/fV6Ch'+

          'evvXvQP8Hkue1poOFtnEtpyxVLW1zAo6'+

          '/1Xx1COxFvrc2d7UL/lmHInNlxuacJXw'+

          'u0fjpXfz/YqYzBIBzD6WUfTIF9GRHpOn'+

          '/Hz7saL8xz+W//FRAUid1OksQaQx4CMs'+

          '8LOddcQhULW4ucetDf96JcR3g0gfRK4P'+

          'C7E/r7Z6xNrXd2UIeorGj5Ef7b1pJAYB'+

          '6Y5anaHqZ9J6nKEBvB4DnNLIVWSgARns'+

          '/8wR2SiRS7MNACwTyrGvt9ts8p12PKFd'+

          'lqYTopNHR1Vf7XjfhQlVsAJdNiKdYmYV'+

          'oKlaRv85IfVunYzO0IKXsyl7JCUjCpoG'+

          '20f0a04COwfneQAGGwd5oa+T8yO5hzuy'+

          'Db/XcxxmK01EpqOyuxINew=='

      var iv = 'r7BXXKkLb8qrSNn05n0qiA=='


      var pc = new WXBizDataCrypt(appIdsessionKey)


      var data = pc.decryptData(encryptedData , iv)


      console.log('解密后 data: 'data)

      // 解密后的数据为

      //

      // data = {

      //   "nickName": "Band",

      //   "gender": 1,

      //   "language": "zh_CN",

      //   "city": "Guangzhou",

      //   "province": "Guangdong",

      //   "country": "CN",

      //   "avatarUrl": "http://wx.qlogo.cn/mmopen/vi_32/aSKcBBPpibyKNicHNTMM0qJVh8Kjgiak2AHWr8MHM4WgMEm7GFhsf8OYrySdbvAMvTsw3mo8ibKicsnfN5pRjl1p8HQ/0",

      //   "unionId": "ocMvos6NjeKLIBqg5Mr9QjxrP1FA",

      //   "watermark": {

      //     "timestamp": 1477314187,

      //     "appid": "wx4f4bc4dec97d474b"

      //   }

      // }


      09-09
      回复
    • 小花
      小花
      09-09

      官方文档解密后的数据 也没有手机号码

      09-09
      回复
  • G-STEPS街舞工作室
    G-STEPS街舞工作室
    09-09

    手机号需要用户单独授权的

    https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html

    09-09
    赞同
    回复 4
    • 小花
      小花
      09-09
      我是授权通过了,也获取到了加密数据,但是通过官方文档解密返回的数据就是上面这样,而且官方文档解密也没有手机号
      09-09
      回复
    • error
      error
      09-09回复小花
      你这个解析的是getUserInfo的数据吧
      09-09
      回复
    • 小花
      小花
      09-09回复error
      对呀 官方文档解析手机号码的文档解析出来的
      09-09
      回复
    • error
      error
      09-09回复小花
      你要解析getPhoneNumber的数据哎
      09-09
      回复
问题标签