친구톡개선중

This commit is contained in:
hehihoho3@gmail.com 2025-06-12 14:54:53 +09:00
parent d0a6292cc5
commit 2d824883c8
3 changed files with 213 additions and 175 deletions

View File

@ -17,6 +17,7 @@ import javax.imageio.ImageIO;
import javax.swing.ImageIcon; import javax.swing.ImageIcon;
import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpEntity; import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient; import org.apache.http.client.HttpClient;
@ -331,8 +332,11 @@ public class KakaoApiImageUpload {
} }
} else { } else {
float ratio = width / (float) height; float ratio = width / (float) height;
if (width < 500 || ratio < 0.5 || ratio > 0.75) { // log.info("width : [{}], ",width);
return new StatusResponse(HttpStatus.BAD_REQUEST, "일반 이미지 조건 위반: 가로 500px 이상, 비율 2:1 미만 및 3:4 초과 불가"); // log.info("height : [{}], ",height);
// log.info("ratio : [{}], ",ratio);
if (width < 500 || ratio < 0.75 || ratio > 2.0) {
return new StatusResponse(HttpStatus.BAD_REQUEST, "일반 이미지는 가로 500px 이상, 비율 2:1 이상 또는 3:4 이하만 허용됩니다.");
} }
} }
@ -345,7 +349,7 @@ public class KakaoApiImageUpload {
String apiUrl = mjonBizUrl + "/v3/kakao/image/upload"; String apiUrl = mjonBizUrl + "/v3/kakao/image/upload";
HttpPost httpPost = new HttpPost(apiUrl); HttpPost httpPost = new HttpPost(apiUrl);
HttpEntity httpEntity = MultipartEntityBuilder.create() /*HttpEntity httpEntity = MultipartEntityBuilder.create()
.addTextBody("bizId", mjonBizId) .addTextBody("bizId", mjonBizId)
.addTextBody("apiKey", mjonBizKakaoApiKey) .addTextBody("apiKey", mjonBizKakaoApiKey)
.addTextBody("imageType", kakaoVO.getImageType()) .addTextBody("imageType", kakaoVO.getImageType())
@ -354,8 +358,22 @@ public class KakaoApiImageUpload {
.addTextBody("senderKey", kakaoVO.getSenderKey()) .addTextBody("senderKey", kakaoVO.getSenderKey())
.addBinaryBody("image", new File(filePath), ContentType.MULTIPART_FORM_DATA, newName + "." + ext) .addBinaryBody("image", new File(filePath), ContentType.MULTIPART_FORM_DATA, newName + "." + ext)
.build(); .build();
*/
HttpEntity httpEntity = MultipartEntityBuilder.create()
.addTextBody("bizId", mjonBizId)
.addTextBody("apiKey", mjonBizKakaoApiKey)
.addTextBody("imageType", kakaoVO.getImageType())
.addTextBody("title", originalName)
.addTextBody("link", StringUtils.isEmpty(kakaoVO.getImgLink()) ? "https://" : kakaoVO.getImgLink())
.addTextBody("senderKey", kakaoVO.getSenderKey())
.addBinaryBody("image", new File(filePath), ContentType.MULTIPART_FORM_DATA, newName + "." + ext)
.build();
httpPost.setEntity(httpEntity); httpPost.setEntity(httpEntity);
CloseableHttpResponse response = httpClient.execute(httpPost); CloseableHttpResponse response = httpClient.execute(httpPost);
int statusCode = response.getStatusLine().getStatusCode(); int statusCode = response.getStatusLine().getStatusCode();

View File

@ -42,7 +42,9 @@ import itn.let.mail.service.StatusResponse;
import itn.let.mjo.symbol.service.MjonSymbolService; import itn.let.mjo.symbol.service.MjonSymbolService;
import itn.let.mjo.symbol.service.MjonSymbolVO; import itn.let.mjo.symbol.service.MjonSymbolVO;
import itn.let.uss.umt.service.EgovUserManageService; import itn.let.uss.umt.service.EgovUserManageService;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Controller @Controller
public class KakaoFriendsTalkTemplateController { public class KakaoFriendsTalkTemplateController {
@ -249,6 +251,7 @@ public class KakaoFriendsTalkTemplateController {
ModelAndView modelAndView = new ModelAndView(); ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView"); modelAndView.setViewName("jsonView");
log.info(" + kakaoVO.getAdFlag() :: [{}]", kakaoVO.getAdFlag());
try { try {
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
@ -269,6 +272,7 @@ public class KakaoFriendsTalkTemplateController {
if(!imgUrl.equals("") || buttonSize > 0) { if(!imgUrl.equals("") || buttonSize > 0) {
log.info(" + kakaoVO.getAdFlag() :: [{}]", kakaoVO.getAdFlag());
//json 파일 생성 처리 //json 파일 생성 처리
String resultJsonPath = kakaoFTJsonSave.kakaoApiJsonSave(kakaoVO); String resultJsonPath = kakaoFTJsonSave.kakaoApiJsonSave(kakaoVO);
kakaoVO.setBizJsonName(resultJsonPath); kakaoVO.setBizJsonName(resultJsonPath);

View File

@ -29,11 +29,12 @@ var excelAddr = []; //엑셀 불러오기에서 내용 저장하는 배열 변
var KAKAO_FT_PRICE = $('#kakaoFtPrice').val(); var KAKAO_FT_PRICE = $('#kakaoFtPrice').val();
$(document).ready(function (){ $(document).ready(function (){
KAKAO_FT_PRICE = $('#kakaoFtPrice').val(); KAKAO_FT_PRICE = $('#kakaoFtPrice').val();
//화면 초기 로딩시 화면 처리해주기 - 템플릿 불러오기 했을 경우를 위함 //화면 초기 로딩시 화면 처리해주기 - 템플릿 불러오기 했을 경우를 위함
initFormChk(); initFormChk();
//이모티콘 삽입 기능 처리 //특수문자, 일괄변화문구 삽입 기능 처리
$(".symbolButton, .changeWord").on('click', function(){ $(".symbolButton, .changeWord").on('click', function(){
// 커서 위치에 삽입 // 커서 위치에 삽입
@ -43,18 +44,12 @@ $(document).ready(function (){
//즉시 발송 라디오 버튼 선택시 숨김처리 //즉시 발송 라디오 버튼 선택시 숨김처리
$("#reserYnN").on('click', function(){ $('input[name="reserYn"]').on('change', function() {
$('.rev_selected').hide(); const isReserve = $(this).val() === 'Y';
$('.send_rev .send_content').css('padding-bottom','108px');
$('.send_btn .btnType:first-child').html('발송하기');
$('#bizForm #reserveYn').val($(this).val());
});
//예약 발송 라디오 버튼 선택시 숨김 해제처리 $('.rev_selected').toggle(isReserve);
$("#reserYnY").on('click', function(){ $('.send_rev .send_content').css('padding-bottom', isReserve ? '0' : '108px');
$('.rev_selected').show(); $('.send_btn .btnType:first-child').html(isReserve ? '예약하기' : '발송하기');
$('.send_rev .send_content').css('padding-bottom','0');
$('.send_btn .btnType:first-child').html('예약하기');
$('#bizForm #reserveYn').val($(this).val()); $('#bizForm #reserveYn').val($(this).val());
}); });
@ -66,27 +61,12 @@ $(document).ready(function (){
}); });
$("#excelAdd").click(function(){ $(".friend_talk_wrap #ad_Y").click(function () {
if ($(this).is(":checked") == true) {
if(excelAddr.length > 0){
//첨부파일로 불러온 데이터를 받는사람 목록에 추가해 준다.
addPhoneInfo(excelAddr);
//첨부파일 초기화 시켜주기
$("#excelFile").val("");
$("#excelNm").val("");
}else{
alert("추가 엑셀 데이터가 없습니다.");
return false;
fnAgentCodeChg();
} }
}); });
$("#send_fail_check").change(function(){ $("#send_fail_check").change(function(){
if($("#send_fail_check").is(":checked")){ if($("#send_fail_check").is(":checked")){
@ -162,28 +142,22 @@ $(document).ready(function (){
}); });
$("input[name='img_file_add']").change(function () {
console.log('$(this).attr("id") :: ', $(this).attr("id"));
/* if ($("input[name='img_file_add']:checked").attr("id") == "img_file_1") {
$(".basic_img_add_wrap").show().siblings(".wide_img_add_wrap").hide();
//치환문자 있는 엑섹불러오기 버튼 클릭시 파일 첨부 실행 $(".img_file_info_wrap").show();
$('.c3').click(function(){ // 엑셀파일 불러오기 선택 시 $(".kakao_image img").show().attr("src", "/publish/images/content/kakao_img_basic.jpg");
} else if ($("input[name='img_file_add']:checked").attr("id") == "img_file_2") {
$("#excelFile").click(); $(".wide_img_add_wrap").show().siblings(".basic_img_add_wrap").hide();
$(".kakao_image img").show().attr("src", "/publish/images/content/kakao_img_wide.jpg");
}); $(".img_file_info_wrap").show();
$("#excelFile").on("change", function(event) {
var fileInfo = event.target.files;
if(fileInfo.length > 0){
excelFileChange(fileInfo[0]);
} else { } else {
fn_loadRemoveActive(); // 파일이 선택되지 않은 경우 로딩 상태 제거 $(".img_add_info_wrap, .img_file_add_wrap").hide();
setTimeout(() => { $(this).val(''); }, 0); // 파일 선택 초기화 $(".kakao_image img, .img_file_info_wrap").hide();
} } */
}); });
// 최근 전송내역 // 최근 전송내역
resultLatestMsgList(); resultLatestMsgList();
//자주보내는 번호 //자주보내는 번호
@ -294,43 +268,36 @@ function resultBookMarkMsgList(){
function initFormChk(){ function initFormChk(){
//첫로딩시 우측 미리보기 화면 숨김처리
$('.emphasis_title_text').hide(); //강조유형 타이틀
$('.emphasis_side_text').hide(); //강조유형 보조문구
//$('.template_text').hide(); //내용 미리보기
$('.side_info_text').hide(); //부가정보 내용
$('.channel_info_text').hide(); //채널추가 텍스트 내용
$('.btnAd').hide(); //샘플 채널추가 버튼
//$('.btnEmpty').hide(); //샘플 버튼
//채널ID 정보 미리보기에 표시해주기 //채널ID 정보 미리보기에 표시해주기
fnAgentCodeChg(); fnAgentCodeChg();
//템플릿 등록 이미지가 있는 경우 이미지 정보 표시해 주기 //템플릿 등록 이미지가 있는 경우 이미지 정보 표시해 주기
var imgType = $("input[name=img_file_add]:checked").val(); var imgType = $('#imageType').val();
if(!imgType == ''){
if($("input[name='img_file_add']:checked").attr("id")=="img_file_1"){
$(".basic_img_add_wrap").show().siblings(".img_add_info_wrap").hide();
$(".img_file_add_wrap").show();
}else if($("input[name='img_file_add']:checked").attr("id")=="img_file_2"){
$(".wide_img_add_wrap").show().siblings(".img_add_info_wrap").hide();
$(".img_file_add_wrap").show();
} else{
$(".img_add_info_wrap, .img_file_add_wrap").hide();
}
}else{
$("#img_file_0").prop('checked',true); $("#img_file_0").prop('checked',true);
if(imgType){
if(imgType == 'I'){
$('#img_file_1').click();
}else if(imgType == 'W'){
$('#img_file_2').click();
}
// 이미지명 입력
$('#imgTitle').removeClass('file_none')
.text($('#imageFileName').val());
$('#imgLink').prop('disabled', true); // 회색 처리 + 입력 불가
// 이미지 URL은 해당 input에 있음.
/* else{
$(".img_add_info_wrap, .img_file_add_wrap").hide();
} */
} }
var imageFileName = '${resultTemplateVO.imageFileName}';
$("#imgNm").text(imageFileName);
//미리보기에 이미지 표시해주기 var imgUrl = $('#templateImageUrl').val();
var imgUrl = '${resultTemplateVO.templateImageUrl}';
if(imgUrl != ''){ if(imgUrl != ''){
$('.kakao_image').css("display", "block"); $('.kakao_image').css("display", "block");
@ -342,8 +309,8 @@ function initFormChk(){
setContentsLengForFriends(tmpContents); setContentsLengForFriends(tmpContents);
//초기 광고포함 여부 처리 //초기 광고포함 여부 처리
var adFlagVal = $("input[name=adFlag]:checked").val(); // var adFlagVal = $("#ad_Y").is(":checked") ? "Y" : "N";
advTextChange(adFlagVal); // advTextChange(adFlagVal);
var reserYn = $("input[name=reserYn]:checked").val(); var reserYn = $("input[name=reserYn]:checked").val();
if(reserYn == 'N'){ if(reserYn == 'N'){
@ -362,16 +329,38 @@ function fnAgentCodeChg(){
var yellowIdVal = $("#selectAgentCode option:checked").val(); var yellowIdVal = $("#selectAgentCode option:checked").val();
var yellowId = $("#selectAgentCode option:checked").text(); var yellowId = $("#selectAgentCode option:checked").text();
var yellowIdAt = yellowId.replaceAll('@',''); var yellowIdAt = yellowId.replaceAll('@','');
// 체크 여부에 따라 채널ID 문구 설정
if(yellowIdVal != ''){ if(yellowIdVal != ''){
$('#spnYellowid').text(yellowId); //미리보기화면 채널ID $('#spnYellowid').text(yellowId); // 미리보기화면 최상단 채널ID
$('#spnYellowidAt').text(yellowIdAt); //미리보기화면 채널ID @제거
$('#yellowIdCon').text(yellowIdAt); //내용 입력 부분 채널ID var cleanYellowId = yellowId.replace(/^@/, ""); // 앞에 @ 기호 제거
if ($("#ad_Y").is(":checked")) {
$("#adTxt").show(); // 내용
$("#adTxt p").html("(광고) " + cleanYellowId + ""); // 내용
$("#talkTitle").html("<span>(광고)</span> " + cleanYellowId); // 미리보기 화면 상단
}
}else{ }else{
$('#spnYellowid').text("채널ID"); //미리보기화면 채널ID var channelId = "채널ID";
$('#spnYellowidAt').text("채널ID"); //미리보기화면 채널ID @제거
$('#yellowIdCon').text("채널ID"); //내용 입력 부분 채널ID $('#spnYellowid').text(channelId); // 미리보기화면 최상단 채널ID
if ($("#ad_Y").is(":checked")) {
$("#adTxt").show(); // 내용
$("#adTxt p").html("(광고) " + channelId + ""); // 내용
$("#talkTitle").html("<span>(광고)</span> " + channelId); // 미리보기 화면 상단
} else {
$("#adTxt").hide(); // 내용
$("#talkTitle").html(channelId); // 미리보기 화면 상단
}
} }
} }
@ -379,12 +368,12 @@ function fnAgentCodeChg(){
function upImgClick(){ function upImgClick(){
var selectChennelID = $("select[name='selectAgentCode']").val(); //채널ID 정보 var selectChennelID = $("select[name='selectAgentCode']").val(); //채널ID 정보
var imageType = $("input[name=img_file_add]:checked").val(); //이미지 종류 정보(일반, 와이드) var imageType = $("input[name=img_file_add]:checked").val(); //이미지 종류 정보(일반, 와이드)
var title = $("#imgTitle").val(); var title = $("#imgTitle").text();
var link = $("#imgLink").val(); var link = $("#imgLink").val();
if(selectChennelID == ''){ if(selectChennelID == ''){
$("#imgNm").text(""); $("#imgTitle").text("");
$("#imgFile").val(""); $("#imgFile").val("");
alert("채널ID를 선택해 주세요."); alert("채널ID를 선택해 주세요.");
return false; return false;
@ -397,38 +386,43 @@ function upImgClick(){
}else{ }else{
$("#imgNm").text(""); $("#imgTitle").text("");
$("#imgFile").val(""); $("#imgFile").val("");
alert("이미지 종류를 선택해 주세요."); alert("이미지 종류를 선택해 주세요.");
return false; return false;
} }
/*
if(title == ''){ if(title == ''){
$("#imgNm").text(""); $("#imgTitle").text("");
$("#imgFile").val(""); $("#imgFile").val("");
alert("이미지 제목을 입력해 주세요."); alert("이미지 제목을 입력해 주세요.");
return false; return false;
} } */
//이미지 선택시 링크 정보 및 url 패턴 검사 //이미지 선택시 링크 정보 및 url 패턴 검사
/* if(link == ''){ console.log('link: ', link);
if (!link) {
$("#imgNm").text("");
$("#imgFile").val(""); if(!confirm("URL먼저 등록을 안하면 이미지에 url 저장이 안됩니다.\n계속하시겠습니까?")){
alert("이미지 클릭시 이동할 URL 주소를 http:// 또는 https:// 포함하여 입력해 주세요.");
return false; return false;
}
}else if(link.search("http://") == -1 && link.search("https://") == -1){
$("#imgNm").text("");
}
/*
else if(link.search("http://") == -1 && link.search("https://") == -1){
$("#imgTitle").text("");
$("#imgFile").val(""); $("#imgFile").val("");
alert("이미지 URL 주소에는 http:// 또는 https://를 포함하여 입력해야 합니다."); alert("이미지 URL 주소에는 http:// 또는 https://를 포함하여 입력해야 합니다.");
return false; return false;
} */ }
*/
//첨부파일 선택 팝업 호출해주기 //첨부파일 선택 팝업 호출해주기
$("#imgFile").click(); $("#imgFile").click();
} }
@ -447,7 +441,7 @@ function imgResizeInfo(event){
return false; return false;
} }
$("#imgNm").text(fileName); $("#imgTitle").text(fileName);
} }
//알림톡 이미지 등록 요청하기 //알림톡 이미지 등록 요청하기
@ -485,8 +479,8 @@ function getTemplateImagUrl(){
} }
// var url = url = "/web/mjon/kakao/template/sendKakaoFriendsTemplateImageUploadAjax_advc.do"; var url = url = "/web/mjon/kakao/template/sendKakaoFriendsTemplateImageUploadAjax_advc.do";
var url = url = "/web/mjon/kakao/template/sendKakaoFriendsTemplateImageUploadAjax.do"; // var url = url = "/web/mjon/kakao/template/sendKakaoFriendsTemplateImageUploadAjax.do";
$.ajax({ $.ajax({
type : 'POST' type : 'POST'
@ -506,14 +500,20 @@ function getTemplateImagUrl(){
if (returnData.status === 'OK' || returnData.status === 200) { if (returnData.status === 'OK' || returnData.status === 200) {
alert(returnData.message); alert(returnData.message);
$("#templateImageName").val(fileName); $('#imgTitle').removeClass('file_none')
.text(fileName);
$('#imgLink').prop('disabled', true); // 회색 처리 + 입력 불가
$("#imageFileName").val(fileName); $("#imageFileName").val(fileName);
// imgUrl은 object에 포함된 경우만 처리 // imgUrl은 object에 포함된 경우만 처리
if (returnData.object) { if (returnData.object) {
$("#templateImageUrl").val(returnData.object); $("#templateImageUrl").val(returnData.object.imgUrl);
$(".kakao_image").css("display", "block"); $(".kakao_image").css("display", "block");
$("#kakaoImg").attr("src", returnData.object); $("#kakaoImg").attr("src", returnData.object.imgUrl);
} }
} else { } else {
@ -521,7 +521,9 @@ function getTemplateImagUrl(){
// 첨부파일 정보 초기화 // 첨부파일 정보 초기화
$("#imgFile").val(""); $("#imgFile").val("");
$("#imgNm").text("");
$('#imgTitle').addClass('file_none')
.text("이미지 없음");
return false; return false;
} }
}, },
@ -547,7 +549,7 @@ function getTemplateImagUrl(){
//첨부파일 정보를 지워준다. //첨부파일 정보를 지워준다.
$("#imgFile").val(""); $("#imgFile").val("");
$("#imgNm").text(""); $("#imgTitle").text("");
return false; return false;
}else if(code == "405"){ }else if(code == "405"){
@ -556,7 +558,7 @@ function getTemplateImagUrl(){
//첨부파일 정보를 지워준다. //첨부파일 정보를 지워준다.
$("#imgFile").val(""); $("#imgFile").val("");
$("#imgNm").text(""); $("#imgTitle").text("");
return false; return false;
}else{ }else{
@ -565,7 +567,7 @@ function getTemplateImagUrl(){
//첨부파일 정보를 지워준다. //첨부파일 정보를 지워준다.
$("#imgFile").val(""); $("#imgFile").val("");
$("#imgNm").text(""); $("#imgTitle").text("");
return false; return false;
} }
@ -595,11 +597,16 @@ function getTemplateImagUrl(){
function fnImageDel(){ function fnImageDel(){
var selectAgentCode = $("select[name='selectAgentCode']").val(); // 선택 채널ID
var imageUrl = $("#templateImageUrl").val(); var imageUrl = $("#templateImageUrl").val();
var bizForm = document.bizForm; var bizForm = document.bizForm;
bizForm.senderKey.value = selectAgentCode; bizForm.senderKey.value = $("select[name='selectAgentCode']").val(); // 선택 채널ID
$('#imgTitle').addClass('file_none')
.text("이미지 없음");
$('#imgLink').prop('disabled', false); // 회색 처리 + 입력 불가
if(imageUrl == ''){ if(imageUrl == ''){
@ -643,10 +650,11 @@ function fnImageDel(){
if(code == "200"){ if(code == "200"){
alert("등록된 이미지가 삭제되었습니다."); alert("등록된 이미지가 삭제되었습니다.");
$("#imgTitle").val("");
$("#imgLink").val(""); $("#imgLink").val("");
$("#imgFile").val(""); $("#imgFile").val("");
$("#imgNm").text("첨부파일 이미지");
$('#imgTitle').addClass('file_none')
.text("이미지 없음");
$("#templateImageUrl").val(""); $("#templateImageUrl").val("");
$('.kakao_image').css("display", "none"); $('.kakao_image').css("display", "none");
$("#kakaoImg").attr("src", ""); $("#kakaoImg").attr("src", "");
@ -691,16 +699,9 @@ function myTemplateSelect(ftId){
} }
//광고성 정보 포함 선택에 따른 텍스트 표시 부분 처리 /*
$(document).on('change', '.inputAdFlag', function(){
var adFlagVal = $(this).val();
advTextChange(adFlagVal);
});
function advTextChange(adFlagVal){ function advTextChange(adFlagVal){
console.log('adFlagVal : ', adFlagVal);
if(typeof adFlagVal == "undefined" || adFlagVal == null || adFlagVal == ""){ if(typeof adFlagVal == "undefined" || adFlagVal == null || adFlagVal == ""){
$("#ad_Y").prop('checked',true); $("#ad_Y").prop('checked',true);
@ -709,18 +710,16 @@ function advTextChange(adFlagVal){
$('.adFlag').hide(); $('.adFlag').hide();
$('.kakao_block_text').hide(); $('.kakao_block_text').hide();
$('#adFlagFront').hide();
$('.adFlagAfter').hide(); $('.adFlagAfter').hide();
}else{ }else{
$('.adFlag').show(); $('.adFlag').show();
$('.kakao_block_text').show(); $('.kakao_block_text').show();
$('#adFlagFront').show();
$('.adFlagAfter').show(); $('.adFlagAfter').show();
} }
} }
*/
//친구톡 내용 템플릿으로 저장하기 - 내용 저장하기 //친구톡 내용 템플릿으로 저장하기 - 내용 저장하기
function myTemplateSave(){ function myTemplateSave(){
@ -729,9 +728,9 @@ function myTemplateSave(){
var yellowId = $("select[name='selectAgentCode'] option:selected").text().replaceAll('@',''); // 선택 채널명 var yellowId = $("select[name='selectAgentCode'] option:selected").text().replaceAll('@',''); // 선택 채널명
var inputTemplateName = $("#inputTemplateName").val(); // 입력 템플릿 이름 var inputTemplateName = $("#inputTemplateName").val(); // 입력 템플릿 이름
var imageType = $("input[name=img_file_add]:checked").val(); // 첨부 이미지 종류(없음, 일반, 와이드 이미지) var imageType = $("input[name=img_file_add]:checked").val(); // 첨부 이미지 종류(없음, 일반, 와이드 이미지)
var imageTitle = $("#imgTitle").val(); //첨부이미지 제목 var imageTitle = $("#imgTitle").text(); //첨부이미지 제목
var imageLink = $("#imgLink").val(); //첨부이미지 클릭시 이동 링크 주소 var imageLink = $("#imgLink").val(); //첨부이미지 클릭시 이동 링크 주소
var inputTemplateAd = $("input[name=adFlag]:checked").val(); // 광고성메시지 선택 여부 var inputTemplateAd = $("#ad_Y:checked").val(); // 광고성메시지 선택 여부
var inputTemplateContent = $("#inputTemplateContent").val(); // 템플릿 내용 var inputTemplateContent = $("#inputTemplateContent").val(); // 템플릿 내용
var inputTemplateImageName = $("#templateImageName").val(); // 템플릿 이미지 파일명 var inputTemplateImageName = $("#templateImageName").val(); // 템플릿 이미지 파일명
@ -758,7 +757,7 @@ function myTemplateSave(){
} }
if(imageLink == ''){ /* if(imageLink == ''){
alert("이미지 클릭시 이동할 URL을 입력해 주세요."); alert("이미지 클릭시 이동할 URL을 입력해 주세요.");
return false; return false;
@ -772,7 +771,7 @@ function myTemplateSave(){
} }
} } */
if(inputTemplateImageUrl == ''){ if(inputTemplateImageUrl == ''){
@ -794,7 +793,6 @@ function myTemplateSave(){
//bizForm.yellowId.value = yellowId; //bizForm.yellowId.value = yellowId;
bizForm.templateName.value = inputTemplateName; bizForm.templateName.value = inputTemplateName;
//bizForm.imageType.value = imageType; //bizForm.imageType.value = imageType;
//bizForm.imgTitle.value = imageTitle;
//bizForm.imgLink.value = imageLink; //bizForm.imgLink.value = imageLink;
bizForm.adFlag.value = inputTemplateAd; bizForm.adFlag.value = inputTemplateAd;
bizForm.templateContent.value = inputTemplateContent; bizForm.templateContent.value = inputTemplateContent;
@ -1033,7 +1031,7 @@ function fn_sendMsgData(){
$("#templateContent").val(tmpContents); $("#templateContent").val(tmpContents);
//광고포함 여부 //광고포함 여부
var adFlag = $("input[name=adFlag]:checked").val(); var adFlag = $("#ad_Y:checked").val();
$("#adFlag").val(adFlag); $("#adFlag").val(adFlag);
/* var adFlag = $("input[name=adFlag]:checked").val(); /* var adFlag = $("input[name=adFlag]:checked").val();
$("#adFlag").val(adFlag); */ $("#adFlag").val(adFlag); */
@ -1351,16 +1349,9 @@ function getFtImageType(imgChk){
if(imgChk == 'I' || imgChk == 'W'){ if(imgChk == 'I' || imgChk == 'W'){
var imgTitle = $("#imgTitle").val();
var imgLink = $("#imgLink").val(); var imgLink = $("#imgLink").val();
var imgFileName = $("#imageFileName").val(); var imgFileName = $("#imageFileName").val();
if(imgTitle == ''){
alert("친구톡 이미지 제목정보를 입력해 주세요.");
return false;
}
if(imgLink == ''){ if(imgLink == ''){
@ -1508,7 +1499,8 @@ function updateButtons(){
<div class="top_content kakaotalksend_cont current pay_tab_wrap"> <div class="top_content kakaotalksend_cont current pay_tab_wrap">
<div class="heading"> <div class="heading">
<h2>친구톡 전송</h2> <h2>친구톡 전송</h2>
<button type="button" class="button info">친구톡 사용방법</button> <!-- <button type="button" class="button info">친구톡 사용방법</button> -->
<button type="button" class="button info" onclick="infoListPop('friendTalkSend','792','340');">사용안내</button>
</div> </div>
<!-- 유저 보유잔액 --> <!-- 유저 보유잔액 -->
@ -1527,7 +1519,7 @@ function updateButtons(){
<input type="hidden" id="templateImageUrl" name="templateImageUrl" value="<c:out value='${resultTemplateVO.templateImageUrl}'/>"> <input type="hidden" id="templateImageUrl" name="templateImageUrl" value="<c:out value='${resultTemplateVO.templateImageUrl}'/>">
<input type="hidden" id="tmpFriendId" name="friendId" value="<c:out value='${resultTemplateVO.friendId}'/>"> <input type="hidden" id="tmpFriendId" name="friendId" value="<c:out value='${resultTemplateVO.friendId}'/>">
<input type="hidden" id="templateName" name="templateName" value=""/> <input type="hidden" id="templateName" name="templateName" value=""/>
<input type="hidden" id="adFlag" name="adFlag" value="N"/> <input type="hidden" id="adFlag" name="adFlag" value="<c:out value='${resultTemplateVO.adFlag}' default='Y'/>">
<input type="hidden" id="templateContent" name="templateContent" value=""/> <input type="hidden" id="templateContent" name="templateContent" value=""/>
<!-- 예약발송 여부 --> <!-- 예약발송 여부 -->
@ -1593,20 +1585,39 @@ function updateButtons(){
<td> <td>
<div class="template_name_wrap"> <div class="template_name_wrap">
<input type="text" id="inputTemplateName" name="inputTemplateName" value="<c:out value='${resultTemplateVO.templateName}'/>" placeholder="최대 50자, 템플릿 관리용"> <input type="text" id="inputTemplateName" name="inputTemplateName" value="<c:out value='${resultTemplateVO.templateName}'/>" placeholder="최대 50자, 템플릿 관리용">
<button type="button" class="btnType btnType8" onclick="window.open('/publish/popup_friendtalk_template_choice.html','_blank','width=930, height=780, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=yes')">템플릿 불러오기</button>
<button
type="button"
class="btnType btnType8"
onclick="${not empty loginVO.id
? "window.open('/web/mjon/kakao/template/selectKakaoFriendsTemplateListPopupAjax.do','_blank','width=930, height=780, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=yes')"
: "alert('로그인 후 이용이 가능합니다.'); return false;"}">
템플릿 불러오기
</button>
<!-- <button type="button" class="btnType btnType8" onclick="window.open('/publish/popup_friendtalk_template_choice.html','_blank','width=930, height=780, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=yes')">템플릿 불러오기</button> -->
</div> </div>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>이미지 첨부</th> <th>이미지 첨부</th>
<td> <td>
<input type="radio" name="img_file_add" id="img_file_0" value="" checked="checked">
<label for="img_file_0">첨부 안함</label>
<input type="radio" name="img_file_add" id="img_file_1" value="I">
<label for="img_file_1">이미지 첨부</label>
<input type="radio" name="img_file_add" id="img_file_2" value="W">
<label for="img_file_2">와이드 이미지 첨부</label>
<%--
<input type="radio" name="img_file_add" id="img_file_0" value="" <c:if test="${resultTemplateVO.imageType eq ''}">checked</c:if> > <input type="radio" name="img_file_add" id="img_file_0" value="" <c:if test="${resultTemplateVO.imageType eq ''}">checked</c:if> >
<label for="img_file_0">첨부 안함</label> <label for="img_file_0">첨부 안함</label>
<input type="radio" name="img_file_add" id="img_file_1" value="I" <c:if test="${resultTemplateVO.imageType eq 'I'}">checked</c:if> > <input type="radio" name="img_file_add" id="img_file_1" value="I" <c:if test="${resultTemplateVO.imageType eq 'I'}">checked</c:if> >
<label for="img_file_1">이미지 첨부</label> <label for="img_file_1">이미지 첨부</label>
<input type="radio" name="img_file_add" id="img_file_2" value="W" <c:if test="${resultTemplateVO.imageType eq 'W'}">checked</c:if> > <input type="radio" name="img_file_add" id="img_file_2" value="W" <c:if test="${resultTemplateVO.imageType eq 'W'}">checked</c:if> >
<label for="img_file_2">와이드 이미지 첨부</label> <label for="img_file_2">와이드 이미지 첨부</label>
--%>
<div class="img_file_add_wrap basic_img_add_wrap"> <div class="img_file_add_wrap basic_img_add_wrap">
<p class="info_title_text"><span class="c_e40000">*</span> 이미지 첨부 안내</p> <p class="info_title_text"><span class="c_e40000">*</span> 이미지 첨부 안내</p>
<ul class="info_text"> <ul class="info_text">
@ -1646,14 +1657,15 @@ function updateButtons(){
<button type="button" class="btnType btnType8 btn_img_upload" onclick="javascript:upImgClick(); return false;">이미지 불러오기</button> <button type="button" class="btnType btnType8 btn_img_upload" onclick="javascript:upImgClick(); return false;">이미지 불러오기</button>
<input type="file" id="imgFile" accept=".jpg, .jpeg, .png" onchange="imgResizeInfo(event); return false;" style="display:none"/> <input type="file" id="imgFile" accept=".jpg, .jpeg, .png" onchange="imgResizeInfo(event); return false;" style="display:none"/>
<div class="img_file_wrap"> <div class="img_file_wrap">
<p class="file_name file_none">이미지 없음</p> <p id="imgTitle" class="file_name file_none">이미지 없음</p>
<button type="button" class="btn_del" onclick="buttonTypeDel(this);"> <button type="button" class="btn_del" onclick="buttonTypeDel(this);">
<img src="/publish/images/btn_delete.png" alt=""> <img src="/publish/images/btn_delete.png" alt="이미지 삭제" onclick="fnImageDel();">
</button> </button>
</div> </div>
</li> </li>
<li> <li>
<p>이미지 클릭시 이동할 URL</p> <input type="text" placeholder="(선택사항) https://" class="img_url"> <p>이미지 클릭시 이동할 URL</p>
<input type="text" id="imgLink" name="imgLink" value="<c:out value='${resultTemplateVO.imgLink}'/>" placeholder="(선택사항) https://" class="img_url">
</li> </li>
</ul> </ul>
@ -1680,9 +1692,14 @@ function updateButtons(){
</tr> </tr>
<tr> <tr>
<th>광고포함 여부</th> <th>광고포함 여부</th>
<td> <%-- <td>
<input type="radio" class="inputAdFlag" name="adFlag" id="ad_Y" value="Y" <c:if test="${resultTemplateVO.adFlag eq 'Y'}">checked</c:if> ><label for="ad_Y">광고성 정보 포함</label> <input type="radio" class="inputAdFlag" name="adFlag" id="ad_Y" value="Y" <c:if test="${resultTemplateVO.adFlag eq 'Y'}">checked</c:if> ><label for="ad_Y">광고성 정보 포함</label>
<%-- <input type="radio" class="inputAdFlag" id="ad_Y" value="Y" <c:if test="${resultTemplateVO.adFlag eq 'Y'}">checked</c:if> ><label for="ad_Y">광고성 정보 포함</label> --%> <input type="radio" class="inputAdFlag" id="ad_Y" value="Y" <c:if test="${resultTemplateVO.adFlag eq 'Y'}">checked</c:if> ><label for="ad_Y">광고성 정보 포함</label>
</td> --%>
<td>
<%-- <input type="checkbox" name="adFlag" id="ad_Y" style="margin: -4px 5px 0 0;" <c:if test="${resultTemplateVO.adFlag eq 'Y'}">checked</c:if> value="Y"> --%>
<input type="checkbox" id="ad_Y" style="margin: -4px 5px 0 0;" checked="checked" value="Y">
<label for="ad_Y">광고성 정보 포함</label>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -1690,14 +1707,14 @@ function updateButtons(){
<td class="kakao_template_text"> <td class="kakao_template_text">
<div class="put_left short"> <div class="put_left short">
<div class="put_text_wrap"> <div class="put_text_wrap">
<div class="ad_txt"> <div class="ad_txt" id="adTxt">
<p><span id="adFlagFront">(광고)</span> <span id="yellowIdCon" >채널ID</span></p> <p>(광고) 채널ID</p>
</div> </div>
<label for="inputTemplateContent" class="label"></label> <label for="inputTemplateContent" class="label"></label>
<textarea id="inputTemplateContent" name="inputTemplateContent" class="put_text" placeholder="내용을 입력해주세요."><c:out value="${resultTemplateVO.templateContent}"/></textarea> <textarea id="inputTemplateContent" name="inputTemplateContent" class="put_text" placeholder="내용을 입력해주세요."><c:out value="${resultTemplateVO.templateContent}"/></textarea>
<div class="text_length"> <div class="text_length">
<div> <div class="sub_ad_text">
<p class="adFlagAfter">수신거부 : 홈 > 채널차단</p> <p>수신거부 : 홈 > 채널차단</p>
</div> </div>
<div> <div>
<p><span class="fwMd nowChar">0 /</span><span class="c_002c9a fwMd totChar">1000</span>자</p> <p><span class="fwMd nowChar">0 /</span><span class="c_002c9a fwMd totChar">1000</span>자</p>
@ -1828,14 +1845,14 @@ function updateButtons(){
<button type="button" class="btnType btnType8" onclick="javascript:fnEmptyId();">템플릿 불러오기</button> <button type="button" class="btnType btnType8" onclick="javascript:fnEmptyId();">템플릿 불러오기</button>
</c:otherwise> </c:otherwise>
</c:choose> --%> </c:choose> --%>
<button <%-- <button
type="button" type="button"
class="btnType btnType8" class="btnType btnType8"
onclick="${not empty loginVO.id onclick="${not empty loginVO.id
? "window.open('/web/mjon/kakao/template/selectKakaoFriendsTemplateListPopupAjax.do','_blank','width=930, height=780, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=yes')" ? "window.open('/web/mjon/kakao/template/selectKakaoFriendsTemplateListPopupAjax.do','_blank','width=930, height=780, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=yes')"
: "alert('로그인 후 이용이 가능합니다.'); return false;"}"> : "alert('로그인 후 이용이 가능합니다.'); return false;"}">
템플릿 불러오기 템플릿 불러오기
</button> </button> --%>
</div> </div>
<div class="send_btnWrap"> <div class="send_btnWrap">
<%-- <c:choose> <%-- <c:choose>
@ -2162,7 +2179,7 @@ function updateButtons(){
</table> </table>
</div> </div>
<div class="send_right"> <div class="send_right">
<div class="phone" style="top: 201px;"> <div class="phone">
<div class="phoneIn"> <div class="phoneIn">
<p class="prev_p"> <p class="prev_p">
<img src="/publish/images/content/kakao_prev_icon.png" alt=""> <img src="/publish/images/content/kakao_prev_icon.png" alt="">
@ -2170,9 +2187,8 @@ function updateButtons(){
</p> </p>
<!-- 텍스트 미리보기 --> <!-- 텍스트 미리보기 -->
<div class="text_preview"> <div class="text_preview">
<p class="friend_talk_title"> <p class="friend_talk_title" id="talkTitle">
<span class="adFlag">(광고)</span> <span>(광고)</span> 채널ID
<span id="spnYellowidAt">채널ID</span>
</p> </p>
<div class="allimtalk_content"> <div class="allimtalk_content">
<div class="kakao_image" style="display:none;"> <div class="kakao_image" style="display:none;">