You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.2 KiB
62 lines
2.2 KiB
import axios from "axios";
|
|
import router from "../router";
|
|
|
|
export const yztoken = async () => {
|
|
//console.log("验证");
|
|
//let dqtime = parseInt(new Date().getTime() / 1000); // 当前时间的时间戳
|
|
//let tokentime = parseInt(window.sessionStorage.getItem("expires_in")); //登录缓存后的时间戳
|
|
let sysConfig = JSON.parse(window.sessionStorage.getItem('sysConfig'))
|
|
let dqtime = new Date().getTime(); // 当前时间的时间戳
|
|
let expires_in = parseInt(window.sessionStorage.getItem("expires_in"))
|
|
|
|
console.log("dqtime / expires_in",dqtime,expires_in)
|
|
if(!expires_in){
|
|
router.push({ path: "/login" });
|
|
return;
|
|
}
|
|
|
|
if (dqtime > expires_in) {
|
|
console.log("刷新 token dqtime / expires_in",dqtime,expires_in);
|
|
//少于300秒 重新拉取
|
|
await axios
|
|
.post(
|
|
sysConfig.apiurl + "/connect/token",
|
|
{
|
|
client_id: "Peis_App",
|
|
grant_type: "refresh_token",
|
|
refresh_token: window.sessionStorage.getItem("refresh_token"),
|
|
},
|
|
{
|
|
headers: {
|
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
},
|
|
}
|
|
)
|
|
.then((res) => {
|
|
//console.log('connect/token',res.data)
|
|
writetoken(res.data.expires_in);
|
|
window.sessionStorage.setItem("token", res.data.access_token);
|
|
window.sessionStorage.setItem("refresh_token", res.data.refresh_token);
|
|
|
|
//console.log('new token:',window.sessionStorage.getItem("token"))
|
|
//console.log('new expires_in',window.sessionStorage.getItem("expires_in"))
|
|
|
|
})
|
|
.catch((err) =>{
|
|
console.log(sysConfig.apiurl + "/connect/token",{
|
|
client_id: "Peis_App",
|
|
grant_type: "refresh_token",
|
|
refresh_token: window.sessionStorage.getItem("refresh_token"),
|
|
},err)
|
|
});
|
|
}
|
|
};
|
|
|
|
export const writetoken = (addtime) => {
|
|
//let date = moment();
|
|
let lasttime = new Date(new Date().getTime() + (addtime - 2) * 1000).getTime()
|
|
// date.add(addtime, "s");
|
|
// let lasttime = parseInt(new Date(date).getTime() / 1000);
|
|
// console.log(lasttime);
|
|
window.sessionStorage.setItem("expires_in", lasttime); //写入 失效的时间戳
|
|
};
|