Browse Source

test timeout (10 second)

master
cyril.tsui 1 year ago
parent
commit
cf4fdf0263
2 changed files with 23 additions and 1 deletions
  1. +5
    -0
      src/auth/index.js
  2. +18
    -1
      src/routes/index.js

+ 5
- 0
src/auth/index.js View File

@@ -25,6 +25,9 @@ export const handleLogin = data => {
refreshToken: data['refreshToken'] refreshToken: data['refreshToken']
}) })


const loginDate = new Date()
loginDate.setSeconds(loginDate.getSeconds() + 10)

console.log(data) console.log(data)
// ** Add to user, accessToken & refreshToken to localStorage // ** Add to user, accessToken & refreshToken to localStorage
localStorage.setItem('userData', JSON.stringify(data)) localStorage.setItem('userData', JSON.stringify(data))
@@ -33,6 +36,7 @@ export const handleLogin = data => {
localStorage.setItem('axiosToken', "Bearer " + data.accessToken) localStorage.setItem('axiosToken', "Bearer " + data.accessToken)
//localStorage.setItem(config.storageUserRoleKeyName, JSON.stringify(data.role).slice(1).slice(0, -1)) //localStorage.setItem(config.storageUserRoleKeyName, JSON.stringify(data.role).slice(1).slice(0, -1))
localStorage.setItem(refreshIntervalName, "60") localStorage.setItem(refreshIntervalName, "60")
localStorage.setItem('refreshTokenExpirationTime', loginDate)
// for demo only // for demo only
localStorage.setItem(windowCount, '0') localStorage.setItem(windowCount, '0')
localStorage.setItem(predictProductionQty, '0') localStorage.setItem(predictProductionQty, '0')
@@ -93,6 +97,7 @@ export const handleLogoutFunction = () => {
localStorage.removeItem(windowCount) localStorage.removeItem(windowCount)
localStorage.removeItem(predictProductionQty) localStorage.removeItem(predictProductionQty)
localStorage.removeItem(predictUsageCount) localStorage.removeItem(predictUsageCount)
localStorage.removeItem("refreshTokenExpirationTime")


} }
} }


+ 18
- 1
src/routes/index.js View File

@@ -14,19 +14,36 @@ import {
} from "utils/Utils"; } from "utils/Utils";
import { Navigate } from "react-router"; import { Navigate } from "react-router";
import { import {
SetupAxiosInterceptors,
SetupAxiosInterceptors, handleLogoutFunction,
} from "auth/index"; } from "auth/index";
import SettingRoutes from './SettingRoutes'; import SettingRoutes from './SettingRoutes';
// import { useNavigate } from 'react-router-dom'
import { useDispatch } from 'react-redux'
// import Loadable from 'components/Loadable'; // import Loadable from 'components/Loadable';
// import { lazy } from 'react'; // import { lazy } from 'react';
// const SettingRoutes = Loadable(lazy(() => import('./SettingRoutes'))); // const SettingRoutes = Loadable(lazy(() => import('./SettingRoutes')));
// ==============================|| ROUTING RENDER ||============================== // // ==============================|| ROUTING RENDER ||============================== //


export default function ThemeRoutes() { export default function ThemeRoutes() {
// const navigate = useNavigate()
const dispatch = useDispatch();
// let isExpired = false;


if (isUserLoggedIn()) { if (isUserLoggedIn()) {
//auto logout if token not valid //auto logout if token not valid
SetupAxiosInterceptors(); SetupAxiosInterceptors();
if (new Date(localStorage.getItem("refreshTokenExpirationTime")) < new Date()) {
window.alert("登入認證已過期,請重新登入。")
dispatch(handleLogoutFunction());
// isExpired = true
}

// if (isExpired) {
// dispatch(handleLogoutFunction());
// console.log("first")
// navigate('/login')
// isExpired = false
// }
} }
// console.log(); // console.log();
return useRoutes([{ return useRoutes([{


Loading…
Cancel
Save