672 lines
28 KiB
PHP
672 lines
28 KiB
PHP
<?php include_once __DIR__ . '/asset_urls.php'; ?>
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<!-- Google tag (gtag.js) -->
|
|
<script async src="https://www.googletagmanager.com/gtag/js?id=G-STZ2R5Q7HG"></script>
|
|
<script>
|
|
window.dataLayer = window.dataLayer || [];
|
|
|
|
function gtag() {
|
|
dataLayer.push(arguments);
|
|
}
|
|
gtag('js', new Date());
|
|
|
|
gtag('config', 'G-STZ2R5Q7HG');
|
|
</script>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>도면관리</title>
|
|
<link rel="stylesheet" href="../css/reset.css" />
|
|
<link rel="stylesheet" href="../css/font.css" />
|
|
<link rel="stylesheet" href="../css/style.css" />
|
|
<link rel="stylesheet" href="https://unpkg.com/aos@2.3.1/dist/aos.css" type="text/css" />
|
|
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
|
|
<script src="https://unpkg.com/lenis@1.1.9/dist/lenis.min.js"></script>
|
|
<link rel="stylesheet" href="https://unpkg.com/lenis@1.1.9/dist/lenis.css">
|
|
<script type="text/javascript" src="../js/jquery-3.6.1.min.js"></script>
|
|
<script type="text/javascript" src="../js/jquery.mousewheel.min.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollTrigger.min.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollToPlugin.min.js"></script>
|
|
|
|
<script type="text/javascript" src="../js/common.js"></script>
|
|
<script type="text/javascript" src="../js/popup.js"></script>
|
|
<script type="text/javascript" src="../js/floorplan.js"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<!-- "js__"로 시작하는 클래스는 only 자바스크립트용입니다. -->
|
|
<!-- XXXX js__넣어서 css 작성 금지 XXXX -->
|
|
<div class="wrapper">
|
|
<input id="hid_mb_id" type="hidden" value="<?echo $_SESSION['session_id'];?>"></input>
|
|
<!-- HEADER -->
|
|
<?php include_once($member_skin_path.'/main_header.skin.php'); ?>
|
|
<!-- //Header -->
|
|
|
|
<!-- 모든 팝업페이지 경로 -->
|
|
<?php
|
|
include_once($member_skin_path.'/login.skin.php');
|
|
include_once($member_skin_path.'/mypage01.skin.php');
|
|
include_once($member_skin_path.'/register.skin.php');
|
|
include_once($member_skin_path.'/register_form.skin.php');
|
|
include_once($member_skin_path.'/mypage02.skin.php');
|
|
include_once($member_skin_path.'/mypage03.skin.php');
|
|
include_once($member_skin_path.'/sitemap.skin.php');
|
|
include_once($member_skin_path.'/privacy.skin.php');
|
|
include_once($member_skin_path.'/password_lost.skin.php');
|
|
?>
|
|
<!-- //모든 팝업페이지 경로 -->
|
|
<div class="container floorplan">
|
|
<section class="intro">
|
|
<div class="top js__dark">
|
|
<h2 data-aos="fade-down" data-aos-duration="1000">도면관리</h2>
|
|
<span>대량의 설계도면의 효율적 관리</span>
|
|
</div>
|
|
<div class="keyword">
|
|
<i class="egbim_obj k"></i>
|
|
<span>도면을 열지 않고도 도면을 쉽게 찾고 확인하며,<br> 쉽게 수정하고, 쉽게 출력하는 도면관리 기능 제공</span>
|
|
<p>도면안에 기입되는 공사명, 도면명, 도면번호 등의 도면정보를 통하여<br>
|
|
도면을 쉽게 찾고 쉽게 수정, 편리하게 인쇄하면서 <br class="brk">대량의 설계도면을 효율적으로 관리하는 기능을 제공합니다.</p>
|
|
</div>
|
|
<div class="diagram_wrap" data-aos="fade-up" data-aos-duration="1000">
|
|
<div class="dia_elements_wrap">
|
|
<div class="dia_element dia_element01">
|
|
<i></i>
|
|
<span class="dia_tit">편리한<br><em>도면탐색 및 도면정보열람</em></span>
|
|
<div class="line"></div>
|
|
</div>
|
|
<div class="dia_element dia_element02">
|
|
<i></i>
|
|
<span class="dia_tit">도면정보<br><em>일괄수정</em></span>
|
|
<div class="line"></div>
|
|
</div>
|
|
<div class="dia_element dia_element03">
|
|
<i></i>
|
|
<span class="dia_tit">여러도면<br><em>일괄출력</em></span>
|
|
<div class="line"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="dia_circles_wrap">
|
|
<div class="circle_dash"></div>
|
|
<div class="circle_belt"></div>
|
|
<div class="circle_core">
|
|
<span>효율적인</span>
|
|
<span>도면관리</span>
|
|
</div>
|
|
<div class="circle_dots move">
|
|
<div class="dot"></div>
|
|
<div class="dot"></div>
|
|
<div class="dot"></div>
|
|
</div>
|
|
<div class="circle_dots">
|
|
<div class="dot"></div>
|
|
<div class="dot"></div>
|
|
<div class="dot"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
<section class="key find layout_fix_left">
|
|
<div class="left">
|
|
<div class="mid_tit">
|
|
<span data-aos="fade-right" data-aos-duration="600">도면탐색과<br> <em>도면정보열람</em></span>
|
|
</div>
|
|
<ul data-aos="fade-right" data-aos-duration="1000" data-aos-delay="300" class="js__fixLeft_tit">
|
|
<li class="on"><span><em>01</em>사용자 지정 폴더</span></li>
|
|
<li><span><em>02</em>도면정보 열람</span></li>
|
|
<li><span><em>03</em>도면 미리보기</span></li>
|
|
</ul>
|
|
</div>
|
|
<div class="right js__fixLeft_secs">
|
|
<div id="content1" class="find01">
|
|
<span class="sub_tit">사용자 지정폴더</span>
|
|
<div class="sub_text">
|
|
폴더 탐색에서 자주 사용하는 폴더를 드래그 앤 드랍하여 사용자 지정 폴더함에 추가하면,<br> 해당 폴더를 빠르게 찾아갈 수 있습니다.
|
|
</div>
|
|
<div class="sub_figs">
|
|
<div class="imgs">
|
|
<object data="<?php echo egbim_img_url('find_img_01_01.svg'); ?>" alt="" class="apx"></object>
|
|
<img src="<?php echo egbim_img_url('find_img_01.png'); ?>" alt="">
|
|
</div>
|
|
<div class="text">
|
|
<div class="top">
|
|
자주 사용하는 폴더를<br>
|
|
<b>사용자 지정 폴더함에 추가</b>
|
|
</div>
|
|
<div class="line">
|
|
<img src="<?php echo egbim_img_url('ico_find_tri.svg'); ?>" alt="">
|
|
</div>
|
|
<div class="bottom">
|
|
<img src="<?php echo egbim_img_url('ico_find_01.svg'); ?>" alt="">
|
|
<div class="bottom_txt">
|
|
<b>폴더 탐색시간을 줄여</b><br>
|
|
효율적인 작업 가능
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="content2" class="find02">
|
|
<span class="sub_tit">도면정보 열람</span>
|
|
<div class="sub_text">
|
|
공사명,도면명, 도면번호 등의 원하는 도면정보를 불러와 확인 할 수 있습니다.
|
|
</div>
|
|
<div class="sub_figs">
|
|
<div class="imgs">
|
|
<img src="<?php echo egbim_img_url('find_img_02_01.png'); ?>" alt="" class="apx">
|
|
<img src="<?php echo egbim_img_url('find_img_02.png'); ?>" alt="">
|
|
</div>
|
|
<div class="text">
|
|
<div class="top">
|
|
<b>내가 원하는 도면정보 확인</b>
|
|
</div>
|
|
<div class="line">
|
|
<img src="<?php echo egbim_img_url('ico_find_tri.svg'); ?>" alt="">
|
|
</div>
|
|
<div class="bottom">
|
|
<img src="<?php echo egbim_img_url('ico_find_02.svg'); ?>" alt="">
|
|
<div class="bottom_txt">
|
|
<b>도면 정보를</b><br>
|
|
<b>빠르게 확인하여</b><br><br class="brk">
|
|
정확성과 효율성 향상
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="content3" class="find03">
|
|
<span class="sub_tit">도면 미리보기</span>
|
|
<div class="sub_text">
|
|
듀얼 모드에서 도면 미리보기 창을 분리하여 사용할 수 있습니다. <br>
|
|
미리보기 창을 각각 다른 모니터에 배치하여 도면을 직접 열지 않고도 미리보기를 통해 편리하게 확인할 수 있습니다.
|
|
</div>
|
|
<div class="sub_figs">
|
|
<div class="imgs">
|
|
<img src="<?php echo egbim_img_url('find_img_03_02.png'); ?>" alt="" class="apx">
|
|
<div class="find_03_move">
|
|
<img src="<?php echo egbim_img_url('find_img_03_03.png'); ?>" alt="">
|
|
<img src="<?php echo egbim_img_url('find_img_03_01.png'); ?>" alt="" class="element">
|
|
<img src="<?php echo egbim_img_url('find_img_03.png'); ?>" alt="">
|
|
</div>
|
|
</div>
|
|
<div class="text">
|
|
<div class="top">
|
|
듀얼 모드로<br>
|
|
<b>도면 미리보기 창을 분리</b>
|
|
</div>
|
|
<div class="line">
|
|
<img src="<?php echo egbim_img_url('ico_find_tri.svg'); ?>" alt="">
|
|
</div>
|
|
<div class="bottom">
|
|
<img src="<?php echo egbim_img_url('ico_find_03.svg'); ?>" alt="">
|
|
<div class="bottom_txt">
|
|
<b>도면을 열지 않고</b><br>
|
|
편리한 도면 확인
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section class="key info layout_fix_left">
|
|
<div class="left">
|
|
<div class="mid_tit">
|
|
<span data-aos="fade-right" data-aos-duration="600">도면정보 선택<br> <em>및 정보수정</em></span>
|
|
</div>
|
|
<ul data-aos="fade-right" data-aos-duration="1000" data-aos-delay="300" class="js__fixLeft_tit">
|
|
<li class=" on"><span><em>01</em>도면정보 수정</span></li>
|
|
<li><span><em>02</em>열람하고자 하는 도면정보 선택 </span></li>
|
|
</ul>
|
|
</div>
|
|
<div class="right js__fixLeft_secs">
|
|
<div id="content4" class="info01">
|
|
<span class="sub_tit">도면정보 수정</span>
|
|
<div class="sub_text">
|
|
원하는 도면정보를 선택하여 여러도면을 일괄적으로 수정 할 수있으며, <br>
|
|
엑셀처럼 드래그방식으로 수정이 가능합니다.
|
|
</div>
|
|
<div class="sub_figs">
|
|
<div class="imgs">
|
|
<img src="<?php echo egbim_img_url('info_img_01_01.svg'); ?>" alt="" class="apx">
|
|
<img src="<?php echo egbim_img_url('info_img_01.png'); ?>" alt="">
|
|
</div>
|
|
<div class="text">
|
|
<div class="top">
|
|
<b>엑셀 드래그 방식</b>으로<br>
|
|
<b>일괄 수정 가능</b>
|
|
</div>
|
|
<div class="line">
|
|
<img src="<?php echo egbim_img_url('ico_find_tri.svg'); ?>" alt="">
|
|
</div>
|
|
<div class="bottom">
|
|
<img src="<?php echo egbim_img_url('ico_info_01.svg'); ?>" alt="">
|
|
<div class="bottom_txt">
|
|
<b>단순반복 작업을 줄여</b><br>
|
|
정확하고 빠른 수정 가능
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="content5" class="info02">
|
|
<span class="sub_tit">열람하고자 하는 도면정보 선택</span>
|
|
<div class="sub_text">
|
|
표시하고자 하는 도면정보를 선택하여 도면목록에 추가 및 삭제 할 수 있으며, <br>
|
|
어떤 정보가 수정중인지 표시하여 알려줍니다.
|
|
</div>
|
|
<div class="sub_figs">
|
|
<div class="imgs">
|
|
<img src="<?php echo egbim_img_url('info_img_02_01.png'); ?>" alt="" class="apx">
|
|
<img src="<?php echo egbim_img_url('info_img_02.png'); ?>" alt="">
|
|
</div>
|
|
<div class="text">
|
|
<div class="top">
|
|
도면정보를 선택하여<br>
|
|
<b>도면목록 추가및 삭제</b>
|
|
</div>
|
|
<div class="line">
|
|
<img src="<?php echo egbim_img_url('ico_find_tri.svg'); ?>" alt="">
|
|
</div>
|
|
<div class="bottom">
|
|
<img src="<?php echo egbim_img_url('ico_info_02.svg'); ?>" alt="">
|
|
<div class="bottom_txt">
|
|
<b>유연한 도면관리로</b><br>
|
|
효율적인 작업 가능
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section class="key print layout_fix_left">
|
|
<div class="left">
|
|
<div class="mid_tit">
|
|
<span data-aos="fade-right" data-aos-duration="600">인쇄옵션 설정과<br> <em>일괄출력</em></span>
|
|
</div>
|
|
<ul data-aos="fade-right" data-aos-duration="1000" data-aos-delay="300" class="js__fixLeft_tit">
|
|
<li class="on"><span><em>01</em>인쇄 파일 선택 및 인쇄설정값 표시</span></li>
|
|
<li><span><em>02</em>출력옵션 설정 및 미리보기</span></li>
|
|
</ul>
|
|
</div>
|
|
<div class="right js__fixLeft_secs">
|
|
<div id="content6" class="print01">
|
|
<span class="sub_tit">인쇄 파일 선택 및 인쇄설정값 표시</span>
|
|
<div class="sub_text">
|
|
탐색창에서 선택한 폴더의 도면목록이 표시되며 출력도면을 선택 할 수 있습니다.
|
|
</div>
|
|
<div class="sub_figs">
|
|
<div class="imgs">
|
|
<img src="<?php echo egbim_img_url('print_img_01.png'); ?>" alt="">
|
|
</div>
|
|
<div class="text">
|
|
<div class="top">
|
|
도면목록이 표시되어<br>
|
|
<b>다중선택및 인쇄설정값 확인</b>
|
|
</div>
|
|
<div class="line">
|
|
<img src="<?php echo egbim_img_url('ico_find_tri.svg'); ?>" alt="">
|
|
</div>
|
|
<div class="bottom">
|
|
<img src="<?php echo egbim_img_url('ico_print_01.svg'); ?>" alt="">
|
|
<div class="bottom_txt">
|
|
<b>도면을 한눈에 확인하고 </b><br><br class="brk">
|
|
다중출력 작업을 <br>
|
|
손쉽게 처리 가능
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="content7" class="print02">
|
|
<span class="sub_tit">출력옵션 설정 및 미리보기</span>
|
|
<div class="sub_text">
|
|
인쇄옵션을 개별 또는 일괄로 변경 가능하며 출력전 미리보기가 가능합니다.
|
|
</div>
|
|
<div class="sub_figs">
|
|
<div class="imgs">
|
|
<img src="<?php echo egbim_img_url('print_img_02.png'); ?>" alt="">
|
|
</div>
|
|
<div class="text">
|
|
<div class="top">
|
|
인쇄옵션<br>
|
|
<b>개별 또는 일괄 변경</b> 및<br>
|
|
<b>출력 전 미리보기</b>
|
|
</div>
|
|
<div class="line">
|
|
<img src="<?php echo egbim_img_url('ico_find_tri.svg'); ?>" alt="">
|
|
</div>
|
|
<div class="bottom">
|
|
<img src="<?php echo egbim_img_url('ico_print_02.svg'); ?>" alt="">
|
|
<div class="bottom_txt">
|
|
<b>인쇄 옵션을 미리 확인하여</b><br><br class="brk">
|
|
출력 오류를 줄이고<br>
|
|
작업의 정확도 향상
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
<!-- footer -->
|
|
<?php include_once($member_skin_path.'/main_footer.skin.php'); ?>
|
|
<!-- //footer -->
|
|
</div>
|
|
<script>
|
|
AOS.init();
|
|
|
|
const lenis = new Lenis()
|
|
lenis.on('scroll', (e) => {
|
|
//console.log(e)
|
|
})
|
|
lenis.on('scroll', ScrollTrigger.update)
|
|
gsap.ticker.add((time) => {
|
|
lenis.raf(time * 1000)
|
|
})
|
|
gsap.ticker.lagSmoothing(0)
|
|
</script>
|
|
</body>
|
|
|
|
<script>
|
|
$(function(){
|
|
// footer family site toggle
|
|
$('.family_btn').click(function(e){
|
|
e.stopPropagation();
|
|
$('.family_list, .family_btn').toggleClass('family_on');
|
|
});
|
|
$(document).click(function(e){
|
|
if(!$(e.target).closest('.family_wrap').length){
|
|
$('.family_list, .family_btn').removeClass('family_on');
|
|
}
|
|
});
|
|
});
|
|
|
|
// 회원 탈퇴
|
|
function member_leave() {
|
|
if (confirm("회원에서 탈퇴 하시겠습니까?"))
|
|
location.href = '<?php echo G5_BBS_URL ?>/member_leave.php';
|
|
}
|
|
// 회원 탈퇴
|
|
|
|
|
|
let x = document.cookie;
|
|
if(x.includes("tmp_1=John")){
|
|
deleteCookie("tmp_1");
|
|
$('#pop_mypage02').show();
|
|
}
|
|
|
|
function deleteCookie(name) {
|
|
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim;";
|
|
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/bbs;";
|
|
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/faq;";
|
|
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/qa;";
|
|
}
|
|
function getCookie(cname) {
|
|
let name = cname + "=";
|
|
let decodedCookie = decodeURIComponent(document.cookie);
|
|
let ca = decodedCookie.split(';');
|
|
for(let i = 0; i <ca.length; i++) {
|
|
let c = ca[i];
|
|
while (c.charAt(0) == ' ') {
|
|
c = c.substring(1);
|
|
}
|
|
if (c.indexOf(name) == 0) {
|
|
return c.substring(name.length, c.length);
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
|
|
//descope 로그인, 로그아웃 js
|
|
function updateHeaderMenu() {
|
|
var isLoggedIn = !!sessionStorage.getItem("sessionJwt");
|
|
// role 체크 예시 (로그인 시 저장해놓은 값)
|
|
var isAdmin = sessionStorage.getItem('userRole') === 'super';
|
|
|
|
if (isLoggedIn) {
|
|
$('.my_join2, .my_login2').show();
|
|
$('.my_join, .my_login').hide();
|
|
|
|
// 마이페이지/관리자 메뉴 동적 출력
|
|
if (isAdmin) {
|
|
$('#my_join2').html("<a href='http://eg-bim.com/egbim/adm/index.php' target='_blank'>관리페이지</a>");
|
|
} else {
|
|
$('#my_join2').html("<a href='javascript:mypage03();'>마이페이지</a>");
|
|
}
|
|
} else {
|
|
$('.my_join2, .my_login2').hide();
|
|
$('.my_join, .my_login').show();
|
|
$('#my_join2').html(""); // 혹시모를 내용 초기화
|
|
}
|
|
}
|
|
|
|
function descopeLogout() {
|
|
fetch('/egbim/skin/member/basic/descope_logout.php', {
|
|
method: 'POST',
|
|
credentials: 'include' // PHPSESSID 쿠키 전송
|
|
})
|
|
.then(res => {
|
|
if (!res.ok) throw new Error('서버 로그아웃 실패');
|
|
// 1) 로컬 저장소 정리
|
|
// sessionStorage.removeItem("refreshJwt");
|
|
// sessionStorage.removeItem("sessionJwt");
|
|
// sessionStorage.removeItem("userRole");
|
|
// sessionStorage.removeItem("userName");
|
|
// sessionStorage.removeItem("loginId");
|
|
|
|
sessionStorage.clear();
|
|
localStorage.clear();
|
|
// 2) UI 갱신
|
|
updateHeaderMenu();
|
|
// 3) 로그인 페이지로 이동
|
|
window.location.href = '/egbim/index.php';
|
|
})
|
|
.catch(err => {
|
|
console.error(err);
|
|
alert('로그아웃 중 오류가 발생했습니다.');
|
|
});
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
// 기존에 있던 updateHeaderMenu() 호출 뒤에
|
|
$('#my_login2 a').off('click').on('click', function(e){
|
|
e.preventDefault();
|
|
descopeLogout();
|
|
});
|
|
});
|
|
|
|
$(document).ready(function() {
|
|
updateHeaderMenu();
|
|
// (필요하다면, 로그인 성공 후에도 항상 updateHeaderMenu(); 호출)
|
|
});
|
|
|
|
//descope login
|
|
$('#flogin button[type=submit]').click(function(e){
|
|
e.preventDefault();
|
|
let mb_id = $('#login_id').val();
|
|
let mb_password = $('#login_pw').val();
|
|
|
|
$.ajax({
|
|
url : '/egbim/skin/member/basic/descope_login.php',
|
|
data : {
|
|
'mb_id' : mb_id,
|
|
'mb_password' : mb_password
|
|
},
|
|
type : "POST",
|
|
dataType : "json",
|
|
success : function(res){
|
|
if(res.status === "ok") {
|
|
// 토큰 저장
|
|
// sessionStorage.setItem("refreshJwt", res.refreshJwt);
|
|
sessionStorage.setItem("sessionJwt", res.sessionJwt);
|
|
|
|
// ✅ 사용자 정보 저장
|
|
if (res.user) {
|
|
sessionStorage.setItem("loginId", res.user.loginIds?.[0] || '');
|
|
sessionStorage.setItem("userName", res.user.name || '');
|
|
sessionStorage.setItem("company", res.user.customAttributes?.company || '');
|
|
sessionStorage.setItem("familyCompany", res.user.customAttributes?.familyCompany || '');
|
|
sessionStorage.setItem("position", res.user.customAttributes?.position || '');
|
|
sessionStorage.setItem("team", res.user.customAttributes?.team || '');
|
|
sessionStorage.setItem("familyUniqueKey", res.user.customAttributes?.familyUniqueKey || '');
|
|
sessionStorage.setItem("phone", res.user.phone || '');
|
|
}
|
|
|
|
// ✅ 추가: 관리자 등 정보 저장
|
|
if(res.user && res.user.roleNames && res.user.roleNames[0])
|
|
sessionStorage.setItem("userRole", res.user.roleNames[0]);
|
|
else
|
|
sessionStorage.removeItem("userRole");
|
|
|
|
// ✅ 로그인 후 메뉴 갱신
|
|
updateHeaderMenu();
|
|
|
|
// UI 처리
|
|
$('.popup_wrap').hide();
|
|
$('body').css('overflow', '');
|
|
lenis.start();
|
|
// alert('로그인 하셨습니다.');
|
|
} else {
|
|
alert(res.message || "로그인 실패");
|
|
|
|
// 🔴 실패 횟수에 따라 안내 배너 교체
|
|
if (res.failCount && res.failCount >= 8) {
|
|
updateLoginBanner("fail");
|
|
}
|
|
}
|
|
},
|
|
error : function(err){
|
|
alert(err.statusText || "통신 오류");
|
|
}
|
|
});
|
|
});
|
|
|
|
// ✅ 배너 교체 함수
|
|
function updateLoginBanner(type = "default") {
|
|
const $banner = $('#login_notice_banner');
|
|
if (!$banner.length) return;
|
|
|
|
if (type === "default") {
|
|
$banner.css({ background: "#063e01ff", color: "#fff" });
|
|
$banner.find("strong").text("[로그인 시스템 변경 안내]");
|
|
$banner.find("p.left").html(`
|
|
더 나은 보안을 위해 2025년 8월 8일부터 로그인 시스템이 변경되었습니다.<br>
|
|
기존 회원 또한 신규 시스템에 맞춰 재가입을 진행해주시기 바랍니다.
|
|
`);
|
|
$banner.find("p:last").html(`※ 로그인 및 가입 관련 문의: <strong>010-8721-7453</strong>`);
|
|
}
|
|
|
|
if (type === "fail") {
|
|
$banner.css({ background: "#6a0202ff", color: "#faf6f6ff" });
|
|
$banner.find("strong").text("[로그인 시도 제한 안내]");
|
|
$banner.find("p.left").html(`
|
|
비밀번호 입력을 <strong>7회 이상 연속 실패</strong>하셨습니다.<br>
|
|
<strong>8번째 시도부터 3분 대기</strong>가 적용됩니다.<br>
|
|
10회 이상 실패 시 계정이 잠금 처리됩니다.
|
|
`);
|
|
$banner.find("p:last").text("");
|
|
}
|
|
}
|
|
|
|
//회원가입 약관동의
|
|
// $('#fregister button[type=submit]').click(function(e){
|
|
// e.preventDefault();
|
|
// let agree11 = $('#agree11').val();
|
|
// let agree21 = $('#agree21').val();
|
|
// $.ajax({
|
|
// url : '<?php echo G5_URL ?>/bbs/register_form.php',
|
|
// type : "POST",
|
|
// datatype : "json",
|
|
// contentType: 'application/json; charset=utf-8',
|
|
// data : {
|
|
// 'agree11' : agree11,
|
|
// 'agree21' : agree21
|
|
// },
|
|
// success : function(data){
|
|
// var ss='';
|
|
// for(i=0; i<data.length; i++){
|
|
// ss=ss + data[i];
|
|
// }
|
|
// },
|
|
// error : function(err){
|
|
// alert(err);
|
|
// }
|
|
// });
|
|
// });
|
|
|
|
// 이지빔 프로그램 회원가입 url 쿼리스트링 파싱 함수
|
|
function getQueryString(name) {
|
|
const intro = document.querySelector('.intro_wrap');
|
|
intro.style.display = "none";
|
|
const mainMask = document.querySelector('.main_mask');
|
|
mainMask.classList.add('skip');
|
|
// mainMask.style.aimation = 'none';
|
|
const urlParams = new URLSearchParams(window.location.search);
|
|
return urlParams.get(name);
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
const popupParam = getQueryString('popup');
|
|
|
|
if (popupParam === 'signup') {
|
|
console.log('쿼리 감지: signup → 회원가입 팝업 자동 오픈 시도');
|
|
$('#pop_agreement').show(); // 팝업 보여주기
|
|
|
|
// 스크롤 잠금 (사용 중이면)
|
|
$('body').css('overflow', 'hidden');
|
|
if (typeof lenis !== 'undefined') {
|
|
lenis.stop();
|
|
}
|
|
}
|
|
|
|
// 팝업 닫기 버튼 이벤트 연결
|
|
$('#pop_agreement .btn_close').on('click', function() {
|
|
$('#pop_agreement').hide();
|
|
$('body').css('overflow', '');
|
|
if (typeof lenis !== 'undefined') {
|
|
lenis.start();
|
|
}
|
|
});
|
|
});
|
|
|
|
//이지빔 프로그램 비밀번호 재설정 url 쿼리스트링 파싱 함수
|
|
$(document).ready(function() {
|
|
const urlParams = new URLSearchParams(window.location.search);
|
|
const popup = urlParams.get('popup');
|
|
const token = urlParams.get('t');
|
|
|
|
if (popup === 'pwreset') {
|
|
// 팝업 전체 열기
|
|
$('#pop_search').show();
|
|
$('body').css('overflow', 'hidden');
|
|
|
|
// 내부 컨텐츠 모두 숨기기
|
|
$('#pop_search .popup_contents_wrap').hide();
|
|
|
|
if (token) {
|
|
// 토큰이 있으면 비밀번호 재설정 단계
|
|
if (!sessionStorage.getItem('pwreset_shown')) {
|
|
$('#password_reset').show();
|
|
sessionStorage.setItem('pwreset_shown', '1');
|
|
}
|
|
} else {
|
|
// 토큰이 없으면 아이디 입력 단계 (첫 번째 .popup_contents_wrap)
|
|
$('#pop_search .popup_contents_wrap').first().show();
|
|
}
|
|
}
|
|
|
|
// 닫기 버튼
|
|
$('#pop_search .btn_close').on('click', function() {
|
|
$('#pop_search').hide();
|
|
$('body').css('overflow', '');
|
|
});
|
|
});
|
|
</script>
|