diff --git a/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/KakaoApiImageUpload.java b/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/KakaoApiImageUpload.java index 1f119e31..cdd99c85 100644 --- a/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/KakaoApiImageUpload.java +++ b/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/KakaoApiImageUpload.java @@ -17,6 +17,7 @@ import javax.imageio.ImageIO; import javax.swing.ImageIcon; import org.apache.commons.io.FilenameUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; @@ -331,8 +332,11 @@ public class KakaoApiImageUpload { } } else { float ratio = width / (float) height; - if (width < 500 || ratio < 0.5 || ratio > 0.75) { - return new StatusResponse(HttpStatus.BAD_REQUEST, "일반 이미지 조건 위반: 가로 500px 이상, 비율 2:1 미만 및 3:4 초과 불가"); +// log.info("width : [{}], ",width); +// 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"; HttpPost httpPost = new HttpPost(apiUrl); - HttpEntity httpEntity = MultipartEntityBuilder.create() + /*HttpEntity httpEntity = MultipartEntityBuilder.create() .addTextBody("bizId", mjonBizId) .addTextBody("apiKey", mjonBizKakaoApiKey) .addTextBody("imageType", kakaoVO.getImageType()) @@ -354,7 +358,21 @@ public class KakaoApiImageUpload { .addTextBody("senderKey", kakaoVO.getSenderKey()) .addBinaryBody("image", new File(filePath), ContentType.MULTIPART_FORM_DATA, newName + "." + ext) .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); + + CloseableHttpResponse response = httpClient.execute(httpPost); int statusCode = response.getStatusLine().getStatusCode(); diff --git a/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkTemplateController.java b/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkTemplateController.java index 869c7120..b3ce3a9b 100644 --- a/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkTemplateController.java +++ b/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkTemplateController.java @@ -42,7 +42,9 @@ import itn.let.mail.service.StatusResponse; import itn.let.mjo.symbol.service.MjonSymbolService; import itn.let.mjo.symbol.service.MjonSymbolVO; import itn.let.uss.umt.service.EgovUserManageService; +import lombok.extern.slf4j.Slf4j; +@Slf4j @Controller public class KakaoFriendsTalkTemplateController { @@ -249,6 +251,7 @@ public class KakaoFriendsTalkTemplateController { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); + log.info(" + kakaoVO.getAdFlag() :: [{}]", kakaoVO.getAdFlag()); try { LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); @@ -268,7 +271,8 @@ public class KakaoFriendsTalkTemplateController { int buttonSize = kakaoVO.getButtonVOList().size(); if(!imgUrl.equals("") || buttonSize > 0) { - + + log.info(" + kakaoVO.getAdFlag() :: [{}]", kakaoVO.getAdFlag()); //json 파일 생성 처리 String resultJsonPath = kakaoFTJsonSave.kakaoApiJsonSave(kakaoVO); kakaoVO.setBizJsonName(resultJsonPath); diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp index 7ec599e4..5507e51e 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp @@ -29,11 +29,12 @@ var excelAddr = []; //엑셀 불러오기에서 내용 저장하는 배열 변 var KAKAO_FT_PRICE = $('#kakaoFtPrice').val(); $(document).ready(function (){ + KAKAO_FT_PRICE = $('#kakaoFtPrice').val(); //화면 초기 로딩시 화면 처리해주기 - 템플릿 불러오기 했을 경우를 위함 initFormChk(); - //이모티콘 삽입 기능 처리 + //특수문자, 일괄변화문구 삽입 기능 처리 $(".symbolButton, .changeWord").on('click', function(){ // 커서 위치에 삽입 @@ -43,18 +44,12 @@ $(document).ready(function (){ //즉시 발송 라디오 버튼 선택시 숨김처리 - $("#reserYnN").on('click', function(){ - $('.rev_selected').hide(); - $('.send_rev .send_content').css('padding-bottom','108px'); - $('.send_btn .btnType:first-child').html('발송하기'); - $('#bizForm #reserveYn').val($(this).val()); - }); - - //예약 발송 라디오 버튼 선택시 숨김 해제처리 - $("#reserYnY").on('click', function(){ - $('.rev_selected').show(); - $('.send_rev .send_content').css('padding-bottom','0'); - $('.send_btn .btnType:first-child').html('예약하기'); + $('input[name="reserYn"]').on('change', function() { + const isReserve = $(this).val() === 'Y'; + + $('.rev_selected').toggle(isReserve); + $('.send_rev .send_content').css('padding-bottom', isReserve ? '0' : '108px'); + $('.send_btn .btnType:first-child').html(isReserve ? '예약하기' : '발송하기'); $('#bizForm #reserveYn').val($(this).val()); }); @@ -65,28 +60,13 @@ $(document).ready(function (){ setContentsLengForFriends(contents); }); - - $("#excelAdd").click(function(){ - - if(excelAddr.length > 0){ - - //첨부파일로 불러온 데이터를 받는사람 목록에 추가해 준다. - addPhoneInfo(excelAddr); - - //첨부파일 초기화 시켜주기 - $("#excelFile").val(""); - $("#excelNm").val(""); - - }else{ - - alert("추가 엑셀 데이터가 없습니다."); - return false; - + + $(".friend_talk_wrap #ad_Y").click(function () { + if ($(this).is(":checked") == true) { + + fnAgentCodeChg(); } - }); - - $("#send_fail_check").change(function(){ if($("#send_fail_check").is(":checked")){ @@ -161,34 +141,28 @@ $(document).ready(function (){ }); - - - - - - //치환문자 있는 엑섹불러오기 버튼 클릭시 파일 첨부 실행 - $('.c3').click(function(){ // 엑셀파일 불러오기 선택 시 - - $("#excelFile").click(); - - }); - $("#excelFile").on("change", function(event) { - var fileInfo = event.target.files; - if(fileInfo.length > 0){ - excelFileChange(fileInfo[0]); - } else { - fn_loadRemoveActive(); // 파일이 선택되지 않은 경우 로딩 상태 제거 - setTimeout(() => { $(this).val(''); }, 0); // 파일 선택 초기화 - } - }); - - - // 최근 전송내역 - resultLatestMsgList(); - //자주보내는 번호 - resultBookMarkMsgList(); - + $("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(); + $(".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") { + $(".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(); + } else { + $(".img_add_info_wrap, .img_file_add_wrap").hide(); + $(".kakao_image img, .img_file_info_wrap").hide(); + } */ + }); + + // 최근 전송내역 + resultLatestMsgList(); + //자주보내는 번호 + resultBookMarkMsgList(); + }); @@ -294,43 +268,36 @@ function resultBookMarkMsgList(){ 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 정보 미리보기에 표시해주기 fnAgentCodeChg(); //템플릿 등록 이미지가 있는 경우 이미지 정보 표시해 주기 - var imgType = $("input[name=img_file_add]:checked").val(); - - if(!imgType == ''){ + var imgType = $('#imageType').val(); + + $("#img_file_0").prop('checked',true); + 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{ + 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(); - } - - }else{ - - $("#img_file_0").prop('checked',true); + } */ } - var imageFileName = '${resultTemplateVO.imageFileName}'; - $("#imgNm").text(imageFileName); - //미리보기에 이미지 표시해주기 - var imgUrl = '${resultTemplateVO.templateImageUrl}'; + var imgUrl = $('#templateImageUrl').val(); if(imgUrl != ''){ $('.kakao_image').css("display", "block"); @@ -342,8 +309,8 @@ function initFormChk(){ setContentsLengForFriends(tmpContents); //초기 광고포함 여부 처리 - var adFlagVal = $("input[name=adFlag]:checked").val(); - advTextChange(adFlagVal); +// var adFlagVal = $("#ad_Y").is(":checked") ? "Y" : "N"; +// advTextChange(adFlagVal); var reserYn = $("input[name=reserYn]:checked").val(); if(reserYn == 'N'){ @@ -362,16 +329,38 @@ function fnAgentCodeChg(){ var yellowIdVal = $("#selectAgentCode option:checked").val(); var yellowId = $("#selectAgentCode option:checked").text(); var yellowIdAt = yellowId.replaceAll('@',''); + + // 체크 여부에 따라 채널ID 문구 설정 + if(yellowIdVal != ''){ - $('#spnYellowid').text(yellowId); //미리보기화면 채널ID - $('#spnYellowidAt').text(yellowIdAt); //미리보기화면 채널ID @제거 - $('#yellowIdCon').text(yellowIdAt); //내용 입력 부분 채널ID + $('#spnYellowid').text(yellowId); // 미리보기화면 최상단 채널ID + + var cleanYellowId = yellowId.replace(/^@/, ""); // 앞에 @ 기호 제거 + if ($("#ad_Y").is(":checked")) { + + $("#adTxt").show(); // 내용 + $("#adTxt p").html("(광고) " + cleanYellowId + ""); // 내용 + + $("#talkTitle").html("(광고) " + cleanYellowId); // 미리보기 화면 상단 + } + }else{ - $('#spnYellowid').text("채널ID"); //미리보기화면 채널ID - $('#spnYellowidAt').text("채널ID"); //미리보기화면 채널ID @제거 - $('#yellowIdCon').text("채널ID"); //내용 입력 부분 채널ID + var channelId = "채널ID"; + + $('#spnYellowid').text(channelId); // 미리보기화면 최상단 채널ID + + if ($("#ad_Y").is(":checked")) { + + $("#adTxt").show(); // 내용 + $("#adTxt p").html("(광고) " + channelId + ""); // 내용 + + $("#talkTitle").html("(광고) " + channelId); // 미리보기 화면 상단 + } else { + $("#adTxt").hide(); // 내용 + $("#talkTitle").html(channelId); // 미리보기 화면 상단 + } } } @@ -379,12 +368,12 @@ function fnAgentCodeChg(){ function upImgClick(){ var selectChennelID = $("select[name='selectAgentCode']").val(); //채널ID 정보 var imageType = $("input[name=img_file_add]:checked").val(); //이미지 종류 정보(일반, 와이드) - var title = $("#imgTitle").val(); + var title = $("#imgTitle").text(); var link = $("#imgLink").val(); if(selectChennelID == ''){ - $("#imgNm").text(""); + $("#imgTitle").text(""); $("#imgFile").val(""); alert("채널ID를 선택해 주세요."); return false; @@ -397,38 +386,43 @@ function upImgClick(){ }else{ - $("#imgNm").text(""); + $("#imgTitle").text(""); $("#imgFile").val(""); alert("이미지 종류를 선택해 주세요."); return false; } - + /* if(title == ''){ - $("#imgNm").text(""); + $("#imgTitle").text(""); $("#imgFile").val(""); alert("이미지 제목을 입력해 주세요."); return false; - } + } */ //이미지 선택시 링크 정보 및 url 패턴 검사 - /* if(link == ''){ + console.log('link: ', link); + if (!link) { - $("#imgNm").text(""); - $("#imgFile").val(""); - alert("이미지 클릭시 이동할 URL 주소를 http:// 또는 https:// 포함하여 입력해 주세요."); - return false; - - }else if(link.search("http://") == -1 && link.search("https://") == -1){ - $("#imgNm").text(""); + if(!confirm("URL먼저 등록을 안하면 이미지에 url 저장이 안됩니다.\n계속하시겠습니까?")){ + return false; + } + + + + } + /* + else if(link.search("http://") == -1 && link.search("https://") == -1){ + + $("#imgTitle").text(""); $("#imgFile").val(""); alert("이미지 URL 주소에는 http:// 또는 https://를 포함하여 입력해야 합니다."); return false; - } */ - + } + */ //첨부파일 선택 팝업 호출해주기 $("#imgFile").click(); } @@ -447,7 +441,7 @@ function imgResizeInfo(event){ 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.do"; + var url = url = "/web/mjon/kakao/template/sendKakaoFriendsTemplateImageUploadAjax_advc.do"; +// var url = url = "/web/mjon/kakao/template/sendKakaoFriendsTemplateImageUploadAjax.do"; $.ajax({ type : 'POST' @@ -505,15 +499,21 @@ function getTemplateImagUrl(){ if (returnData.status === 'OK' || returnData.status === 200) { alert(returnData.message); + + $('#imgTitle').removeClass('file_none') + .text(fileName); + $('#imgLink').prop('disabled', true); // 회색 처리 + 입력 불가 + - $("#templateImageName").val(fileName); $("#imageFileName").val(fileName); + + // imgUrl은 object에 포함된 경우만 처리 if (returnData.object) { - $("#templateImageUrl").val(returnData.object); + $("#templateImageUrl").val(returnData.object.imgUrl); $(".kakao_image").css("display", "block"); - $("#kakaoImg").attr("src", returnData.object); + $("#kakaoImg").attr("src", returnData.object.imgUrl); } } else { @@ -521,7 +521,9 @@ function getTemplateImagUrl(){ // 첨부파일 정보 초기화 $("#imgFile").val(""); - $("#imgNm").text(""); + + $('#imgTitle').addClass('file_none') + .text("이미지 없음"); return false; } }, @@ -547,7 +549,7 @@ function getTemplateImagUrl(){ //첨부파일 정보를 지워준다. $("#imgFile").val(""); - $("#imgNm").text(""); + $("#imgTitle").text(""); return false; }else if(code == "405"){ @@ -556,7 +558,7 @@ function getTemplateImagUrl(){ //첨부파일 정보를 지워준다. $("#imgFile").val(""); - $("#imgNm").text(""); + $("#imgTitle").text(""); return false; }else{ @@ -565,7 +567,7 @@ function getTemplateImagUrl(){ //첨부파일 정보를 지워준다. $("#imgFile").val(""); - $("#imgNm").text(""); + $("#imgTitle").text(""); return false; } @@ -595,11 +597,16 @@ function getTemplateImagUrl(){ function fnImageDel(){ - var selectAgentCode = $("select[name='selectAgentCode']").val(); // 선택 채널ID var imageUrl = $("#templateImageUrl").val(); 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 == ''){ @@ -643,10 +650,11 @@ function fnImageDel(){ if(code == "200"){ alert("등록된 이미지가 삭제되었습니다."); - $("#imgTitle").val(""); $("#imgLink").val(""); $("#imgFile").val(""); - $("#imgNm").text("첨부파일 이미지"); + + $('#imgTitle').addClass('file_none') + .text("이미지 없음"); $("#templateImageUrl").val(""); $('.kakao_image').css("display", "none"); $("#kakaoImg").attr("src", ""); @@ -691,16 +699,9 @@ function myTemplateSelect(ftId){ } -//광고성 정보 포함 선택에 따른 텍스트 표시 부분 처리 -$(document).on('change', '.inputAdFlag', function(){ - - var adFlagVal = $(this).val(); - advTextChange(adFlagVal); - -}); - +/* function advTextChange(adFlagVal){ - + console.log('adFlagVal : ', adFlagVal); if(typeof adFlagVal == "undefined" || adFlagVal == null || adFlagVal == ""){ $("#ad_Y").prop('checked',true); @@ -709,18 +710,16 @@ function advTextChange(adFlagVal){ $('.adFlag').hide(); $('.kakao_block_text').hide(); - $('#adFlagFront').hide(); $('.adFlagAfter').hide(); }else{ $('.adFlag').show(); $('.kakao_block_text').show(); - $('#adFlagFront').show(); $('.adFlagAfter').show(); } } - + */ //친구톡 내용 템플릿으로 저장하기 - 내용 저장하기 function myTemplateSave(){ @@ -729,9 +728,9 @@ function myTemplateSave(){ var yellowId = $("select[name='selectAgentCode'] option:selected").text().replaceAll('@',''); // 선택 채널명 var inputTemplateName = $("#inputTemplateName").val(); // 입력 템플릿 이름 var imageType = $("input[name=img_file_add]:checked").val(); // 첨부 이미지 종류(없음, 일반, 와이드 이미지) - var imageTitle = $("#imgTitle").val(); //첨부이미지 제목 + var imageTitle = $("#imgTitle").text(); //첨부이미지 제목 var imageLink = $("#imgLink").val(); //첨부이미지 클릭시 이동 링크 주소 - var inputTemplateAd = $("input[name=adFlag]:checked").val(); // 광고성메시지 선택 여부 + var inputTemplateAd = $("#ad_Y:checked").val(); // 광고성메시지 선택 여부 var inputTemplateContent = $("#inputTemplateContent").val(); // 템플릿 내용 var inputTemplateImageName = $("#templateImageName").val(); // 템플릿 이미지 파일명 @@ -758,7 +757,7 @@ function myTemplateSave(){ } - if(imageLink == ''){ + /* if(imageLink == ''){ alert("이미지 클릭시 이동할 URL을 입력해 주세요."); return false; @@ -772,7 +771,7 @@ function myTemplateSave(){ } - } + } */ if(inputTemplateImageUrl == ''){ @@ -794,7 +793,6 @@ function myTemplateSave(){ //bizForm.yellowId.value = yellowId; bizForm.templateName.value = inputTemplateName; //bizForm.imageType.value = imageType; - //bizForm.imgTitle.value = imageTitle; //bizForm.imgLink.value = imageLink; bizForm.adFlag.value = inputTemplateAd; bizForm.templateContent.value = inputTemplateContent; @@ -1033,7 +1031,7 @@ function fn_sendMsgData(){ $("#templateContent").val(tmpContents); //광고포함 여부 - var adFlag = $("input[name=adFlag]:checked").val(); + var adFlag = $("#ad_Y:checked").val(); $("#adFlag").val(adFlag); /* var adFlag = $("input[name=adFlag]:checked").val(); $("#adFlag").val(adFlag); */ @@ -1351,16 +1349,9 @@ function getFtImageType(imgChk){ if(imgChk == 'I' || imgChk == 'W'){ - var imgTitle = $("#imgTitle").val(); var imgLink = $("#imgLink").val(); var imgFileName = $("#imageFileName").val(); - if(imgTitle == ''){ - - alert("친구톡 이미지 제목정보를 입력해 주세요."); - return false; - - } if(imgLink == ''){ @@ -1470,7 +1461,7 @@ function goToKakaoTestPopUp(){ function msgResultLink(){ var reserYn = $("input[name=reserYn]:checked").val(); // 예약 발송 여부 확인 - location.href="/web/kakao/sent/selectKakaoSentView.do"; + location.href="/web/kakao/sent/selectKakaoSentView.do"; } function updateButtons(){ @@ -1508,7 +1499,8 @@ function updateButtons(){

친구톡 전송

- + +
@@ -1527,7 +1519,7 @@ function updateButtons(){ - + @@ -1593,20 +1585,39 @@ function updateButtons(){
- + + + + +
이미지 첨부 + + + + + + + + <%-- checked > checked > checked > - + --%>

* 이미지 첨부 안내

@@ -1680,9 +1692,14 @@ function updateButtons(){ 광고포함 여부 - + <%-- checked > -<%-- checked > --%> + checked > + --%> + +<%-- checked value="Y"> --%> + + @@ -1690,14 +1707,14 @@ function updateButtons(){
-
-

(광고) 채널ID

+
+

(광고) 채널ID

-
-

수신거부 : 홈 > 채널차단

+
+

수신거부 : 홈 > 채널차단

0 /1000

@@ -1828,14 +1845,14 @@ function updateButtons(){ --%> - + --%>
<%-- @@ -2162,7 +2179,7 @@ function updateButtons(){
-
+

@@ -2170,9 +2187,8 @@ function updateButtons(){

-

- (광고) - 채널ID +

+ (광고) 채널ID