收藏
回答

getPhoneNumber获取不到值,求解

getPhoneNumber在有的手机上 获取不到iv,encryptedData

回答关注问题邀请回答
收藏

2 个回答

  • 灵芝
    灵芝
    2019-01-23

    麻烦提供出现问题的机型和微信版本,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2019-01-23
    有用
    回复 2
    • Amy
      Amy
      2019-01-23

      var _this = this;

      if (e.detail.errMsg == 'getPhoneNumber:fail user deny') {

      _this.onCancel();

      return false;

      }

      //判断是否有sessionKey

      if (!_this.data.userInfo.sessionKey) {

      //commont.userAuthorization(_this,'authorlogin');

      _this.setData({

      is_authorized: false

      })

      return false;

      else {

      wx.checkSession({

      success: function () {

      cardCommont.getWebchatMobile(e.detail.iv, e.detail.encryptedData, res => {

      if (!res) {

      commont.hint("该手机已被绑定"'');

      else {

      _this.data.userInfo.mobile = res;

      _this.data.userInfo.sessionKey = true;

      _this.data.userInfo.isAuthorized = true;

      wx.setStorageSync("activityUserInfo", _this.data.userInfo);

      }

      _this.hideModal();

      })

      },

      fail: function () {

      //session_key 已经失效,需要重新执行登录流程

      //commont.userAuthorization(_this,'authorlogin');

      _this.setData({

      is_authorized: false

      })

      return false;

      }

      })

      }


      2019-01-23
      回复
    • 灵芝
      灵芝
      2019-01-23回复Amy

      麻烦提供这种格式的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

      2019-01-23
      回复
  • 微盟
    微盟
    2019-01-23

    流程拿出来,或者贴个代码片段看看

    2019-01-23
    有用
    回复 4
    • Amy
      Amy
      2019-01-23

      var _this = this;

      if (e.detail.errMsg == 'getPhoneNumber:fail user deny') {

      _this.onCancel();

      return false;

      }

      //判断是否有sessionKey

      if (!_this.data.userInfo.sessionKey) {

      //commont.userAuthorization(_this,'authorlogin');

      _this.setData({

      is_authorized: false

      })

      return false;

      } else {

      wx.checkSession({

      success: function () {

      cardCommont.getWebchatMobile(e.detail.iv, e.detail.encryptedData, res => {

      if (!res) {

      commont.hint("该手机已被绑定", '');

      } else {

      _this.data.userInfo.mobile = res;

      _this.data.userInfo.sessionKey = true;

      _this.data.userInfo.isAuthorized = true;

      wx.setStorageSync("activityUserInfo", _this.data.userInfo);

      }

      _this.hideModal();

      })

      },

      fail: function () {

      //session_key 已经失效,需要重新执行登录流程

      //commont.userAuthorization(_this,'authorlogin');

      _this.setData({

      is_authorized: false

      })

      return false;

      }

      })

      }


      2019-01-23
      回复
    • Amy
      Amy
      2019-01-23回复Amy

      我是先判断  登录缓存中sessionKey是否存在 不存在重新授权 ,

      又加了wx.checkSession 判断session_key是否过期  过期后也要重新授权



      2019-01-23
      回复
    • 微盟
      微盟
      2019-01-23回复Amy

      确认下是否是企业账号

      2019-01-23
      回复
    • Henry_楠
      Henry_楠
      2021-11-12回复微盟
      企业微信有这个可能性嘿?
      2021-11-12
      回复
登录 后发表内容