扫码进小程序,场景值为1011,微信切到桌面后再回到微信场景值还是1011

发布于 7 年前作者 lei9818575 次浏览最后编辑 7 年前来自 ask

使用场景中的问题:

  1. 扫码进入小程序,获得场景值与参数,例如:scene为1011

  2. 判断二维码场景值为1011会执行 wx.showModal,此时关闭wx.showModal

  3. 微信切到桌面,然后再回到微信小程序界面,此时场景值依然为1011,依然会执行 wx.showModal

需求:

  微信切到桌面,然后再回到微信小程序界面不执行 wx.showModal,但下次扫码时判断scene为1011再执行wx.showModal

3 回复
qiang10
qiang101 楼6 年前

我获取scene是在onShow里面,因为每次扫码进来都要判断,但是从桌面回到小程序的时候,生命周期仍然是onShow,而且场景值依然是1011

qbai
qbai2 楼6 年前
  1. 扫码进入小程序onShowscene1011并存入全局变量,进入首页设置全局变量this.globalData.bind = true

  2. 首页onShow时判断:全局的scene1011bindtrue,执行wx.showModal

  3. 关闭wx.showModal时,设置全局变量this.globalData.bind = false

这样在小程序切到桌面后再回到小程序时,bindfalse,不会执行wx.showModal,扫码进入时会进入onLoad周期,设置this.globalData.bind = true,能够满足需求。

songyan
songyan3 楼5 年前

你获取scene参数,是在app的onLaunch里面,还是在onShow里面?

你这场景,建议在app的onShow里面去获取~