uni-app IOS 添加微信登录后每次打开应用会自动跳到微信

uni-app IOS 添加微信登录后每次打开应用会自动跳到微信

操作步骤

manifest.json里面oAuth(登录鉴权)勾选苹果登录和微信登录,然后打包运行

预期结果

打开app不会自动跳到微信

实际结果

一打开app就自动跳微信了

bug描述

项目需要用到微信登录和苹果登录,所以manifest.json里面oAuth(登录鉴权)勾选了苹果登录和微信登录,功能也实现了没有问题。就是每次打开app会自动跳到微信。HBuilderX版本一开始用的4.36,后面更到了4.45,重新制作自定义基座了,还是会这样。苹果我这边用到了苹果7P(iOS14),苹果14P(IOS17),客户那边还有其他的版本就不列举了。附件我上传了现象视频。

开发环境与版本信息

项目创建方式 PC开发环境操作系统 PC开发环境操作系统版本号 HBuilderX类型 HBuilderX版本号 手机系统 手机系统版本号 手机厂商 手机机型 页面类型 vue版本 打包方式
HBuilderX Windows window11 正式 4.45 iOS iOS 14 苹果 苹果7P,14P等 vue vue2 云端

更多关于uni-app IOS 添加微信登录后每次打开应用会自动跳到微信的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

应该是你业务代码的的问题,你打开应用就调用了登录吗?

更多关于uni-app IOS 添加微信登录后每次打开应用会自动跳到微信的实战教程也可以访问 https://www.itying.com/category-93-b0.html


是我的问题

在处理 uni-app 中 IOS 平台集成微信登录后,应用每次打开自动跳到微信的问题时,这通常是由于某些配置或代码逻辑不当导致的。以下是一些可能的原因和解决方案的代码示例,帮助你排查和修复这个问题。

1. 检查微信登录授权回调

确保你的微信登录授权回调处理正确,避免在没有必要的情况下触发登录流程。在 uni-app 中,你可能会使用类似以下代码来处理微信登录:

// 在页面或组件中
uni.login({
  provider: 'weixin',
  success: function (loginRes) {
    // 保存登录凭证
    const code = loginRes.code;
    // 发送 code 到服务器换取 openId, sessionKey, unionId
    uni.request({
      url: 'https://yourserver.com/login',
      method: 'POST',
      data: {
        code: code
      },
      success: function (response) {
        // 保存用户信息
        const userInfo = response.data;
        uni.setStorageSync('userInfo', userInfo);
      }
    });
  },
  fail: function (error) {
    console.error('微信登录失败', error);
  }
});

确保这段代码只在用户明确触发登录操作(如点击登录按钮)时执行,而不是在应用启动时自动执行。

2. 检查应用启动逻辑

应用启动时,检查是否有不必要的逻辑导致触发微信登录。在 App.vueonLaunch 方法中,避免直接调用登录逻辑:

// App.vue
export default {
  onLaunch: function () {
    // 只在必要时检查登录状态或初始化
    const userInfo = uni.getStorageSync('userInfo');
    if (!userInfo) {
      // 可以显示登录页面,而不是直接登录
      uni.redirectTo({
        url: '/pages/login/login'
      });
    }
  }
}

3. 检查微信 SDK 配置

确保微信 SDK 的配置正确,包括 appid 和其他必要参数。错误的配置可能导致 SDK 行为异常。

4. 清理缓存和重启设备

有时,IOS 设备上的缓存问题可能导致应用行为异常。尝试清理应用缓存或重启设备看问题是否解决。

总结

自动跳转到微信的问题通常是由于登录逻辑在应用启动时被错误地触发。检查并确保登录逻辑只在用户明确操作时执行,同时确保微信 SDK 和相关配置正确无误。如果问题依旧存在,可能需要更深入地检查应用的生命周期管理和事件处理逻辑。

回到顶部