Merge branch 'tolag3'

인증 끝
This commit is contained in:
leejunho 2024-11-27 16:54:05 +09:00
parent e8dab3843e
commit 19d35acc5e
14 changed files with 253 additions and 100 deletions

View File

@ -1,8 +1,10 @@
package kcc.let.uat.uia.service; package kcc.let.uat.uia.service;
public interface CertService { public interface CertService {
void insertCert(CertVO certVO) throws Exception; public CertVO selectCert(CertVO certVO) throws Exception;
public void insertCert(CertVO certVO) throws Exception;
public void insertCertLog(CertVO certVO) throws Exception;
} }

View File

@ -13,6 +13,8 @@ public class CertVO implements Serializable{
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String certId;
private String certLogId;
private String name; private String name;
private String phone; private String phone;
@ -21,6 +23,10 @@ public class CertVO implements Serializable{
private String receiptID; private String receiptID;
private String status; private String status;
/**
* H: 휴대폰인증, N:네이버인증, K:카카오인증
*/
private String certType;
private String certOri;
} }

View File

@ -1,11 +1,24 @@
package kcc.let.uat.uia.service.impl; package kcc.let.uat.uia.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO; import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.let.uat.uia.service.CertVO;
@Repository("certDAO") @Repository("certDAO")
public class CertDAO extends EgovAbstractDAO { public class CertDAO extends EgovAbstractDAO {
public CertVO selectCert(CertVO certVO) throws Exception {
return (CertVO) select("certDAO.selectCert", certVO);
}
public void insertCert(CertVO certVO) throws Exception {
insert("certDAO.insertCert", certVO);
}
public void insertCertLog(CertVO certVO) throws Exception {
insert("certDAO.insertCertLog", certVO);
}
} }

View File

@ -1,5 +1,7 @@
package kcc.let.uat.uia.service.impl; package kcc.let.uat.uia.service.impl;
import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -7,20 +9,37 @@ import org.springframework.stereotype.Service;
//import kcc.let.ems.service.SndngMailVO; //import kcc.let.ems.service.SndngMailVO;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.let.uat.uia.service.CertService; import kcc.let.uat.uia.service.CertService;
import kcc.let.uat.uia.service.CertVO; import kcc.let.uat.uia.service.CertVO;
@Service("certService") @Service("certService")
public class CertServiceImpl extends EgovAbstractServiceImpl implements CertService { public class CertServiceImpl extends EgovAbstractServiceImpl implements CertService {
@Resource(name="certIdgenService")
private EgovIdGnrService certIdgenService;
@Resource(name="certLogIdgenService")
private EgovIdGnrService certLogIdgenService;
@Resource(name="certDAO") @Resource(name="certDAO")
private CertDAO certDAO; private CertDAO certDAO;
@Override
public CertVO selectCert(CertVO certVO) throws Exception {
return certDAO.selectCert(certVO);
}
@Override @Override
public void insertCert(CertVO certVO) throws Exception { public void insertCert(CertVO certVO) throws Exception {
// TODO Auto-generated method stub certVO.setCertId(certIdgenService.getNextStringId());
certDAO.insertCert(certVO);
} }
@Override
public void insertCertLog(CertVO certVO) throws Exception {
certVO.setCertLogId(certLogIdgenService.getNextStringId());
certDAO.insertCertLog(certVO);
}
} }

View File

