您当前的位置: 首页 > 知识百科 > 微信打开小程序就重启如何解决?

微信打开小程序就重启如何解决?

时间:2023-07-01 14:05 阅读数:151 人阅读 分类:知识百科

  现在微信上面有各种小程序,并且这些小程序的功能也是大不相同,基本上包含了吃喝玩乐等方面,但有的时候也会出现很尴尬的场面,比如说微信一打开小程序就会被重启,这个时候需要做些什么呢?下面请看小编具体分析!

  最近写公司的一个微信小程序遇到了一个小问题,就是由于微信小程序自己的运行机制小程序不会主动被微信注销导致的小程序不会在你退出小程序界面后自动unload,从微信小程序官方文档上可以看到:

  微信小程序生命周期

  当退出小程序之后,此时小程序并非unload状态,而是处理onhide状态,那么该如何实现每次场景值为1001时,进入小程序主界面可以刷新界面呢?

  这里我是采用了在app.js文件中设置一个全局变量scene用来记录首页页面状态,初始值设为1,即用户进入首页后 scene = 1。如果用户点击跳转到其它页面,如A,则在首页的 onhide函数中将其减一 scene -= 1,此时说明首页被隐藏处于 onhide状态;当用户从A返回到首页后则将scene加一 scene += 1,此时说明首页处于 onShow状态。这样处理之后,每次小程序页面跳转都会进行一次减一加一操作,然后保证首页状态在页面跳转时始终为1。然而,当用户点击返回退出小程序首页后,scene等于0,则说明此时用户已经退出,小程序在后台运行。

  然后,在首页的onShow函数中判断 scene,如果 scene值为0时,则刷新小程序,设置相关data为初始值,重新从数据库获取。

  scene状态值 说明

  1 首页处于onShow状态

  0 首页处于onhide状态

  部分代码

  首页.js

  onShow: function () {

  if (app.globalData.scene == 0) {

  app.globalData.scene = 1;

  this.setData({

  Info: null,

  })

  this.onLoad();

  }

  },

  onHide: function () {

  app.globalData.scene -= 1;

  },

  跳转界面.js

  onLoad: function (options) {

  app.globalData.scene += 1;

  },

  当大家再次碰到这种情况的话,那么可以选择上面微微风所演示的办法去解决,就是在设计小程序的时候就要去及时解决,这些思路也是小编的经验之谈,估计对于不同的情况还需要大家做一些调整,在这希望大家好好去学学!

  相关阅读:

  为什么苹果6微信经常重启界面?

  微信录音权限设置在哪?如何设置?

  微信数据损坏怎么修复?可以修复吗?