用户2760763
用户2760763
  • 发布:2025-03-07 15:18
  • 更新:2025-03-07 16:42
  • 阅读:152

关于IOS APP一键登录,没有反应

分类:uni-app

关于IOS APP一键登录,没有反应,开飞行模式试了会正常报没有sim啥的,求助怎么解决

const onSubmit = () => {  
  try {  
    //在这里写一键登录的代码  
    uni.preLogin({  
      provider: 'univerify',  
      success() {  //预登录成功  
        // 显示一键登录选项  
        uni.login({  
          provider: 'univerify',  
          univerifyStyle: {  
            'fullScreen': true  
            // 自定义登录框样式  
            // 参考`univerifyStyle 数据结构`  
            // 具体样式设计请去uni-app文档查看  
            // 不填写任何自定义登录框样式的话就会采取默认样式  
          },  
          success(res: any) { // 登录成功  
            // 此处获取了openid和access_token  
            // {openid:'登录授权唯一标识',access_token:'接口返回的 token'}  
            // 通过uniCloud.callFunction函数实现前端获取手机号  
            uniCloud.callFunction({  
              name: "", // 填写你自己的云函数名称  
              //传入上面获取的openid和access_token获取手机号  
              data: {  
                access_token: res.authResult.access_token, // 客户端一键登录接口返回的access_token  
                openid: res.authResult.openid // 客户端一键登录接口返回的openid  
              }  
            }).then((dataRes: any) => {  
              // 此处已经成功获取手机号等信息  
              phoneDB.value = dataRes.result.data.phoneNumber  
              tokenLogin(phoneDB.value);  
              // 获取手机号后根据自己的需求做后面的登录操作即可  
            }).catch((err: any) => {  
              setTimeout(() => {  
                uni.closeAuthView() //关闭一键登录弹出窗口  
              }, 500)  
            })  
          },  
          fail(res: any) { // 登录失败  
            if (res.code == "30003") {//关闭授权登录页面  
              uni.closeAuthView() //关闭一键登录弹出窗口  
            }  
            if (res.code == "30002") { // 切换登录方式  
              uni.navigateTo({  
                url: '/pages/index/login/login_onSmit'  
              })  
            }  
            if (res.code == "30001") { // 当前网络环境不适合执行该操作  
              uni.showToast({title: '当前网络环境不适合执行该操作', icon: 'none'})  
            }  
            if (res.code == "20202") { // 终端未开启SIM流量  
              uni.showToast({title: '请开启SIM流量', icon: 'none'})  
            }  
            if (res.code == "5000") { // 取号失败,请检查SIM卡是否停机欠费  
              uni.showToast({title: '取号失败,请检查SIM卡是否停机欠费!', icon: 'none'})  
            }  
            if (res.code == "40101") { // 移动-源IP鉴权失败  
              uni.showToast({title: '检查是否正常运营商手机卡,重新尝试!!', icon: 'none'})  
            }  
            if (res.code == "40201") { // 联通-源IP鉴权失败  
              uni.showToast({title: '检查是否正常运营商手机卡,重新尝试!', icon: 'none'})  
            }  
            if (res.code == "40301") { // 电信-源IP鉴权失败  
              uni.showToast({title: '取号失败,请检查SIM卡是否停机欠费!', icon: 'none'})  
            }  
          }  
        })  
      },  
      fail(res: any) {  

        uni.showModal({  
          title: '登录失败',  
          content: JSON.stringify(res),  
          showCancel: false,  
          success: function (res) {  
            uni.navigateTo({url: '/pages/index/login/login_onSmit'});  
          }  
        })  
      }  
    })  
  } catch (error) {  

    uni.showModal({  
      title: '失败',  
      content: JSON.stringify(error),  
      showCancel: false,  
      success: function (res) {  
        uni.navigateTo({ url: '/pages/index/login/login_onSmit' });  
      }  
    })  
  }  
}
2025-03-07 15:18 负责人:无 分享
已邀请:
DCloud_iOS_WZT

DCloud_iOS_WZT

你失败的回调里面在加一下else 其他你没写的错误码的提示吧

  • 用户2760763 (作者)

          fail(res: any) { // 登录失败  
    if (res.code == "30003") {//关闭授权登录页面
    uni.closeAuthView(); //关闭一键登录弹出窗口
    } else if (res.code == "30002") { // 切换登录方式
    uni.navigateTo({
    url: '/pages/index/login/login_onSmit'
    });
    } else if (res.code == "30001") { // 当前网络环境不适合执行该操作
    uni.showToast({title: '当前网络环境不适合执行该操作', icon: 'none'});
    } else if (res.code == "20202") { // 终端未开启SIM流量
    uni.showToast({title: '请开启SIM流量', icon: 'none'});
    } else if (res.code == "5000") { // 取号失败,请检查SIM卡是否停机欠费
    uni.showToast({title: '取号失败,请检查SIM卡是否停机欠费!', icon: 'none'});
    } else if (res.code == "40101") { // 移动-源IP鉴权失败
    uni.showToast({title: '检查是否正常运营商手机卡,重新尝试!!', icon: 'none'});
    } else if (res.code == "40201") { // 联通-源IP鉴权失败
    uni.showToast({title: '检查是否正常运营商手机卡,重新尝试!', icon: 'none'});
    } else if (res.code == "40301") { // 电信-源IP鉴权失败
    uni.showToast({title: '取号失败,请检查SIM卡是否停机欠费!', icon: 'none'});
    } else {
    // 默认错误处理
    let message = res.message || '未知错误';
    uni.showToast({
    title: `操作失败: ${message}`,
    icon: 'none'
    });
    }
    }已加,我发送到testflight试试?

    2025-03-07 15:26

用户2760763

用户2760763 (作者)

现在点一键登录很慢就报错,time out而且一键登录的按钮页面还出不来

  • 恭喜n发财

    去掉预登陆试试,或者吧预登陆放appvue

    2025-03-07 17:08

  • 用户2760763 (作者)

    回复 恭喜n发财: 把本机号码一键登录取消掉吗,我用别的方式登录是可以的

    2025-03-07 17:14

  • 恭喜n发财

    回复 用户2760763: uni.preLogin 这个方法叫预登录,,, uni.login 这个才是登录的方法,前面预登录 uni.preLogin删掉试试

    2025-03-07 17:19

  • 用户2760763 (作者)

    回复 恭喜n发财: 点击然后没反应

    2025-03-07 19:25

  • 用户2760763 (作者)

    报错信息也没返回

    2025-03-07 19:25

  • 恭喜n发财

    回复 用户2760763: 1、安卓没问题是吗,2、ios手机确定有有信号的手机卡(哪个运营商)。不应该没用呀,就一个uni.login,可以换别人的ios手机试试

    2025-03-08 09:37

  • 用户2760763 (作者)

    回复 恭喜n发财: 安卓没问题,我们自己的包测也没问题,从app store下载就不行了,手机有卡的

    2025-03-08 10:39

要回复问题请先登录注册