浏览代码

본인인증, 비밀번호 변경 화면 추가 및 퍼블 변경 수정

jsshin 5 年之前
父节点
当前提交
38385dd2ce

+ 17 - 3
src/main/java/com/style24/front/biz/web/TsfCustomerController.java

@@ -717,12 +717,26 @@ public class TsfCustomerController extends TsfBaseController {
 	 * @author jsshin
 	 * @since 2021. 03. 10
 	 */
-	@GetMapping("/certification/form")
-	public ModelAndView getCertificationForm() {
+	@RequestMapping("/certification/form")
+	public ModelAndView getCertificationForm(@RequestParam(value = "sEncData", required = false) String sEncData
+			, @RequestParam(value = "authMethod", required = false) String authMethod
+			, @RequestParam(value = "custParams", required = false) String custParams) {
+
 		ModelAndView mav = new ModelAndView();
 
-		mav.setViewName(super.getDeviceViewName("customer/CertificationForm"));
+		if (StringUtils.isNotBlank(custParams)) {
+			TsfSession.setAttribute("custNo", custParams);
+		}
 
+		if (TscConstants.FrontGb.MOB.value().equals(TsfSession.getFrontGb())) {
+			mav.addObject("custNo", TsfSession.getAttribute("custNo"));
+		}
+
+		mav.addObject("sEncData", sEncData);
+		mav.addObject("authMethod", authMethod);
+
+
+		mav.setViewName(super.getDeviceViewName("customer/CertificationForm"));
 		return mav;
 	}
 

+ 102 - 0
src/main/webapp/WEB-INF/views/mob/customer/CertificationFormMob.html

@@ -0,0 +1,102 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+	layout:decorator="mob/common/layout/LoginLayoutMob">
+<!--
+ *******************************************************************************
+ * @source  : CertificationFormMob.html
+ * @desc    : 본인인증 확인 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2021 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.19   jsshin     최초 작성
+ *******************************************************************************
+ -->
+
+<body>
+<th:block layout:fragment="content">
+	<main class="container mb">
+		<!-- ★ 컨텐츠 시작 -->
+		<section class="content authentic">
+			<div class="inner">
+				<div class="close">
+					<a href="javascript:void(0)" class="btn_close" onclick="cfnGoToPage(_PAGE_MAIN);"><span></span><span></span></a>
+				</div>
+			</div>
+			<div class="inner">
+				<h2 class="title">본인 인증 확인</h2>
+			</div>
+			<div class="inner">
+				<form class="form_wrap" role="form">
+					<!-- 휴대폰,아이핀 본인인증으로 아이디찾기 실패일경우 -->
+					<div class="find_result clear">
+						<div class="form_info">
+							<p>
+								본인 인증 후에 STYLE24의 다양한 서비스를<br>
+								이용하실 수 있습니다.
+							</p>
+						</div>
+						<div class="btn_group_flex">
+							<div>
+								<button type="button" id="btnCellPhoneCertify" class="btn btn_primary btn_block" >
+									<span>휴대폰 본인인증</span>
+								</button>
+							</div>
+						</div>
+					</div>
+					<!-- //휴대폰,아이핀 본인인증으로 아이디찾기 실패일경우 -->
+				</form>
+			</div>
+		</section>
+		<!-- ★ 컨텐츠 종료 -->
+	</main>
+
+<script th:inline="javascript">
+/*<![CDATA[*/
+	const sEncData = [[${sEncData}]];   //인증 후 해당 페이지로 리다이렉트함
+	const authMethod = [[${authMethod}]]; //인증 후 해당 페이지로 리다이렉트함
+
+	// 나이스 본인인증 후 콜백
+	var fnNiceCallBack = function(encData) {
+		if (!gagajf.isNull(encData)) {
+			let custInfo = {};
+			custInfo.encData = encData;
+			let jsonData = JSON.stringify(custInfo);
+			gagajf.ajaxJsonSubmit('/customer/certification/save', jsonData, fnCertificationCallback);
+		}
+	};
+
+	var fnCertificationCallback = function (result) {
+		if (result.isSuccess) { //인증 성공시 다시 로그인 페이지
+			mcxDialog.alertC("본인인증 완료 되었습니다.", {
+				sureBtnText: "확인",
+				sureBtnClick: function() {
+					cfnGoToPage(_PAGE_MAIN);
+				}
+			});
+			return;
+		} else { // 이미 가입된 이력이 있는 경우 완료 페이지
+			cfnGoToPage(_PAGE_CUSTOMER_JOIN_COMPLETE);
+		}
+	}
+
+	// 본인인증
+	$('#btnCellPhoneCertify').on('click', function () {
+		cfnOpenCellphoneCertify(_PAGE_CUSTOMER_CERTIFICATION, [[${custNo}]])
+	});
+
+	$(document).ready(function () {
+		if (!gagajf.isNull(sEncData)) {
+			fnNiceCallBack(sEncData, authMethod);
+		}
+	});
+
+/*]]>*/
+</script>
+</th:block>
+</body>
+</html>

+ 13 - 7
src/main/webapp/WEB-INF/views/mob/customer/IdFindFormMob.html

@@ -71,8 +71,10 @@
 										<div class="form_field">
 											<input type="text" name="email" placeholder="이메일" id="email" class="form_control"/>
 										</div>
-										<div class="ui_row mt20">
-											<button type="button" id="btnInfoConfirm" class="btn btn_dark">확인</button>
+										<div class="btn_group_flex">
+											<div>
+												<button type="button" id="btnInfoConfirm" class="btn btn_dark">확인</button>
+											</div>
 										</div>
 									</div>
 								</form>
@@ -84,11 +86,13 @@
 												회원님의 명의로 등록된 휴대폰으로<br>
 												본인확인을 진행합니다.
 										</div>
-											<div class="ui_row mt20">
+										<div class="btn_group_flex">
+											<div>
 												<button type="button" id="btnCellPhoneCertify" class="btn btn_dark">
 													본인명의 휴대폰으로 인증
 												</button>
 											</div>
+										</div>
 									</div>
 								</div>
 							</div>
@@ -98,10 +102,12 @@
 										<div class="txt">
 											아이핀 인증을 통해 찾을 수 있습니다.
 										</div>
-										<div class="ui_row mt20">
-											<button type="button" id="btnIpinCertify" class="btn btn_dark">
-												아이핀 인증
-											</button>
+										<div class="btn_group_flex">
+											<div>
+												<button type="button" id="btnIpinCertify" class="btn btn_dark">
+													아이핀 인증
+												</button>
+											</div>
 										</div>
 									</div>
 								</div>

+ 80 - 0
src/main/webapp/WEB-INF/views/mob/customer/PasswordCampaignFormMob.html

@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+	layout:decorator="mob/common/layout/LoginLayoutMob">
+
+<!--
+ *******************************************************************************
+ * @source  : PasswordCampaignFormWeb.html
+ * @desc    : 비밀번호 캠페인 화면 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2021 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.03.11   jsshin     최초 작성
+ *******************************************************************************
+ -->
+<body>
+<th:block layout:fragment="content">
+<main class="container mb">
+	<!-- ★ 컨텐츠 시작 -->
+	<section class="content campaign">
+		<div class="inner">
+			<div class="close">
+				<a href="javascript:void(0)" class="btn_close" onclick="cfnGoToPage(_PAGE_MAIN);"><span></span><span></span></a>
+			</div>
+		</div>
+		<div class="inner">
+			<h2 class="title">비밀번호 변경 캠페인</h2>
+		</div>
+		<div class="inner">
+			<form class="form_wrap" role="form">
+				<div class="form_info">
+					<p>고객님&nbsp;<span class="c_primary">비밀번호 변경</span>으로<br>소중한 개인정보를 지켜주세요!</p>
+					<p class="t_info">고객님은 3개월동안 비밀번호를 변경하지 않으셨습니다.</p>
+				</div>
+				<div class="info_txt">
+					<ul>
+						<li>장기간 비밀번호를 변경하지 않고 동일한 비밀번호를 사용중인 경우, 개인정보를 안전하게 보호하고, 개인정보 도용으로 인한 피해를 방지하기 위해 주기적으로 비밀번호를 변경하도록 안내해드리고 있습니다.</li>
+						<li>고객님의 소중한 정보 보호를 위해 적극적인 참여 부탁 드립니다.</li>
+					</ul>
+				</div>
+				<div class="btn_group_flex">
+					<div>
+						<button type="button" class="btn btn_primary btn_block" onclick="cfnGoToPage(_PAGE_CUSTOMER_PWD_CHANGE_TEMP);">
+							<span>변경하기</span>
+						</button>
+					</div>
+					<div>
+						<button type="button" id="btnPwdNext" class="btn btn_default btn_block">
+							<span>30일간 보지않기</span>
+						</button>
+					</div>
+				</div>
+			</form>
+		</div>
+	</section>
+	<!-- ★ 컨텐츠 종료 -->
+</main>
+
+<script th:inline="javascript">
+/*<![CDATA[*/
+
+	// 30일간 보지 않기
+	$('#btnPwdNext').on('click', function () {
+		let jsonData = JSON.stringify({});
+		gagajf.ajaxJsonSubmit('/customer/password/date/update', jsonData, fnPwdDateUpdateCallback);
+	});
+
+	var fnPwdDateUpdateCallback = function (result) {
+		cfnGoToPage(_PAGE_MAIN);
+	}
+
+/*]]>*/
+</script>
+</th:block>
+</body>
+</html>

+ 12 - 12
src/main/webapp/WEB-INF/views/mob/customer/PasswordChangeFormMob.html

@@ -96,9 +96,9 @@
 								<!-- //case (비밀번호확인 틀렸을경우,비밀번호 일치할경우) -->
 							</div>
 						</div>
-						<div class="btn_group_block btn_group_md ui_row">
-							<div class="ui_col_12">
-								<button type="button" id="btnSavePassword" class="btn btn_dark" disabled="disabled">
+						<div class="btn_group_flex">
+							<div>
+								<button type="button" id="btnSavePassword" class="btn btn_dark btn_block" disabled="disabled">
 									<span th:if="${pageGb == 'find'}">변경 후 다시 로그인</span>
 									<span th:if="${pageGb == 'temp'}">변경하기</span>
 								</button>
@@ -235,16 +235,16 @@
 
 	var fnSavePasswordCallback = function (result) {
 		if (result.isSuccess) {
-		mcxDialog.alertC('비밀번호 변경이 완료 되었습니다.', {
-			sureBtnText: "확인",
-			sureBtnClick: function() {
-				if (pageGb === 'find') {
-					cfnGoToPage(_PAGE_LOGIN);
-				} else if (pageGb === 'temp') {
-					cfnGoToPage(_PAGE_MAIN);
+			mcxDialog.alertC('비밀번호 변경이 완료 되었습니다.', {
+				sureBtnText: "확인",
+				sureBtnClick: function() {
+					if (pageGb === 'find') {
+						cfnGoToPage(_PAGE_LOGIN);
+					} else if (pageGb === 'temp') {
+						cfnGoToPage(_PAGE_MAIN);
+					}
 				}
-			}
-		});
+			});
 		} else {
 			mcxDialog.alert('비밀번호 변경이 실패 되었습니다.')
 		}

+ 13 - 7
src/main/webapp/WEB-INF/views/mob/customer/PasswordFindFormMob.html

@@ -67,9 +67,11 @@
                                         <div class="form_field">
                                             <input type="text" name="email" placeholder="이메일" id="email" class="form_control" maxlength="30"/>
                                         </div>
-                                        <div class="ui_row mt20">
-                                            <button type="button" id="btnInfoConfirm" class="btn btn_dark">확인</button>
-                                        </div>
+                                            <div class="btn_group_flex">
+                                                <div>
+                                                    <button type="button" id="btnInfoConfirm" class="btn btn_dark">확인</button>
+                                                </div>
+                                            </div>
                                     </div>
                                 </form>
                             </div>
@@ -80,8 +82,10 @@
                                             회원님의 명의로 등록된 휴대폰으로<br>
                                             본인확인을 진행합니다.
                                         </div>
-                                        <div class="ui_row mt20">
-                                            <button type="button" id="btnCellPhoneCertify" class="btn btn_dark">본인명의 휴대폰으로 인증</button>
+                                        <div class="btn_group_flex">
+                                            <div>
+                                                <button type="button" id="btnCellPhoneCertify" class="btn btn_dark">본인명의 휴대폰으로 인증</button>
+                                            </div>
                                         </div>
                                     </div>
                                 </div>
@@ -92,8 +96,10 @@
                                         <div class="txt">
                                             아이핀 인증을 통해 찾을 수 있습니다.
                                         </div>
-                                        <div class="ui_row mt20">
-                                            <button type="button" id="btnIpinCertify" class="btn btn_dark">아이핀 인증</button>
+                                        <div class="btn_group_flex">
+                                            <div>
+                                                <button type="button" id="btnIpinCertify" class="btn btn_dark">아이핀 인증</button>
+                                            </div>
                                         </div>
                                     </div>
                                 </div>