收藏
回答

button 调用getPhoneNumber获取授权ios和安卓表现不一致?

问题模块 框架类型 问题类型 操作系统版本 手机型号 微信版本
客户端 小程序 Bug 12.1.2 iphone7 7.0.3

- 当前 Bug 的表现(可附上截图)

IOS 打印 e.detail.errMsg 值为:getPhoneNumber:fail user deny

安卓打印 e.detail.errMsg 值为:getPhoneNumber:user deny

同一个方法,有时候体验版授权弹框 会显示如下弹框,显示 “取消” 和 “确认授权” 按钮,当点击取消时候 安卓打印 e.detail.errMsg 值为:getPhoneNumber:fail:cancel to confirm login。

大部分时候会显示 “拒绝”和“允许”



- 预期表现


- 复现路径


- 提供一个最简复现 Demo

<button class="getPhone-button" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">手机号授权</button>
//获取授权
 
getPhoneNumber: function (e) {
 
    let that = this;
 
    wx.checkSession({
 
      success: function () {
 
         let ency = e.detail.encryptedData;
 
         let iv = e.detail.iv;
 
         // e.detail.errMsg == 'getPhoneNumber:fail:cancel to confirm login'
 
         // getPhoneNumber:user deny 安卓表现
 
         // getPhoneNumber:fail user deny ios 表现
 
         if(e.detail.errMsg !="getPhoneNumber:fail user deny"){
 
      // if (e.detail.errMsg =='getPhoneNumber:fail user deny' || e.detail.errMsg =='getPhoneNumber:user deny') {
 
      // if(e.detail.errMsg !="getPhoneNumber:ok"){
 
     //拒绝授权
 
             console.log("拒绝授权"+e.detail.errMsg);
 
        }else{
 
             console.log("============允许授权"+e.detail.errMsg);
 
        }
 
     },
 
     fail: function () {
 
          console.log("session_key 已经失效,需要重新执行登录流程");
 
     }
 
  });
 
},


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

1 个回答

  • 铭锋科技
    铭锋科技
    03-09

    嗯,不止你提到的这些,还有相当一部分API存在fail回调android与ios不一致的情况,多测试多兼容

    03-09
    赞同
    回复