客户要求是这样的:
后台控制给用户发随机红包,当检测到有红包,无论用户在浏览哪个页面在做什么,马上弹出红包界面。
来分析实现思路:
首先,需要实现心跳请求,得借助小程序的定时器的setInterval,官网地址:
然后就是考虑,怎么控制每个页面弹窗的显隐,wx:if或hidden元素,这里切换不频繁,我们使用的是wx:if;接着就是怎么改变对应的页面显隐对应的参数值,这里有几个思路:
1、将后端红包请求接口写在每个页面的生命周期onLoad或onShow函数中,然后使用定时器,然后setdata或直接data。
2、在app.js中配置全局变量,将请求放在小程序的onLoad或onShow中,在每个页面通过app.data进行控制。
3、在app.js中直接改变每个页面对应的data的控制参数。
第一种太傻,第二种代码重复多,第三种无疑是理想方式,所以问题是怎么直接改变page的页面值?
这里需要获取当前页面栈,对应的函数
getCurrentPages(),官网地址:
控制代码:
将上面办法写在你请求函数的回调中就欧克了
领取专属 10元无门槛券
私享最新 技术干货