js心跳间隔怎么确定_小程序心跳启动功能实现

本文介绍了如何实现小程序的心跳请求功能,利用setInterval定时器,并探讨了控制页面显隐状态的方法。通过分析,选择了在app.js中设置全局变量,并使用getCurrentPages()获取当前页面栈,以此来改变各页面的显示参数,达到动态控制页面的效果。
摘要由CSDN通过智能技术生成

041d1cdf3b7d516f066033d8d9be8d66.png客户要求是这样的:

后台控制给用户发随机红包,当检测到有红包,无论用户在浏览哪个页面在做什么,马上弹出红包界面。

来分析实现思路:

首先,需要实现心跳请求,得借助小程序的定时器的setInterval,官网地址:

https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/setInterval.html

然后就是考虑,怎么控制每个页面弹窗的显隐,wx:if或hidden元素,这里切换不频繁,我们使用的是wx:if;接着就是怎么改变对应的页面显隐对应的参数值,这里有几个思路:

1、将后端红包请求接口写在每个页面的生命周期onLoad或onShow函数中,然后使用定时器,然后setdata或直接data。

2、在app.js中配置全局变量,将请求放在小程序的onLoad或onShow中,在每个页面通过app.data进行控制。

3、在app.js中直接改变每个页面对应的data的控制参数。

第一种太傻,第二种代码重复多,第三种无疑是理想方式,所以问题是怎么直接改变page的页面值?

这里需要获取当前页面栈,对应的函数

getCurrentPages(),官网地址:

https://developers.weixin.qq.com/miniprogram/dev/reference/api/getCurrentPages.html

控制代码:

var i = getCurrentPages()  i[i.length - 1].setData({      picHidden: true,      picNum:rest.money})

将上面办法写在你请求函数的回调中就欧克了

375ed1ec65b3d14942f90cf5118f3ae4.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值