카카오 친구톡 템플릿 상세보기 화면 정보 표시 기능 개발

This commit is contained in:
rosewiper 2024-01-04 17:58:55 +09:00
parent 8b5e122f29
commit 8cfee033ed
8 changed files with 320 additions and 28 deletions

View File

@ -238,6 +238,7 @@ public class KakaoVO extends MjonMsgVO{
private String imageTitle; //친구톡 이미지 제목
private String imageLink; //친구톡 이미지 클릭시 링크 주소
private String jsonText; //json 파일 생성시 내용 저장(혹시 몰라서 내용도 별도로 저장함)
private String imageFileName; //친구톡 이미지 원본 파일명
private String successDay;
private String successMonth;
@ -1110,6 +1111,14 @@ public class KakaoVO extends MjonMsgVO{
this.jsonText = jsonText;
}
public String getImageFileName() {
return imageFileName;
}
public void setImageFileName(String imageFileName) {
this.imageFileName = imageFileName;
}
public String getSbscrbDe() {
return sbscrbDe;
}

View File

@ -14,4 +14,7 @@ public interface KakaoFriendsTalkTemplateService {
//친구톡 템플릿 삭제처리하기
int deleteKakaoFriendstalkTemplate(KakaoVO kakaoVO) throws Exception;
//친구톡 템플릿 상세정보 조회
KakaoVO selectKakaoFriendsTemplateDetail(KakaoVO kakaoVO) throws Exception;
}

View File

@ -107,4 +107,23 @@ public class KakaoFriendsTalkTemplateDAO extends EgovAbstractDAO{
return result;
}
//친구톡 템플릿 상세정보 조회
public KakaoVO selectKakaoFriendsTemplateDetail(KakaoVO kakaoVO) throws Exception{
KakaoVO result = new KakaoVO();
try {
result = (KakaoVO) select("kakaoFriendsTalkTemplateDAO.selectKakaoFriendsTemplateDetail", kakaoVO);
} catch (Exception e) {
System.out.println("selectKakaoFriendsTemplateDetail DAO Error !!! " + e);
}
return result;
}
}

View File

@ -126,4 +126,37 @@ public class KakaoFriendsTalkTemplateServiceImpl extends EgovAbstractServiceImp
return result;
}
//친구톡 템플릿 상세정보 조회
@Override
public KakaoVO selectKakaoFriendsTemplateDetail(KakaoVO kakaoVO) throws Exception{
KakaoVO result = new KakaoVO();
try {
result = kakaoFriendsTalkTemplateDAO.selectKakaoFriendsTemplateDetail(kakaoVO);
//템플릿에 등록된 버튼정보가 있는지 확인하여 추가
if(result != null) {
List<KakaoButtonVO> buttonList = new ArrayList<KakaoButtonVO>();
MjonKakaoTemplateButtonVO buttonVO = new MjonKakaoTemplateButtonVO();
buttonVO.setTemplateId(kakaoVO.getFriendId());
buttonVO.setTemplateUseType("F");
buttonList = kakaoFriendsTalkTemplateDAO.selectKakaoFriendsTemplateButtons(buttonVO);
if(buttonList != null) {
result.setButtonVOList(buttonList);
}
}
} catch (Exception e) {
System.out.println("selectKakaoFriendsTemplateDetail ServiceImple Error !!! " + e);
}
return result;
}
}

View File

@ -511,17 +511,17 @@ public class KakaoFriendsTalkTemplateController {
List<MjonSymbolVO> symbolList = mjonSymbolService.selectMjonSymbolList(symbolVO);
model.addAttribute("symbolList", symbolList);
KakaoVO resultTemplateVO = kakaoFtTemplateService.selectKakaoFriendsTemplateDetail(kakaoVO);
System.out.println("++++++++++++++++++ templateCode ::: "+kakaoVO.getTemplateCode());
System.out.println("++++++++++++++++++ templateCode ::: "+kakaoVO.getFriendId());
System.out.println("++++++++++++++++++ senderKey ::: "+kakaoVO.getSenderKey());
model.addAttribute("resultTemplateVO", resultTemplateVO);
} catch (Exception e) {
System.out.println(" selectKakaoFriendsTemplateDataDetail Error ::: " + e);
}
return "/web/kakao/template/ft/KakaoFriendstalkTemplateDetail";
}

