首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小程序心跳启动功能实现

小程序心跳启动功能实现

作者头像
许坏
发布2019-08-14 17:02:51
1.2K0
发布2019-08-14 17:02:51
举报
文章被收录于专栏:宅机吧宅机吧

客户要求是这样的:

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

来分析实现思路:

首先,需要实现心跳请求,得借助小程序的定时器的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
})

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 宅机吧 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • getCurrentPages(),官网地址:
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档