parent
915f89851d
commit
c92b459750
@ -1,73 +0,0 @@
|
||||
<#include "/m/include/index_top.ftl">
|
||||
|
||||
<#assign profile_path = ""><#-- 프로필 이미지 -->
|
||||
<#if Session.rm_member['profile_path']! != ''>
|
||||
<#if Session.rm_member['profile_path']?index_of("http") == 0>
|
||||
<#assign profile_path = Session.rm_member['profile_path']>
|
||||
<#else>
|
||||
<#assign profile_path = URL_ROOT + Session.rm_member['profile_path']>
|
||||
</#if>
|
||||
<#else>
|
||||
<#assign profile_path = URL_STATIC_ROOT + "/m/img/setting/account_pic.png">
|
||||
</#if>
|
||||
<body>
|
||||
<div class="wrap">
|
||||
<header class="header_wrapper">
|
||||
<a href="javascript:back.return_url()" class="side_Lbtn hidden pre_btn">이전으로</a>
|
||||
<h1 class="header_title">계정관리</h1>
|
||||
<a href="#" class="side_Rbtn hidden"></a>
|
||||
</header>
|
||||
<main class="m_set_account">
|
||||
<div class="account_header">
|
||||
<div class="p_header_pic">
|
||||
<div class="pic hidden" style="background-image:url(${profile_path})">프로필 사진</div>
|
||||
<div class="name_tit">${Session.rm_member['NAME']!}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="set_account_cont profile_wrap">
|
||||
<p class="set_account_info">
|
||||
※ 휴대전화 기기를 교체하거나 번호를 변경하여도
|
||||
아이키매니저에 등록해놓은 휴대전화 번호로 로그인 하시면
|
||||
이전에 사용하였던 아이목록, 측정기록 등을 다시 불러올 수 있습니다.
|
||||
</p>
|
||||
<div class="set_account_list">
|
||||
<a href="${URL_ROOT}/m/member_env/setting_nm.do?view_nm=view_set_account_name&return_url=view_set_account" class="list_item">
|
||||
<span class="emphasis_tit">닉네임</span> 변경
|
||||
</a>
|
||||
<a href="javascript:fncGoSetPwd();" class="list_item">
|
||||
<span class="emphasis_tit">비밀번호</span> 변경
|
||||
</a>
|
||||
<a href="${URL_ROOT}/m/member_env/setting_nm.do?view_nm=view_set_account_phone&return_url=view_set_account" class="list_item">
|
||||
<span class="emphasis_tit">휴대전화 번호</span> 변경
|
||||
</a>
|
||||
<#-- <a href="${URL_ROOT}/m/member_env/setting_nm.do?view_nm=view_set_account_mail&return_url=view_set_account" class="list_item">-->
|
||||
<#-- <span class="emphasis_tit">이메일</span> 변경-->
|
||||
<#-- </a>-->
|
||||
<a href="${URL_ROOT}/m/member_env/setting_nm.do?view_nm=view_set_account_memberleave&return_url=view_set_account" class="list_item">
|
||||
<span class="emphasis_tit">계정</span> 삭제
|
||||
</a>
|
||||
</div>
|
||||
<a href="${URL_ROOT}/m/login/logout.do"><button type="button" class="btns blue_btn logout_btn">로그아웃</button></a>
|
||||
</div>
|
||||
|
||||
<#include "/m/include/index_bottom_info.ftl">
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<#include "/m/member_env/include_return_url.ftl">
|
||||
|
||||
<script>
|
||||
var socialType = "${Session.rm_member['social_type']!}";
|
||||
|
||||
function fncGoSetPwd() {
|
||||
if(socialType == "") {
|
||||
location.href = "${URL_ROOT}/m/member_env/setting_nm.do?view_nm=view_set_account_pw&return_url=view_set_account";
|
||||
} else {
|
||||
Swal.fire({text: socialType + ' 소셜 로그인 회원은 해당 소셜 사이트에서 비밀번호를 변경할수 있습니다.'});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
</body>
|
||||
<#include "/m/include/index_bottom.ftl">
|
@ -1,218 +0,0 @@
|
||||
<#include "/m/include/index_top.ftl">
|
||||
|
||||
<body class="bg_setting">
|
||||
<div class="wrap">
|
||||
<header class="header_wrapper">
|
||||
<a href="javascript:back.return_url()" class="side_Lbtn hidden pre_btn">이전으로</a>
|
||||
<h1 class="header_title">계정관리</h1>
|
||||
<a href="#" class="side_Rbtn hidden"></a>
|
||||
</header>
|
||||
<main class="m_set_account m_set_account_name">
|
||||
<form name="frmMember" id="frmMember" method="POST">
|
||||
<input type="hidden" name="is_test" id="is_test" value="N" />
|
||||
<input type="hidden" name="s_no" id="s_no" value="" />
|
||||
<input type="hidden" name="sms_use_cd_no" id="sms_use_cd_no" value="SMS_USE_CODE_UPDATE"/>
|
||||
<input type="hidden" name="check_status" id="check_status" value=""/>
|
||||
<h1 class="l_title">변경하실 휴대전화 번호를 입력해주세요</h1>
|
||||
<div class="l_list">
|
||||
<div class="p_list_item p_border_box">
|
||||
<div class="p_input_box">
|
||||
<input type="number" id="phone_num" name="phone_num" class="required" data-tit="휴대전화번호" placeholder="'-'없이 번호만 입력" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="m_set_account_btn"><button type="button" id="" name="" class="btns blue_btn" onclick="auth.ajax_send_sms()">인증요청</button></div>
|
||||
</div>
|
||||
<div class="l_list">
|
||||
<p class="l_info">※ 휴대폰으로 전송된 인증번호를 입력해주세요.</p>
|
||||
<div class="timer_box">인증 유효 시간 <span id="id_limit_time" class="timer emphasis_tit">02:59</span></div>
|
||||
<div class="p_list_item p_border_box">
|
||||
<div class="p_input_box">
|
||||
<#-- 인증 문자 발송 후 required 클래스 추가 -->
|
||||
<input type="text" id="check_num" name="check_num" class="" data-tit="인증번호" placeholder="인증번호 입력">
|
||||
</div>
|
||||
</div>
|
||||
<div class="m_set_account_btn"><button type="submit" id="id_check_num" name="" class="btns grey_btn">인증확인</button></div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<#include "/m/include/index_bottom_info.ftl">
|
||||
</main>
|
||||
</div>
|
||||
<script>
|
||||
var member = {
|
||||
|
||||
init: function(){
|
||||
$('#frmMember').on('submit',function(e){
|
||||
|
||||
if(!auth.timer_check){
|
||||
e.preventDefault()
|
||||
return;
|
||||
}
|
||||
|
||||
if($('#check_status').val()!='Y'){
|
||||
e.preventDefault()
|
||||
auth.ajax_confirm_sms()
|
||||
return;
|
||||
}
|
||||
|
||||
e.preventDefault()
|
||||
return;
|
||||
})
|
||||
},
|
||||
|
||||
ajax_update_sn_member_phone: function(){
|
||||
var data = $('#frmMember').serialize()
|
||||
$.ajax({
|
||||
url:'${URL_ROOT}/m/member_env/ajax_update_member_phone.do?1=1',
|
||||
type:'post',
|
||||
data: data,
|
||||
dataType:'json',
|
||||
error:function(request,status,error){
|
||||
Swal.fire({text: '오류가 발생했습니다'})
|
||||
auth.is_loading = false
|
||||
},
|
||||
success:function(result){
|
||||
console.log(result)
|
||||
|
||||
var RESULT = result.RESULT
|
||||
if(RESULT == 0){ //0:RESULT_SUCCESS
|
||||
Swal.fire({text: '변경되었습니다'}).then((result) => { location.reload(); })
|
||||
}else if(RESULT == 5){ //5: RESULT_CUSTOM_MSG
|
||||
Swal.fire({html: result.MSG})
|
||||
}else{
|
||||
Swal.fire({text: '변경에 실패했습니다'})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
}
|
||||
var auth = {
|
||||
timer_check : null,
|
||||
|
||||
init:function(){
|
||||
|
||||
},
|
||||
|
||||
start_timer : function() {
|
||||
this.stop_timer()
|
||||
$('#id_check_num').addClass('blue_btn')
|
||||
$('#id_check_num').removeClass('grey_btn')
|
||||
this.timer_check = setInterval(function() {
|
||||
if(s_time <= 0){
|
||||
this.stop_timer()
|
||||
Swal.fire({text: '인증 시간이 만료되었습니다'})
|
||||
}else{
|
||||
var min = parseInt((--s_time%3600)/60)
|
||||
var sec = s_time%60
|
||||
var remain_time = (min < 10? "0" + min : min) + ":" + (sec < 10 ? "0" + sec : sec)
|
||||
$('#id_limit_time').text(remain_time)
|
||||
}
|
||||
}.bind(this), 1000)
|
||||
},
|
||||
|
||||
stop_timer : function(){
|
||||
s_time = 180
|
||||
clearInterval(this.timer_check)
|
||||
this.is_loading = false
|
||||
this.timer_check = null
|
||||
|
||||
// 버튼 끄기
|
||||
$('#id_check_num').addClass('grey_btn')
|
||||
$('#id_check_num').removeClass('blue_btn')
|
||||
|
||||
// send_sms 결과 초기화
|
||||
$('#s_no').val('')
|
||||
$('#check_status').val('')
|
||||
$('#check_num').val('')
|
||||
$('#check_num').removeClass('required')
|
||||
},
|
||||
|
||||
ajax_send_sms: function(){
|
||||
|
||||
if (!SNValidator.validateWithAlert('#frmMember')) {
|
||||
this.stop_timer()
|
||||
return;
|
||||
} else if(!SNUtil.regPh.test($("#phone_num").val())){
|
||||
this.stop_timer()
|
||||
Swal.fire({text: '올바른 휴대전화 번호를 입력하세요'})
|
||||
return;
|
||||
} else {
|
||||
this.stop_timer()
|
||||
}
|
||||
|
||||
var data = $('#frmMember').serialize()
|
||||
$.ajax({
|
||||
url:'${URL_ROOT}/api/sms/send_sms.do?1=1',
|
||||
type:'post',
|
||||
data: data,
|
||||
dataType:'json',
|
||||
error:function(request,status,error){
|
||||
this.stop_timer()
|
||||
Swal.fire({text: '오류가 발생했습니다'})
|
||||
}.bind(this),
|
||||
success:function(result){
|
||||
console.log(result)
|
||||
this.stop_timer()
|
||||
|
||||
var RESULT = result.RESULT
|
||||
var RESULT_MSG = result.RESULT_MSG
|
||||
var s_no = result.s_no
|
||||
|
||||
if(result.RESULT_CODE == "401"){ //401: member is being
|
||||
this.stop_timer();
|
||||
Swal.fire({text: result.sms_msg})
|
||||
}else if(result.RESULT == 'true'){
|
||||
// confirm_sms DATA세팅
|
||||
this.start_timer();
|
||||
$('#s_no').val(s_no);
|
||||
$('#check_num').addClass('required')
|
||||
Swal.fire({text: '발송되었습니다'})
|
||||
}else{
|
||||
this.stop_timer();
|
||||
Swal.fire({text: '오류가 발생했습니다'})
|
||||
}
|
||||
}.bind(this),
|
||||
})
|
||||
},
|
||||
|
||||
ajax_confirm_sms: function(){
|
||||
|
||||
if (!SNValidator.validateWithAlert('#frmMember')) {
|
||||
return;
|
||||
}
|
||||
|
||||
var data = $('#frmMember').serialize()
|
||||
$.ajax({
|
||||
url:'${URL_ROOT}/api/sms/confirm_sms.do?1=1',
|
||||
type:'post',
|
||||
data: data,
|
||||
dataType:'json',
|
||||
error:function(request,status,error){
|
||||
Swal.fire({text: '오류가 발생했습니다'})
|
||||
}.bind(this),
|
||||
success:function(result){
|
||||
console.log(result)
|
||||
|
||||
if(result.RESULT == 'true' && result.check_status == 'Y'){
|
||||
// confirm_sms DATA세팅
|
||||
$('#check_status').val(result.check_status)
|
||||
|
||||
//완료처리
|
||||
member.ajax_update_sn_member_phone()
|
||||
}else{
|
||||
Swal.fire({text: '올바른 인증번호를 입력하세요'})
|
||||
}
|
||||
}.bind(this),
|
||||
})
|
||||
}
|
||||
}
|
||||
$(function(){
|
||||
auth.init()
|
||||
member.init()
|
||||
})
|
||||
</script>
|
||||
|
||||
<#include "/m/member_env/include_return_url.ftl">
|
||||
|
||||
</body>
|
||||
<#include "/m/include/index_bottom.ftl">
|
@ -0,0 +1,206 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<#include "/m/include/index_top.ftl">
|
||||
|
||||
<link rel="stylesheet" href="../css/style.css">
|
||||
<body>
|
||||
<div class="wrap">
|
||||
<header class="header_wrapper">
|
||||
<a href="javascript:history.back();" class="side_Lbtn hidden pre_btn">이전으로</a>
|
||||
<h1 class="header_title">음악 설정</h1>
|
||||
<a href="#" class="side_Rbtn hidden"></a>
|
||||
</header>
|
||||
<main class="m_set_lighting_time">
|
||||
<div class="cont">
|
||||
<form id="frmUpdate" name="frmUpdate" method="post" ecntype="multipart/form-data" onsubmit="return false">
|
||||
<input type="hidden" id="delList" name="delList" value="">
|
||||
<input type="hidden" id="muteYnIdxList" name="muteYnIdxList" value="">
|
||||
<input type="hidden" id="muteYnList" name="muteYnList" value="">
|
||||
<div class="set_list_wrap">
|
||||
<#list model['music_list'] as item>
|
||||
<div class="list_item item_order">
|
||||
<input type="hidden" name="music_list" value="/bf/upload/${item['music_file_path']!}">
|
||||
<div>${item['music_name']!}</div>
|
||||
<div class="order_button">
|
||||
<button key="${item['idx']!}" base="${item['base_yn']}" onclick="fncRemove(this)" type="button">
|
||||
<img style="width:18px;height:18px" src="../img/setting/delete_ico.png"/>
|
||||
</button>
|
||||
<#if item['mute_yn'] == 'N'>
|
||||
<button type="button" name="mute_yn" value="N" key="${item['idx']!}" >
|
||||
<img style="width:18px;height:18px" src="../img/nutrition/ico_sound_on_black_18.png" alt="" onclick="fncMute(this);">
|
||||
</button>
|
||||
</#if>
|
||||
<#if item['mute_yn'] == 'Y'>
|
||||
<button type="button" name="mute_yn" value="Y" key="${item['idx']!}" >
|
||||
<img style="width:18px;height:18px" src="../img/nutrition/ico_sound_off_black_18.png" alt="" onclick="fncMute(this);">
|
||||
</button>
|
||||
</#if>
|
||||
</div>
|
||||
</div>
|
||||
</#list>
|
||||
|
||||
</div>
|
||||
<div class="item_add" onclick="fncAddItem()">
|
||||
<!-- <input id="file" type = "file" name="file" accept = ".mp3"> -->
|
||||
<img src="../img/setting/add_circle_ico.png" />
|
||||
</div>
|
||||
<audio src="/m/" controls id="audio_control" style="width: 100%" onended="fncNextPlay()"></audio>
|
||||
<div class="m_set_description">
|
||||
*음악은 랜덤으로 재생됩니다.<br>
|
||||
*원하는 음악을 추가하실 수 있습니다. (최대 5개 / MP3파일만 지원)<br>
|
||||
*추가하신 음악은 삭제 및 수정이 가능합니다<br>
|
||||
*원하지 않은 음악은 삭제 버튼을 눌러 재생 목록에서 제거할 수 있습니다<br>
|
||||
</div>
|
||||
<div class="m_set_account_btn"><button type="button" id="" name="" onclick="fncSave()" class="btns blue_btn">저장</button></div>
|
||||
</form>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var delList = "";
|
||||
// var muteYnIdxList = "";
|
||||
var music_idx = 0;
|
||||
|
||||
$("#audio_control").attr("src", $("input[name='music_list']").eq(0).val());
|
||||
|
||||
function fncNextPlay() {
|
||||
$("#audio_control").get(0).src = $("input[name='music_list']").eq(music_idx).val();
|
||||
$("#audio_control").get(0).play();
|
||||
|
||||
if( music_idx >= $("input[name='music_list']").length-1) {
|
||||
music_idx = 0;
|
||||
} else {
|
||||
music_idx++;
|
||||
}
|
||||
}
|
||||
|
||||
function fncMute(e) {
|
||||
// console.log($(e).parent().attr("name") + "," + $(e).parent().attr("value"));
|
||||
|
||||
var type = $(e).parent().attr("value");
|
||||
|
||||
if(type == "Y") {
|
||||
$(e).attr("src", "../img/nutrition/ico_sound_on_black_18.png")
|
||||
$(e).parent().attr("value", "N")
|
||||
} else {
|
||||
$(e).attr("src", "../img/nutrition/ico_sound_off_black_18.png")
|
||||
$(e).parent().attr("value", "Y")
|
||||
}
|
||||
// muteYnIdxList += $(e).attr("key") + ",";
|
||||
}
|
||||
|
||||
function fncSave() {
|
||||
var muteYnList = ""; //음소거 YN 값 목록
|
||||
var muteYnIdxList = ""; //음소거 IDX 목록
|
||||
var delList = $("#delList").val();
|
||||
|
||||
//음소거여부 yn목록
|
||||
$("button[name='mute_yn']").each(function(index, item){
|
||||
muteYnList += $(item).attr("value") + ",";
|
||||
muteYnIdxList += $(item).attr("key") + ",";
|
||||
});
|
||||
|
||||
//삭제키
|
||||
if(delList.length > 0) {
|
||||
$("#delList").val( delList.substring(0, delList.length-1) );
|
||||
}
|
||||
|
||||
//음소거키
|
||||
if(muteYnIdxList.length > 0) {
|
||||
$("#muteYnIdxList").val( muteYnIdxList.substring(0, muteYnIdxList.length-1) );
|
||||
}
|
||||
|
||||
//음소거 Value값
|
||||
if(muteYnList.length > 0) {
|
||||
$("#muteYnList").val( muteYnList.substring(0, muteYnList.length-1) );
|
||||
}
|
||||
|
||||
var formData = new FormData($("#frmUpdate")[0]);
|
||||
|
||||
$.ajax({
|
||||
url: "${URL_ROOT}/m/member_env/saveMusicFile.do",
|
||||
processData: false,
|
||||
contentType: false,
|
||||
data: formData,
|
||||
type: 'POST',
|
||||
async : false,
|
||||
success: function(response){
|
||||
Swal.fire({text: '저장 되었습니다.'}).then((result)=>{ location.reload(); })
|
||||
// callback(response);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$(function(){
|
||||
env.init()
|
||||
})
|
||||
|
||||
|
||||
function fncModify(e) {
|
||||
$(e).parent().find(".fileSpan").show();
|
||||
}
|
||||
|
||||
function fncRemove(e) {
|
||||
if($(e).attr("base") == "N") {
|
||||
delList += $(e).attr("key") + ",";
|
||||
$(e).parent().parent().remove();
|
||||
|
||||
$("#delList").val(delList);
|
||||
} else {
|
||||
Swal.fire({text: '기본 음악파일은 삭제가 불가능 합니다.'});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 동영상 업로드 파일 DB에 저장하기
|
||||
function fn_M_my_fileSave(th) {
|
||||
try {
|
||||
var name = $(th)[0].files[0].name;
|
||||
var ext = name.split('.').pop().toLowerCase();
|
||||
if($.inArray(ext, ['mp3','mp4']) == -1) {
|
||||
Swal.fire({text: '음약 파일(mp3)을 업로드 해 주세요.'}).then((result)=>{ $(th).parent().remove(); })
|
||||
return;
|
||||
}
|
||||
|
||||
var size = $(th)[0].files[0].size;
|
||||
var size2 = Number(size)/(1024*1024);
|
||||
|
||||
if(size2 > 7){
|
||||
Swal.fire({text: '7M 이하 파일을 업로드 해 주세요.'}).then((result)=>{ $(th).parent().remove(); })
|
||||
return;
|
||||
}
|
||||
} catch (e) { console.log(e); }
|
||||
}
|
||||
|
||||
function fncAddItem() {
|
||||
var size = $("input[name='file']").length + $("input[name='music_list']").length;
|
||||
|
||||
if(size >=5) {
|
||||
Swal.fire({text: '음악파일은 5개까지 설정 가능합니다.'});
|
||||
return;
|
||||
}
|
||||
|
||||
$(".set_list_wrap").append("<div class='list_item item_order'>" +
|
||||
"<div><input type='file' onchange='fn_M_my_fileSave(this);' name='file'></div>" +
|
||||
"<div class='order_button'>" +
|
||||
"<button type='button' base='N' onclick='fncRemove(this)'>" +
|
||||
"<img style='width:18px;height:18px' src='../img/setting/delete_ico.png'/>" +
|
||||
"</button> " +
|
||||
"<button type='button' name='mute_yn' value='N'>" +
|
||||
"<img style='width:18px;height:18px' src='../img/nutrition/ico_sound_on_black_18.png' alt='' onclick='fncMute(this);'>" +
|
||||
"</button>" +
|
||||
"</div>" +
|
||||
"</div>")
|
||||
}
|
||||
|
||||
// function fncRemove(e) {
|
||||
// $(e).parent().parent().remove();
|
||||
// }
|
||||
</script>
|
||||
<#include "/m/member_env/include_return_url.ftl">
|
||||
</body>
|
||||
<#include "/m/include/index_bottom.ftl">
|
||||
|
||||
</html>
|
Loading…
Reference in new issue