微信小程序直播给的log信息截图:
问题:
在微信小程序的直播插件中使用了livePlayer的getLiveStatus()方法去获取这个直播间的直播状态数据,但是第一次点击得到数据,之后再点击就没有响应了,甚至livePlayer.getLiveStatus()的catch事件也没有接收到异常
原因 :
这是因为微信直播做了节流操作,不能频繁点击。所以第一次点击是马上得到结果的,而在这个点击之后的一分钟内都不会有响应。
具体有图:
这是文档地址,可去查看具体操作说明:微信官方文档
https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/liveplayer/live-player-plugin.html
文章讲解完毕,谢谢观看
提供一下解决方法参考
对于这个限制,如果需要频繁获取的话这里可以给个小方法,先查看下场景是否合适再决定是否使用这个解决方法。并且,方法仅供参考,方法仅供参考,方法仅供参考。
-
- 第一次获取时先把得到的数据缓存存下来,做好是vuex储存,同时储需要存好当前时间和直播间ID。
-
- 之后在这个一分钟之内作出第二次点击的话那就根据直播间ID从缓存里面找出这个直播间的数据。
-
- 对这个数据去判断储存时间是否在一分钟之内,符合要求的话就拿这个数据就行。如果找出的数据时间过去了就可以直接调用微信的livePlayer.getLiveStatus()接口就好
- tips (为了数据更有效,可以及时把没用的数据给清理一下)。