import React, { useState, useEffect, useRef } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; import * as EgovNet from 'api/egovFetch'; import URL from 'constants/url'; import CODE from 'constants/code'; import { getLocalItem, setLocalItem, setSessionItem } from 'utils/storage'; function EgovLoginContent(props) { console.group("EgovLoginContent"); console.log("[Start] EgovLoginContent ------------------------------"); console.log("EgovLoginContent [props] : ", props); const navigate = useNavigate(); const location = useLocation(); console.log("EgovLoginContent [location] : ", location); const [userInfo, setUserInfo] = useState({ id: '', password: 'default', userSe: 'USR' }); // eslint-disable-next-line no-unused-vars const [loginVO, setLoginVO] = useState({}); const [saveIDFlag, setSaveIDFlag] = useState(false); const checkRef = useRef(); const KEY_ID = "KEY_ID"; const KEY_SAVE_ID_FLAG = "KEY_SAVE_ID_FLAG"; const handleSaveIDFlag = () => { setLocalItem(KEY_SAVE_ID_FLAG, !saveIDFlag) setSaveIDFlag(!saveIDFlag); }; useEffect(() => { let idFlag = getLocalItem(KEY_SAVE_ID_FLAG); if (idFlag === null) { setSaveIDFlag(false); // eslint-disable-next-line react-hooks/exhaustive-deps idFlag = false; } else { setSaveIDFlag(idFlag); } if (idFlag === false) { setLocalItem(KEY_ID, ""); checkRef.current.className = "f_chk" } else { checkRef.current.className = "f_chk on" }; }, []); useEffect(() => { let data = getLocalItem(KEY_ID); if (data !== null) { setUserInfo({ id: data, password: 'default', userSe: 'USR' }); } }, []); const submitFormHandler = (e) => { console.log("EgovLoginContent submitFormHandler()"); const loginUrl = "/auth/login-jwt" const requestOptions = { method: "POST", headers: { 'Content-type': 'application/json' }, body: JSON.stringify(userInfo) } EgovNet.requestFetch(loginUrl, requestOptions, (resp) => { let resultVO = resp.resultVO; let jToken = resp?.jToken || null; setSessionItem('jToken', jToken); if (Number(resp.resultCode) === Number(CODE.RCV_SUCCESS)) { setLoginVO(resultVO); setSessionItem('loginUser', resultVO); props.onChangeLogin(resultVO); if (saveIDFlag) setLocalItem(KEY_ID, resultVO?.id); navigate(URL.MAIN); // PC와 Mobile 열린메뉴 닫기 document.querySelector('.all_menu.WEB').classList.add('closed'); document.querySelector('.btnAllMenu').classList.remove('active'); document.querySelector('.btnAllMenu').title = '전체메뉴 닫힘'; document.querySelector('.all_menu.Mobile').classList.add('closed'); } else { alert(resp.resultMessage) } }) } console.log("------------------------------EgovLoginContent [End]"); console.groupEnd("EgovLoginContent"); return (
전자정부표준프레임워크 경량환경 홈페이지 로그인 페이지입니다.
로그인을 하시면 모든 서비스를 제한없이 이용하실 수 있습니다.