-
Notifications
You must be signed in to change notification settings - Fork 0
1. Main Page
JIHUN edited this page Oct 4, 2023
·
3 revisions
- nunjucks 문법을 이용해 Session 값 유무에 따라 서비스 이용 가능 및 Login탭 정보 변경
- 비 로그인 상태에서 Code Chat 클릭 시, Login 페이지로 이동
- 비 로그인 상태에서 Code Arena 클릭 시, Login 페이지로 이동
- 비 로그인 상태에서 Login 클릭 시, 로그인 및 회원가입 페이지로 이동
- 로그인 시, DB에서 사용자 정보 검색 후 Session으로 저장 및 Login 탭 사용자 이름으로 변경
로그인 유무에 따른 라우터 처리
routes -> page.js (line 37)
//Code Chat 채팅방 리스트 http://localhost:3000/page/CodeChat
router.get('/CodeChat',(req,res)=>{
let seName = req.session.userName
let seLevel = req.session.userlevel
let seLogin = req.session.login
// 비 로그인 상태에서 접속 요청시, 로그인 페이지로 이동
// 로그인시 정상적으로 이동
if(seLogin){
res.render('codeChatList',{login : seLogin, name : seName, level : seLevel})
}
else{
res.render('join')
}
})
//Code Arena 채팅방 리스트 http://localhost:3000/page/CodeArena
router.get('/CodeArena',(req,res)=>{
let seName = req.session.userName
let seLevel = req.session.userlevel
let seLogin = req.session.login
// 비 로그인 상태에서 접속 요청시, 로그인 페이지로 이동
// 로그인시 정상적으로 이동
if(seLogin){
res.render('codeArenaList',{login : seLogin, name : seName, level : seLevel})
}
else{
res.render('join')
}
})
Session 유무에 따른 보여지는 html 요소 변경
Main.html (line 147)
<!-- 세션 로그인 스크립트 -지훈- -->
<script>
// 로그인 했을 시 사용자 이름 표시
let login = '{{login}}'
let logout = '{{logout}}'
if (login) {
document.querySelector('#login_btn').style.display = 'none'
document.querySelector('#userInfo_btn').style.display = 'inline'
}
if (logout) {
document.querySelector('#login_btn').style.display = 'inline'
document.querySelector('#userInfo_btn').style.display = 'none'
}