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

小程序心跳启动功能实现

作者头像
许坏
发布2019-08-14 17:02:51
发布2019-08-14 17:02:51
1.5K00
代码可运行
举报
文章被收录于专栏:宅机吧宅机吧
运行总次数:0
代码可运行

客户要求是这样的:

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

来分析实现思路:

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

控制代码:

代码语言:javascript
代码运行次数:0
运行
复制
var i = getCurrentPages()
  i[i.length - 1].setData({
      picHidden: true,
      picNum:rest.money
})

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • getCurrentPages(),官网地址:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档