@ -17,7 +17,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import com.barocert.BarocertException; import com.barocert.BarocertException;
import com.barocert.kakaocert.KakaocertService; import com.barocert.kakaocert.KakaocertService;
import com.barocert.navercert.NavercertService; import com.barocert.navercert.NavercertService;
import com.fasterxml.jackson.databind.ObjectMapper;
import kcc.let.uat.uia.service.CertService;
import kcc.let.uat.uia.service.CertVO; import kcc.let.uat.uia.service.CertVO;
import seed.utils.FairnetUtils; import seed.utils.FairnetUtils;
import seed.utils.SeedUtils; import seed.utils.SeedUtils;
@ -54,6 +56,9 @@ public class SocialCertController {
@Autowired @Autowired
private KakaocertService kakaocertService; private KakaocertService kakaocertService;
@Autowired
private CertService certService;
@Value("#{NAVER_CONFIG.ClientCode}") @Value("#{NAVER_CONFIG.ClientCode}")
private String NaverClientCode; private String NaverClientCode;
@ -222,23 +227,39 @@ public class SocialCertController {
return new ResponseEntity<>(returnData, HttpStatus.OK); return new ResponseEntity<>(returnData, HttpStatus.OK);
} }
// System.out.println("getReceiptID()); :: " + result.getReceiptID());
// System.out.println("getReceiverDay()); :: " + nDecrypt(result.getReceiverDay()));
// System.out.println("getReceiverEmail()); :: " + nDecrypt(result.getReceiverEmail()));
// System.out.println("getReceiverForeign()); :: " + nDecrypt(result.getReceiverForeign()));
// System.out.println("getReceiverGender()); :: " + nDecrypt(result.getReceiverGender()));
// System.out.println("getReceiverHP()); :: " + nDecrypt(result.getReceiverHP()));
// System.out.println("getReceiverName()); :: " + nDecrypt(result.getReceiverName()));
// System.out.println("getReceiverYear()); :: " + nDecrypt(result.getReceiverYear()));
// System.out.println("getSignedData()); :: " + result.getSignedData());
// System.out.println("getState()); :: " + result.getState());
// System.out.println("getCi()); :: " + nDecrypt(result.getCi()));
returnData.put("result", "success"); returnData.put("result", "success");
returnData.put("msg", "인증되었습니다."); returnData.put("msg", "인증되었습니다.");
//세션 등록 //세션 등록
FairnetUtils.certSessionSet(reqeust, nDecrypt(result.getReceiverName()), nDecrypt(result.getReceiverHP())); FairnetUtils.setCertSession(reqeust, nDecrypt(result.getReceiverName()), nDecrypt(result.getReceiverHP()));
certVO.setName(nDecrypt(result.getReceiverHP()));
certVO.setPhone(nDecrypt(result.getReceiverName()));
String ori = "ReceiptID: " + result.getReceiptID()
+ ", ReceiverDay: " + nDecrypt(result.getReceiverDay())
+ ", ReceiverEmail: " + nDecrypt(result.getReceiverEmail())
+ ", ReceiverForeign: " + nDecrypt(result.getReceiverForeign())
+ ", ReceiverGender: " + nDecrypt(result.getReceiverGender())
+ ", ReceiverHP: " + nDecrypt(result.getReceiverHP())
+ ", ReceiverName: " + nDecrypt(result.getReceiverName())
+ ", ReceiverYear: " + nDecrypt(result.getReceiverYear())
// + ", SignedData: " + result.getSignedData()
+ ", State: " + result.getState()
+ ", Ci: " + nDecrypt(result.getCi());
certVO.setCertOri(ori);
certVO.setCertType("N");
try {
//인증 사용자 insert
certService.insertCert(certVO);
//인증 로그 insert
certService.insertCertLog(certVO);
} catch (Exception e) {
System.out.println("인증 정보 등록 실패!!!!!!!!!");
}
return new ResponseEntity<>(returnData, HttpStatus.OK); return new ResponseEntity<>(returnData, HttpStatus.OK);
}else { }else {
@ -277,22 +298,37 @@ public class SocialCertController {
return new ResponseEntity<>(returnData, HttpStatus.OK); return new ResponseEntity<>(returnData, HttpStatus.OK);
} }
// System.out.println("getReceiptID()); :: " + result.getReceiptID());
// System.out.println("getState()); :: " +result.getState());
// System.out.println("getSignedData()); :: " + result.getSignedData());
// System.out.println("getCi()); :: " + kDecrypt(result.getCi()));
// System.out.println("getReceiverName()); :: " + kDecrypt(result.getReceiverName()));
// System.out.println("getReceiverYear()); :: " + kDecrypt(result.getReceiverYear()));
// System.out.println("getReceiverDay()); :: " + kDecrypt(result.getReceiverDay()));
// System.out.println("getReceiverHP()); :: " + kDecrypt(result.getReceiverHP()));
// System.out.println("getReceiverGender()); :: " + kDecrypt(result.getReceiverGender()));
returnData.put("result", "success"); returnData.put("result", "success");
returnData.put("msg", "인증되었습니다."); returnData.put("msg", "인증되었습니다.");
//세션 등록 //세션 등록
FairnetUtils.certSessionSet(reqeust, kDecrypt(result.getReceiverName()), kDecrypt(result.getReceiverHP())); FairnetUtils.setCertSession(reqeust, kDecrypt(result.getReceiverName()), kDecrypt(result.getReceiverHP()));
certVO.setName(kDecrypt(result.getReceiverHP()));
certVO.setPhone(kDecrypt(result.getReceiverName()));
String ori = "ReceiptID: " + result.getReceiptID()
+ ", State: " + result.getState()
// + ", SignedData: " + result.getSignedData()
+ ", Ci: " + kDecrypt(result.getCi())
+ ", ReceiverName: " + kDecrypt(result.getReceiverName())
+ ", ReceiverYear: " + kDecrypt(result.getReceiverYear())
+ ", ReceiverDay: " + kDecrypt(result.getReceiverDay())
+ ", ReceiverHP: " + kDecrypt(result.getReceiverHP())
+ ", ReceiverGender: " + kDecrypt(result.getReceiverGender());
certVO.setCertOri(ori);
certVO.setCertType("K");
try {
//인증 사용자 insert
certService.insertCert(certVO);
//인증 로그 insert
certService.insertCertLog(certVO);
} catch (Exception e) {
System.out.println("인증 정보 등록 실패!!!!!!!!!");
}
return new ResponseEntity<>(returnData, HttpStatus.OK); return new ResponseEntity<>(returnData, HttpStatus.OK);
}else { }else {
@ -355,7 +391,15 @@ public class SocialCertController {
@RequestMapping(value = "/web/user/cert/test.do") @RequestMapping(value = "/web/user/cert/test.do")
public String testtestset(Model m) throws Exception { public String testtestset(Model m) throws Exception {
CertVO certVO = new CertVO();
certVO.setName("이준호");
certVO.setPhone("01030266269");
certVO.setCertOri("");
certVO.setCertType("");
certService.insertCert(certVO);
certService.insertCertLog(certVO);
return "redirect:/"; return "redirect:/";
} }

View File

@ -93,9 +93,11 @@ import kcc.let.sym.prm.service.EgovProgrmManageService;
import kcc.let.sym.prm.service.ProgrmManageVO; import kcc.let.sym.prm.service.ProgrmManageVO;
import kcc.let.sym.site.service.EgovSiteManagerService; import kcc.let.sym.site.service.EgovSiteManagerService;
import kcc.let.sym.site.service.SiteManagerVO; import kcc.let.sym.site.service.SiteManagerVO;
import kcc.let.uat.uia.service.CertVO;
import seed.com.gtm.board.CaseBoardService; import seed.com.gtm.board.CaseBoardService;
import seed.com.gtm.exam.ExamBoardService; import seed.com.gtm.exam.ExamBoardService;
import seed.com.gtm.faqbbs.faqBpardService; import seed.com.gtm.faqbbs.faqBpardService;
import seed.utils.FairnetUtils;
import seed.utils.SeedConstants; import seed.utils.SeedConstants;
/** /**
@ -266,7 +268,8 @@ public class MainController {
model.addAttribute("menuResultList", menuResultList); model.addAttribute("menuResultList", menuResultList);
CertVO certVO = FairnetUtils.getCertSession(request);
model.addAttribute("certVO", certVO);
return "web/com/webCommonHeader"; return "web/com/webCommonHeader";
} }

View File

@ -11,6 +11,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -21,12 +22,17 @@ import com.sci.v2.ipin.secu.hmac.SciHmac;
import kcc.com.utl.fcc.service.EgovNumberUtil; import kcc.com.utl.fcc.service.EgovNumberUtil;
import kcc.com.utl.fcc.service.EgovStringUtil; import kcc.com.utl.fcc.service.EgovStringUtil;
import kcc.let.uat.uia.service.CertService;
import kcc.let.uat.uia.service.CertVO;
import seed.utils.FairnetUtils; import seed.utils.FairnetUtils;
import seed.utils.SeedUtils; import seed.utils.SeedUtils;
@Controller @Controller
public class WebUserCheckController { public class WebUserCheckController {
@Autowired
private CertService certService;
@RequestMapping("/web/user/case/userCheck/setCheckCode/check.do") @RequestMapping("/web/user/case/userCheck/setCheckCode/check.do")
public String setCheckCodeAndRedirect(ModelMap map, HttpServletRequest req, HttpServletResponse response, HttpSession session, @RequestParam Map<String,Object> paramMap){ public String setCheckCodeAndRedirect(ModelMap map, HttpServletRequest req, HttpServletResponse response, HttpSession session, @RequestParam Map<String,Object> paramMap){
@ -406,18 +412,6 @@ public class WebUserCheckController {
hpCellNo = aRetInfo[11]; hpCellNo = aRetInfo[11];
hpCellCorp = aRetInfo[12]; hpCellCorp = aRetInfo[12];
hpAddVar = aRetInfo[14]; hpAddVar = aRetInfo[14];
/* String[] valList = hpAddVar.split(",");
String agreeCheck = "";
String personalCheck = "";
String mediType = "";
if(valList.length > 1){
agreeCheck = valList[0];
personalCheck = valList[1];
mediType = valList[2];
}*/
//이름은 인코딩되서 날라옴 //이름은 인코딩되서 날라옴
try { try {
hpName = URLDecoder.decode(hpName, "UTF-8"); hpName = URLDecoder.decode(hpName, "UTF-8");
@ -425,27 +419,37 @@ public class WebUserCheckController {
e.printStackTrace(); e.printStackTrace();
} }
// session.setAttribute("hpName", hpName); FairnetUtils.setCertSession(req, hpName, hpCellNo);
// session.setAttribute("hpBirYMD", hpBirYMD);
// session.setAttribute("hpSex", hpSex);
// session.setAttribute("hpFgnGbn", hpFgnGbn);
// session.setAttribute("hpDi", hpDi);
// if("".equals(SeedUtils.setReplaceNull(hpCi1))) {
// hpCi1 = hpDi;
// }
// session.setAttribute("hpCi1", hpCi1);
// session.setAttribute("hpCi2", hpCi2);
// session.setAttribute("hpResult", hpResult);
// session.setAttribute("hpCellNo", hpCellNo);
// session.setAttribute("hpCellCorp", hpCellCorp);
// session.setAttribute("hpAddVar", hpAddVar);
/* session.setAttribute("agreeCheck", agreeCheck);
session.setAttribute("personalCheck", personalCheck);
session.setAttribute("mediType", mediType);*/
FairnetUtils.certSessionSet(req, hpName, hpCellNo); CertVO certVO = new CertVO();
certVO.setName(hpName);
certVO.setPhone(hpCellNo);
String ori = "hpName: " + hpName
+ ", hpBirYMD: " + hpBirYMD
+ ", hpSex: " + hpSex
+ ", hpFgnGbn: " + hpFgnGbn
+ ", hpDi: " + hpDi
+ ", hpCi1: " + hpCi1
+ ", hpCi2: " + hpCi2
+ ", hpResult: " + hpResult
+ ", hpCellNo: " + hpCellNo
+ ", hpCellCorp: " + hpCellCorp
+ ", hpAddVar: " + hpAddVar;
certVO.setCertOri(ori);
certVO.setCertType("H");
try {
//인증 사용자 insert
certService.insertCert(certVO);
//인증 로그 insert
certService.insertCertLog(certVO);
} catch (Exception e) {
System.out.println("인증 정보 등록 실패!!!!!!!!!");
}
// return "redirect:" + nextUrl;
return "/_extra/user/siren/myPage_hpParamPop"; return "/_extra/user/siren/myPage_hpParamPop";
} }
} }

