uni-app 微信分享后返回应用程序出现空白界面

uni-app 微信分享后返回应用程序出现空白界面

项目属性
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 win 10
HBuilderX类型 正式
HBuilderX版本号 3.3.5
手机系统 Android
手机系统版本号 Android 11
手机厂商 小米
手机机型 小米10 miui13
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

  • 在uni-app3.3.5中配置的离线打包,miui13中才出现问题。

预期结果:

  • 无空白程序

实际结果:

  • 出现了一个空白程序,需要手动关闭。

bug描述:

  • 小米手机升级到miui13后出现的问题。

Image

App下载地址或H5网址:


更多关于uni-app 微信分享后返回应用程序出现空白界面的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

更新到最新版本试一下

更多关于uni-app 微信分享后返回应用程序出现空白界面的实战教程也可以访问 https://www.itying.com/category-93-b0.html


3.4.15,仍旧有该问题

我也存在这个问题,楼主解决了吗

不过我的是离线打包

已解决 AndroidManifest.xml 文件里的android:launchMode=“singleTop” 换成android:launchMode=“singleTask”

回复 1***@qq.com: 太感谢了,我试试

在使用 uni-app 开发微信小程序或 H5 应用时,分享后返回应用程序出现空白界面,可能是由于以下几个原因导致的。下面是一些常见的排查和解决方案:

1. 页面生命周期问题

  • 原因:在分享后返回应用时,页面可能没有正确触发生命周期钩子,导致页面没有重新渲染。
  • 解决方案:确保在页面的生命周期钩子(如 onShow)中正确处理数据的加载和页面的渲染。
export default {
  onShow() {
    // 在页面显示时重新加载数据或执行必要的操作
    this.loadData();
  },
  methods: {
    loadData() {
      // 加载数据逻辑
    }
  }
}

2. 页面缓存问题

  • 原因:微信小程序或 H5 页面可能缓存了之前的页面状态,导致返回时页面没有刷新。
  • 解决方案:可以在 onShow 生命周期中强制刷新页面或重新加载数据。
export default {
  onShow() {
    // 强制刷新页面
    this.$forceUpdate();
    // 或者重新加载数据
    this.loadData();
  }
}

3. 路由问题

  • 原因:分享后返回应用时,路由可能没有正确跳转或页面路径不正确。
  • 解决方案:检查分享时设置的路由路径是否正确,并确保返回时路由能够正确跳转。
// 分享时设置正确的路径
uni.share({
  title: '分享标题',
  path: '/pages/index/index', // 确保路径正确
  success(res) {
    console.log('分享成功');
  }
});

4. 页面数据未初始化

  • 原因:页面在返回时可能没有正确初始化数据,导致页面显示空白。
  • 解决方案:在 onLoadonShow 生命周期中初始化页面数据。
export default {
  data() {
    return {
      list: []
    };
  },
  onLoad() {
    this.initData();
  },
  onShow() {
    this.initData();
  },
  methods: {
    initData() {
      // 初始化数据逻辑
      this.list = [/* 数据 */];
    }
  }
}

5. 微信小程序页面栈问题

  • 原因:微信小程序的页面栈可能没有正确处理,导致返回时页面栈出现问题。
  • 解决方案:检查页面栈的使用情况,确保页面跳转和返回时页面栈的正确性。
// 在需要返回时使用正确的页面栈操作
uni.navigateBack({
  delta: 1 // 返回上一页
});

6. H5 页面缓存问题

  • 原因:在 H5 页面中,浏览器可能缓存了页面内容,导致返回时页面没有刷新。
  • 解决方案:可以在 onShow 生命周期中强制刷新页面或使用 location.reload() 方法。
export default {
  onShow() {
    // 强制刷新页面
    location.reload();
  }
}

7. 微信分享配置问题

  • 原因:微信分享的配置可能不正确,导致分享后返回应用时出现问题。
  • 解决方案:检查微信分享的配置,确保分享的路径、标题、图片等参数正确。
uni.share({
  title: '分享标题',
  path: '/pages/index/index', // 确保路径正确
  imageUrl: 'https://example.com/image.png', // 确保图片路径正确
  success(res) {
    console.log('分享成功');
  }
});

8. uni-app 版本问题

  • 原因:使用的 uni-app 版本可能存在 bug,导致分享后返回应用时出现问题。
  • 解决方案:尝试升级 uni-app 到最新版本,或者查看官方文档和社区是否有相关的解决方案。

9. 微信开发者工具缓存问题

  • 原因:微信开发者工具可能缓存了旧的数据,导致返回时页面显示异常。
  • 解决方案:清除微信开发者工具的缓存,或者重新编译项目。

10. 网络请求问题

  • 原因:页面依赖的网络请求在返回时可能没有正确执行,导致页面数据为空。
  • 解决方案:在 onShow 生命周期中重新发起网络请求,确保数据能够正确加载。
export default {
  onShow() {
    this.fetchData();
  },
  methods: {
    fetchData() {
      // 发起网络请求
      uni.request({
        url: 'https://example.com/api/data',
        success: (res) => {
          this.data = res.data;
        }
      });
    }
  }
}
回到顶部