调用按钮
<button @click="goAdsBuy(item)">
调用方法:
finderUserName = 视频号的用户ID(视频号ID)
feedId = 视频ID
goAdsBuy(item){
console.log('弹出1次')
var that = this;
wx.openChannelsActivity({
finderUserName: item.finderUserName,
feedId: item.feedId,
success (res) {
that.ifCatAds =true;
},
fail(res) {
console.log('取消?')
},
complete(res) {
setTimeout(function(){
},500)
}
});
that.catVideoId = item.id;
},
判断观看时长及是否观看 :
在点击按钮后
取消会进入到 wx.openChannelsActivity.fail方法
允许会进入到 wx.openChannelsActivity.success方法
在点击允许 success方法-> 修改某个标识 例如ifCatAds =true
进入视频号之后 uniapp的onHide先会执行 (页面被隐藏了 代表用户跳出去了 干嘛了不知道)
根据这个逻辑 判断当前页面隐藏时 执行OnHide时 是否点击了跳转视频号的操作
if (ifCatAds) 如果是点击了跳转视频号并执行了onHide 那么开始计时一共隐藏了几秒 直到下一个onShow
onHide: function() {
var that = this;
console.log("是否在观看", this.$refs.adsList.ifCatAds)
if (that.$refs.adsList.ifCatAds) {
that.timer = setInterval(function() {
that.catAdsTime += 1;
console.log("观看", that.catAdsTime, "秒")
}, 1000);
}
},
当用户返回来的时候 就进入到 onShow uniapp回显的生命周期 那么在之类判断catAdsTime时间即可 从hide到show 计时了几秒
最后是timer 计时器的 给个默认值就行
计时方法: (1000秒执行一次catAdsTime+1)
that.timer = setInterval(function() {
that.catAdsTime += 1;
console.log("观看", that.catAdsTime, "秒")
}, 1000);