View File

@ -1010,27 +1010,10 @@ private Logger log = Logger.getLogger(this.getClass());
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
return new ResponseEntity<>("ci, hpName session set", HttpStatus.OK); return new ResponseEntity<>("session set", HttpStatus.OK);
} }
@RequestMapping("/web/user/mypage/case/01/168/devCiMakePopCiCheck.do") @RequestMapping("/web/user/mypage/case/01/168/myCheckRemove.do")
public ResponseEntity<?> devCiMakePopCiCheck(ModelMap map
, HttpSession session
, HttpServletRequest req
){
// JSON 데이터 받기
Map returnMap = new HashMap<String, String>();
try {
returnMap.put("certNm",req.getSession().getAttribute("certNm"));
returnMap.put("certHpNo",req.getSession().getAttribute("certHpNo"));
} catch (Exception e) {
e.printStackTrace();
}
return new ResponseEntity<>(returnMap, HttpStatus.OK);
}
@RequestMapping("/web/user/mypage/case/01/168/devCiRemove.do")
public String devCiMakePopCiRemove(ModelMap map public String devCiMakePopCiRemove(ModelMap map
, HttpSession session , HttpSession session
, HttpServletRequest req , HttpServletRequest req

View File

@ -15,6 +15,8 @@ import org.springframework.ui.ModelMap;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.ibm.icu.text.SimpleDateFormat; import com.ibm.icu.text.SimpleDateFormat;
import kcc.let.uat.uia.service.CertVO;
public class FairnetUtils { public class FairnetUtils {
public static boolean hasAuth( public static boolean hasAuth(
@ -185,7 +187,7 @@ public class FairnetUtils {
} }
/** /**
* @methodName : certSessionSet * @methodName : setCertSession
* @author : JunHo Lee * @author : JunHo Lee
* @date : 2024.11.27 * @date : 2024.11.27
* @description : * @description :
@ -193,7 +195,7 @@ public class FairnetUtils {
* @param certNm - 이름 * @param certNm - 이름
* @param certNo - 휴대폰 번호 * @param certNo - 휴대폰 번호
*/ */
public static void certSessionSet( public static void setCertSession(
HttpServletRequest reqeust HttpServletRequest reqeust
, String certNm , String certNm
, String certHpNo , String certHpNo
@ -204,6 +206,20 @@ public class FairnetUtils {
session.setMaxInactiveInterval(60*60*2); session.setMaxInactiveInterval(60*60*2);
} }
public static CertVO getCertSession(
HttpServletRequest reqeust
) {
HttpSession session = reqeust.getSession();
session.getAttribute("certNm");
session.getAttribute("certHpNo");
CertVO certVO = new CertVO();
certVO.setName(SeedUtils.setReplaceNull(session.getAttribute("certNm")));
certVO.setPhone(SeedUtils.setReplaceNull(session.getAttribute("certHpNo")));
return certVO;
}
} }

View File

@ -4,5 +4,73 @@
<sqlMap namespace="Cert"> <sqlMap namespace="Cert">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/> <typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="certVO" type="kcc.let.uat.uia.service.CertVO"/>
<select id="certDAO.selectCert" resultClass="certVO">
SELECT
CERT_ID,
CERT_NAME,
CERT_PHONE
FROM
UNP_CERT
WHERE
CERT_NAME = #name#
AND CERT_PHONE = #phone#
</select>
<insert id="certDAO.insertCert" parameterClass="certVO">
INSERT INTO UNP_CERT (
CERT_ID,
CERT_NAME,
CERT_PHONE,
FRST_REGIST_PNTTM
)
SELECT
#certId#,
#name#,
#phone#,
SYSDATE
FROM
DUAL
WHERE
NOT EXISTS (
SELECT
CERT_ID
FROM
UNP_CERT
WHERE
CERT_NAME = #name#
AND CERT_PHONE = #phone#
)
</insert>
<insert id="certDAO.insertCertLog" parameterClass="certVO">
INSERT INTO UNP_CERT_LOG (
CERT_ID,
CERT_LOG_ID,
CERT_NAME,
CERT_PHONE,
CERT_TYPE,
CERT_ORI,
FRST_REGIST_PNTTM
)
SELECT
CERT_ID,
#certLogId#,
CERT_NAME,
CERT_PHONE,
#certType#,
#certOri#,
SYSDATE
FROM
UNP_CERT
WHERE
CERT_NAME = #name#
AND CERT_PHONE = #phone#
</insert>
</sqlMap> </sqlMap>

View File

@ -19,6 +19,7 @@
success: function(response) { success: function(response) {
alert(response.msg); alert(response.msg);
if(response.result == 'success'){ if(response.result == 'success'){
opener.location.href = '/';
window.close(); window.close();
}else if(response.result == 'requestFail'){ }else if(response.result == 'requestFail'){
window.close(); window.close();

View File

@ -19,6 +19,7 @@
success: function(response) { success: function(response) {
alert(response.msg); alert(response.msg);
if(response.result == 'success'){ if(response.result == 'success'){
opener.location.href = '/';
window.close(); window.close();
}else if(response.result == 'requestFail'){ }else if(response.result == 'requestFail'){
window.close(); window.close();

View File

@ -46,20 +46,6 @@
} }
} }
function ciCheck(){
$.ajax({
url: '/web/user/mypage/case/01/168/devCiMakePopCiCheck.do',
type: 'POST',
contentType: 'application/json',
success: function(response) {
alert("이름 :: " + response.certNm);
alert("휴대폰번호 :: " + response.certHpNo);
},
error: function(error) {
alert("error");
}
});
}
function searchTotalHeader(){ function searchTotalHeader(){
$('#searchFormHeader #totalSearchKeyword').val($('#searchTextHeader').val()); $('#searchFormHeader #totalSearchKeyword').val($('#searchTextHeader').val());
$('#searchFormHeader').attr("action","/web/usr/search/totalSearch.do") $('#searchFormHeader').attr("action","/web/usr/search/totalSearch.do")
@ -92,9 +78,15 @@
</button> </button>
</div> </div>
<div class="util_btn_area"> <div class="util_btn_area">
<button type="button" class="btn btn_text btn_40 blue_fill" onclick="ciCheck(); return false;"><i class="icon sertification"></i>개발용_CI값확인</button> <c:choose>
<button type="button" class="btn btn_text btn_40 blue_fill" onclick="location.href='/web/user/mypage/case/01/168/devCiRemove.do'"><i class="icon sertification"></i>개발용_CI값삭제</button> <c:when test="${certVO.name != '' && certVO.phone != ''}">
<button type="button" class="btn btn_text btn_40 blue_fill" onclick="location.href='/web/user/mypage/case/01/168/myCheck.do'"><i class="icon sertification"></i>본인인증</button> <p class="user_name"><c:out value="${certVO.name}"/> 님</p>
<button type="button" class="btn btn_text btn_40 blue_fill" onclick="location.href='/web/user/mypage/case/01/168/myCheckRemove.do'"><i class="icon sertification_out"></i>인증해제</button>
</c:when>
<c:otherwise>
<button type="button" class="btn btn_text btn_40 blue_fill" onclick="location.href='/web/user/mypage/case/01/168/myCheck.do'"><i class="icon sertification"></i>본인인증</button>
</c:otherwise>
</c:choose>
<button type="button" class="btn btn_text btn_40 blue_fill hide"><i class="icon sertification_out"></i>인증해제</button> <button type="button" class="btn btn_text btn_40 blue_fill hide"><i class="icon sertification_out"></i>인증해제</button>
<button type="button" class="btn btn_text btn_40 gray_border only_icon" title="페이지 확대" onClick="zoomIn();"><i class="icon plus"></i></button> <button type="button" class="btn btn_text btn_40 gray_border only_icon" title="페이지 확대" onClick="zoomIn();"><i class="icon plus"></i></button>
<button type="button" class="btn btn_text btn_40 gray_border only_icon" title="페이지 축소" onClick="zoomOut();"><i class="icon minus"></i></button> <button type="button" class="btn btn_text btn_40 gray_border only_icon" title="페이지 축소" onClick="zoomOut();"><i class="icon minus"></i></button>

View File

@ -20,6 +20,7 @@
data: JSON.stringify(jsonData), data: JSON.stringify(jsonData),
success: function(response) { success: function(response) {
alert(response); alert(response);
opener.location.href = '/';
window.close(); window.close();
}, },
error: function(error) { error: function(error) {