此需求还是验证码后台列表的功能,页面加载完成后每一秒钟向后台发送一次请求查询消息列表,当有数据库有一条新消息插入时,弹窗提示。
其实就是简单的一个定时器
created(){
this.timer = setInterval(() => {//启动定时器发送请求
this.getSxList();
},1000)
},
这是请求内容,由于我后端是按时间倒序排列,所以第一条验证码就是最近时间
//每一秒钟发的请求,并判断有没有最新的数据插入
getSxList(){
this.$post("yzmlb/getYzmlbList").then(res => {
this.gxsj = this.fssj;
if(res.data.code == 0){
this.fssj = res.data.data[0].sj;
if(new Date(this.fssj)>new Date(this.gxsj)){
this.getYzmlbList();
this.$Notice.info({
title:"通知",
desc: "您有一条新的验证码!",
top: 50,
duration: 3
});
}
}else{
this.fssj = [];
}
})
},
最后,依然是离开时销毁定时器,不然它会一直发请求,即使离开了此页面。
destroyed () {
clearInterval(this.timer);//页面销毁时清除定时器
},
至于命名问题,大家就不要在意了,工作原因。