|
@@ -9,12 +9,16 @@ let stayTime = 0
|
|
//登录活跃时间间隔 30分钟
|
|
//登录活跃时间间隔 30分钟
|
|
const LOGIN_TIMEOUT = 30*60
|
|
const LOGIN_TIMEOUT = 30*60
|
|
|
|
|
|
|
|
+//不活跃时间计时器
|
|
let loginTimer=null
|
|
let loginTimer=null
|
|
|
|
+//活跃时间记录计时器 5分钟记录一次
|
|
|
|
+let intervalTimer=null
|
|
let loginStayTime=0
|
|
let loginStayTime=0
|
|
|
|
|
|
export const openLoginTimer=()=>{
|
|
export const openLoginTimer=()=>{
|
|
// 登录时间
|
|
// 登录时间
|
|
localStorage.setItem("loginTime",new Date())
|
|
localStorage.setItem("loginTime",new Date())
|
|
|
|
+
|
|
loginTimer = setInterval(()=>{
|
|
loginTimer = setInterval(()=>{
|
|
loginStayTime++
|
|
loginStayTime++
|
|
// console.log(loginStayTime);
|
|
// console.log(loginStayTime);
|
|
@@ -23,6 +27,19 @@ export const openLoginTimer=()=>{
|
|
recordActiveLoginFun()
|
|
recordActiveLoginFun()
|
|
}
|
|
}
|
|
},1000)
|
|
},1000)
|
|
|
|
+
|
|
|
|
+ clearInterval(intervalTimer)
|
|
|
|
+ intervalTimer = setInterval(()=>{
|
|
|
|
+ // let inactiveTime = time || new Date()
|
|
|
|
+ let ActiveTime=0
|
|
|
|
+ if(localStorage.getItem('loginTime')){
|
|
|
|
+ ActiveTime = (new Date()-new Date(localStorage.getItem('loginTime')))/1000
|
|
|
|
+ console.log("5分钟间隔记录时长",ActiveTime+'s');
|
|
|
|
+ recordActiveLogin({ActiveTime:Math.round(ActiveTime)}).then(res=>{
|
|
|
|
+ if(res.Ret!==200) return
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ },1000*300)
|
|
}
|
|
}
|
|
|
|
|
|
export const recordActiveLoginFun=(time)=>{
|
|
export const recordActiveLoginFun=(time)=>{
|
|
@@ -35,7 +52,8 @@ export const recordActiveLoginFun=(time)=>{
|
|
if(res.Ret!==200) return
|
|
if(res.Ret!==200) return
|
|
}).finally(()=>{
|
|
}).finally(()=>{
|
|
// 清除工作
|
|
// 清除工作
|
|
- loginTimer=null
|
|
|
|
|
|
+ clearInterval(loginTimer)
|
|
|
|
+ clearInterval(intervalTimer)
|
|
loginStayTime=0
|
|
loginStayTime=0
|
|
localStorage.removeItem('loginTime')
|
|
localStorage.removeItem('loginTime')
|
|
})
|
|
})
|
|
@@ -174,7 +192,8 @@ export const doPageEventListener=function(){
|
|
console.log('unload')
|
|
console.log('unload')
|
|
recordActiveLoginFun()
|
|
recordActiveLoginFun()
|
|
// 猜测在unload这里 浏览器不会等待异步返回 清除工作在这进行
|
|
// 猜测在unload这里 浏览器不会等待异步返回 清除工作在这进行
|
|
- loginTimer=null
|
|
|
|
|
|
+ clearInterval(loginTimer)
|
|
|
|
+ clearInterval(intervalTimer)
|
|
loginStayTime=0
|
|
loginStayTime=0
|
|
localStorage.removeItem('loginTime')
|
|
localStorage.removeItem('loginTime')
|
|
})
|
|
})
|