View File

@ -20,6 +20,7 @@
USER_ID,
ATCH_FILE_ID,
TEMPLATE_NAME,
IMAGE_FILE_NAME,
IMAGE_URL,
IMAGE_TYPE,
IMAGE_TITLE,
@ -38,6 +39,7 @@
, #userId#
, #bizJsonName#
, #templateName#
, #imageFileName#
, #templateImageUrl#
, #imageType#
, #imgTitle#
@ -100,6 +102,7 @@
A.SENDER_KEY AS senderKey,
KPI.YELLOW_ID AS yellowId,
A.TEMPLATE_NAME AS templateName,
A.IMAGE_FILE_NAME AS imageFileName,
A.IMAGE_URL AS templateImageUrl,
A.IMAGE_TYPE AS imageType,
A.IMAGE_TITLE AS imgTitle,
@ -114,6 +117,7 @@
KFT.USER_ID,
KFT.SENDER_KEY,
KFT.TEMPLATE_NAME,
KFT.IMAGE_FILE_NAME,
KFT.IMAGE_URL,
KFT.IMAGE_TYPE,
KFT.IMAGE_TITLE,
@ -199,5 +203,49 @@
</delete>
<select id="kakaoFriendsTalkTemplateDAO.selectKakaoFriendsTemplateDetail" parameterClass="kakaoVO" resultClass="kakaoVO">
SELECT A.FRIEND_ID AS friendId,
A.USER_ID AS userId,
A.SENDER_KEY AS senderKey,
KPI.YELLOW_ID AS yellowId,
A.TEMPLATE_NAME AS templateName,
A.IMAGE_FILE_NAME AS imageFileName,
A.IMAGE_URL AS templateImageUrl,
A.IMAGE_TYPE AS imageType,
A.IMAGE_TITLE AS imgTitle,
A.IMAGE_LINK AS imgLink,
A.TEMPLATE_CONTENTS AS templateContent,
A.AD_FLAG AS adFlag,
DATE_FORMAT(A.FRST_REGIST_PNTTM, '%Y-%m-%d %T') AS frstRegistPnttm,
A.FRST_REGISTER_ID AS frstRegisterId,
DATE_FORMAT(A.LAST_UPDT_PNTTM, '%Y-%m-%d %T') AS lastUpdtPnttm,
A.LAST_UPDUSR_ID AS lastUpdusrId
FROM ( SELECT KFT.FRIEND_ID,
KFT.USER_ID,
KFT.SENDER_KEY,
KFT.TEMPLATE_NAME,
KFT.IMAGE_FILE_NAME,
KFT.IMAGE_URL,
KFT.IMAGE_TYPE,
KFT.IMAGE_TITLE,
KFT.IMAGE_LINK,
KFT.TEMPLATE_CONTENTS,
KFT.AD_FLAG,
KFT.FRST_REGIST_PNTTM,
KFT.FRST_REGISTER_ID,
KFT.LAST_UPDT_PNTTM,
KFT.LAST_UPDUSR_ID
FROM MJ_KAKAO_FRIENDS_TEMPLATE KFT
WHERE DELETE_YN = 'N'
AND USER_ID = #userId#
AND FRIEND_ID = #friendId#
)
A
LEFT JOIN MJ_KAKAO_PROFILE_INFO KPI
ON A.USER_ID = KPI.USER_ID
AND A.SENDER_KEY = KPI.SENDER_KEY
</select>
</sqlMap>

View File

