使用Date.parse(new Date())默认生成的时间戳是以毫秒为单位的。
可以根据业务需求,通过除以1000,来转化为秒。因为生成的时间戳末尾是000,所以不用担心不是整除。
控制台打印
可在js中引用以下代码
var timeStamp = Date.parse(new Date());
this.timeStamp = timeStamp / 1000;//除以1000后是秒,不除1000则是毫秒
logUtil.log('小程序隐藏时间:'+this.onHide_time)
PS:logUtil为封装后的console,可直接用console方法打印
控制台打印
运用场景:
判断用户切换小程序页面到其他app页面,在App.vue文件中,利用onHide和onShow生命周期方法。
设定一个时间区间,在onHide和onShow方法中分别记录时间戳,并用后者时间减去前者时间,与给定的时间区间比较,如差值超过时间区间,则可认为超时,可以对token或其他业务逻辑作进一步处理。
onHide: function() {
logUtil.log('App Hide--------------------------')
var timestamp = Date.parse(new Date());
this.onHide_time = timestamp / 1000;
logUtil.log('小程序隐藏时间:'+this.onHide_time)
},
onShow: function() {
logUtil.log('App Show')
//页面从隐藏到再次显示的间隔时间段限制,超过,则清空token,需要重新登录
//600秒,是10分钟
var intervalTime = 600
var timestamp = Date.parse(new Date());
this.onShow_time = timestamp / 1000;//除以1000后是秒,不除1000,则是毫秒
// debugger
var interval = this.onShow_time-this.onHide_time
if(interval > intervalTime){
//如果间隔时间大于指定时间, 可根据业务处理
}
logUtil.log('小程序显示时间:'+this.onShow_time)
logUtil.log('实际间隔onShow_time-onHide_time:'+interval)
},