ConsentUseInfoFormMob.html 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <!DOCTYPE html>
  2. <html lang="ko"
  3. xmlns:th="http://www.thymeleaf.org">
  4. <!--
  5. *******************************************************************************
  6. * @source : ConsentUseInfoFormMob.html
  7. * @desc : 정보이용동의팝업
  8. * Yes24 간편가입에 사용됨
  9. *============================================================================
  10. * STYLE24
  11. * Copyright(C) 2021 TSIT, All rights reserved.
  12. *============================================================================
  13. * VER DATE AUTHOR DESCRIPTION
  14. * === =========== ========== =============================================
  15. * 1.0 2021.05.14 jsshin 최초 작성
  16. *******************************************************************************
  17. -->
  18. <div class="modal-dialog" role="document">
  19. <div class="modal-content">
  20. <div class="modal-header sr-only">
  21. <h5 class="modal-title" id="mbAgreeLabel">YES24 로그인 정보 이용동의</h5>
  22. </div>
  23. <div class="modal-body">
  24. <div class="pop_cont">
  25. <div class="agree_info">
  26. <h5 class="title">YES24 로그인 정보 이용동의</h5>
  27. <p>계정연동의 경우, STYLE24 휴면계정이면<br>휴면해제 후 이용 가능합니다</p>
  28. <div class="info_txt">
  29. <ul>
  30. <li>“<span class="mb_name" th:text="${custNm}">회원명</span>” 님의 <em>CI, 이름, 성별, 생년월일, 핸드폰번호, 이메일 정보</em>를 로그인 연동을 위해 아이스타일24에 제공합니다.</li>
  31. <li>정보제공 동의 시 YES24 계정으로 로그인 가능하며, 간편하게 회원가입이 가능합니다.</li>
  32. </ul>
  33. </div>
  34. </div>
  35. </div>
  36. </div>
  37. <div class="modal-footer">
  38. <div class="btn_group_flex">
  39. <div>
  40. <button type="button" id="btnAgree" class="btn btn_primary">
  41. <span>동의하기</span>
  42. </button>
  43. </div>
  44. <div>
  45. <button type="button" id="btnClose" class="btn btn_dark">
  46. <span>닫기</span>
  47. </button>
  48. </div>
  49. </div>
  50. </div>
  51. </div>
  52. <a href="#close-modal" rel="modal:close" id="mbAgreePop_close" class="close-modal">Close</a>
  53. </div>
  54. <script th:inline="javascript">
  55. /*<![CDATA[*/
  56. $('#btnAgree').on('click', function () {
  57. let jsonData = JSON.stringify({});
  58. gagajf.ajaxJsonSubmit('/customer/peristalsis/yes24', jsonData, fnPeristalsisCallback)
  59. });
  60. var fnPeristalsisCallback = function (userInfo) {
  61. // 1. CI 정보로 사용자가 없어서 회원가입 프로세스 처리 중 이메일, 휴대전화 중복
  62. if (userInfo.custStat === 'DUP_PHONE_CUST') {
  63. mcxDialog.alert("이미 사용 중인 휴대전화번호 입니다.");
  64. $.modal.close();
  65. return;
  66. }
  67. if (userInfo.custStat === 'DUP_EMAIL_CUST') {
  68. mcxDialog.alert("이미 사용 중인 이메일 입니다.");
  69. $.modal.close();
  70. return;
  71. }
  72. // 2. SNS 로그인 정보로 탈퇴확인
  73. if (userInfo.custStat === 'SECEDE_CUST') {
  74. mcxDialog.alert("탈퇴 회원 입니다.");
  75. $.modal.close();
  76. return;
  77. }
  78. // 3. SNS 로그인 정보로 휴면확인
  79. if (userInfo.custStat === 'DORMANT_CUST') {
  80. mcxDialog.alertC("휴면 고객님께서는 휴면을<br>해지하신 후 사용하실 수 있습니다.", {
  81. sureBtnText: "확인",
  82. sureBtnClick: function() {
  83. cfnGoToPage(_PAGE_CUSTOMER_DORMANT);
  84. $.modal.close();
  85. }
  86. });
  87. return;
  88. }
  89. // 4. 휴대전화 정보가 없으면 SNS 가입화면 이동
  90. if (userInfo.custStat === 'EMPTY_PHONE_CUST') {
  91. cfnGoToPage(_PAGE_CUSTOMER_SNS_JOIN);
  92. $.modal.close();
  93. return;
  94. }
  95. // 5. SNS 정보로 가입 성공시 가입완료 페이지 이동
  96. if (userInfo.custStat === 'NEW_CUST') {
  97. cfnGoToPage(_PAGE_CUSTOMER_JOIN_COMPLETE);
  98. $.modal.close();
  99. return;
  100. }
  101. // 6.SNS 정보로 가입 실패시 안내 창 알림
  102. if (userInfo.custStat === 'FAIL_CUST') {
  103. mcxDialog.alert("회원가입에 실패 했습니다.<br> 고객센터에 문의 하시기 바랍니다.");
  104. $.modal.close();
  105. return;
  106. }
  107. // 7.CI 정보가 없을때 안내 창 알림
  108. if (userInfo.custStat === 'EMPTY_CI_CUST') {
  109. mcxDialog.alert("연계정보(CI) 값이 없습니다.<br> 고객센터에 문의 하시기 바랍니다.");
  110. $.modal.close();
  111. return;
  112. }
  113. // 8. SNS 로그인 연동 성공 및 기존 SNS 연동된 회원 로그인 시도
  114. if (userInfo.custStat === 'SUCC_CUST') {
  115. let params = {};
  116. params.snsType = userInfo.snsType;
  117. params.snsId = [[${snsLoginPrefix}]] + userInfo.snsId;
  118. $.post(_frontUrl + '/login'
  119. , $.param(params)
  120. , fnReloadAfterLogin
  121. , "json");
  122. }
  123. }
  124. var fnReloadAfterLogin = function(result) {
  125. if (result.status === 'OK') {
  126. if (_isApp === 'true') {
  127. if (gagajf.isNull(result.appAgreeDt)) {
  128. fnAppPushAgreeUpdate('Y');
  129. }
  130. document.location.href = "idsend://?id=" + result.custNo + "^link=" + result.returnUrl;
  131. } else {
  132. document.location.href = result.returnUrl;
  133. }
  134. } else {
  135. mcxDialog.alert("로그인 실패 하였습니다.<br> 고객센터에 문의 하시기 바랍니다.");
  136. }
  137. $.modal.close();
  138. };
  139. $("#btnClose").click(function() {
  140. cfnGoToPage(_PAGE_CUSTOMER_JOIN_TYPE);
  141. $.modal.close();
  142. });
  143. // 앱푸시동의 데이터 처리
  144. var fnAppPushAgreeUpdate = function (appAgreeYn) {
  145. let params = {}
  146. params.appAgreeYn = appAgreeYn;
  147. let jsonData = JSON.stringify(params);
  148. gagajf.ajaxJsonSubmit('/app/appagree/update', jsonData);
  149. }
  150. $(document).ready(function () {
  151. $('.close-modal').on('click', function () {
  152. cfnGoToPage(_PAGE_CUSTOMER_JOIN_TYPE);
  153. });
  154. });
  155. /*]]>*/
  156. </script>
  157. </html>