사용자 회원가입 수정(1)
This commit is contained in:
@@ -355,6 +355,9 @@ public interface BOMbrMapper {
|
|||||||
public List<DataMap> selectBOMbrwithdrawalSearch(BOMbrVO vo);
|
public List<DataMap> selectBOMbrwithdrawalSearch(BOMbrVO vo);
|
||||||
public List<DataMap> selectBOMbrwithdrawalSnsSearch(BOMbrVO vo);
|
public List<DataMap> selectBOMbrwithdrawalSnsSearch(BOMbrVO vo);
|
||||||
|
|
||||||
|
public List<DataMap> selectBOMbrwithdrawalSearchEmail(BOMbrVO vo);
|
||||||
|
public List<DataMap> selectBOMbrwithdrawalSnsSearchEmail(BOMbrVO vo);
|
||||||
|
|
||||||
public List<DataMap> selectBOJoinAgreeTermsForm(BOMbrVO vo);
|
public List<DataMap> selectBOJoinAgreeTermsForm(BOMbrVO vo);
|
||||||
|
|
||||||
public List<DataMap> selectBOClauseAgre(BOMbrVO vo);
|
public List<DataMap> selectBOClauseAgre(BOMbrVO vo);
|
||||||
|
|||||||
@@ -1363,6 +1363,30 @@ public class BOMbrService {
|
|||||||
return codeList;
|
return codeList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 기존 가입 여부 조회(Email)
|
||||||
|
*/
|
||||||
|
public List<DataMap> selectBOMbrwithdrawalSearchEmail(BOMbrVO vo) {
|
||||||
|
|
||||||
|
List<DataMap> mbrWithDrawalList = new ArrayList<>();
|
||||||
|
mbrWithDrawalList = mapper.selectBOMbrwithdrawalSearchEmail(vo);
|
||||||
|
|
||||||
|
return mbrWithDrawalList;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 기존 가입 여부 조회(Email)
|
||||||
|
*/
|
||||||
|
public List<DataMap> selectBOMbrwithdrawalSnsSearchEmail(BOMbrVO vo) {
|
||||||
|
|
||||||
|
List<DataMap> mbrWithDrawalList = new ArrayList<>();
|
||||||
|
mbrWithDrawalList = mapper.selectBOMbrwithdrawalSnsSearchEmail(vo);
|
||||||
|
|
||||||
|
return mbrWithDrawalList;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 기존 가입 여부 조회
|
* 기존 가입 여부 조회
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -420,6 +420,8 @@ public class MbrController {
|
|||||||
DataMap content = new DataMap();
|
DataMap content = new DataMap();
|
||||||
content = service.selectBOEmailAuth(vo);
|
content = service.selectBOEmailAuth(vo);
|
||||||
|
|
||||||
|
log.debug("selectEmailAuth content : {}", content);
|
||||||
|
|
||||||
return ResponseEntity.ok(
|
return ResponseEntity.ok(
|
||||||
WnbtResponse.builder()
|
WnbtResponse.builder()
|
||||||
.resBody(new WnbtResponseBody(content))
|
.resBody(new WnbtResponseBody(content))
|
||||||
@@ -609,9 +611,40 @@ public class MbrController {
|
|||||||
return "sopmal_m/mbr/PosJoinCompleteR";
|
return "sopmal_m/mbr/PosJoinCompleteR";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 기존 가입 여부 조회(이메일)
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.PUBLIC)
|
||||||
|
@RequestMapping(value="/selectMbrwithdrawalSearchEmail", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<WnbtResponse> selectMbrwithdrawalSearchEmail(BOMbrVO vo, BindingResult bindingResult){
|
||||||
|
|
||||||
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
|
vo.setMainSopmalCd(user.getSopmalCd());
|
||||||
|
vo.setSopmalCd(user.getSopmalCd());
|
||||||
|
vo.setMbrDvCd(service.selectBOMbrDvCd(vo));
|
||||||
|
|
||||||
|
String secretKey = commonService.selectSecretkey();
|
||||||
|
vo.setSecretKey(secretKey);
|
||||||
|
|
||||||
|
Map<String, Object> content = new HashMap<>();
|
||||||
|
List<DataMap> mbrWithDrawalList = new ArrayList<DataMap>();
|
||||||
|
if (vo.getJoinMthCd() != null) {
|
||||||
|
mbrWithDrawalList = service.selectBOMbrwithdrawalSnsSearchEmail(vo);
|
||||||
|
} else {
|
||||||
|
mbrWithDrawalList = service.selectBOMbrwithdrawalSearchEmail(vo);
|
||||||
|
}
|
||||||
|
content.put("mbrWithDrawalList", mbrWithDrawalList);
|
||||||
|
|
||||||
|
return ResponseEntity.ok(
|
||||||
|
WnbtResponse.builder()
|
||||||
|
.resBody(new WnbtResponseBody(content))
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 기존 가입 여부 조회
|
* 기존 가입 여부 조회(휴대전화)
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Policy(AuthPolicy.PUBLIC)
|
@Policy(AuthPolicy.PUBLIC)
|
||||||
|
|||||||
@@ -1810,6 +1810,113 @@
|
|||||||
LIMIT 1
|
LIMIT 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!--기존 가입 여부 조회 - Email -->
|
||||||
|
<select id="selectBOMbrwithdrawalSearchEmail"
|
||||||
|
parameterType="com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrVO" resultType="dataMap">
|
||||||
|
SELECT TGT.*
|
||||||
|
FROM (
|
||||||
|
SELECT GM.MBR_INNB,
|
||||||
|
GM.MBR_ID,
|
||||||
|
CAST(AES_DECRYPT(UNHEX(GEM.EMAIL_ADRES) , #{secretKey}) AS CHAR(50)) AS EMAIL_ADRES,
|
||||||
|
SHOP.SOPMAL_NM AS BRAND,
|
||||||
|
FN_GET_COMMCODE_NAME('EXTRL_INTRLCK_DV', GEM.EXTRL_INTRLCK_DV_CD) EXTRL_INTRLCK_DV,
|
||||||
|
CASE WHEN GM.MNGR_LOG LIKE '%휴면해제%' THEN 2 ELSE 1 END IS_HM,
|
||||||
|
GMS.LAST_PURCHS_DT,
|
||||||
|
GMS.LAST_LOGIN_DT,
|
||||||
|
CASE WHEN (GM.MBR_ID LIKE 'M-%' OR REGEXP_LIKE(GM.MBR_ID,'kko[0-9]{10}') OR GM.MBR_ID LIKE '%@%')
|
||||||
|
THEN CASE WHEN GM.MNGR_LOG LIKE '%휴면해제%' THEN 4 -- SNS 가입 AND 휴면인적이 있던 회원
|
||||||
|
ELSE 3 -- SNS 가입 AND 휴면인적이 없던 회원
|
||||||
|
END
|
||||||
|
ELSE CASE WHEN GM.MNGR_LOG LIKE '%휴면해제%' THEN 2 -- 사이트 가입 AND 휴면인적이 있던 회원
|
||||||
|
ELSE 1 -- 사이트 가입 AND 휴면인적이 없던 회원
|
||||||
|
END
|
||||||
|
END DEV,
|
||||||
|
RANK() OVER (PARTITION BY GM.MBR_NM, GM.MBTLNB
|
||||||
|
ORDER BY (CASE WHEN (GM.MBR_ID LIKE 'M-%' OR REGEXP_LIKE(GM.MBR_ID,'kko[0-9]{10}') OR GM.MBR_ID LIKE '%@%')
|
||||||
|
THEN CASE WHEN GM.MNGR_LOG LIKE '%휴면해제%' THEN 4
|
||||||
|
ELSE 3
|
||||||
|
END
|
||||||
|
ELSE CASE WHEN GM.MNGR_LOG LIKE '%휴면해제%' THEN 2
|
||||||
|
ELSE 1
|
||||||
|
END
|
||||||
|
END),
|
||||||
|
GMS.LAST_PURCHS_DT DESC, GMS.LAST_LOGIN_DT DESC, GMS.MBR_INNB DESC
|
||||||
|
) AS RK
|
||||||
|
FROM GC_MEMBER GM
|
||||||
|
INNER JOIN GC_MEMBER_SITE GMS
|
||||||
|
ON GM.MBR_INNB = GMS.MBR_INNB
|
||||||
|
AND GM.MBR_DV_CD = GMS.MBR_DV_CD
|
||||||
|
LEFT JOIN GC_EXTRL_MEMBER GEM
|
||||||
|
ON GMS.MBR_INNB = GEM.MBR_INNB
|
||||||
|
AND GMS.MBR_DV_CD = GEM.MBR_DV_CD
|
||||||
|
AND GMS.SOPMAL_CD = GEM.SOPMAL_CD
|
||||||
|
LEFT JOIN GC_SHOP SHOP
|
||||||
|
ON GMS.SOPMAL_CD = SHOP.SOPMAL_CD
|
||||||
|
WHERE 1 = 1
|
||||||
|
AND GM.USE_AT = 'Y'
|
||||||
|
AND GM.MBR_DV_CD = #{mbrDvCd}
|
||||||
|
AND GM.MBR_NM = #{mbrNm}
|
||||||
|
AND GM.EMAIL = HEX(AES_ENCRYPT(#{email}, #{secretKey}))
|
||||||
|
) TGT
|
||||||
|
WHERE 1 = 1
|
||||||
|
AND NOT (EXTRL_INTRLCK_DV IS NULL AND DEV >= 3)
|
||||||
|
ORDER BY DEV, RK
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!--기존 가입 여부 조회(SNS) - Email -->
|
||||||
|
<select id="selectBOMbrwithdrawalSnsSearchEmail"
|
||||||
|
parameterType="com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrVO" resultType="dataMap">
|
||||||
|
SELECT TGT.*
|
||||||
|
FROM (
|
||||||
|
SELECT GM.MBR_INNB,
|
||||||
|
GM.MBR_ID,
|
||||||
|
CAST(AES_DECRYPT(UNHEX(GEM.EMAIL_ADRES) , #{secretKey}) AS CHAR(50)) AS EMAIL_ADRES,
|
||||||
|
SHOP.SOPMAL_NM AS BRAND,
|
||||||
|
FN_GET_COMMCODE_NAME('EXTRL_INTRLCK_DV', GEM.EXTRL_INTRLCK_DV_CD) EXTRL_INTRLCK_DV,
|
||||||
|
CASE WHEN GM.MNGR_LOG LIKE '%휴면해제%' THEN 2 ELSE 1 END IS_HM,
|
||||||
|
GMS.LAST_PURCHS_DT,
|
||||||
|
GMS.LAST_LOGIN_DT,
|
||||||
|
CASE WHEN (GM.MBR_ID LIKE 'M-%' OR REGEXP_LIKE(GM.MBR_ID,'kko[0-9]{10}') OR GM.MBR_ID LIKE '%@%')
|
||||||
|
THEN CASE WHEN GM.MNGR_LOG LIKE '%휴면해제%' THEN 4 -- SNS 가입 AND 휴면인적이 있던 회원
|
||||||
|
ELSE 3 -- SNS 가입 AND 휴면인적이 없던 회원
|
||||||
|
END
|
||||||
|
ELSE CASE WHEN GM.MNGR_LOG LIKE '%휴면해제%' THEN 2 -- 사이트 가입 AND 휴면인적이 있던 회원
|
||||||
|
ELSE 1 -- 사이트 가입 AND 휴면인적이 없던 회원
|
||||||
|
END
|
||||||
|
END DEV,
|
||||||
|
RANK() OVER (PARTITION BY GM.MBR_NM, GM.MBTLNB
|
||||||
|
ORDER BY (CASE WHEN (GM.MBR_ID LIKE 'M-%' OR REGEXP_LIKE(GM.MBR_ID,'kko[0-9]{10}') OR GM.MBR_ID LIKE '%@%')
|
||||||
|
THEN CASE WHEN GM.MNGR_LOG LIKE '%휴면해제%' THEN 4
|
||||||
|
ELSE 3
|
||||||
|
END
|
||||||
|
ELSE CASE WHEN GM.MNGR_LOG LIKE '%휴면해제%' THEN 2
|
||||||
|
ELSE 1
|
||||||
|
END
|
||||||
|
END),
|
||||||
|
GMS.LAST_PURCHS_DT DESC, GMS.LAST_LOGIN_DT DESC, GMS.MBR_INNB DESC
|
||||||
|
) AS RK
|
||||||
|
FROM GC_MEMBER GM
|
||||||
|
INNER JOIN GC_MEMBER_SITE GMS
|
||||||
|
ON GM.MBR_INNB = GMS.MBR_INNB
|
||||||
|
AND GM.MBR_DV_CD = GMS.MBR_DV_CD
|
||||||
|
LEFT JOIN GC_EXTRL_MEMBER GEM
|
||||||
|
ON GMS.MBR_INNB = GEM.MBR_INNB
|
||||||
|
AND GMS.MBR_DV_CD = GEM.MBR_DV_CD
|
||||||
|
AND GMS.SOPMAL_CD = GEM.SOPMAL_CD
|
||||||
|
LEFT JOIN GC_SHOP SHOP
|
||||||
|
ON GMS.SOPMAL_CD = SHOP.SOPMAL_CD
|
||||||
|
WHERE 1 = 1
|
||||||
|
AND GM.USE_AT = 'Y'
|
||||||
|
AND GM.MBR_DV_CD = #{mbrDvCd}
|
||||||
|
AND GM.MBR_NM = #{mbrNm}
|
||||||
|
AND GM.EMAIL = HEX(AES_ENCRYPT(#{email}, #{secretKey}))
|
||||||
|
) TGT
|
||||||
|
WHERE 1 = 1
|
||||||
|
AND NOT (EXTRL_INTRLCK_DV IS NULL AND DEV >= 3)
|
||||||
|
ORDER BY DEV, RK
|
||||||
|
LIMIT 1
|
||||||
|
</select>
|
||||||
|
|
||||||
<!--동의 약정 조회 -->
|
<!--동의 약정 조회 -->
|
||||||
<select id="selectBOJoinAgreeTermsForm"
|
<select id="selectBOJoinAgreeTermsForm"
|
||||||
parameterType="com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrVO" resultType="dataMap">
|
parameterType="com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrVO" resultType="dataMap">
|
||||||
@@ -1873,15 +1980,6 @@
|
|||||||
MBR_ID,
|
MBR_ID,
|
||||||
JOIN_MTH_CD,
|
JOIN_MTH_CD,
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(joinMthCd)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(joinMthCd)">
|
||||||
ZIP,
|
|
||||||
ADRES_DV,
|
|
||||||
<if test="adresDv == '01'">
|
|
||||||
RNM_ADRES,
|
|
||||||
</if>
|
|
||||||
<if test="adresDv == '02'">
|
|
||||||
LNB_ADRES,
|
|
||||||
</if>
|
|
||||||
DTL_ADRES,
|
|
||||||
PASSWORD_CHNG_DE,
|
PASSWORD_CHNG_DE,
|
||||||
</if>
|
</if>
|
||||||
MBR_PASSWORD,
|
MBR_PASSWORD,
|
||||||
@@ -1912,10 +2010,6 @@
|
|||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(joinMthCd)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEmpty(joinMthCd)">
|
||||||
#{mbrId},
|
#{mbrId},
|
||||||
'none',
|
'none',
|
||||||
#{zip},
|
|
||||||
#{adresDv},
|
|
||||||
#{lnbAdres},
|
|
||||||
#{dtlAdres},
|
|
||||||
SYSDATE(),
|
SYSDATE(),
|
||||||
</if>
|
</if>
|
||||||
#{mbrPassword},
|
#{mbrPassword},
|
||||||
|
|||||||
@@ -28,20 +28,22 @@
|
|||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
fn_set_birthYears();
|
fn_set_birthYears();
|
||||||
fn_set_birthMonths();
|
fn_set_birthMonths();
|
||||||
fn_show_phoneAuth();
|
fn_show_emailAuth();
|
||||||
|
// fn_show_phoneAuth();
|
||||||
fn_check_stplat();
|
fn_check_stplat();
|
||||||
first = 0;
|
first = 0;
|
||||||
|
|
||||||
$(".signUp__inputBox__alertText").hide();
|
$(".signUp__inputBox__alertText").hide();
|
||||||
fn_alert_hide($("#mbrNm"), $("#mbrNmAlert"));
|
fn_alert_hide($("#mbrNm"), $("#mbrNmAlert"));
|
||||||
fn_alert_hide($("#mbtlnb"), $("#mbtlnbAlert"));
|
// fn_alert_hide($("#mbtlnb"), $("#mbtlnbAlert"));
|
||||||
|
fn_alert_hide($("#email"), $("#mbrEmailAlert"));
|
||||||
fn_alert_hide($("#mbtlCert"), $("#mbtlCertAlert"));
|
fn_alert_hide($("#mbtlCert"), $("#mbtlCertAlert"));
|
||||||
fn_alert_hide($("#mbrId"), $("#mbrIdAlert"), 'id');
|
fn_alert_hide($("#mbrId"), $("#mbrIdAlert"), 'id');
|
||||||
fn_alert_hide($("#mbrPassword"), $("#mbrPasswordAlert"), 'pw');
|
fn_alert_hide($("#mbrPassword"), $("#mbrPasswordAlert"), 'pw');
|
||||||
fn_alert_hide($("#mbrPasswordChk"), $("#mbrPasswordChkAlert"), 'pw');
|
fn_alert_hide($("#mbrPasswordChk"), $("#mbrPasswordChkAlert"), 'pw');
|
||||||
fn_alert_hide($("#id"), $("#emailAlert"));
|
// fn_alert_hide($("#id"), $("#emailAlert"));
|
||||||
fn_alert_hide($('input[name="sex"]'), $("#sexAlert"));
|
fn_alert_hide($('input[name="sex"]'), $("#sexAlert"));
|
||||||
fn_alert_hide($("#dtlAdres"), $("#postcodeAlert"));
|
// fn_alert_hide($("#dtlAdres"), $("#postcodeAlert"));
|
||||||
fn_alert_hide_selected();
|
fn_alert_hide_selected();
|
||||||
|
|
||||||
$('#regForm').on('keydown', function(e) {
|
$('#regForm').on('keydown', function(e) {
|
||||||
@@ -51,17 +53,20 @@
|
|||||||
});
|
});
|
||||||
$('#mbrNm').on('keydown', function(e) {
|
$('#mbrNm').on('keydown', function(e) {
|
||||||
if (e.keyCode == 13) {
|
if (e.keyCode == 13) {
|
||||||
$('#phoneAuthBtn').click();
|
$('#emailAuthBtn').click();
|
||||||
|
// $('#phoneAuthBtn').click();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$('#mbtlnb').on('keydown', function(e) {
|
$('#mbtlnb').on('keydown', function(e) {
|
||||||
if (e.keyCode == 13) {
|
if (e.keyCode == 13) {
|
||||||
$('#phoneAuthBtn').click();
|
$('#emailAuthBtn').click();
|
||||||
|
// $('#phoneAuthBtn').click();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$('#mbtlCert').on('keydown', function(e) {
|
$('#mbtlCert').on('keydown', function(e) {
|
||||||
if (e.keyCode == 13) {
|
if (e.keyCode == 13) {
|
||||||
fn_confim_own();
|
fn_confim_own_email();
|
||||||
|
// fn_confim_own();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$('#mbrId').on('keydown', function(e) {
|
$('#mbrId').on('keydown', function(e) {
|
||||||
@@ -184,12 +189,12 @@
|
|||||||
/* ********************************************************
|
/* ********************************************************
|
||||||
* 우편번호 찾기
|
* 우편번호 찾기
|
||||||
******************************************************** */
|
******************************************************** */
|
||||||
const fn_set_postcode = function(_data) {
|
// const fn_set_postcode = function(_data) {
|
||||||
|
//
|
||||||
$('#adresDv').val(_data.addressType)
|
// $('#adresDv').val(_data.addressType)
|
||||||
$('#postcode').val(_data.postcode);
|
// $('#postcode').val(_data.postcode);
|
||||||
$('#address').val(_data.addressType == '01' ? _data.roadAddress : _data.jibunAddress);
|
// $('#address').val(_data.addressType == '01' ? _data.roadAddress : _data.jibunAddress);
|
||||||
}
|
// }
|
||||||
|
|
||||||
/* ********************************************************
|
/* ********************************************************
|
||||||
* 생년 콤보박스
|
* 생년 콤보박스
|
||||||
@@ -251,11 +256,72 @@
|
|||||||
seconds--;
|
seconds--;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
fn_stop_timer();
|
fn_stop_email_timer();
|
||||||
|
// fn_stop_timer();
|
||||||
alert('인증번호 유효시간이 만료되었습니다.');
|
alert('인증번호 유효시간이 만료되었습니다.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ********************************************************
|
||||||
|
* 이메일 인증 번호 발송
|
||||||
|
******************************************************** */
|
||||||
|
first = 0;
|
||||||
|
mbtlCert = '';
|
||||||
|
const fn_email_sending_number = function() {
|
||||||
|
|
||||||
|
if(timerRunning){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(mbtlCert === $('#email').val()){
|
||||||
|
first++;
|
||||||
|
}else{
|
||||||
|
first = 0;
|
||||||
|
}
|
||||||
|
mbtlCert = $('#email').val();
|
||||||
|
|
||||||
|
let mbrNm = $('#mbrNm').val();
|
||||||
|
let mbrEmail = $('#email').val().trim();
|
||||||
|
let params = {
|
||||||
|
'mbrNm' : mbrNm,
|
||||||
|
'email': mbrEmail
|
||||||
|
};
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type : 'post',
|
||||||
|
url : '<c:url value="/sopmal/mbr/insertEmailAuth"/>',
|
||||||
|
data : params,
|
||||||
|
dataType: 'json',
|
||||||
|
success : function (Data) {
|
||||||
|
let result = JSON.parse(Data.resBody.result);
|
||||||
|
if(result.result == "success"){
|
||||||
|
if (first > 0) {
|
||||||
|
alert('인증번호가 재발송되었습니다.');
|
||||||
|
} else if (first === 0) {
|
||||||
|
alert('인증번호가 발송되었습니다.');
|
||||||
|
first++;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$('#sndngInnb').val(result.sndngInnb);
|
||||||
|
}else {
|
||||||
|
alert('인증번호 발송에 실패했습니다.');
|
||||||
|
fn_stop_email_timer();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#mbrNm').attr("readonly", true);
|
||||||
|
$('#email').attr("readonly", true);
|
||||||
|
clearInterval(countdown);
|
||||||
|
seconds = 180;
|
||||||
|
|
||||||
|
fn_set_timeOut();
|
||||||
|
countdown = setInterval(fn_set_timeOut, 1000);
|
||||||
|
timerRunning = true;
|
||||||
|
}
|
||||||
|
|
||||||
/* ********************************************************
|
/* ********************************************************
|
||||||
* 휴대폰 인증 번호 발송
|
* 휴대폰 인증 번호 발송
|
||||||
******************************************************** */
|
******************************************************** */
|
||||||
@@ -316,6 +382,22 @@
|
|||||||
timerRunning = true;
|
timerRunning = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ********************************************************
|
||||||
|
* 타이머 정지 함수 (이메일)
|
||||||
|
******************************************************** */
|
||||||
|
const fn_stop_email_timer = function() {
|
||||||
|
|
||||||
|
if (timerRunning) {
|
||||||
|
clearInterval(countdown);
|
||||||
|
$('#timer').text('05:00');
|
||||||
|
$('#mbtlCert').val('');
|
||||||
|
$('#emailAuthContent').hide();
|
||||||
|
$('#mbrNm').attr("readonly", false);
|
||||||
|
$('#email').attr("readonly", false);
|
||||||
|
timerRunning = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* ********************************************************
|
/* ********************************************************
|
||||||
* 타이머 정지 함수
|
* 타이머 정지 함수
|
||||||
******************************************************** */
|
******************************************************** */
|
||||||
@@ -332,6 +414,52 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ********************************************************
|
||||||
|
* 이메일 인증 확인
|
||||||
|
******************************************************** */
|
||||||
|
isChkd_own_email = false;
|
||||||
|
const fn_confim_own_email = function() {
|
||||||
|
|
||||||
|
if (first <= 0) return;
|
||||||
|
|
||||||
|
let sndngInnb = $('#sndngInnb').val();
|
||||||
|
let mbrEmail = $('#email').val().trim();
|
||||||
|
let crtnb = $('#mbtlCert').val();
|
||||||
|
fn_stop_email_timer();
|
||||||
|
|
||||||
|
let params = {
|
||||||
|
'sndngInnb': sndngInnb,
|
||||||
|
'email': mbrEmail,
|
||||||
|
'crtnb' : crtnb
|
||||||
|
};
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type : 'post',
|
||||||
|
url : '<c:url value="/sopmal/mbr/selectEmailAuth"/>',
|
||||||
|
data : params,
|
||||||
|
dataType: 'json',
|
||||||
|
success : function (Data) {
|
||||||
|
|
||||||
|
let result = JSON.parse(Data.resBody.result);
|
||||||
|
if(result.result == "success"){
|
||||||
|
alert('인증되었습니다.');
|
||||||
|
$('#emailAuthOkBtn').show();
|
||||||
|
$('#emailAuthBtn').hide();
|
||||||
|
isChkd_own_email = true;
|
||||||
|
|
||||||
|
//TODO : 메서드명 변경 필요 탈퇴회원 → 기존가입여부
|
||||||
|
fn_check_mbrwithdrawal_email();
|
||||||
|
$('#mbrNm').attr("readonly", true);
|
||||||
|
$('#email').attr("readonly", true);
|
||||||
|
}else {
|
||||||
|
alert('인증번호가 일치하지 않습니다.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/* ********************************************************
|
/* ********************************************************
|
||||||
* 휴대폰 인증 확인
|
* 휴대폰 인증 확인
|
||||||
******************************************************** */
|
******************************************************** */
|
||||||
@@ -378,6 +506,33 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ********************************************************
|
||||||
|
* 기존 가입 여부 조회 (이메일)
|
||||||
|
******************************************************** */
|
||||||
|
const fn_check_mbrwithdrawal_email = function() {
|
||||||
|
|
||||||
|
let mbrNm = $('#mbrNm').val().trim();
|
||||||
|
$('#mbrNm').val(mbrNm);
|
||||||
|
let mbrEmail = $('#email').val().trim();
|
||||||
|
let params = {
|
||||||
|
'mbrNm' : mbrNm,
|
||||||
|
'email': mbrEmail
|
||||||
|
};
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type : 'post',
|
||||||
|
url : '<c:url value="/sopmal/mbr/selectMbrwithdrawalSearchEmail"/>',
|
||||||
|
data : params,
|
||||||
|
dataType: 'json',
|
||||||
|
success : function(result) {
|
||||||
|
|
||||||
|
let mbrWithDrawalList = JSON.parse(result.resBody.result).mbrWithDrawalList;
|
||||||
|
|
||||||
|
fn_make_rejoinInforList(mbrWithDrawalList);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/* ********************************************************
|
/* ********************************************************
|
||||||
* 기존 가입 여부 조회
|
* 기존 가입 여부 조회
|
||||||
******************************************************** */
|
******************************************************** */
|
||||||
@@ -470,9 +625,11 @@
|
|||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!isChkd_own) {
|
if (!isChkd_own_email) {
|
||||||
alert('휴대폰 인증을 해주세요.');
|
alert('이메일 인증을 해주세요.');
|
||||||
$('#mbtlnb').focus();
|
$('#email').focus();
|
||||||
|
// alert('휴대폰 인증을 해주세요.');
|
||||||
|
// $('#mbtlnb').focus();
|
||||||
fn_regist_fail();
|
fn_regist_fail();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -489,12 +646,12 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!fn_check_email()) {
|
// if(!fn_check_email()) {
|
||||||
alert('올바른 이메일 형식이 아닙니다.');
|
// alert('올바른 이메일 형식이 아닙니다.');
|
||||||
$('#id').focus();
|
// $('#id').focus();
|
||||||
fn_regist_fail();
|
// fn_regist_fail();
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if ($('#select-brthYear').val() == null || $('#select-Month').val() == null) {
|
if ($('#select-brthYear').val() == null || $('#select-Month').val() == null) {
|
||||||
alert('생년월을 선택해 주세요.');
|
alert('생년월을 선택해 주세요.');
|
||||||
@@ -512,27 +669,27 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($('#postcode').val().trim() == '' || $('#address').val().trim() == '') {
|
// if ($('#postcode').val().trim() == '' || $('#address').val().trim() == '') {
|
||||||
alert('우편번호를 선택해 주세요.');
|
// alert('우편번호를 선택해 주세요.');
|
||||||
$("#postcodeAlert").show();
|
// $("#postcodeAlert").show();
|
||||||
document.getElementById('postcodeBtn').scrollIntoView();
|
// document.getElementById('postcodeBtn').scrollIntoView();
|
||||||
fn_regist_fail();
|
// fn_regist_fail();
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if ($('#dtlAdres').val().trim() == '') {
|
// if ($('#dtlAdres').val().trim() == '') {
|
||||||
alert('상세주소를 입력해 주세요.');
|
// alert('상세주소를 입력해 주세요.');
|
||||||
$('#dtlAdres').focus();
|
// $('#dtlAdres').focus();
|
||||||
fn_regist_fail();
|
// fn_regist_fail();
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if(!confirm('회원가입을 <spring:message code="confirm.common.predicate"/>')){
|
if(!confirm('회원가입을 <spring:message code="confirm.common.predicate"/>')){
|
||||||
fn_regist_fail();
|
fn_regist_fail();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
fn_make_brthDe();
|
fn_make_brthDe();
|
||||||
fn_make_mbtlnb();
|
// fn_make_mbtlnb();
|
||||||
|
|
||||||
let params = $('#regForm').serialize();
|
let params = $('#regForm').serialize();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
@@ -613,6 +770,32 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ********************************************************
|
||||||
|
* 이메일 인증 버튼 클릭시, 이메일 인증 박스 노출
|
||||||
|
******************************************************** */
|
||||||
|
const fn_show_emailAuth = function() {
|
||||||
|
let emailAuthBtn = $('#emailAuthBtn');
|
||||||
|
let emailAuthContent = $('#emailAuthContent');
|
||||||
|
|
||||||
|
emailAuthContent.hide();
|
||||||
|
|
||||||
|
emailAuthBtn.click(function () {
|
||||||
|
if(!$('#mbrNm').val()){
|
||||||
|
alert('이름을 입력해 주세요.');
|
||||||
|
$('#mbrNm').focus();
|
||||||
|
return;
|
||||||
|
}else if(!$('#email').val()){
|
||||||
|
alert('이메일 주소를 입력해 주세요.');
|
||||||
|
$('#email').focus();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#emailAuthContent').show();
|
||||||
|
$('#mbtlCert').focus();
|
||||||
|
fn_email_sending_number();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/* ********************************************************
|
/* ********************************************************
|
||||||
* 휴대폰 인증 버튼 클릭시, 휴대폰 인증 박스 노출
|
* 휴대폰 인증 버튼 클릭시, 휴대폰 인증 박스 노출
|
||||||
******************************************************** */
|
******************************************************** */
|
||||||
@@ -714,45 +897,45 @@
|
|||||||
* 앱 환경을 검증하고 우편번호 버튼 함수를 변경하는 함수
|
* 앱 환경을 검증하고 우편번호 버튼 함수를 변경하는 함수
|
||||||
*******************************************************/
|
*******************************************************/
|
||||||
function initPostcodeInterface() {
|
function initPostcodeInterface() {
|
||||||
// 앱 환경에서 사용할 모바일용 함수명 정의
|
// // 앱 환경에서 사용할 모바일용 함수명 정의
|
||||||
const MOBILE_POSTCODE_FUNCTION = "fn_select_postcode_app";
|
// const MOBILE_POSTCODE_FUNCTION = "fn_select_postcode_app";
|
||||||
|
//
|
||||||
// 앱 인터페이스 초기화 확인
|
// // 앱 인터페이스 초기화 확인
|
||||||
if (window.app) {
|
// if (window.app) {
|
||||||
console.log("앱 환경 감지됨, 우편번호 함수 변경");
|
// console.log("앱 환경 감지됨, 우편번호 함수 변경");
|
||||||
changePostcodeFunction(MOBILE_POSTCODE_FUNCTION);
|
// changePostcodeFunction(MOBILE_POSTCODE_FUNCTION);
|
||||||
} else {
|
// } else {
|
||||||
console.log("앱 인터페이스를 기다리는 중...");
|
// console.log("앱 인터페이스를 기다리는 중...");
|
||||||
let checkCount = 0;
|
// let checkCount = 0;
|
||||||
const maxChecks = 10; // 최대 5초(500ms * 10)까지 시도
|
// const maxChecks = 10; // 최대 5초(500ms * 10)까지 시도
|
||||||
const checkInterval = setInterval(function() {
|
// const checkInterval = setInterval(function() {
|
||||||
checkCount++;
|
// checkCount++;
|
||||||
if (window.app) {
|
// if (window.app) {
|
||||||
clearInterval(checkInterval);
|
// clearInterval(checkInterval);
|
||||||
console.log("앱 인터페이스 초기화 완료, 우편번호 함수 변경");
|
// console.log("앱 인터페이스 초기화 완료, 우편번호 함수 변경");
|
||||||
changePostcodeFunction(MOBILE_POSTCODE_FUNCTION);
|
// changePostcodeFunction(MOBILE_POSTCODE_FUNCTION);
|
||||||
} else if (checkCount >= maxChecks) {
|
// } else if (checkCount >= maxChecks) {
|
||||||
clearInterval(checkInterval);
|
// clearInterval(checkInterval);
|
||||||
console.warn("앱 인터페이스를 찾을 수 없습니다. 최대 시도 횟수 초과.");
|
// console.warn("앱 인터페이스를 찾을 수 없습니다. 최대 시도 횟수 초과.");
|
||||||
}
|
// }
|
||||||
}, 500);
|
// }, 500);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/*******************************************************
|
/*******************************************************
|
||||||
* 우편번호 버튼의 onclick 함수를 변경하는 함수
|
* 우편번호 버튼의 onclick 함수를 변경하는 함수
|
||||||
*******************************************************/
|
*******************************************************/
|
||||||
function changePostcodeFunction(newFunctionName) {
|
// function changePostcodeFunction(newFunctionName) {
|
||||||
console.log("changePostcodeFunction 호출");
|
// console.log("changePostcodeFunction 호출");
|
||||||
console.log("newFunctionName: " + newFunctionName);
|
// console.log("newFunctionName: " + newFunctionName);
|
||||||
const postcodeBtn = document.getElementById('postcodeBtn');
|
// const postcodeBtn = document.getElementById('postcodeBtn');
|
||||||
if (postcodeBtn) {
|
// if (postcodeBtn) {
|
||||||
postcodeBtn.setAttribute('onclick', newFunctionName + '(fn_set_postcode);');
|
// postcodeBtn.setAttribute('onclick', newFunctionName + '(fn_set_postcode);');
|
||||||
console.log('우편번호 버튼 함수가' + newFunctionName + '으로 변경되었습니다.');
|
// console.log('우편번호 버튼 함수가' + newFunctionName + '으로 변경되었습니다.');
|
||||||
} else {
|
// } else {
|
||||||
console.warn('우편번호 버튼을 찾을 수 없습니다.');
|
// console.warn('우편번호 버튼을 찾을 수 없습니다.');
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 페이지 로드 시 함수 실행
|
// 페이지 로드 시 함수 실행
|
||||||
document.addEventListener('DOMContentLoaded', initPostcodeInterface);
|
document.addEventListener('DOMContentLoaded', initPostcodeInterface);
|
||||||
@@ -801,25 +984,49 @@
|
|||||||
<input type="text" class="input-text full" name="mbrNm" id="mbrNm" title="이름" placeholder="이름을 입력해 주세요.">
|
<input type="text" class="input-text full" name="mbrNm" id="mbrNm" title="이름" placeholder="이름을 입력해 주세요.">
|
||||||
<p class="signUp__inputBox__alertText" id="mbrNmAlert">이름을 입력해 주세요.</p>
|
<p class="signUp__inputBox__alertText" id="mbrNmAlert">이름을 입력해 주세요.</p>
|
||||||
</div>
|
</div>
|
||||||
|
<%-- <div class="signUp__inputBox__item">--%>
|
||||||
|
<%-- <div class="signUp__inputBox__itemTitle">휴대전화<span class="required-asterisk">*</span></div>--%>
|
||||||
|
<%-- <div class="inputWithBtn">--%>
|
||||||
|
<%-- <input type="text" class="input-text full number" id="mbtlnb" title="휴대폰" placeholder="휴대폰번호 입력 (’-’ 없이)" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="13">--%>
|
||||||
|
<%-- <input type="hidden" name="mbtlnb">--%>
|
||||||
|
<%-- <button type="button" class="btn md theme outline" id="phoneAuthBtn"><spring:message code="button.certification"/></button>--%>
|
||||||
|
<%-- <!-- 인증완료시 버튼 -->--%>
|
||||||
|
<%-- <button type="button" class="btn md outline" id="phoneAuthOkBtn" style="display:none;"><spring:message code="button.certificationDone"/></button>--%>
|
||||||
|
<%-- </div>--%>
|
||||||
|
<%-- <p class="signUp__inputBox__alertText" id="mbtlnbAlert">휴대폰 번호를 입력해 주세요.</p>--%>
|
||||||
|
<%-- <div class="phoneAuth" id="phoneAuthContent">--%>
|
||||||
|
<%-- <input type="hidden" id="sndngInnb">--%>
|
||||||
|
<%-- <div>--%>
|
||||||
|
<%-- <div class="inputWithBtn">--%>
|
||||||
|
<%-- <div class="inputTimer">--%>
|
||||||
|
<%-- <input type="text" class="input-text full number" id="mbtlCert" title="인증번호" placeholder="인증번호 입력" maxlength="6">--%>
|
||||||
|
<%-- <span class="inputTimer__time" id="timer">03:00</span>--%>
|
||||||
|
<%-- </div>--%>
|
||||||
|
<%-- <button type="button" class="btn md gray" onclick="fn_confim_own();"><spring:message code="button.ok"/></button>--%>
|
||||||
|
<%-- </div>--%>
|
||||||
|
<%-- <p class="signUp__inputBox__alertText" id="mbtlCertAlert">인증번호를 입력해 주세요.</p>--%>
|
||||||
|
<%-- </div>--%>
|
||||||
|
<%-- </div>--%>
|
||||||
|
<%-- </div>--%>
|
||||||
<div class="signUp__inputBox__item">
|
<div class="signUp__inputBox__item">
|
||||||
<div class="signUp__inputBox__itemTitle">휴대전화<span class="required-asterisk">*</span></div>
|
<div class="signUp__inputBox__itemTitle">이메일<span class="required-asterisk">*</span></div>
|
||||||
<div class="inputWithBtn">
|
<div class="inputWithBtn">
|
||||||
<input type="text" class="input-text full number" id="mbtlnb" title="휴대폰" placeholder="휴대폰번호 입력 (’-’ 없이)" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="13">
|
<input type="text" class="input-text full certInp" id="email" title="이메일" placeholder="이메일을 입력해주세요" maxlength="190">
|
||||||
<input type="hidden" name="mbtlnb">
|
<input type="hidden" name="email">
|
||||||
<button type="button" class="btn md theme outline" id="phoneAuthBtn"><spring:message code="button.certification"/></button>
|
<button type="button" class="btn md theme outline" id="emailAuthBtn"><spring:message code="button.certificationEmail"/></button>
|
||||||
<!-- 인증완료시 버튼 -->
|
<!-- 인증완료시 버튼 -->
|
||||||
<button type="button" class="btn md outline" id="phoneAuthOkBtn" style="display:none;"><spring:message code="button.certificationDone"/></button>
|
<button type="button" class="btn md outline" id="emailAuthOkBtn" style="display:none;"><spring:message code="button.certificationDone"/></button>
|
||||||
</div>
|
</div>
|
||||||
<p class="signUp__inputBox__alertText" id="mbtlnbAlert">휴대폰 번호를 입력해 주세요.</p>
|
<p class="signUp__inputBox__alertText" id="mbrEmailAlert">이메일을 입력해 주세요.</p>
|
||||||
<div class="phoneAuth" id="phoneAuthContent">
|
<div class="emailAuth" id="emailAuthContent">
|
||||||
<input type="hidden" id="sndngInnb">
|
<input type="hidden" id="sndngInnb">
|
||||||
<div>
|
<div>
|
||||||
<div class="inputWithBtn">
|
<div class="inputWithBtn">
|
||||||
<div class="inputTimer">
|
<div class="inputTimer">
|
||||||
<input type="text" class="input-text full number" id="mbtlCert" title="인증번호" placeholder="인증번호 입력" maxlength="6">
|
<input type="text" class="input-text full number" id="mbtlCert" title="인증번호" placeholder="인증번호 입력" maxlength="6">
|
||||||
<span class="inputTimer__time" id="timer">03:00</span>
|
<span class="inputTimer__time" id="timer">05:00</span>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="btn md gray" onclick="fn_confim_own();"><spring:message code="button.ok"/></button>
|
<button type="button" class="btn md gray" onclick="fn_confim_own_email();"><spring:message code="button.ok"/></button>
|
||||||
</div>
|
</div>
|
||||||
<p class="signUp__inputBox__alertText" id="mbtlCertAlert">인증번호를 입력해 주세요.</p>
|
<p class="signUp__inputBox__alertText" id="mbtlCertAlert">인증번호를 입력해 주세요.</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -868,24 +1075,24 @@
|
|||||||
<input type="password" class="input-text full" name="mbrPasswordChk" id="mbrPasswordChk" title="비밀번호 확인" placeholder="비밀번호를 한번 더 입력해주세요." maxlength="20">
|
<input type="password" class="input-text full" name="mbrPasswordChk" id="mbrPasswordChk" title="비밀번호 확인" placeholder="비밀번호를 한번 더 입력해주세요." maxlength="20">
|
||||||
<p class="signUp__inputBox__alertText" id="mbrPasswordChkAlert">비밀번호를 입력해 주세요.</p>
|
<p class="signUp__inputBox__alertText" id="mbrPasswordChkAlert">비밀번호를 입력해 주세요.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="signUp__inputBox__item">
|
<%-- <div class="signUp__inputBox__item">--%>
|
||||||
<div class="signUp__inputBox__itemTitle">이메일<span class="required-asterisk">*</span>
|
<%-- <div class="signUp__inputBox__itemTitle">이메일<span class="required-asterisk">*</span>--%>
|
||||||
<input type="hidden" name="email" value=""/>
|
<%-- <input type="hidden" name="email" value=""/>--%>
|
||||||
</div>
|
<%-- </div>--%>
|
||||||
<div class="inputEmail">
|
<%-- <div class="inputEmail">--%>
|
||||||
<input class="input-text full" type="email" id="id" title="이메일 id" placeholder="이메일" maxlength="25">
|
<%-- <input class="input-text full" type="email" id="id" title="이메일 id" placeholder="이메일" maxlength="25">--%>
|
||||||
<span class="inputEmail__at">@</span>
|
<%-- <span class="inputEmail__at">@</span>--%>
|
||||||
<input class="input-text full" type="text" id="domain" title="이메일 domain" maxlength="25">
|
<%-- <input class="input-text full" type="text" id="domain" title="이메일 domain" maxlength="25">--%>
|
||||||
<div class="select-box">
|
<%-- <div class="select-box">--%>
|
||||||
<select name="domain" title="이메일 자동발송 발신주소" onchange="fn_set_domain(this.value);">
|
<%-- <select name="domain" title="이메일 자동발송 발신주소" onchange="fn_set_domain(this.value);">--%>
|
||||||
<c:forEach var="cgn001" items="${resultMap.cgn001}" varStatus="status">
|
<%-- <c:forEach var="cgn001" items="${resultMap.cgn001}" varStatus="status">--%>
|
||||||
<option value="${cgn001.cdNm}" ${f:setSelected(cgn001.cd, '99')}><c:out value="${cgn001.cdNm}"/></option>
|
<%-- <option value="${cgn001.cdNm}" ${f:setSelected(cgn001.cd, '99')}><c:out value="${cgn001.cdNm}"/></option>--%>
|
||||||
</c:forEach>
|
<%-- </c:forEach>--%>
|
||||||
</select>
|
<%-- </select>--%>
|
||||||
</div>
|
<%-- </div>--%>
|
||||||
</div>
|
<%-- </div>--%>
|
||||||
<p class="signUp__inputBox__alertText" id="emailAlert">이메일을 입력해 주세요.</p>
|
<%-- <p class="signUp__inputBox__alertText" id="emailAlert">이메일을 입력해 주세요.</p>--%>
|
||||||
</div>
|
<%-- </div>--%>
|
||||||
<div class="signUp__inputBox__item">
|
<div class="signUp__inputBox__item">
|
||||||
<div class="signUp__inputBox__itemTitle">생년월<span class="required-asterisk">*</span></div>
|
<div class="signUp__inputBox__itemTitle">생년월<span class="required-asterisk">*</span></div>
|
||||||
<div class="inputHalf">
|
<div class="inputHalf">
|
||||||
@@ -909,19 +1116,19 @@
|
|||||||
</div>
|
</div>
|
||||||
<p class="signUp__inputBox__alertText" id="sexAlert">성별을 선택해 주세요.</p>
|
<p class="signUp__inputBox__alertText" id="sexAlert">성별을 선택해 주세요.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="signUp__inputBox__item">
|
<%-- <div class="signUp__inputBox__item">--%>
|
||||||
<div class="signUp__inputBox__itemTitle">주소<span class="required-asterisk">*</span></div>
|
<%-- <div class="signUp__inputBox__itemTitle">주소<span class="required-asterisk">*</span></div>--%>
|
||||||
<div class="inputAddress">
|
<%-- <div class="inputAddress">--%>
|
||||||
<div class="inputAddress__postalCode">
|
<%-- <div class="inputAddress__postalCode">--%>
|
||||||
<input type="text" class="input-text" id="postcode" name="zip" title="우편번호" placeholder="우편번호" readonly>
|
<%-- <input type="text" class="input-text" id="postcode" name="zip" title="우편번호" placeholder="우편번호" readonly>--%>
|
||||||
<button type="button" id="postcodeBtn" class="btn md theme outline" onclick="fn_select_postcode(fn_set_postcode);"><spring:message code="button.zipcode"/></button>
|
<%-- <button type="button" id="postcodeBtn" class="btn md theme outline" onclick="fn_select_postcode(fn_set_postcode);"><spring:message code="button.zipcode"/></button>--%>
|
||||||
</div>
|
<%-- </div>--%>
|
||||||
<input type="text" class="input-text full" id="address" name="lnbAdres" title="주소" placeholder="주소" readonly>
|
<%-- <input type="text" class="input-text full" id="address" name="lnbAdres" title="주소" placeholder="주소" readonly>--%>
|
||||||
<input type="text" class="input-text full" id="dtlAdres" name="dtlAdres" title="상세주소" placeholder="나머지 주소를 입력해 주세요.">
|
<%-- <input type="text" class="input-text full" id="dtlAdres" name="dtlAdres" title="상세주소" placeholder="나머지 주소를 입력해 주세요.">--%>
|
||||||
<input type="hidden" id="adresDv" name="adresDv">
|
<%-- <input type="hidden" id="adresDv" name="adresDv">--%>
|
||||||
</div>
|
<%-- </div>--%>
|
||||||
<p class="signUp__inputBox__alertText" id="postcodeAlert">주소를 입력해 주세요.</p>
|
<%-- <p class="signUp__inputBox__alertText" id="postcodeAlert">주소를 입력해 주세요.</p>--%>
|
||||||
</div>
|
<%-- </div>--%>
|
||||||
</div>
|
</div>
|
||||||
<div class="signUp__btnContainer-half">
|
<div class="signUp__btnContainer-half">
|
||||||
<button type="button" class="btn xl full outline signUp__signUpBtn" onclick="fn_move_mainPage();"><spring:message code="button.cancel"/></button>
|
<button type="button" class="btn xl full outline signUp__signUpBtn" onclick="fn_move_mainPage();"><spring:message code="button.cancel"/></button>
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
<div class="signUp__btnContainer-half">
|
<div class="signUp__btnContainer-half">
|
||||||
<a href="<c:url value='/index'/>" class="btn xl full theme">쇼핑하러 가기</a>
|
<a href="<c:url value='/index'/>" class="btn xl full theme">쇼핑하러 가기</a>
|
||||||
<c:if test="${!isAuthenticated}">
|
<c:if test="${!isAuthenticated}">
|
||||||
<a href="<c:url value='/login'/>" class="btn xl full theme">로그인</a>
|
<a href="<c:url value='/sopmal/login'/>" class="btn xl full theme">로그인</a>
|
||||||
</c:if>
|
</c:if>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -27,20 +27,22 @@
|
|||||||
fn_set_header_title("회원가입");
|
fn_set_header_title("회원가입");
|
||||||
fn_set_birthYears();
|
fn_set_birthYears();
|
||||||
fn_set_birthMonths();
|
fn_set_birthMonths();
|
||||||
fn_show_phoneAuth();
|
fn_show_emailAuth();
|
||||||
|
// fn_show_phoneAuth();
|
||||||
fn_check_stplat();
|
fn_check_stplat();
|
||||||
first = 0;
|
first = 0;
|
||||||
|
|
||||||
$(".userForm__inputBox__alertText").hide();
|
$(".userForm__inputBox__alertText").hide();
|
||||||
fn_alert_hide($("#mbrNm"), $("#mbrNmAlert"));
|
fn_alert_hide($("#mbrNm"), $("#mbrNmAlert"));
|
||||||
fn_alert_hide($("#mbtlnb"), $("#mbtlnbAlert"));
|
// fn_alert_hide($("#mbtlnb"), $("#mbtlnbAlert"));
|
||||||
|
fn_alert_hide($("#email"), $("#mbrEmailAlert"));
|
||||||
fn_alert_hide($("#mbtlCert"), $("#mbtlCertAlert"));
|
fn_alert_hide($("#mbtlCert"), $("#mbtlCertAlert"));
|
||||||
fn_alert_hide($("#mbrId"), $("#mbrIdAlert"), 'id');
|
fn_alert_hide($("#mbrId"), $("#mbrIdAlert"), 'id');
|
||||||
fn_alert_hide($("#mbrPassword"), $("#mbrPasswordAlert"), 'pw');
|
fn_alert_hide($("#mbrPassword"), $("#mbrPasswordAlert"), 'pw');
|
||||||
fn_alert_hide($("#mbrPasswordChk"), $("#mbrPasswordChkAlert"), 'pw');
|
fn_alert_hide($("#mbrPasswordChk"), $("#mbrPasswordChkAlert"), 'pw');
|
||||||
fn_alert_hide($("#id"), $("#emailAlert"));
|
// fn_alert_hide($("#id"), $("#emailAlert"));
|
||||||
fn_alert_hide($('input[name="sex"]'), $("#sexAlert"));
|
fn_alert_hide($('input[name="sex"]'), $("#sexAlert"));
|
||||||
fn_alert_hide($("#dtlAdres"), $("#postcodeAlert"));
|
// fn_alert_hide($("#dtlAdres"), $("#postcodeAlert"));
|
||||||
fn_alert_hide_selected();
|
fn_alert_hide_selected();
|
||||||
|
|
||||||
$('button').on('click', function(e) {
|
$('button').on('click', function(e) {
|
||||||
@@ -53,17 +55,20 @@
|
|||||||
});
|
});
|
||||||
$('#mbrNm').on('keydown', function(e) {
|
$('#mbrNm').on('keydown', function(e) {
|
||||||
if (e.keyCode == 13) {
|
if (e.keyCode == 13) {
|
||||||
$('#phoneAuthBtn').click();
|
$('#emailAuthBtn').click();
|
||||||
|
// $('#phoneAuthBtn').click();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$('#mbtlnb').on('keydown', function(e) {
|
$('#mbtlnb').on('keydown', function(e) {
|
||||||
if (e.keyCode == 13) {
|
if (e.keyCode == 13) {
|
||||||
$('#phoneAuthBtn').click();
|
$('#emailAuthBtn').click();
|
||||||
|
// $('#phoneAuthBtn').click();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$('#mbtlCert').on('keydown', function(e) {
|
$('#mbtlCert').on('keydown', function(e) {
|
||||||
if (e.keyCode == 13) {
|
if (e.keyCode == 13) {
|
||||||
fn_confim_own();
|
fn_confim_own_email();
|
||||||
|
// fn_confim_own();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$('#mbrId').on('keydown', function(e) {
|
$('#mbrId').on('keydown', function(e) {
|
||||||
@@ -220,12 +225,12 @@
|
|||||||
/* ********************************************************
|
/* ********************************************************
|
||||||
* 우편번호 찾기
|
* 우편번호 찾기
|
||||||
******************************************************** */
|
******************************************************** */
|
||||||
const fn_set_postcode = function(_data) {
|
// const fn_set_postcode = function(_data) {
|
||||||
|
//
|
||||||
$('#adresDv').val(_data.addressType)
|
// $('#adresDv').val(_data.addressType)
|
||||||
$('#postcode').val(_data.postcode);
|
// $('#postcode').val(_data.postcode);
|
||||||
$('#address').val(_data.addressType == '01' ? _data.roadAddress : _data.jibunAddress);
|
// $('#address').val(_data.addressType == '01' ? _data.roadAddress : _data.jibunAddress);
|
||||||
}
|
// }
|
||||||
|
|
||||||
/* ********************************************************
|
/* ********************************************************
|
||||||
* 생년 콤보박스
|
* 생년 콤보박스
|
||||||
@@ -287,11 +292,72 @@
|
|||||||
seconds--;
|
seconds--;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
fn_stop_timer();
|
fn_stop_email_timer();
|
||||||
|
// fn_stop_timer();
|
||||||
fn_alert_show('인증번호 유효시간이 만료되었습니다.');
|
fn_alert_show('인증번호 유효시간이 만료되었습니다.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ********************************************************
|
||||||
|
* 이메일 인증 번호 발송
|
||||||
|
******************************************************** */
|
||||||
|
first = 0;
|
||||||
|
mbtlCert = '';
|
||||||
|
const fn_email_sending_number = function() {
|
||||||
|
|
||||||
|
if(timerRunning){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(mbtlCert === $('#email').val()){
|
||||||
|
first++;
|
||||||
|
}else{
|
||||||
|
first = 0;
|
||||||
|
}
|
||||||
|
mbtlCert = $('#email').val();
|
||||||
|
|
||||||
|
let mbrNm = $('#mbrNm').val();
|
||||||
|
let mbrEmail = $('#email').val().trim();
|
||||||
|
let params = {
|
||||||
|
'mbrNm' : mbrNm,
|
||||||
|
'email': mbrEmail
|
||||||
|
};
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type : 'post',
|
||||||
|
url : '<c:url value="/sopmal/mbr/insertEmailAuth"/>',
|
||||||
|
data : params,
|
||||||
|
success : function (Data) {
|
||||||
|
|
||||||
|
let result = JSON.parse(Data.resBody.result);
|
||||||
|
if(result.result == "success"){
|
||||||
|
if (first > 0) {
|
||||||
|
fn_alert_show('인증번호가 재발송되었습니다.');
|
||||||
|
} else if (first === 0) {
|
||||||
|
fn_alert_show('인증번호가 발송되었습니다.');
|
||||||
|
first++;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$('#sndngInnb').val(result.sndngInnb);
|
||||||
|
}else {
|
||||||
|
fn_alert_show('인증번호 발송에 실패했습니다.');
|
||||||
|
fn_stop_email_timer();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#mbrNm').attr("readonly", true);
|
||||||
|
$('#email').attr("readonly", true);
|
||||||
|
clearInterval(countdown);
|
||||||
|
seconds = 180;
|
||||||
|
|
||||||
|
fn_set_timeOut();
|
||||||
|
countdown = setInterval(fn_set_timeOut, 1000);
|
||||||
|
timerRunning = true;
|
||||||
|
}
|
||||||
|
|
||||||
/* ********************************************************
|
/* ********************************************************
|
||||||
* 휴대폰 인증 번호 발송
|
* 휴대폰 인증 번호 발송
|
||||||
******************************************************** */
|
******************************************************** */
|
||||||
@@ -352,6 +418,22 @@
|
|||||||
timerRunning = true;
|
timerRunning = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ********************************************************
|
||||||
|
* 타이머 정지 함수 (이메일)
|
||||||
|
******************************************************** */
|
||||||
|
const fn_stop_email_timer = function() {
|
||||||
|
|
||||||
|
if (timerRunning) {
|
||||||
|
clearInterval(countdown);
|
||||||
|
$('#timer').text('05:00');
|
||||||
|
$('#mbtlCert').val('');
|
||||||
|
$('#emailAuthContent').hide();
|
||||||
|
$('#mbrNm').attr("readonly", false);
|
||||||
|
$('#email').attr("readonly", false);
|
||||||
|
timerRunning = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* ********************************************************
|
/* ********************************************************
|
||||||
* 타이머 정지 함수
|
* 타이머 정지 함수
|
||||||
******************************************************** */
|
******************************************************** */
|
||||||
@@ -368,6 +450,51 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ********************************************************
|
||||||
|
* 이메일 인증 확인
|
||||||
|
******************************************************** */
|
||||||
|
isChkd_own_email = false;
|
||||||
|
const fn_confim_own_email = function() {
|
||||||
|
|
||||||
|
if (first <= 0) return;
|
||||||
|
|
||||||
|
let sndngInnb = $('#sndngInnb').val();
|
||||||
|
let mbrEmail = $('#email').val().trim();
|
||||||
|
let crtnb = $('#mbtlCert').val();
|
||||||
|
fn_stop_email_timer();
|
||||||
|
|
||||||
|
let params = {
|
||||||
|
'sndngInnb': sndngInnb,
|
||||||
|
'email': mbrEmail,
|
||||||
|
'crtnb' : crtnb
|
||||||
|
};
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type : 'post',
|
||||||
|
url : '<c:url value="/sopmal/mbr/selectEmailAuth"/>',
|
||||||
|
data : params,
|
||||||
|
success : function (Data) {
|
||||||
|
|
||||||
|
let result = JSON.parse(Data.resBody.result);
|
||||||
|
if(result.result == "success"){
|
||||||
|
fn_alert_show('인증되었습니다.');
|
||||||
|
$('#emailAuthOkBtn').show();
|
||||||
|
$('#emailAuthBtn').hide();
|
||||||
|
isChkd_own_email = true;
|
||||||
|
|
||||||
|
//TODO : 메서드명 변경 필요 탈퇴회원 → 기존가입여부
|
||||||
|
fn_check_mbrwithdrawal_email();
|
||||||
|
$('#mbrNm').attr("readonly", true);
|
||||||
|
$('#email').attr("readonly", true);
|
||||||
|
}else {
|
||||||
|
fn_alert_show('인증번호가 일치하지 않습니다.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/* ********************************************************
|
/* ********************************************************
|
||||||
* 휴대폰 인증 확인
|
* 휴대폰 인증 확인
|
||||||
******************************************************** */
|
******************************************************** */
|
||||||
@@ -413,6 +540,32 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ********************************************************
|
||||||
|
* 기존 가입 여부 조회 (이메일)
|
||||||
|
******************************************************** */
|
||||||
|
const fn_check_mbrwithdrawal_email = function() {
|
||||||
|
|
||||||
|
let mbrNm = $('#mbrNm').val().trim();
|
||||||
|
$('#mbrNm').val(mbrNm);
|
||||||
|
let mbrEmail = $('#email').val().trim();
|
||||||
|
let params = {
|
||||||
|
'mbrNm' : mbrNm,
|
||||||
|
'email': mbrEmail
|
||||||
|
};
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type : 'post',
|
||||||
|
url : '<c:url value="/sopmal/mbr/selectMbrwithdrawalSearchEmail"/>',
|
||||||
|
data : params,
|
||||||
|
success : function(result) {
|
||||||
|
|
||||||
|
let mbrWithDrawalList = JSON.parse(result.resBody.result).mbrWithDrawalList;
|
||||||
|
|
||||||
|
fn_make_rejoinInforList(mbrWithDrawalList);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/* ********************************************************
|
/* ********************************************************
|
||||||
* 기존 가입 여부 조회
|
* 기존 가입 여부 조회
|
||||||
******************************************************** */
|
******************************************************** */
|
||||||
@@ -473,7 +626,7 @@
|
|||||||
snsMemberCnt = 0;
|
snsMemberCnt = 0;
|
||||||
isExtMember = false;
|
isExtMember = false;
|
||||||
// window.location.href = '<c:out value="${issuerUri}"/>/index';
|
// window.location.href = '<c:out value="${issuerUri}"/>/index';
|
||||||
// window.location.href = '/login';
|
// window.location.href = '/sopmal/login';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -487,7 +640,7 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
// window.location.href = '<c:out value="${issuerUri}"/>/index';
|
// window.location.href = '<c:out value="${issuerUri}"/>/index';
|
||||||
// window.location.href = '/login';
|
// window.location.href = '/sopmal/login';
|
||||||
}
|
}
|
||||||
if (isExtMember) {
|
if (isExtMember) {
|
||||||
fn_alert_show('인증되었습니다. 인증하신 정보로 가입된 계정 정보가 있습니다. 계정정보 연동을 진행합니다.');
|
fn_alert_show('인증되었습니다. 인증하신 정보로 가입된 계정 정보가 있습니다. 계정정보 연동을 진행합니다.');
|
||||||
@@ -506,9 +659,11 @@
|
|||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
if(!isChkd_own) {
|
if(!isChkd_own_email) {
|
||||||
$('#mbtlnb').focus();
|
alert('이메일 인증을 해주세요.');
|
||||||
fn_alert_show('휴대폰 인증을 해주세요.');
|
$('#email').focus();
|
||||||
|
// alert('휴대폰 인증을 해주세요.');
|
||||||
|
// $('#mbtlnb').focus();
|
||||||
fn_regist_fail();
|
fn_regist_fail();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -525,12 +680,12 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!fn_check_email()) {
|
// if(!fn_check_email()) {
|
||||||
$('#id').focus();
|
// $('#id').focus();
|
||||||
fn_alert_show('올바른 이메일 형식이 아닙니다.');
|
// fn_alert_show('올바른 이메일 형식이 아닙니다.');
|
||||||
fn_regist_fail();
|
// fn_regist_fail();
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if ($('#select-brthYear').val() == null || $('#select-Month').val() == null) {
|
if ($('#select-brthYear').val() == null || $('#select-Month').val() == null) {
|
||||||
document.getElementById('birthYear').scrollIntoView();
|
document.getElementById('birthYear').scrollIntoView();
|
||||||
@@ -548,27 +703,27 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($('#postcode').val().trim() == '' || $('#address').val().trim() == '') {
|
// if ($('#postcode').val().trim() == '' || $('#address').val().trim() == '') {
|
||||||
document.getElementById('postcodeBtn').scrollIntoView();
|
// document.getElementById('postcodeBtn').scrollIntoView();
|
||||||
fn_alert_show('우편번호를 선택해 주세요.');
|
// fn_alert_show('우편번호를 선택해 주세요.');
|
||||||
$("#postcodeAlert").show();
|
// $("#postcodeAlert").show();
|
||||||
fn_regist_fail();
|
// fn_regist_fail();
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if ($('#dtlAdres').val().trim() == '') {
|
// if ($('#dtlAdres').val().trim() == '') {
|
||||||
$('#dtlAdres').focus();
|
// $('#dtlAdres').focus();
|
||||||
fn_alert_show('상세주소를 입력해 주세요.');
|
// fn_alert_show('상세주소를 입력해 주세요.');
|
||||||
fn_regist_fail();
|
// fn_regist_fail();
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if(!confirm('회원가입을 <spring:message code="confirm.common.predicate"/>')){
|
if(!confirm('회원가입을 <spring:message code="confirm.common.predicate"/>')){
|
||||||
fn_regist_fail();
|
fn_regist_fail();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
fn_make_brthDe();
|
fn_make_brthDe();
|
||||||
fn_make_mbtlnb();
|
// fn_make_mbtlnb();
|
||||||
|
|
||||||
let params = $('#regForm').serialize();
|
let params = $('#regForm').serialize();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
@@ -646,6 +801,32 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ********************************************************
|
||||||
|
* 이메일 인증 버튼 클릭시, 이메일 인증 박스 노출
|
||||||
|
******************************************************** */
|
||||||
|
const fn_show_emailAuth = function() {
|
||||||
|
let emailAuthBtn = $('#emailAuthBtn');
|
||||||
|
let emailAuthContent = $('#emailAuthContent');
|
||||||
|
|
||||||
|
emailAuthContent.hide();
|
||||||
|
|
||||||
|
emailAuthBtn.click(function () {
|
||||||
|
if(!$('#mbrNm').val()){
|
||||||
|
$('#mbrNm').focus();
|
||||||
|
fn_alert_show('이름을 입력해 주세요.');
|
||||||
|
return;
|
||||||
|
}else if(!$('#email').val()){
|
||||||
|
$('#email').focus();
|
||||||
|
fn_alert_show('이메일 주소를 입력해 주세요.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#emailAuthContent').show();
|
||||||
|
$('#mbtlCert').focus();
|
||||||
|
fn_email_sending_number();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/* ********************************************************
|
/* ********************************************************
|
||||||
* 휴대폰 인증 버튼 클릭시, 휴대폰 인증 박스 노출
|
* 휴대폰 인증 버튼 클릭시, 휴대폰 인증 박스 노출
|
||||||
******************************************************** */
|
******************************************************** */
|
||||||
@@ -766,44 +947,44 @@
|
|||||||
*******************************************************/
|
*******************************************************/
|
||||||
function initPostcodeInterface() {
|
function initPostcodeInterface() {
|
||||||
// 앱 환경에서 사용할 모바일용 함수명 정의
|
// 앱 환경에서 사용할 모바일용 함수명 정의
|
||||||
const MOBILE_POSTCODE_FUNCTION = "fn_select_postcode_app";
|
// const MOBILE_POSTCODE_FUNCTION = "fn_select_postcode_app";
|
||||||
|
//
|
||||||
// 앱 인터페이스 초기화 확인
|
// // 앱 인터페이스 초기화 확인
|
||||||
if (window.app) {
|
// if (window.app) {
|
||||||
console.log("앱 환경 감지됨, 우편번호 함수 변경");
|
// console.log("앱 환경 감지됨, 우편번호 함수 변경");
|
||||||
changePostcodeFunction(MOBILE_POSTCODE_FUNCTION);
|
// changePostcodeFunction(MOBILE_POSTCODE_FUNCTION);
|
||||||
} else {
|
// } else {
|
||||||
console.log("앱 인터페이스를 기다리는 중...");
|
// console.log("앱 인터페이스를 기다리는 중...");
|
||||||
let checkCount = 0;
|
// let checkCount = 0;
|
||||||
const maxChecks = 10; // 최대 5초(500ms * 10)까지 시도
|
// const maxChecks = 10; // 최대 5초(500ms * 10)까지 시도
|
||||||
const checkInterval = setInterval(function() {
|
// const checkInterval = setInterval(function() {
|
||||||
checkCount++;
|
// checkCount++;
|
||||||
if (window.app) {
|
// if (window.app) {
|
||||||
clearInterval(checkInterval);
|
// clearInterval(checkInterval);
|
||||||
console.log("앱 인터페이스 초기화 완료, 우편번호 함수 변경");
|
// console.log("앱 인터페이스 초기화 완료, 우편번호 함수 변경");
|
||||||
changePostcodeFunction(MOBILE_POSTCODE_FUNCTION);
|
// changePostcodeFunction(MOBILE_POSTCODE_FUNCTION);
|
||||||
} else if (checkCount >= maxChecks) {
|
// } else if (checkCount >= maxChecks) {
|
||||||
clearInterval(checkInterval);
|
// clearInterval(checkInterval);
|
||||||
console.warn("앱 인터페이스를 찾을 수 없습니다. 최대 시도 횟수 초과.");
|
// console.warn("앱 인터페이스를 찾을 수 없습니다. 최대 시도 횟수 초과.");
|
||||||
}
|
// }
|
||||||
}, 500);
|
// }, 500);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/*******************************************************
|
/*******************************************************
|
||||||
* 우편번호 버튼의 onclick 함수를 변경하는 함수
|
* 우편번호 버튼의 onclick 함수를 변경하는 함수
|
||||||
*******************************************************/
|
*******************************************************/
|
||||||
function changePostcodeFunction(newFunctionName) {
|
// function changePostcodeFunction(newFunctionName) {
|
||||||
console.log("changePostcodeFunction 호출");
|
// console.log("changePostcodeFunction 호출");
|
||||||
console.log("newFunctionName: " + newFunctionName);
|
// console.log("newFunctionName: " + newFunctionName);
|
||||||
const postcodeBtn = document.getElementById('postcodeBtn');
|
// const postcodeBtn = document.getElementById('postcodeBtn');
|
||||||
if (postcodeBtn) {
|
// if (postcodeBtn) {
|
||||||
postcodeBtn.setAttribute('onclick', newFunctionName + '(fn_set_postcode);');
|
// postcodeBtn.setAttribute('onclick', newFunctionName + '(fn_set_postcode);');
|
||||||
console.log('우편번호 버튼 함수가' + newFunctionName + '으로 변경되었습니다.');
|
// console.log('우편번호 버튼 함수가' + newFunctionName + '으로 변경되었습니다.');
|
||||||
} else {
|
// } else {
|
||||||
console.warn('우편번호 버튼을 찾을 수 없습니다.');
|
// console.warn('우편번호 버튼을 찾을 수 없습니다.');
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 페이지 로드 시 함수 실행
|
// 페이지 로드 시 함수 실행
|
||||||
document.addEventListener('DOMContentLoaded', initPostcodeInterface);
|
document.addEventListener('DOMContentLoaded', initPostcodeInterface);
|
||||||
@@ -848,25 +1029,49 @@
|
|||||||
<input type="text" class="input-text full" name="mbrNm" id="mbrNm" title="이름" placeholder="이름을 입력해 주세요.">
|
<input type="text" class="input-text full" name="mbrNm" id="mbrNm" title="이름" placeholder="이름을 입력해 주세요.">
|
||||||
<p class="userForm__inputBox__alertText" id="mbrNmAlert">이름을 입력해 주세요.</p>
|
<p class="userForm__inputBox__alertText" id="mbrNmAlert">이름을 입력해 주세요.</p>
|
||||||
</div>
|
</div>
|
||||||
|
<%-- <div class="userForm__inputBox__item">--%>
|
||||||
|
<%-- <div class="userForm__inputBox__itemTitle">휴대전화<span class="required-asterisk">*</span></div>--%>
|
||||||
|
<%-- <div class="inputWithBtn">--%>
|
||||||
|
<%-- <input type="text" class="input-text full number" id="mbtlnb" title="휴대폰" placeholder="휴대폰번호 입력 ('-' 없이)" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="13">--%>
|
||||||
|
<%-- <input type="hidden" name="mbtlnb">--%>
|
||||||
|
<%-- <button type="button" class="btn md theme outline" id="phoneAuthBtn"><spring:message code="button.certification"/></button>--%>
|
||||||
|
<%-- <!-- 인증완료시 버튼 -->--%>
|
||||||
|
<%-- <button type="button" class="btn md outline" id="phoneAuthOkBtn" style="display:none;"><spring:message code="button.certificationDone"/></button>--%>
|
||||||
|
<%-- </div>--%>
|
||||||
|
<%-- <p class="userForm__inputBox__alertText" id="mbtlnbAlert">휴대폰 번호를 입력해 주세요.</p>--%>
|
||||||
|
<%-- <div class="phoneAuth" id="phoneAuthContent">--%>
|
||||||
|
<%-- <input type="hidden" id="sndngInnb">--%>
|
||||||
|
<%-- <div>--%>
|
||||||
|
<%-- <div class="inputWithBtn">--%>
|
||||||
|
<%-- <div class="inputTimer">--%>
|
||||||
|
<%-- <input type="text" class="input-text full number" id="mbtlCert" title="인증번호" placeholder="인증번호 입력" maxlength="6">--%>
|
||||||
|
<%-- <span class="inputTimer__time" id="timer">03:00</span>--%>
|
||||||
|
<%-- </div>--%>
|
||||||
|
<%-- <button type="button" class="btn md gray" onclick="fn_confim_own();"><spring:message code="button.ok"/></button>--%>
|
||||||
|
<%-- </div>--%>
|
||||||
|
<%-- <p class="userForm__inputBox__alertText" id="mbtlCertAlert">인증번호를 입력해 주세요.</p>--%>
|
||||||
|
<%-- </div>--%>
|
||||||
|
<%-- </div>--%>
|
||||||
|
<%-- </div>--%>
|
||||||
<div class="userForm__inputBox__item">
|
<div class="userForm__inputBox__item">
|
||||||
<div class="userForm__inputBox__itemTitle">휴대전화<span class="required-asterisk">*</span></div>
|
<div class="userForm__inputBox__itemTitle">이메일<span class="required-asterisk">*</span></div>
|
||||||
<div class="inputWithBtn">
|
<div class="inputWithBtn">
|
||||||
<input type="text" class="input-text full number" id="mbtlnb" title="휴대폰" placeholder="휴대폰번호 입력 ('-' 없이)" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="13">
|
<input type="text" class="input-text full certInp" id="email" title="이메일" placeholder="이메일을 입력해주세요" maxlength="190">
|
||||||
<input type="hidden" name="mbtlnb">
|
<input type="hidden" name="email">
|
||||||
<button type="button" class="btn md theme outline" id="phoneAuthBtn"><spring:message code="button.certification"/></button>
|
<button type="button" class="btn md theme outline" id="emailAuthBtn"><spring:message code="button.certificationEmail"/></button>
|
||||||
<!-- 인증완료시 버튼 -->
|
<!-- 인증완료시 버튼 -->
|
||||||
<button type="button" class="btn md outline" id="phoneAuthOkBtn" style="display:none;"><spring:message code="button.certificationDone"/></button>
|
<button type="button" class="btn md outline" id="emailAuthOkBtn" style="display:none;"><spring:message code="button.certificationDone"/></button>
|
||||||
</div>
|
</div>
|
||||||
<p class="userForm__inputBox__alertText" id="mbtlnbAlert">휴대폰 번호를 입력해 주세요.</p>
|
<p class="userForm__inputBox__alertText" id="mbrEmailAlert">이메일을 입력해 주세요.</p>
|
||||||
<div class="phoneAuth" id="phoneAuthContent">
|
<div class="emailAuth" id="emailAuthContent">
|
||||||
<input type="hidden" id="sndngInnb">
|
<input type="hidden" id="sndngInnb">
|
||||||
<div>
|
<div>
|
||||||
<div class="inputWithBtn">
|
<div class="inputWithBtn">
|
||||||
<div class="inputTimer">
|
<div class="inputTimer">
|
||||||
<input type="text" class="input-text full number" id="mbtlCert" title="인증번호" placeholder="인증번호 입력" maxlength="6">
|
<input type="text" class="input-text full number" id="mbtlCert" title="인증번호" placeholder="인증번호 입력" maxlength="6">
|
||||||
<span class="inputTimer__time" id="timer">03:00</span>
|
<span class="inputTimer__time" id="timer">05:00</span>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="btn md gray" onclick="fn_confim_own();"><spring:message code="button.ok"/></button>
|
<button type="button" class="btn md gray" onclick="fn_confim_own_email();"><spring:message code="button.ok"/></button>
|
||||||
</div>
|
</div>
|
||||||
<p class="userForm__inputBox__alertText" id="mbtlCertAlert">인증번호를 입력해 주세요.</p>
|
<p class="userForm__inputBox__alertText" id="mbtlCertAlert">인증번호를 입력해 주세요.</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -915,16 +1120,16 @@
|
|||||||
<input type="password" class="input-text full" name="mbrPasswordChk" id="mbrPasswordChk" title="비밀번호 확인" placeholder="비밀번호를 한번 더 입력해주세요." maxlength="20">
|
<input type="password" class="input-text full" name="mbrPasswordChk" id="mbrPasswordChk" title="비밀번호 확인" placeholder="비밀번호를 한번 더 입력해주세요." maxlength="20">
|
||||||
<p class="userForm__inputBox__alertText" id="mbrPasswordChkAlert">비밀번호를 입력해 주세요.</p>
|
<p class="userForm__inputBox__alertText" id="mbrPasswordChkAlert">비밀번호를 입력해 주세요.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="userForm__inputBox__item">
|
<%-- <div class="userForm__inputBox__item">--%>
|
||||||
<div class="userForm__inputBox__itemTitle">이메일<span class="required-asterisk">*</span>
|
<%-- <div class="userForm__inputBox__itemTitle">이메일<span class="required-asterisk">*</span>--%>
|
||||||
<input type="hidden" name="email" value=""/>
|
<%-- <input type="hidden" name="email" value=""/>--%>
|
||||||
</div>
|
<%-- </div>--%>
|
||||||
<div class="emailInput">
|
<%-- <div class="emailInput">--%>
|
||||||
<input class="input-text full" type="email" id="id" title="이메일 id" placeholder="이메일" maxlength="40">
|
<%-- <input class="input-text full" type="email" id="id" title="이메일 id" placeholder="이메일" maxlength="40">--%>
|
||||||
<button class="emailInput__btn" role="button" data-micromodal-trigger="emailSelectPop" id="emailSelectBtn">직접입력</button>
|
<%-- <button class="emailInput__btn" role="button" data-micromodal-trigger="emailSelectPop" id="emailSelectBtn">직접입력</button>--%>
|
||||||
</div>
|
<%-- </div>--%>
|
||||||
<p class="userForm__inputBox__alertText" id="emailAlert">이메일을 입력해 주세요.</p>
|
<%-- <p class="userForm__inputBox__alertText" id="emailAlert">이메일을 입력해 주세요.</p>--%>
|
||||||
</div>
|
<%-- </div>--%>
|
||||||
<div class="userForm__inputBox__item">
|
<div class="userForm__inputBox__item">
|
||||||
<div class="userForm__inputBox__itemTitle">생년월<span class="required-asterisk">*</span>
|
<div class="userForm__inputBox__itemTitle">생년월<span class="required-asterisk">*</span>
|
||||||
<!--<span class="misc">(등록하시면 생일 쿠폰을 드립니다)</span> -->
|
<!--<span class="misc">(등록하시면 생일 쿠폰을 드립니다)</span> -->
|
||||||
@@ -950,19 +1155,19 @@
|
|||||||
</div>
|
</div>
|
||||||
<p class="userForm__inputBox__alertText" id="sexAlert">성별을 선택해 주세요.</p>
|
<p class="userForm__inputBox__alertText" id="sexAlert">성별을 선택해 주세요.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="userForm__inputBox__item">
|
<%-- <div class="userForm__inputBox__item">--%>
|
||||||
<div class="userForm__inputBox__itemTitle">주소<span class="required-asterisk">*</span></div>
|
<%-- <div class="userForm__inputBox__itemTitle">주소<span class="required-asterisk">*</span></div>--%>
|
||||||
<div class="inputAddress">
|
<%-- <div class="inputAddress">--%>
|
||||||
<div class="inputAddress__postalCode">
|
<%-- <div class="inputAddress__postalCode">--%>
|
||||||
<input type="text" class="input-text" id="postcode" name="zip" title="우편번호" placeholder="우편번호" readonly>
|
<%-- <input type="text" class="input-text" id="postcode" name="zip" title="우편번호" placeholder="우편번호" readonly>--%>
|
||||||
<button type="button" id="postcodeBtn" class="btn md theme outline" onclick="fn_select_postcode(fn_set_postcode);"><spring:message code="button.zipcode"/></button>
|
<%-- <button type="button" id="postcodeBtn" class="btn md theme outline" onclick="fn_select_postcode(fn_set_postcode);"><spring:message code="button.zipcode"/></button>--%>
|
||||||
</div>
|
<%-- </div>--%>
|
||||||
<input type="text" class="input-text full" id="address" name="lnbAdres" title="주소" placeholder="주소" readonly>
|
<%-- <input type="text" class="input-text full" id="address" name="lnbAdres" title="주소" placeholder="주소" readonly>--%>
|
||||||
<input type="text" class="input-text full" id="dtlAdres" name="dtlAdres" title="상세주소" placeholder="나머지 주소를 입력해 주세요.">
|
<%-- <input type="text" class="input-text full" id="dtlAdres" name="dtlAdres" title="상세주소" placeholder="나머지 주소를 입력해 주세요.">--%>
|
||||||
<input type="hidden" id="adresDv" name="adresDv">
|
<%-- <input type="hidden" id="adresDv" name="adresDv">--%>
|
||||||
</div>
|
<%-- </div>--%>
|
||||||
<p class="userForm__inputBox__alertText" id="postcodeAlert">주소를 입력해 주세요.</p>
|
<%-- <p class="userForm__inputBox__alertText" id="postcodeAlert">주소를 입력해 주세요.</p>--%>
|
||||||
</div>
|
<%-- </div>--%>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomBtnControls">
|
<div class="bottomBtnControls">
|
||||||
<button id="registBtn" class="btn lg full theme" onclick="fn_regist_member();">회원가입</button>
|
<button id="registBtn" class="btn lg full theme" onclick="fn_regist_member();">회원가입</button>
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
<div class="bottomBtnControls bottomBtnControls--vertical">
|
<div class="bottomBtnControls bottomBtnControls--vertical">
|
||||||
<a href="<c:url value='/index'/>" class="btn xl full outline">쇼핑하러 가기</a>
|
<a href="<c:url value='/index'/>" class="btn xl full outline">쇼핑하러 가기</a>
|
||||||
<c:if test="${!isAuthenticated}">
|
<c:if test="${!isAuthenticated}">
|
||||||
<a href="<c:url value='/login'/>" class="btn xl full theme">로그인</a>
|
<a href="<c:url value='/sopmal/login'/>" class="btn xl full theme">로그인</a>
|
||||||
</c:if>
|
</c:if>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user