Files
FE_CPONE/apps/components/oneFooter.vue--17724
2026-04-27 10:08:27 +07:00

108 lines
2.7 KiB
Plaintext

<template>
<v-footer color="blue lighten-2" app>
<one-clock class="hidden-sm-and-down"></one-clock>
<v-spacer></v-spacer>
<span class="one-footer white--text"><code class="mb-0">Auto logged out in <span id="SecondsUntilExpire"></span> seconds</code></span>
</v-footer>
</template>
<style>
span.one-footer {
margin-right:30px;
}
</style>
<script>
module.exports = {
mounted() {
var IDLE_TIMEOUT = 5*60; //seconds
if(localStorage.getItem("user")){
var retrievedObject = localStorage.getItem('user')
var dtuser = JSON.parse(retrievedObject)
if(dtuser.time_autologout && parseInt(dtuser.time_autologout) > 0)
IDLE_TIMEOUT = parseInt(dtuser.time_autologout) * 60
}
var _idleSecondsTimer = null;
if (localStorage.getItem("autologout") === null) {
localStorage.setItem("autologout", 0)
}
document.onclick = function() {
localStorage.setItem("autologout", 0)
};
document.onmousemove = function() {
localStorage.setItem("autologout", 0)
};
document.onkeypress = function() {
localStorage.setItem("autologout", 0)
};
_idleSecondsTimer = window.setInterval(CheckIdleTime, 1000);
function CheckIdleTime() {
let xcounter = parseInt(localStorage.getItem("autologout"))
xcounter++
localStorage.setItem("autologout", xcounter)
//this.show_autologout = false
var oPanel = document.getElementById("SecondsUntilExpire");
if (oPanel)
oPanel.innerHTML = (IDLE_TIMEOUT - parseInt(localStorage.getItem("autologout"))) + "";
if (parseInt(localStorage.getItem("autologout")) >= IDLE_TIMEOUT) {
window.clearInterval(_idleSecondsTimer);
localStorage.removeItem("autologout");
window.one_logout('/one-ui/test/vuex/one-login')
}
}
},
components: {
'one-clock' : httpVueLoader('./oneTanggal.vue')
}
}
function one_verif() {
let url_redir = "/one-ui/";
let verif = async function (token) {
try {
var resp = await axios.post("/one-api/v1/system/verify/do", {
token: token,
});
if (resp.status != 200) {
return {
status: "ERR",
message: resp.statusText,
};
}
let data = resp.data;
return data;
} catch (e) {
return {
status: "ERR",
message: e.message,
};
}
};
let x = async () => {
let url_redir = "/one-ui/";
try {
let resp = await verif(window.one_token());
console.log('Response',resp);
return;
if (resp.status != "OK") {
window.localStorage.removeItem("token");
window.localStorage.removeItem("user");
location.replace(url_redir);
}
} catch (e) {}
};
x();
}
//one_verif();
</script>