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

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. import axios from "axios";
  2. import router from "../router";
  3. export const yztoken = async () => {
  4. //console.log("验证");
  5. //let dqtime = parseInt(new Date().getTime() / 1000); // 当前时间的时间戳
  6. //let tokentime = parseInt(window.sessionStorage.getItem("expires_in")); //登录缓存后的时间戳
  7. let sysConfig = JSON.parse(window.sessionStorage.getItem('sysConfig'))
  8. let dqtime = new Date().getTime(); // 当前时间的时间戳
  9. let expires_in = parseInt(window.sessionStorage.getItem("expires_in"))
  10. console.log("dqtime / expires_in",dqtime,expires_in)
  11. if(!expires_in){
  12. router.push({ path: "/login" });
  13. return;
  14. }
  15. if (dqtime > expires_in) {
  16. console.log("刷新 token dqtime / expires_in",dqtime,expires_in);
  17. //少于300秒 重新拉取
  18. await axios
  19. .post(
  20. sysConfig.apiurl + "/connect/token",
  21. {
  22. client_id: "Peis_App",
  23. grant_type: "refresh_token",
  24. refresh_token: window.sessionStorage.getItem("refresh_token"),
  25. },
  26. {
  27. headers: {
  28. "Content-Type": "application/x-www-form-urlencoded",
  29. },
  30. }
  31. )
  32. .then((res) => {
  33. //console.log('connect/token',res.data)
  34. writetoken(res.data.expires_in);
  35. window.sessionStorage.setItem("token", res.data.access_token);
  36. window.sessionStorage.setItem("refresh_token", res.data.refresh_token);
  37. //console.log('new token:',window.sessionStorage.getItem("token"))
  38. //console.log('new expires_in',window.sessionStorage.getItem("expires_in"))
  39. })
  40. .catch((err) =>{
  41. console.log(sysConfig.apiurl + "/connect/token",{
  42. client_id: "Peis_App",
  43. grant_type: "refresh_token",
  44. refresh_token: window.sessionStorage.getItem("refresh_token"),
  45. },err)
  46. });
  47. }
  48. };
  49. export const writetoken = (addtime) => {
  50. //let date = moment();
  51. let lasttime = new Date(new Date().getTime() + (addtime - 2) * 1000).getTime()
  52. // date.add(addtime, "s");
  53. // let lasttime = parseInt(new Date(date).getTime() / 1000);
  54. // console.log(lasttime);
  55. window.sessionStorage.setItem("expires_in", lasttime); //写入 失效的时间戳
  56. };