@ -14,14 +14,9 @@ var fileExt = ""; // 첨부파일 확장자
$(document).ready(function (){
//첫로딩시 우측 미리보기 화면 숨김처리
$('.emphasis_title_text').hide(); //강조유형 타이틀
$('.emphasis_side_text').hide(); //강조유형 보조문구
//$('.template_text').hide(); //내용 미리보기
$('.side_info_text').hide(); //부가정보 내용
$('.channel_info_text').hide(); //채널추가 텍스트 내용
$('.btnAd').hide(); //샘플 채널추가 버튼
$('.btnEmpty').hide(); //샘플 버튼
//화면 초기 로딩시 화면 처리해주기
initFormChk();
//템플릿명 입력 글자수 체크 해주기
$("#inputTemplateName").keyup(function(e){
@ -44,13 +39,63 @@ $(document).ready(function (){
$("#inputTemplateContent").keyup(function(e){
var contents = $('#inputTemplateContent').val();
console.log(contents);
setContentsLengForFriends(contents);
});
});
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 == ''){
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();
}
}
var imageFileName = '${resultTemplateVO.imageFileName}';
$("#imgNm").text(imageFileName);
//미리보기에 이미지 표시해주기
var imgUrl = '${resultTemplateVO.templateImageUrl}';
$('.kakao_image').css("display", "block");
$("#kakaoImg").attr("src", imgUrl);
//초기 템플릿 내용 글자수 처리해주기
var tmpContents = $('#inputTemplateContent').val();
setContentsLengForFriends(tmpContents);
//초기 광고포함 여부 처리
var adFlagVal = $("input[name=ad_flag]:checked").val();
advTextChange(adFlagVal);
}
//--------------첨부파일 처리 함수 시작--------------------------
/* 파일사이즈 가져오기 */
@ -508,6 +553,12 @@ $(document).on('change', 'input[name=img_file_add]', function(){
$(document).on('change', '.inputAdFlag', function(){
var adFlagVal = $(this).val();
advTextChange(adFlagVal);
});
function advTextChange(adFlagVal){
if(adFlagVal == 'N'){//광고 표시 숨김처리
$('.adFlag').hide();
@ -522,7 +573,7 @@ $(document).on('change', '.inputAdFlag', function(){
$('.adFlagAfter').show();
}
});
}
//이모티콘 삽입 기능 처리
$(document).on('click', '.symbolButton, .changeWord', function (){
@ -570,6 +621,7 @@ $(document).on('click', '.symbolButton, .changeWord', function (){
<input type="hidden" id="inputSenderKey" name="senderKey" value=""/>
<input type="hidden" id="yellowId" name="yellowId" value=""/>
<input type="hidden" id="templateName" name="templateName" value=""/>
<input type="hidden" id="imageFileName" name="imageFileName" value="<c:out value='${resultTemplateVO.imageFileName}'/>"/>
<input type="hidden" id="imageType" name="imageType" value=""/>
<input type="hidden" id="imageTitle" name="imageTitle" value="">
<input type="hidden" id="imageLink" name="imageLink" value="">
@ -593,7 +645,7 @@ $(document).on('click', '.symbolButton, .changeWord', function (){
<select class="select_gray_type" name="selectAgentCode" id="selectAgentCode" onchange="javascript:fnAgentCodeChg();">
<option value="">채널ID 선택</option>
<c:forEach var="kakaoProfileInfo" items="${resultProfileList}" varStatus="status">
<option value="${kakaoProfileInfo.senderKey}"><c:out value='${kakaoProfileInfo.yellowId}'/></option>
<option value="${kakaoProfileInfo.senderKey}" <c:if test="${kakaoProfileInfo.senderKey eq resultTemplateVO.senderKey}">selected</c:if> ><c:out value='${kakaoProfileInfo.yellowId}'/></option>
</c:forEach>
</select>
</td>
@ -601,7 +653,7 @@ $(document).on('click', '.symbolButton, .changeWord', function (){
<tr>
<th>템플릿명</th>
<td>
<input type="text" class="template_name" id="inputTemplateName" name="inputTemplateName" placeholder="템플릿 명을 입력해주세요" maxLength="100">
<input type="text" class="template_name" id="inputTemplateName" name="inputTemplateName" value="<c:out value='${resultTemplateVO.templateName}'/>" placeholder="템플릿 명을 입력해주세요" maxLength="100">
<p class="template_name_cf">최대 100자, 템플릿 관리용</p>
</td>
</tr>
@ -609,9 +661,9 @@ $(document).on('click', '.symbolButton, .changeWord', function (){
<th>이미지 첨부</th>
<td class="img_file_add_td">
<div class="img_sort_wrap">
<input type="radio" name="img_file_add" id="img_file_0" value="" 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> ><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> ><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>><label for="img_file_2">와이드 이미지 첨부</label>
<div class="img_add_info_wrap basic_img_add_wrap">
<p class="info_title_text"><span class="c_e40000">*</span> 이미지 첨부 안내</p>
<ul class="info_text">
@ -635,15 +687,15 @@ $(document).on('click', '.symbolButton, .changeWord', function (){
<ul class="img_file_info_wrap">
<li>
<p>이미지 제목</p>
<input type="text" id="imgTitle" name="imgTitle" class="img_url" maxLength="50">
<input type="text" id="imgTitle" name="imgTitle" value="<c:out value='${resultTemplateVO.imgTitle}'/>" class="img_url" maxLength="50">
</li>
<li>
<p>이미지 클릭시 이동할 URL</p>
<input type="text" id="imgLink" name="imgLink" placeholder="http://" class="img_url" maxLength="1000">
<input type="text" id="imgLink" name="imgLink" value="<c:out value='${resultTemplateVO.imgLink}'/>" placeholder="http://" class="img_url" maxLength="1000">
</li>
<li>
<p class="file_name" id="imgNm" name="imgNm">첨부파일 이미지</p>
<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"/>
<button type="button" class="btn_del btnImgDel" onclick="buttonTypeDel(this);">
<img src="/publish/images/btn_delete.png" id="imgDel" alt="이미지 삭제" onclick="fnImageDel();">
</button>
@ -656,9 +708,9 @@ $(document).on('click', '.symbolButton, .changeWord', function (){
<tr>
<th>광고포함 여부</th>
<td>
<input type="radio" class="inputAdFlag" name="ad_flag" id="ad_Y" value="Y" checked><label for="ad_Y">광고성 정보
<input type="radio" class="inputAdFlag" name="ad_flag" 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="ad_flag" id="ad_N" value="N"><label for="ad_N">포함 안함</label>
<input type="radio" class="inputAdFlag" name="ad_flag" id="ad_N" value="N" <c:if test="${resultTemplateVO.adFlag eq 'N'}">checked</c:if> ><label for="ad_N">포함 안함</label>
</td>
</tr>
<tr>
@ -671,7 +723,7 @@ $(document).on('click', '.symbolButton, .changeWord', function (){
<p><span id="adFlagFront">(광고)</span> <span id="yellowIdCon" >채널ID</span></p>
</div>
<label for="inputTemplateContent" class="label"></label>
<textarea id="inputTemplateContent" name="inputTemplateContent" class="put_text" placeholder="내용을 입력해주세요."></textarea>
<textarea id="inputTemplateContent" name="inputTemplateContent" class="put_text" placeholder="내용을 입력해주세요."><c:out value="${resultTemplateVO.templateContent}"/></textarea>
<div class="text_length">
<div>
<p class="adFlagAfter">수신거부 : 홈 > 채널차단</p>
@ -947,6 +999,131 @@ $(document).on('click', '.symbolButton, .changeWord', function (){
</select>
<button type="button" class="btnType btnType6" onclick="friendTemplateButtonAdd();">추가</button>
<div class="button_add_wrap">
<c:forEach var="buttonList" items="${resultTemplateVO.buttonVOList}" varStatus="status">
<c:if test="${buttonList.linkType eq 'DS'}">
<!-- 배송조회 버튼 -->
<dl class="button_type_wrap type1">
<dt>배송조회</dt>
<dd class="button_type_input">
<input type="hidden" id="buttonLikeTypeDeliv" name="buttonVOList[${status.index}].linkType" value="DS"/>
<input type="text" id="btnNmDeliv" name="buttonVOList[${status.index}].name" value="<c:out value='${buttonList.name}'/>" placeholder="버튼명 입력(최대 14자)">
<p class="cf_text">*이용가능 택배사 : KG로지스, 우체국택배,일양로지스, GTX로지스, FedEx, 경동택배, 합동택배, 롯데택배</p>
</dd>
<dd>
<button type="button" class="btn_del" onclick="buttonTypeDel(this);"><img src="/publish/images/btn_delete.png" alt=""></button>
</dd>
</dl>
</c:if>
<c:if test="${buttonList.linkType eq 'WL'}">
<!-- 웹링크 버튼 -->
<dl class="button_type_wrap type2">
<dt>웹링크</dt>
<dd class="button_type_input">
<ul>
<li>
<input type="hidden" id="buttonLikeTypeWeb" name="buttonVOList[${status.index}].linkType" value="WL"/>
<input type="text" id="btnNmWeb" name="buttonVOList[${status.index}].name" value="<c:out value='${buttonList.name}'/>" placeholder="버튼명 입력(최대 14자)">
</li>
<li>
<input type="text" id="buttonLinkMo" name="buttonVOList[${status.index}].linkMo" value="<c:out value='${buttonList.linkMo}'/>" placeholder="모바일 링크 입력">
</li>
<li>
<input type="text" id="buttonLinkPc" name="buttonVOList[${status.index}].linkPc" value="<c:out value='${buttonList.linkPc}'/>" placeholder="PC 링크 입력">
</li>
</ul>
</dd>
<dd>
<button type="button" class="btn_del" onclick="buttonTypeDel(this);"><img src="/publish/images/btn_delete.png" alt=""></button>
</dd>
</dl>
</c:if>
<c:if test="${buttonList.linkType eq 'AL'}">
<!-- 앱링크 버튼 -->
<dl class="button_type_wrap type3">
<dt>앱링크</dt>
<dd class="button_type_input">
<ul>
<li>
<input type="hidden" id="buttonLikeTypeApp" name="buttonVOList[${status.index}].linkType" value="AL"/>
<input type="text" id="btnNmApp" name="buttonVOList[${status.index}].name" value="<c:out value='${buttonList.name}'/>" placeholder="버튼명 입력(최대 14자)">
</li>
<li>
<input type="text" id="buttonLinkAnd" name="buttonVOList[${status.index}].linkAnd" value="<c:out value='${buttonList.linkAnd}'/>" placeholder="Android 링크 입력">
</li>
<li>
<input type="text" id="buttonLinkIos" name="buttonVOList[${status.index}].linkIos" value="<c:out value='${buttonList.linkIos}'/>" placeholder="IOS 링크 입력">
</li>
</ul>
</dd>
<dd>
<button type="button" class="btn_del" onclick="buttonTypeDel(this);"><img src="/publish/images/btn_delete.png" alt=""></button>
</dd>
</dl>
</c:if>
<c:if test="${buttonList.linkType eq 'BK'}">
<!-- 봇키워드 -->
<dl class="button_type_wrap type4">
<dt>봇키워드</dt>
<dd class="button_type_input">
<input type="hidden" id="buttonLikeTypeBot" name="buttonVOList[${status.index}].linkType" value="BK"/>
<input type="text" id="btnNmBot" name="buttonVOList[${status.index}].name" value="<c:out value='${buttonList.name}'/>" placeholder="버튼명 입력(최대 14자)">
</dd>
<dd><button type="button" class="btn_del" onclick="buttonTypeDel(this);"><img src="/publish/images/btn_delete.png" alt=""></button></dd>
</dl>
</c:if>
<c:if test="${buttonList.linkType eq 'MD'}">
<!-- 메시지 전달 -->
<dl class="button_type_wrap type5">
<dt>메시지전달</dt>
<dd class="button_type_input">
<input type="hidden" id="buttonLikeTypeMsg" name="buttonVOList[${status.index}].linkType" value="MD" />
<input type="text" id="btnNmMsg" name="buttonVOList[${status.index}].name" value="<c:out value='${buttonList.name}'/>" placeholder="버튼명 입력(최대 14자)">
</dd>
<dd>
<button type="button" class="btn_del" onclick="buttonTypeDel(this);">
<img src="/publish/images/btn_delete.png" alt="">
</button>
</dd>
</dl>
</c:if>
<c:if test="${buttonList.linkType eq 'BC'}">
<!-- 상담톡 전환 -->
<dl class="button_type_wrap type6">
<dt>상담톡전환</dt>
<dd class="button_type_input">
<input type="hidden" id="buttonLikeTypeCons" name="buttonVOList[${status.index}].linkType" value="BC" />
<input type="text" id="btnNmCons" name="buttonVOList[${status.index}].name" value="<c:out value='${buttonList.name}'/>" placeholder="버튼명 입력(최대 14자)">
</dd>
<dd>
<button type="button" class="btn_del" onclick="buttonTypeDel(this);">
<img src="/publish/images/btn_delete.png" alt="">
</button>
</dd>
</dl>
</c:if>
<c:if test="${buttonList.linkType eq 'BT'}">
<!-- 챗봇전환 -->
<dl class="button_type_wrap type7">
<dt>챗봇전환</dt>
<dd class="button_type_input">
<input type="hidden" id="buttonLikeTypeBotChg" name="buttonVOList[${status.index}].linkType" value="BT" />
<input type="text" id="btnNmBotChg" name="buttonVOList[${status.index}].name" value="" placeholder="버튼명 입력(최대 14자)">
</dd>
<dd>
<button type="button" class="btn_del" onclick="buttonTypeDel(this);">
<img src="/publish/images/btn_delete.png" alt="">
</button>
</dd>
</dl>
</c:if>
</c:forEach>
</div>
</td>
</tr>
@ -968,7 +1145,9 @@ $(document).on('click', '.symbolButton, .changeWord', function (){
</div>
<p class="template_text">내용 미리보기</p>
<div class="btnViewArea">
<button type="button" class="btn_kakao_type" style="display:none;">문자온 바로가기</button>
<c:forEach var="buttonList" items="${resultTemplateVO.buttonVOList}" varStatus="status">
<button type="button" class="btn_kakao_type" style="display:block;"><c:out value="${buttonList.name}"/></button>
</c:forEach>
</div>
</div>
<p class="kakao_block_text">수신거부 : 홈 > 채널차단</p>

View File

@ -211,6 +211,7 @@ function getTemplateImagUrl(){
$('.kakao_image').css("display", "block");
$("#kakaoImg").attr("src", imgUrl);
$("#imageFileName").val(fileName);
}else if(code == "2002"){//일반 이미지 가로 세로 크기 오류 발생
@ -565,7 +566,7 @@ $(document).on('click', '.symbolButton, .changeWord', function (){
<!--// tab button -->
</div>
<form id="bizForm" name="bizForm" method="multipart/form-data">
<input type="hidden" id="menuTopTab" name="menuTopTab" value="tabConf">
<input type="hidden" id="menuTopTab" name="menuTopTab" value="tabConf">
<input type="hidden" id="menuSubTab" name="menuSubTab" value="tabSubFt">
<input type="hidden" id="inputSenderKey" name="senderKey" value=""/>
<input type="hidden" id="yellowId" name="yellowId" value=""/>
@ -576,7 +577,7 @@ $(document).on('click', '.symbolButton, .changeWord', function (){
<input type="hidden" id="adFlag" name="adFlag" value="">
<input type="hidden" id="templateImageUrl" name="templateImageUrl" value="">
<input type="hidden" id="templateContent" name="templateContent" value="">
<input type="hidden" id="imageFileName" name="imageFileName" value=""/>
<div class="send_general friend_talk_wrap kakao_wrap">
<div class="send_left">