CINXE.COM
KDX 한국데이터거래소
<html lang="ko"> <head> <meta name="google-site-verification" content="Hq8sRc8v0WDBAucznQii2LhBGbJ3dOkNgH_7LwqiOBY" /> <meta name="keywords" content="유통 소비 플랫폼, 빅데이터 플랫폼, 데이터 거래소, 한국데이터거래소, KDX, 데이터 마켓, 데이터 거래, 데이터 유통, 데이터 판매, 유동인구 데이터, 코로나 데이터, 데이터 결합, 데이터 융합, 데이터 구입, 데이터 분석, 데이터 분석툴, 이커머스 데이터, 쇼핑몰 데이터"> <meta name="description" content="KDX한국데이터거래소는 누구나 데이터를 사고 팔 수 있는 유통 소비 분야 빅데이터 플랫폼입니다. KDX의 데이터로 비즈니스를 업그레이드하세요."> <meta property="og:type" content="website"> <meta property="og:title" content="KDX 한국데이터거래소"> <meta property="og:description" content="KDX한국데이터거래소는 누구나 데이터를 사고 팔 수 있는 유통 소비 분야 빅데이터 플랫폼입니다. KDX의 데이터로 비즈니스를 업그레이드하세요"> <meta property="og:image" content="https://kdx.kr/images/ogimg.png"> <meta property="og:site_name" content="kdx.kr"> <meta property="og:url" content="https://kdx.kr/main"> <link rel="canonical" href="https://kdx.kr/main" /> <link rel="stylesheet" href="https://kdx.kr/css/swiper.min.css"> <script src="https://kdx.kr/js/swiper.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script> <!-- <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> --> <!-- <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script> --> <!-- <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> --> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="canonical" href="https://kdx.kr/" /> <!-- Import JS --> <script src="https://kdx.kr/js/jquery-3.3.1.min.js"></script> <script src="https://kdx.kr/js/jquery-ui.min.js"></script> <script src="https://kdx.kr/js/moment.min.js"></script> <script src="https://kdx.kr/js/common.js?dt=20250304"></script> <script src="https://kdx.kr/js/xModal.js?dt=20250304"></script> <script src="https://kdx.kr/js/xValidator.js?dt=20250304"></script> <script src="https://kdx.kr/js/jquery.simplyscroll.min.js"></script> <script src="https://kdx.kr/js/slick.min.js"></script> <!-- Import CSS --> <link rel="shortcut icon" href="https://kdx.kr/images/favicon.ico"> <link rel="stylesheet" href="https://kdx.kr/css/slick.css"> <link rel="stylesheet" href="https://kdx.kr/css/jquery.simplyscroll.min.css"> <!-- 배포용 --> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-4NSP0Q2DHL"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); //gtag('config', 'G-4NSP0Q2DHL'); gtag('config', 'G-4NSP0Q2DHL', {'send_page_view': false }); </script> <script> console.log("%cKDX한국데이터거래소", "color:#fc813e; font-size: 70px; font-weight: bold;"); // window.dataLayer = window.dataLayer || []; // function gtag(){dataLayer.push(arguments);} // gtag('js', new Date()); // gtag('config', 'UA-153428789-1'); // gtag('config', 'AW-629526636'); // if("" != ""){ // console.log('') // gtag('config', 'UA-153428789-1', { // 'user_id': '' // }); // } window.dataLayer = window.dataLayer || []; if("" != ""){ // console.log('') dataLayer.push({'userId': ''}) }else{ dataLayer.push({'userId': undefined}) } (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TWNH2TX'); /* window.console = {}; window.console.log = function(obj){}; if (!console) console = {log: function() {}}; */ var server = 'deploy'; if (server == "deploy"){ window.console = {}; window.console.log = function(obj){}; if (!console) console = {log: function() {}}; } </script> <!-- Facebook Pixel Code --> <!-- End Facebook Pixel Code --> <!-- Google site link --> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "name": "KDX", "url": "https://kdx.kr", "sameAs": [ "https://www.facebook.com/KDXDATA", "https://www.instagram.com/kdx.kr", "https://blog.naver.com/kdxgroups" ] } </script> <script> // Dable 스크립트 시작 / 문의 support@dable.io if(location.host == "kdx.kr") { (function(d,a,b,l,e,_) { d[b]=d[b]||function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l); e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js'; _=a.getElementsByTagName(l)[0];_.parentNode.insertBefore(e,_); })(window,document,'dable','script'); dable('setService', 'kdx.kr'); dable('sendLogOnce'); } // Dable 스크립트 종료 / 문의 support@dable.io </script> <style> .enterprise-list li img {width: auto; height: 3.8rem;} .enterprise-box .inner { margin: 5.6rem 0 2.3rem;} .kem { background: -webkit-linear-gradient(90deg, #EB7D37 0%, #F05C21 100%); background: -moz-linear-gradient(90deg, #EB7D37 0%, #F05C21 100%); background: -o-linear-gradient(90deg, #EB7D37 0%, #F05C21 100%); background: linear-gradient(90deg, #EB7D37 0%, #F05C21 100%); -webkit-background-clip: text; color: transparent; } @media (min-width: 1024px) { .m-title { display:none; } .w-title { display:block; } } .m_info .category { display: inline-block; margin-top: 1rem; margin-bottom: 15px; padding: 2px 18px; border-radius: 40px; background-color: #fff; font-weight: 500; color: #333; } .m_info .keywords { margin-bottom: 10px; overflow: hidden; height: 40px; } .m_info .keywords > span { cursor: pointer; color: #fff; margin-right: 10px; font-size: 0.8125rem; } .m_info .title { font-weight: 500; font-size: 22px; line-height: 25px; height: 50px; margin-bottom: 42px; font-size: 3rem !important;} .m_info .description { font-weight: 500; height: 20px; margin-bottom: 8px; color: #fff; } .m_info .price { font-weight: 500; margin-bottom: 24px; font-size: 18px; color: #fff; } .m_info.text { margin-top:0px !important } .banner-product { padding: 1rem 20%; } .product-img { height: 24.2rem !important; width: 70% !important; padding-left: 5rem; } #surveyLayer { display: block; position: fixed; top: 50%; left: 50%; width: 900px; height: 450px; z-index: 10; transform: translate(-50%, -50%); } #surveyLayer2 { display: block; position: fixed; top: 40% ; left: 12%; width: 400px; height: 500px; z-index: 10; transform: translate(-50%, -50%); } #surveyLayer3 { display: block; position: fixed; top: 40% ; left: 88%; width: 400px; height: 500px; z-index: 10; transform: translate(-50%, -50%); } @media (max-width: 1024px) { .m-title { display:block; } .m-title em { background: linear-gradient(90deg, #EB7D37 0%, #F05C21 100%); -webkit-background-clip: text; color: transparent; } .w-title { display:none; } .title span:not(.kem) { display: block; } .banner-product { padding: 0; } .product-img { height: 24.2rem !important; width: 90% !important; padding-left: 5rem; } } .enterprise-wrap .enterprise-list img.img_enterprise { width: 100%; height: 100%; } .enterprise-wrap .enterprise-list > li { height: 8rem; width: 9rem; display: flex; align-items: center; } .enterprise-wrap .enterprise-list > li .corp_img { width: 100%; } @media ( max-width : 768px) { .contents { flex-wrap: wrap; display: flex; align-items: center; } .kdx-clip { width: 400px; vertical-align: top; text-align: center; } } @media(max-width: 480px) { .enterprise-wrap .enterprise-list { justify-content: center; } .enterprise-wrap .enterprise-list > li { margin: 1rem 1.5rem; width: 13rem; height: 9rem; align-items: center; display: flex; } .main-clip { width: calc(100% - 4rem) !important; margin-left: 2rem; margin-right: 2rem; } .kdx-clip { width: 100% !important; vertical-align: top; text-align: center; } .list-item .image img { width: 90% !important; } .recent-container { background-color: #fff; width: 100%; max-height: 120% !important; margin: 0 auto; text-align: center; } } @media (max-width: 680px) { .banner .container .banner-slide .slick-dots li.slick-active button { width:2.5rem; } .banner .container .banner-slide .slick-dots{ padding-left: 1rem; } #surveyLayer { top: 50% !important; left: 50% !important; width: 80%; height: auto; float:left; margin: 10px; } #surveyLayer2 { top: 50% !important; left: 50% !important; width: 80%; height: auto; float:right; margin: 10px; } #surveyLayer3 { top: 50% !important; left: 50% !important; width: 80%; height: auto; float:right; margin: 10px; } .video { width: 100%; height: 350px; } .kdx_video { width: 600px; vertical-align: top; text-align: center; } } .slide-wrap{ position: relative; width: calc(100% + 1rem); margin-left: 0rem; /*margin-top: 1rem; */overflow: hidden; flex-wrap: nowrap; justify-content: center; } @media(max-width: 1024px) { .count { flex-wrap: nowrap !important; justify-content: space-between !important; width: 140rem; } .community .community-wrapper { width: 280rem !important; flex-wrap: nowrap; overflow: visible; } } @media(max-width: 480px) { .community .community-wrapper { width: 175rem !important; } } .info-desc strong { background: linear-gradient(90deg, #EB7D37 0%, #F05C21 100%); -webkit-background-clip: text; color: transparent; font-size: 3.6rem; } .info-desc { text-align: center; font-size: 3.6rem !important; font-weight: 700; line-height: 1.047; letter-spacing: 0; letter-spacing: -1; color: #262626; } @media (min-width: 1024px) { .w-title { display: block; } .m-title { display: none; } } @media (max-width: 1024px) { .info-desc { padding-left: 1.6rem; } .m-title { display: block; } .w-title { display: none; } } @media (min-width: 681px) { .maincenterBox, .maindownBox { background: #f2f2f2; width: 1180px; height: 290px; margin: auto; padding: 2rem 0; } .maincenter, .maindown { border:1px solid #d0d0d0; width:970px; height: 250px; margin: auto; } .mainrightBox { position: absolute; display: flex; justify-content: flex-end; width: 135rem; margin: auto; } .mainrightInnerBox { padding: 1rem; background: #f2f2f2; margin-top: -3rem; } .mainright { border: 1px solid #d0d0d0; width: 120px; height: 600px;} .mainright a { width: 100%; height: 100%; } } @media (max-width: 680px) { .maindownBox { background: #f2f2f2; padding: 2rem 0; } .maindown { border: 1px #d0d0d0 solid; width: 300px; height: 250px; margin: auto; } } .ex { color: white; background-color: lightblue; border: 1px black solid; border-radius: 2rem; width : 100%; height: 100%; font-size: 50px; display: flex; align-items: center; justify-content: center; } .dashboard { position: relative; width: 120rem ; height: 50rem; margin: 8.8rem auto 0; padding: 3rem 4rem; background-color: #f8f8f8; border-radius: 1.5rem; border: 1px solid #e5e5e5; box-sizing: border-box; } .dashboard_area_01 { display: flex; } .dashboard_area_01 .tit_area { width: 31rem; } .dashboard_area_01 .tit_area h3 { font-size: 2.4rem; line-height: 3.4rem; font-weight: bold; } .dashboard_area_01 .text_area .name { font-size: 2.4rem; line-height: 3.4rem; padding-bottom: 1rem; } .dashboard_area_01 .text_area .explan { font-size: 1.4rem; line-height: 2.2rem; color: #545454; } .dashboard_area_02 { display: flex; justify-content: space-between; } .dashboard_area_02 .info_area { width: 26.4rem; } .info_area .info_tit { font-size:2.4rem; line-height: 3.2rem; padding:2rem 0; font-weight: 600; } .info_area .info_txt { font-size: 1.4rem; line-height: 2.2rem; color: #545454; padding-top: 1rem; height: 27rem; overflow: hidden; text-overflow: ellipsis; word-break: break-all; vertical-align: top;} .dashboard_area_02 .chart_area_01 { position:absolute; bottom:3rem; right: 44.3rem; width: 38.5rem; height: 32.3rem; border-radius: 1.5rem; background: #fff; border: 1px solid #e5e5e5;} .dashboard_area_02 .chart_area_02 { position:absolute; bottom:3rem; right: 4rem; width: 38.5rem; height: 32.3rem; border-radius: 1.5rem; background: #fff; border: 1px solid #e5e5e5;} .dashboard_btn_set { position: absolute; top: 3rem; right: 4rem; } .dashboard_btn_set > button { display: inlline-block; margin-left:0.6rem; padding:0 2.6rem; font-weight: 500; line-height: 4rem; border-radius: 4rem; background:#fff ; color:#545454; font-size: 1.6rem; border:1px solid #ef6124; } .dashboard_btn_set > button:hover { background:#ef6124; color:#fff; font-size: 1.6rem; border:1px solid #ef6124; } #surveyLayer img { width: 100%; height: 100%; cursor: pointer; border-radius: 5%; } #surveyLayer2 img { width: 100%; height: 100%; cursor: pointer; border-radius: 5%; } #surveyLayer3 img { width: 100%; height: 100%; cursor: pointer; border-radius: 5%; } .mainright img { width: 100%; height: 100%; } .maincenter img { width: 100%; height: 100%; } .maindown img { width: 100%; height: 100%; } .main .category .swiper-wrapper .row-item { margin-right: 0; } .main .category .container { margin: 1.8rem auto; margin-left: 0px; margin-right: 0px;} .main .inquire_2022 .swiper-wrapper .row-item { margin-right: 0; } .main .inquire_2022 .container { margin: 1.8rem auto; } .layer_btn_wrap { width: 100%; height: 40px; color: #fff; padding: 0 10px; text-align: right; box-sizing: border-box; background: rgba(0, 0, 0, 0);} .layer_btn_wrap .btn_today_close { cursor: pointer; } .layer_btn_wrap .btn_close { cursor: pointer; font-size: 23px; font-weight: bold; width: 25px;} .layer_btn_wrap .btn_close:after {content: "\00d7"; } .popup_background{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;opacity:0.5 !important ;z-index:3;} input[name='today'] + label{display: inline-block; width: 25px; height: 25px; border:3px solid #fff; position: relative; border-radius: 50%; background: #fff; } .label_font{font-size: 13px; position: absolute; top: 10; margin-left: 10px;} input[name='today'] {display : none} input[name='today']:checked + label::after{content: '✔'; width: 20px; height: 25px; text-align: center; position: absolute; left: 0; top: 0; font-size: 13px; border-radius: 50%; color: #fff; display: inline-block;} .btn_qna { position: fixed; bottom: 10px; right: 10px; width: 10.8rem; font-size: 1.2rem; height: 3.2rem; border: none; background: linear-gradient(90deg, #EB7D37 0%, #F05C21 100%); border-radius: 0.4rem; line-height: 2.5; color: #fff; opacity: 0; -webkit-transition: opacity 0.25s; -moz-transition: opacity 0.25s; -ms-transition: opacity 0.25s; transition: opacity 0.25s; } .btn_qna.show_on { z-index: 100; opacity: 1; } .btn_qna .ico_comm { display:block; font-size: 1.4rem; height: 3.2rem; border: none; background: linear-gradient(90deg, #EB7D37 0%, #F05C21 100%); border-radius: 0.4rem; line-height: 2.5; color: #fff; } .space { margin-top: 12rem; } @media(max-width: 1920px) { .space { margin-top: 10rem; } } @media(max-width: 1024px) { .space { margin-top: 7rem; } } .combine-container { background-color: #fff; max-width: 1920px; max-height: 380px; margin: 0 auto; text-align: center; } .main-clip { display: inline-block; width: 640px; height: 300px; vertical-align: top; margin-top: 3rem; } .kdx-clip { width: 590; height: 300px; } .banner .container { margin-top: 6rem !important; } .main-title { background: url("/kdx/resources/images/main/bg-main-small.png") no-repeat center center; background-size: 533px 100%; font-size: 3.5rem; font-weight: 700; line-height: 1.333; letter-spacing: 0; color: #fff; width: 100%; height: 100px; text-align: center; padding-top: 20px; } .category { display: flex; align-items: center; justify-content: center; } /* .title- { display: flex; align-items: center; margin: 1rem; font-size: 17px; color: #000; font-style: normal; } */ .category .container { width: 100%; position: relative; text-align: left; max-width: 150rem; margin: 0 auto; margin-top: 17rem; display: flex; flex-direction: column; justify-content: flex-start; } .category .row { display: flex; margin-top: 2rem; max-width: 100vw; width: 100%; overflow: hidden; justify-content: center; } .category .row-item { position: relative; width: 12.6rem; height: 12.6rem; padding: 0 2.5rem; box-sizing: border-box; } .category .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-transition-property: -webkit-transform; transition-property: -webkit-transform; -o-transition-property: transform; transition-property: transform; transition-property: transform, -webkit-transform; -webkit-box-sizing: content-box; box-sizing: content-box; justify-content: center; } .main-contents-wrap { display: inline-block; width: 570px; height: 300px; vertical-align: top; margin-top: 3rem; } .content-title { font-size: 4.2rem; font-weight: bold; margin-bottom: 2rem; text-align: center; } .main-contents-dataroo { display: inline-block; width: 350px; height: 140px; vertical-align: top; box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1); border-radius: 10px; margin-bottom: 2rem; } .main-contents-news { display: inline-block; width: 570px; height: 300px; vertical-align: top; box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1); border-radius: 10px; text-align: justify; } .main-notice-wrap { display: inline-block; width: 350px; height: 300px; vertical-align: top; box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.2); border-radius: 10px; margin-left: 3rem; text-align: justify; } .contents .main-notice-title , .main-news-title{ font-size: 20px; font-weight: bold; text-align: justify; margin: 1rem; justify-content: space-between; } .type { display: flex; align-items: center; margin: 1rem; font-size: 17px; color: #000; font-style: normal; box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1); border-radius: 5px; inline-size: fit-content; padding: 3px; } .dataroo-title { display: flex; align-items: center; justify-content: center; margin-top: 3rem; font-size: 21px; color: #000; font-style: normal; } .news-title { display: flex; align-items: center; margin: 1rem; font-size: 17px; color: #000; font-style: normal; } .card-list { width: 540px; cursor: pointer; } .list-item .image img { width: 180px; height: 80px; object-fit: contain; } .list-item .card-list { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.3rem; } .list-item .card-list .category { display: inline-flex; height: 2.6rem; white-space: nowrap; } .list-item .card-list .update-date { display: contents; text-align: right; white-space: nowrap; } .card-list.col-2 { justify-content: space-between; } .card-list.col-2 .list-item{ margin-left: 0px !important; } .banner-clip { height: 300px; margin-top:1rem; margin:0 auto; } .plus-button { margin-left: 8px; font-size: 20px; color: #000; text-decoration: none; float: inline-end; } .plus-button:hover { color: #007BFF; } .recent-container { background-color: #fff; max-width: 1920px; max-height: 450px; margin: 0 auto; text-align: center; } .popular-data{ display: flex; } .popular-container { background-color: #fff; max-width: 1920px; max-height: 570px; margin: 0 auto; text-align: center; } .popular-wrapper { width: 120rem; margin: auto; justify-content: space-between !important; } .popular-container .popular-title { margin-top: 4.2rem; margin-bottom: 2.2rem; font-size: 3rem; font-weight: 600; } .popular-container .konan-wrap, .popular-container .dable-wrap { width: 580px; } .popular-container .konan-data, .popular-container .dable-data { box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1); border-radius: 10px; border: none; padding: 2rem; } .powered-konan{ font-size: 1.3rem; text-align: end; color: #FFFFFF; margin-top: 2px; } .powered-dable{ font-size: 1.3rem; text-align: end; color: #767676; margin-top: 2px; } .powered-dable span{ color: rgb(86, 133, 241); font-weight: bold; } .search-item{ opacity: 0; transform: translateY(20px); cursor: pointer; } .product-item { opacity: 0; transform: translateY(20px); cursor: pointer; } .popular-slide { padding: 0 1.3rem; height: 50rem; border-radius: 1rem; margin-top: 3rem; } /* .enterprise-box .slick-prev, .enterprise-box .slick-next { position: absolute; top: 0; width: 50px !important; height: 50px; border: none; cursor: pointer; background: #fff; background-size: 30%; background-repeat: no-repeat; background-position: center; z-index: 1; display: absolute; } .enterprise-box .slick-prev { top: 8rem; background-image: url(/kdx/resources/images/btn-category-left.png); } .enterprise-box .slick-next { left: 113rem; top: 8rem; position-area: y-end; background-image: url(/kdx/resources/images/btn-category-right.png); } */ .slick-slider .slick-track, .slick-slider .slick-list { height: 5rem; } .popular-list { border-radius: 2rem; background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)); cursor: pointer; } .main-recent-wrap{ display: inline-block; width: 400px; height: 350px; vertical-align: top; box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1); border-radius: 10px; margin-bottom: 2rem; } .list-item .card-list .title1 { flex: 1; display: inline-block; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; height: 2.5rem; line-height: 2.8rem; margin-bottom: 0.5rem; font-weight: 700; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } @media(max-width: 480px) { .main-contents-wrap { width: 100%; } .main-contents-news{ height: 290px; width: calc(100% - 4rem); margin-left: 2rem; margin-right: 2rem; } .combine-container{ width: 100%; max-height: 40%;} .news-wrapper.flex.swiper-wrapper { width: 100%; height: auto; } .list-item { width: 100%; } .list-item .title1 { font-size: 1.5rem !important; font-weight: bold; margin-bottom: 0.3rem; } .updata-date { display: none !important; } .card-list{ width: calc(100% - 1rem); } .popular-container { background-color: #fff; width: 100%; max-height: 160% !important; margin: 0 auto; text-align: center; } .popular-container .konan-wrap, .popular-container .dable-wrap { width: calc(100% - 4rem); margin-left: 2rem; margin-right: 2rem; } .popular-container .konan-data, .popular-container .dable-data { margin-left: 0px !important; } .popular-container .konan-wrap .title, .popular-container .dable-wrap .title { max-width: 29rem; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;} } @media (max-width: 960px) { .main-contents-wrap { width: 100%; } .main-contents-news{ height: 290px; width: calc(100% - 4rem); margin-left: 2rem; margin-right: 2rem; } .combine-container{ width: 100%; max-height: 40%;} .popular-wrapper { width: 100% !important; margin: auto; } .news-wrapper.flex.swiper-wrapper { width: 100%; height: auto; } .list-item { width: 100%; } .list-item .title1 { font-size: 1.5rem !important; font-weight: bold; margin-bottom: 0.3rem; text-overflow: ellipsis; } .card-list{ width: calc(100% - 1rem); } .popular-container { background-color: #fff; width: 100%; max-height: 160% !important; margin: 0 auto; text-align: center; } .popular-container .konan-wrap, .popular-container .dable-wrap { width: calc(100% - 4rem); margin-left: 2rem; margin-right: 2rem; } .popular-container .konan-data, .popular-container .dable-data { margin-left: 0px !important; } .popular-container .konan-wrap .title, .popular-container .dable-wrap .title { max-width: 29rem; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;} } @media(max-width: 1024px) { .main-contents-wrap { width: 100%; } .main-contents-news{ height: 290px; width: calc(100% - 4rem); margin-left: 2rem; margin-right: 2rem; } .combine-container{ width: 100%; max-height: 200%;} .popular-wrapper { width: 100% !important; margin: auto; } .news-wrapper.flex.swiper-wrapper { width: 100%; height: auto; } .list-item { width: 100%; } .list-item .title1 { font-size: 1.5rem !important; font-weight: bold; margin-bottom: 0.3rem; text-overflow: ellipsis; } .card-list{ width: calc(100% - 1rem); } .popular-container { background-color: #fff; width: 100%; max-height: 160% !important; margin: 0 auto; text-align: center; } .popular-container .konan-wrap, .popular-container .dable-wrap { width: calc(100% - 4rem); margin-left: 2rem; margin-right: 2rem; } .popular-container .konan-data, .popular-container .dable-data { margin-left: 0px !important; } .popular-container .konan-wrap .title, .popular-container .dable-wrap .title { max-width: 29rem; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;} .list-item .image img { width: 90% !important; } } </style> <!-- echarts --> <script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/5.3.2/echarts.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/5.3.3/theme/roma.js"></script> <script src="https://d3js.org/d3.v3.min.js"></script> <script src="https://rawgit.com/jasondavies/d3-cloud/master/build/d3.layout.cloud.js" type="text/JavaScript"></script> <script src="https://kdx.kr/js/caravan.min.js"></script> <script src="https://kdx.kr/js/main.min.js" crossorigin="anonymous" type="module"></script> <link rel="shortcut icon" href="https://kdx.kr/images/favicon.ico"> <title>KDX 한국데이터거래소</title> </head> <body class="main"> <script> var filter = "win16|win32|win64|mac|macintel"; // tizen browser 아니고 if(navigator.userAgent.toLocaleLowerCase().indexOf("tizen") == -1){ //filter 에 없으면 mobile로. //아이패드 os13 이상 mobile로 if ((navigator.platform && filter.indexOf( navigator.platform.toLowerCase() ) < 0) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)) { // // emailConfirm 페이지가 아니면 m으로 이동 if(location.href.indexOf("emailConfirm") == -1 && location.href.indexOf("customvisual") == -1 && location.href.indexOf("tdi/service") == -1 ){ // var cPage = location.href.replace(location.origin,"").replace("","/m"); // location.href = cPage; } } } </script> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TWNH2TX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/sockjs-client/1.1.5/sockjs.min.js"></script> <script src="https://kdx.kr/js/jquery-3.3.1.min.js"></script> <script src="https://kdx.kr/js/slick.min.js"></script> <script src="https://kdx.kr/js/jquery-ui.min.js"></script> <script type="text/javascript" src="https://kdx.kr/js/jquery.maphilight.js"></script> <script type="text/javascript" src="https://kdx.kr/js/easyzoom.js"></script> <link rel="stylesheet" href="https://kdx.kr/css/easyzoom.css"> <script src="https://kdx.kr/js/common.js?dt=202503040137"></script> <script src="https://kdx.kr/js/xValidator.js?dt=202503040137"></script> <script src="https://kdx.kr/js/moment.min.js"></script> <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="https://kdx.kr/css/slick.css"/> <style> #aiChatBot .chat-icon { z-index: 9997; width: 100px; height: 100px; bottom: 13%; right: 5%; background-image: url('https://kdx.kr/resource/kdx_attachment/chatbot_button_img.png'); background-size: cover; position: fixed; cursor: pointer; animation: motion 0.45s linear 0s infinite alternate; } @keyframes motion { 0% {transform: translateY(0);} 100% {transform: translateY(-15px);} } #aiChatBot .chatbot-modal { display: none; position: fixed; z-index: 9999; right: 17px; bottom: 20px; max-height: 736px; width: 400px; background-color: white; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5); border-radius: 10px; overflow: hidden; } #aiChatBot .chatbot-header { padding: 20px; background: #F26E22; background-image: url('https://kdx.kr/resource/kdx_attachment/chatbot-headerbeta.png'); background-size: 230px; background-repeat: no-repeat; background-position: 1rem; height: 60px; } #aiChatBot .chatbot-title { font-size: 13px; } #aiChatBot .chatbot-body { padding: 10px; height: 630px; overflow-y: auto; } #aiChatBot .chatbot-profile{ background-image: url('https://kdx.kr/resource/kdx_attachment/chatbot-profile.png'); background-repeat: no-repeat; background-size: 43px; display: flex; height: 45px; width: 45px; } #aiChatBot .chat-message, .model-message { display: flex; flex-direction: row; width: 100%; flex-wrap: wrap; } #aiChatBot .chat-message2 { display: flex; flex-direction: row; width: 100%; flex-wrap: wrap; justify-content: flex-end; } #aiChatBot .chat-message .message-container-chatBotMessage { background-color: #FFFFFF; border: 2px solid #F26E22; padding: 10px; color: #000; font-size: 14px; border-radius: 10px; border-top-left-radius: 0; display: inline-flex; flex-direction: column; align-items: flex-start; margin-top: 10px; justify-content: flex-start; text-align: left; max-width: 310px; align-self: flex-start; } #aiChatBot .chat-message2 .message-container-userMessage { background-color: #EBFBFF; border: 2px solid #EBFBFF; padding: 10px; font-weight: bold; font-size: 14px; border-radius: 10px; border-top-right-radius: 0; display: inline-flex; flex-direction: column; align-items: flex-end; margin-top: 10px; justify-content: flex-end; max-width: fit-content; align-self: flex-end; } #aiChatBot .model-message .message-container-modelMessage { background-color: #FFFFFF; border: 2px solid #F26E22; padding: 10px; color: #000; font-size: 14px; border-radius: 10px; border-top-left-radius: 0; display: inline; flex-direction: column; align-items: flex-start; margin-top: 10px; justify-content: flex-start; text-align: left; max-width: 310px; align-self: flex-start; } #aiChatBot .data-slide .data-list { background-color: #FFFFFF; border: 2px solid #F26E22; padding: 10px; color: #000; font-size: 14px; border-radius: 10px; margin: 20px 20px 15px 20px; text-align: left; height: 245px; max-width: fit-content; } #aiChatBot .chat-message .button-container-list { border: 1px solid #C9C9C9; font-size: 14px; border-radius: 14px; border-top-left-radius: 0; display: flex; align-items: center; margin-top: 10px; justify-content: flex-end; text-align: center; flex-direction: column; cursor: pointer; overflow: hidden; width: 100%; } #aiChatBot .chat-message .button-container-list2 { border: 1px solid #C9C9C9; font-size: 14px; display: flex; align-items: center; margin-top: 10px; justify-content: flex-end; text-align: center; flex-direction: column; cursor: pointer; overflow: hidden; width: 100%; z-index: 3 !important; } #aiChatBot .chat-message .button-container-list .button-item { padding : 5px; border-bottom: 1px solid #C9C9C9; width: 100%; box-sizing: border-box; display: flex; justify-content: center; align-items: center; text-align: center; } #aiChatBot .chat-message .button-container-list2 .button-item { padding : 5px; border-bottom: 1px solid #C9C9C9; width: 100%; box-sizing: border-box; display: flex; justify-content: center; align-items: center; text-align: center; } #aiChatBot .chat-message .button-container-list .search-item2 { padding : 5px; border-bottom: 1px solid #C9C9C9; width: 100%; box-sizing: border-box; display: flex; align-items: center; text-align: center; } #aiChatBot .chat-message .button-container-list2 .search-item2 { padding : 5px; border-bottom: 1px solid #C9C9C9; width: 100%; box-sizing: border-box; display: flex; align-items: center; text-align: center; } #aiChatBot .chat-message .button-container-list .search-item2 .chatbot-wrap .title { max-width: 30rem; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } #aiChatBot .chat-message .button-container-list2 .search-item2 .chatbot-wrap .title { max-width: 30rem; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } #aiChatBot .chat-message .button-container-list .product-item2 { padding : 5px; border-bottom: 1px solid #C9C9C9; width: 100%; box-sizing: border-box; display: flex; justify-content: left; text-align: left; } #aiChatBot .chat-message .button-container-list2 .product-item2 { padding : 5px; border-bottom: 1px solid #C9C9C9; width: 100%; box-sizing: border-box; display: flex; justify-content: left; text-align: left; } #aiChatBot .chat-message .button-container-list .product-item2 .chatbot-wrap .title { max-width: 34rem; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } #aiChatBot .chat-message .button-container-list2 .product-item2 .chatbot-wrap .title { max-width: 34rem; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } #aiChatBot .chat-message .button-container-list .button-item:hover { background-color: #C9C9C9; } #aiChatBot .chat-message .button-container-list .search-item2:hover { background-color: #C9C9C9; } #aiChatBot .chat-message .button-container-list .product-item2:hover { background-color: #C9C9C9; } #aiChatBot .chat-message .button-container-list2 .button-item:hover { background-color: transparent !important; } #aiChatBot .chat-message .button-container-list2 .search-item2:hover { background-color: #C9C9C9; } #aiChatBot .chat-message .button-container-list2 .product-item2:hover { background-color: #C9C9C9; } #aiChatBot .chat-message .button-container-back { background-color: #FDF9F5; border: 1px solid #A4A4A4; width: 43%; height: 40px; display: inline-block; padding: 8px 20px; font-size: 14px; border-radius: 25px; align-items: center; justify-content: flex-end; text-align: center; cursor: pointer; } #aiChatBot .chat-message .button-container-back2 { background-color: #FDF9F5; border: 1px solid #A4A4A4; width: 34%; height: 40px; display: inline-block; padding: 8px 20px; font-size: 14px; border-radius: 25px; align-items: center; justify-content: flex-end; text-align: center; cursor: pointer; } #chat-moredata { background-color: #FDF9F5; border: 1px solid #A4A4A4; width: 60% !important; height: 40px; display: inline-block; padding: 8px 20px; font-size: 14px; border-radius: 25px; align-items: center; justify-content: flex-end; text-align: center; cursor: pointer; } #aiChatBot .data-slide .chat-link { background-color: #F57B20; border: 1px solid #EBFBFF; color: #FFFFFF; width: 100%; height: 50px; display: flex; margin-top: 10px; padding: 13px 20px; font-size: 14px; border-radius: 15px; cursor: pointer; justify-content: center; } #aiChatBot .button-container-back-wrapper { display: flex; justify-content: space-around; align-items: center; width: 100%; margin-top: 10px; margin-bottom: 15px; } #aiChatBot .ad-image { align-items: center; width: 100%; height: 80px; cursor: pointer; } #aiChatBot .ad-image img { width: 100%; height: 80px; } #aiChatBot .chat-message .button-container-list .button-container-back:hover { background-color: #EA7058; } #aiChatBot .chat-message .button-container-list .button-container-back2:hover { background-color: #EA7058; } #aiChatBot .close-button { float: right; cursor: pointer; font-size: 13px; color: #FFF; } #aiChatBot .chatbot-footer { display: flex; align-items: center; padding: 6px; background-color: #f1f1f1; border-top: 1px solid #ddd; width: 40rem; border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; position: relative; z-index: 5; } #aiChatBot .chatbot-footer .chatbot-menu { width: 23px; height: 30px; background-image: url('https://kdx.kr/resource/main_icons/header_gnb_btn.png'); background-size: contain; background-repeat: no-repeat; background-position: center; border: none; cursor: pointer; margin-right: 5px; margin-left: 5px; } #aiChatBot .chatbot-footer .chatbot-menu:hover { background-color: transparent !important; } #aiChatBot .chatbot-footer input[type="text"] { flex: 1; padding: 5px; border: 1px solid #ccc; border-radius: 5px; font-size: 14px; margin-right: 7px; margin-left: 5px; } #aiChatBot .chatbot-footer .user-send { width: 20px; height: 30px; background-image: url('https://kdx.kr/resource/kdx_attachment/chatbot-send.png'); background-size: contain; background-repeat: no-repeat; background-position: center; border: none; cursor: pointer; margin-right: 5px; } #aiChatBot .chatbot-footer .user-send:hover { background-color: transparent !important; } #aiChatBot .chatbot-footer button:hover { background-color: #f23f02; } #aiChatBot .formattedDate { width: 100%; font-size: 9px; margin-top: 5px; } #aiChatBot .modalOverlay { display: none; position: fixed; z-index: 9998; right: 0px; top: 65px; width: 100%; height: 100%; background-color: white; overflow: hidden; } .flex1{ position: relative; display: contents; } @media (max-width:960px){ #aiChatBot .chat-icon { width: 75px; height: 75px; right: 10px; bottom: 30px; } #aiChatBot .chatbot-modal { display: none; position: fixed; z-index: 9999; right: 0px; top: 80px; width: 100%; height: calc(var(--vh, 1vh) * 100); background-color: white; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5); border-radius: 10px; overflow: hidden; } #aiChatBot .chatbot-body { height: calc(100% - 105px); } #aiChatBot .close-button { font-size: 13px; } } @media (max-width:380px){ #aiChatBot .chatbot-modal { display: none; position: fixed; z-index: 9999; right: 0px; top: 10%; width: 100%; height: calc(var(--vh, 1vh) * 100);background-color: white; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5); border-radius: 10px; overflow: hidden; } } #aiChatBot .data-slide { position: relative; width: 100%; margin: 10px 0; overflow: hidden; } #aiChatBot .data-slide .data-list { display: block; transition: transform 0.5s ease-in-out; } #aiChatBot .data-slide .product-price { display: block; transition: transform 0.5s ease-in-out; } #aiChatBot .slick-prev, .slick-next { position: absolute; top: 10rem; width: 30px; height: 30px; border: none; background-color: transparent; cursor: pointer; background: #fff; border-radius: 100%; background-size: 30%; background-repeat: no-repeat; background-position: center; z-index:1;} #aiChatBot .slick-prev { left: -32px; background-image: url('https://kdx.kr/resources/images/btn-category-left.png'); } #aiChatBot .slick-next { right: -32px; background-image: url('https://kdx.kr/resources/images/btn-category-right.png'); } #aiChatBot .slick-dots li { display: inline-block; margin: 0 5px; } #aiChatBot .slick-dots li button { border: none; background-color: #ddd; border-radius: 50%; width: 10px; height: 10px; cursor: pointer; padding: 0; } #aiChatBot .slick-dots li.slick-active button { background-color: #f26e22; } #aiChatBot::-webkit-scrollbar { width: 4px; } .text-truncate { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; white-space: normal; } .user-send:disabled { background-color: gray; color: white; cursor: not-allowed !important; opacity: 0.6; } </style> </head> <body> <div class="" id="aiChatBot"> <input type="hidden" name="aiModelId" value=""/><!-- AI ID --> <input type="hidden" name="question" value=""/><!-- 질문 --> <section class="content" id="aiChatBotView"> <div class="chat-icon"></div> <div class="modalOverlay" id="modalOverlay"></div> <div class="chatbot-modal" id="chatModal"> <div class="chatbot-header"> <span class="chatbot-title"></span> <span class="close-button">✕</span> </div> <div class="chatbot-body"> <div class="chat-message"> <div class="chatbot-profile"></div> <div class="message-container-chatBotMessage"></div> </div> <div class="chat-message"> <div class="button-container-list"></div> <div class="button-container-list2"></div> </div> <div class="chat-message2"> <div class="message-container-userMessage"></div> </div> <div class="chat-message"> <div class="recommend-data"></div> </div> <div class="chat-message"> <div class="button-container-back"></div> <div class="button-container-back2"></div> </div> <div class="model-message"> <span class="message-container-modelMessage"></span> </div> <div class="data-slide"> <div class="data-list"></div> </div> </div> <div class="chatbot-footer"> <button class="chatbot-menu"></button> <input type="text" id="chatInput" maxlength="50" placeholder="메시지를 입력하세요.(50자 이내)"/> <button class="user-send"></button> </div> </div> </section> </div> <script> $(document).on("sessionLoad", function() { aiChatBotView.init(); }); var aiChatBotView = { pk: "aiChatBotView", pt: $("#aiChatBotView"), isWaitingResponse: false, init: function() { var that = this; that.listner(); }, listner: function() { var that = this; var formattedDate = that.getFormattedDate(); //챗봇화면 오픈 $(".chat-icon").off("click").on("click", function() { $(".chatbot-body").empty(); var chatModal = document.getElementById('chatModal'); var chatBody = document.getElementById('chatBody'); that.setVhUnit(); window.removeEventListener('resize', that.setVhUnit); window.addEventListener('resize', that.setVhUnit); //모바일 오버플로우 비활성화 that.mobileOpen(); //챗봇화면 활성화 $(".chatbot-modal").css("display", "block"); that.getAnswer("00000"); //초기 카테고리 리스트 세팅 that.scrollToBottom(); }); //챗봇 닫기 $(".close-button").off("click").on("click", function() { //챗봇화면 비활성화 $(".chatbot-modal").css("display", "none"); //모바일 오버플로우 활성화 that.mobileClose(); }); //자세히 보기 클릭 $(".chatbot-body").off("click", "#chat-detail").on("click", "#chat-detail", function() { var url = $(this).data("url"); //url //챗봇 비활성화 //$(".chatbot-modal").css("display", "none"); //모바일 오버플로우 활성화 //that.mobileClose(); //화면이동 window.open(url); return; }); $(".chatbot-body").off("click", "#chat-moredata").on("click", "#chat-moredata", function() { var url = $(this).data("url"); //url //챗봇 비활성화 //$(".chatbot-modal").css("display", "none"); //모바일 오버플로우 활성화 //that.mobileClose(); //화면이동 window.open(url); return; }); //이전으로 클릭 $(".chatbot-body").off("click", "#chat-first").on("click", "#chat-first", function() { that.getAnswer("00000"); //초기 카테고리 리스트 세팅 that.scrollToBottom(); }); //광고이미지 클릭 $(".chatbot-body").off("click", "#ad-image").on("click", "#ad-image", function() { var url = $(this).data("url"); //url //챗봇 비활성화 //$(".chatbot-modal").css("display", "none"); //모바일 오버플로우 활성화 //that.mobileClose(); //화면이동 window.open(url); return; }); //상품 보기 클릭 $(".chatbot-body").off("click", "#chat-link").on("click", "#chat-link", function() { var productId = $(this).data("id"); window.open(baseUrl + 'data/view/' + productId); return; }); $(".chatbot-menu").off("click").on("click", function() { var menuContainer = $(".button-container-list2"); if (menuContainer.length > 0 && menuContainer.is(":visible")) { menuContainer.slideUp("slow", function() { menuContainer.parent().remove(); $(".chatbot-menu").prop("disabled", false); }); } else { that.getMenuData("00000"); } }); $(".user-send").off("click").on("click", function() { that.sendMessage(); that.scrollToBottom(); }); that.pt.find("#chatInput").keydown(function (key) { if(key.keyCode == 13){ that.pt.find(".user-send").trigger("click"); } }); }, setVhUnit: function () { var vh = window.innerHeight * 0.01; document.documentElement.style.setProperty('--vh', `px`); }, getAnswer: function(str) { var that = this; var id = str; var ajaxData = { id: id }; $.ajax({ type: 'POST', data: ajaxData, url: baseUrl + "aichatbot/getAnswer", success: function(response) { console.log("=====getAnswer success====="); console.log(response); that.drawAnswer(response.result.data); }, error: function() { console.log("=====getAnswer error====="); alert('답변 불러오는데 실패했습니다.'); } }) }, drawAnswer: function(data) { var that = this; var formattedDate = that.getFormattedDate(); $(".chatbot-body").append('<div class="chat-message"><div class="chatbot-profile"></div><div class="message-container-chatBotMessage">' + data.contents + '</div><div class="formattedDate">' + formattedDate + '</div></div>'); /* var id = data.id; var parent_id = data.parent_id; var level = data.level; var end_yn = data.end_yn; var url = data.url; var img = data.img; var img_url = data.img_url; if (end_yn == "Y") { //마지막 단계인 경우 //신규서비스 //상품추천을 선택한 경우 if(parent_id == "31000" || parent_id == "32000"){ //상품추천 TOP 10 리스트 that.getProduct(id, url); //검색순위를 선택한 경우 }else if(parent_id == "40000"){ //상품추천 TOP 10 리스트 that.getChatRankingList(id, url); } else { that.scrollToBottom(); that.drawAfterAnswer(id, url, img, img_url); } } else if (end_yn == "N") { //리스트 조회 that.getList(id, level, url, img, img_url); } */ }, getMenuData: function(str){ var that = this; var id = str; var ajaxData = { id: id }; $.ajax({ type: 'POST', data: ajaxData, url: baseUrl + "aichatbot/getAnswer", success: function(response) { console.log("=====getAnswer success====="); console.log(response); that.drawMenuData(response.result.data); }, error: function() { console.log("=====getAnswer error====="); alert('답변 불러오는데 실패했습니다.'); } }) }, drawMenuData: function(data) { var that = this; var formattedDate = that.getFormattedDate(); var id = data.id; var parent_id = data.parent_id; var level = data.level; var end_yn = data.end_yn; var url = data.url; var img = data.img; var img_url = data.img_url; if(id == "00000"){ } else{ $(".chatbot-body").append('<div class="chat-message"><div class="chatbot-profile"></div><div class="message-container-chatBotMessage">' + data.contents + '</div><div class="formattedDate">' + formattedDate + '</div></div>'); } console.log(" id : " + id ); console.log(" parent_id : " + parent_id ); console.log(" level : " + level ); console.log(" end_yn : " + end_yn ); console.log(" url : " + url ); console.log(" img : " + img ); if (end_yn == "Y") { //마지막 단계인 경우 //신규서비스 //상품추천을 선택한 경우 if(parent_id == "31000" || parent_id == "32000"){ //상품추천 TOP 10 리스트 that.getProduct(id, url); //검색순위를 선택한 경우 }else if(parent_id == "40000"){ //상품추천 TOP 10 리스트 that.getChatRankingList(id, url); } else { that.scrollToBottom(); that.drawAfterAnswer(id, url, img, img_url); } } else if (end_yn == "N") { //리스트 조회 that.getList(id, level, url, img, img_url); } }, getList: function(str1, str2, str3, str4, str5) { var that = this; var id = str1; var level = str2; var url = str3; var img = str4; var img_url = str5; var ajaxData = { id: id, level : level }; $.ajax({ type: 'POST', url: baseUrl + "aichatbot/getList", data : ajaxData, success: function(response) { console.log("=====getList success====="); console.log(response); that.drawList(response.result.data, id, url, img, img_url); }, error: function() { console.log("=====getList error====="); alert('리스트를 불러오는데 실패했습니다.'); } }); }, drawList: function(data, id, url, img, img_url) { var that = this; var formattedDate = that.getFormattedDate(); var row = ''; for (var i = 0; i < data.length; i++) { var list = data[i]; row += '<div class="button-item" data-type_code="' + list.id + '" data-type_name="' + list.title + '">'; row += ' <table>'; row += ' <tbody>'; row += ' <tr class="text">'; row += ' <td><div class="ico-q"></div></td>'; row += ' <td>'; row += ' <div class="chatbot-wrap flex1 fs">'; row += ' <div class="name" style="font-size: 14px;" data-type="' + list.id + '">' + list.title + '</div>'; row += ' <div class="ico-arrow"></div>'; row += ' </div>'; row += ' </td>'; row += ' </tr>'; row += ' </tbody>'; row += ' </table>'; row += '</div>'; } if (id == "00000") { var buttonContainer = $('<div class="chat-message"><div class="button-container-list2">' + row + '</div></div>'); $(".chatbot-footer").before(buttonContainer); $(".button-container-list2").hide().css({ "position": "absolute", "bottom": $(".chatbot-footer").outerHeight() + "px", "width": "100%", "background": "#fff", "z-index": "1000", "box-shadow": "0 -2px 5px rgba(0, 0, 0, 0.1)", "transform": "translateY(100%)", "transition": "transform 0.3s ease-out" }).show().css("transform", "translateY(0)"); } else { $(".chatbot-body").append('<div class="chat-message"><div class="button-container-list">' + row + '</div></div>'); } that.scrollToBottom(); that.drawAfterAnswer(id, url, img, img_url); $(document).off('click', '.button-item').on('click', '.button-item', function() { var selectedTypeCode = $(this).data('type_code'); var selectedTypeName = $(this).data('type_name'); console.log("selectedTypeCode : " + selectedTypeCode ); $(".chatbot-body").append('<div class="chat-message2"><div class="message-container-userMessage">' + 'Q. ' + selectedTypeName + '</div><div class="formattedDate" style="text-align: right;">' + formattedDate + '</div></div>'); $(".button-container-list2").slideUp("slow", function() { $(this).remove(); }); that.getMenuData(selectedTypeCode); that.scrollToBottom(); }); }, getProduct: function(str1, str2) { var that = this; var id = str1; var url = str2; var ajaxData = { id : id } $.ajax({ type: 'POST', data: ajaxData, url: baseUrl + "aichatbot/getProduct", success: function(response) { console.log("=====getProduct success====="); console.log(response); that.drawProduct(response.result.data, id, url); }, error: function() { console.log("=====getProduct error====="); alert('상품을 불러오는데 실패했습니다.'); } }) }, drawProduct: function(data, str1, str2) { var that = this; var formattedDate = that.getFormattedDate(); var row = ''; var id = str1; var url = str2; for (var i = 0; i < data.length; i++) { var list = data[i]; var rank = i+1; if (rank < 10) { rank = " "+rank; } row += '<div class="product-item2" data-title_code="' + list.id + '" data-title="' + list.title + '">'; row += ' <table>'; row += ' <tbody>'; row += ' <tr class="text">'; row += ' <td><div class="ico-q"></div></td>'; row += ' <td>'; row += ' <div class="chatbot-wrap flex1 fs">'; row += ' <div class="title" style="font-size: 14px; font color="#F26E22;" data-title="' + list.title + '">'+ '<font color="#F26E22">'+ rank +'위.'+'</font>'+' '+ list.title + '</div>'; row += ' <div class="ico-arrow"></div>'; row += ' </div>'; row += ' </td>'; row += ' </tr>'; row += ' </tbody>'; row += ' </table>'; row += '</div>'; } $(".chatbot-body").append('<div class="chat-message"><div class="button-container-list">' + row + '</div><div class="formattedDate">' + formattedDate + '</div></div>'); that.scrollToBottom(); that.drawAfterAnswer(id, url, "", ""); $(document).off('click', '.product-item2').on('click', '.product-item2', function() { var selectedTitleCode = $(this).data('title_code'); var selectedTitleName = $(this).data('title'); //챗봇 비활성화 //$(".chatbot-modal").css("display", "none"); //모바일 오버플로우 활성화 //that.mobileClose(); //화면이동 window.open(baseUrl + "data/view/" +selectedTitleCode, '_blank'); return; }); }, getChatRankingList: function(str1, str2) { var that = this; var id = str1; var url = str2; var ajaxData = { id : id } $.ajax({ type: 'POST', data: ajaxData, url: baseUrl + "aichatbot/getChatRankingList", success: function(response) { console.log("=====getChatRankingList success====="); console.log(response); that.drawRanking(response.result.data, id, url); }, error: function() { console.log("=====getProduct error====="); alert('검색 순위를 불러오는데 실패했습니다.'); } }) }, drawRanking: function(data, str1, str2) { var that = this; var formattedDate = that.getFormattedDate(); var row = ''; var id = str1; var url = str2; for (var i = 0; i < 10; i++) { var list = data[i]; var rank = i+1; if (rank < 10) { rank = " "+rank; } var changeColor = ""; var change = list[1]; if (change.startsWith("+")) { changeColor = "red"; change = change.replace("+", "↑"); }else if (change.startsWith("-")) { changeColor = "blue"; change = change.replace("-", "↓"); }else if(change == "new"){ changeColor = "gray"; }else if(change == "eq"){ changeColor = "gray"; change = change.replace("eq", "-"); } row += '<div class="search-item2" data-title_code="' + id + '" data-title="' + list[0] + '">'; row += ' <table style="width: 100%;">'; row += ' <tbody>'; row += ' <tr class="text">'; row += ' <td><div class="ico-q"></div></td>'; row += ' <td style="width: 80%; text-align: start;">'; row += ' <div class="chatbot-wrap flex1 fs">'; row += ' <div class="title" style="font-size: 14px;" data-title="' + list[0] + '">'; row += ' <font color="#F26E22">' + rank + '위.</font> ' + list[0]; row += ' </div>'; row += ' <div class="ico-arrow"></div>'; row += ' </div>'; row += ' </td>'; row += ' <td style="width: 20%; text-align: right;">'; row += ' <span style="font-size: 13px; color: ' + changeColor + ';">' + change + '</span>'; row += ' </td>'; row += ' </tr>'; row += ' </tbody>'; row += ' </table>'; row += '</div>'; } $(".chatbot-body").append('<div class="chat-message"><div class="button-container-list">' + row + '</div><div class="formattedDate">' + formattedDate + '</div></div>'); that.scrollToBottom(); that.drawAfterAnswer(id, url, "", ""); $(document).off('click', '.search-item2').on('click', '.search-item2', function() { var selectedTitleCode = $(this).data('title_code'); var selectedTitleName = $(this).data('title'); //모바일 오버플로우 활성화 that.mobileClose(); if(selectedTitleCode == "41000"){ window.open(baseUrl + "search?search_keyword=" +selectedTitleName, '_blank'); return; }else if(selectedTitleCode == "42000"){ var url = "https://www.google.co.kr/search?q="+selectedTitleName+" site:mk.co.kr"; window.open(url, '_blank'); return; } }); }, drawAfterAnswer: function(str1, str2, str3, str4) { var that = this; var formattedDate = that.getFormattedDate(); var id = str1; var url = str2; var img = str3; var img_url = str4; // URL 있을 경우 if(url != "") { $(".chatbot-body").append( '<div class="chat-message">' + '<div class="button-container-back-wrapper">' + '<div class="button-container-back" id="chat-detail" data-url="'+ url +'" data-id="'+ id +'">자세히 보기</div>' + '<div class="button-container-back" id="chat-first">처음으로</div>' + '</div>' + '</div>' ); that.scrollToBottom(); } /* // IMG 있을 경우 if(img != "") { //광고 이미지 삽입 $(".chatbot-body").append( '<div class="ad-image" id="ad-image" data-url="'+ img_url +'">' + '<img src="' + img + '" alt="광고 이미지" />' + '</div>' ); that.scrollToBottom(); } */ }, sendMessage: function() { var that = this; var formattedDate = that.getFormattedDate(); var content = $('#chatInput').val().trim(); $('input[name="question"]').val(content); var ajaxData = { question : content }; if (content == "") { alert("메세지를 입력해주세요"); return; } if (that.isWaitingResponse) { return; } function ReplaceStr(content) { content = content.replace(/'/g, " \\'"); content = content.replace(/&/g, "&"); content = content.replace(/\"/g, """); content = content.replace(/</g, "<"); content = content.replace(/>/g, ">"); return content; } var fliterContent = ReplaceStr(content); $(".chatbot-body").append( '<div class="chat-message2">' + '<div class="message-container-userMessage">' + fliterContent + '</div>' + '<div class="formattedDate" style="text-align: right;">' + formattedDate + '</div>' + '</div>' ); var loadingElement = '<div class="loading-message" id="loadingMessage" style="text-align: center;"><img src="/resources/images/loader.gif" alt="Loading..." style="width: 50px; height: 50px;" /></div>'; $(".chatbot-body").append(loadingElement); that.isWaitingResponse = true; $('.user-send').prop('disabled', true); $.ajax({ type: 'POST', data: $.param(ajaxData), contentType: 'application/x-www-form-urlencoded', url: baseUrl + "aichatbot/sendMessage", success: function(response) { console.log("=====sendMessage success====="); console.log(response); $('#loadingMessage').remove(); that.drawSlideData(response); that.isWaitingResponse = false; $('.user-send').prop('disabled', false); }, error: function() { console.log("=====sendMessage error====="); $('#loadingMessage').remove(); alert('모델 호출에 실패했습니다.'); } }); $('#chatInput').val(''); }, drawSlideData: function(response){ var that = this; var formattedDate = that.getFormattedDate(); var intentrow = ""; var row = ""; if ($(".data-slide .data-list").hasClass('slick-initialized') && response.result.length == 0) { if (response.result && response.result.length > 0 && response.result[0].text) { intentrow += '<div class="model-message">' + '<div class="message-container-modelMessage" style="color: #F26E22; font-size: 16px;">' + response.result[0].text + '</div></div>'; intentrow += '<div class="formattedDate">' + formattedDate + '</div>'; $(".chatbot-body").append(intentrow); } that.scrollToBottom(); return; } if ($(".data-slide .data-list").hasClass('slick-initialized')) { $(".data-slide .data-list").slick('unslick'); } if (response.result && response.result.length > 0 && response.result[0].text) { intentrow += '<div class="model-message"><div class="chatbot-profile"></div><div class="message-container-modelMessage" style="font-size: 14px;">' + response.result[0].text + '</div></div>'; } if (response.result && response.result.length > 0) { for (var i = 0; i < response.result.length; i++) { var company = response.result[i].comp; var title = response.result[i].title; var description = response.result[i].description; var price = response.result[i].price; var productId = response.result[i].product_id; var hasValidData = ""; if (!productId) { continue; } var priceImageUrl = (price == 0) ? 'https://kdx.kr/resource/kdx_attachment/chatbot-price1.png' : 'https://kdx.kr/resource/kdx_attachment/chatbot-price2.png'; row += '<div class="data-slide" style="height: fit-content;" data-title="' + title + '" data-id="' + productId + '">'; row += ' <table style="width: 100%;">'; row += ' <tbody>'; row += ' <tr class="text">'; row += ' <td><div class="ico-q"></div></td>'; row += ' <td>'; row += ' <div class="company" style="color: #000; font-size: 16px; font-weight: bold; margin-bottom: 1rem;">' + company + '</div>'; row += ' <div class="chatbot-wrap flex1 fs" style="display: flex; align-items: center; padding-bottom: 20px">'; row += ' <div class="price product-price" style="background-image: url(' + priceImageUrl + '); background-size: cover; width: 47px; height: 30px; margin-right: 10px;"></div>'; row += ' <div class="title product-title" style="color: #000; height: 40px; font-weight: bold; font-size: 14px; word-break: keep-all; max-width: 240px; align-content: center;">' + title + '</div>'; row += ' </div>'; row += ' <div class="description text-truncate" style="color: #000; font-size: 12px; height: 55px;">' + description + '</div>'; row += ' <div class="chat-link" id="chat-link" data-url="'+ 'https://kdx.kr/data/view/' +'" data-id="'+ productId +'">' + '데이터 확인하기' + '</div>'; row += ' <div class="ico-arrow"></div>'; row += ' </td>'; row += ' </tr>'; row += ' </tbody>'; row += ' </table>'; row += '</div>'; hasValidData = true; } if (hasValidData) { $(".chatbot-body").append(intentrow); $(".chatbot-body").append('<div class="data-slide"><div class="data-list">' + row + '</div></div>'); $(".chatbot-body").append('<div class="chat-message">' + '<div class="button-container-back-wrapper">' + '<div class="button-container-back" id="chat-moredata" data-url="' + baseUrl + 'search/chatbot-list?search_keyword=' + encodeURIComponent($('input[name="question"]').val()) + '">더 많은 데이터 확인하기</div>' + '<div class="button-container-back2" id="chat-first">처음으로</div>' + '</div>' + '</div>'); } else { $(".chatbot-body").append(intentrow); $(".chatbot-body").append('</div><div class="formattedDate">' + formattedDate + '</div></div>'); } $(".data-slide .data-list").slick({ arrows: true, dots: true, infinite: true, speed: 150, autoplaySpeed:5000, slidesToShow: 1, adaptiveHeight: true, centerMode: true, centerPadding: '0px', draggable : true, prevArrow: '<button type="button" class="slick-prev"></button>', nextArrow: '<button type="button" class="slick-next"></button>' }); } else { if (intentrow != "") { $(".chatbot-body").append(intentrow); } } that.scrollToBottom(); }, getFormattedDate: function() { var that = this; var currentDate = new Date(); var hours = currentDate.getHours(); var minutes = ('0' + currentDate.getMinutes()).slice(-2); var period = hours >= 12 ? '오후' : '오전'; hours = hours % 12 || 12; var formattedDate = period + ' ' + hours + ':' + minutes; return period + ' ' + hours + ':' + minutes; }, scrollToBottom: function() { var chatbotBody = $(".chatbot-body"); chatbotBody.animate({ scrollTop: chatbotBody.prop("scrollHeight") }, 400); }, mobileOpen: function() { var that = this; //모바일 오버플로우 비활성화 if(navigator.userAgent.toLocaleLowerCase().indexOf("tizen") == -1) { if ((navigator.platform && filter.indexOf( navigator.platform.toLowerCase() ) < 0) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1) || (navigator.platform === 'iPhone' && navigator.maxTouchPoints > 1)) { if(location.href.indexOf("emailConfirm") == -1 && location.href.indexOf("customvisual") == -1 && location.href.indexOf("tdi/service") == -1 ) { $(".modalOverlay").css("display", "block"); $("html, body").css({"overflow-x": "hidden", "overflow-y": "hidden"}); } } } }, mobileClose: function() { var that = this; //모바일 오버플로우 활성화 if(navigator.userAgent.toLocaleLowerCase().indexOf("tizen") == -1) { if ((navigator.platform && filter.indexOf( navigator.platform.toLowerCase() ) < 0) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1) || (navigator.platform === 'iPhone' && navigator.maxTouchPoints > 1)) { if(location.href.indexOf("emailConfirm") == -1 && location.href.indexOf("customvisual") == -1 && location.href.indexOf("tdi/service") == -1 ) { $(".modalOverlay").css("display", "none"); $("html, body").css({"overflow-x": "hidden", "overflow-y": "auto"}); } } } } } </script> </body> </html> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="naver-site-verification" content="d834d0693e16e53af10975015cdedf100cd15728" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1,minimum-scale=1, maximum-scale=2, user-scalable=no, height=device-height"/> <link rel="stylesheet" href="https://kdx.kr/css/style.css?dt=202503040137"> <link rel="shortcut icon" href="https://kdx.kr/images/favicon.ico"> <style> @media (max-width: 680px) { .side-nav-wrap.expand{ overflow-y: auto; background-color: #fff; } .side-nav-wrap .inner{ height: calc(100% + 30rem); } } .header #gnb { display: none; } .header .gnb-btn{ background-image: url('https://kdx.kr/resource/main_icons/header_gnb_btn.png'); width: 4rem; height: 4rem; margin-left: 4rem; border: 0rem; background-color: #ffffff; } .main-search-wrap .main-inner .main-search { position: relative; width: 63rem; margin-left: 4rem; } .main-search-wrap .main-inner .main-search input { width: 100%; height: 5rem; background-color: #fff; /* #fff */ padding: 1.5rem 4rem 1.5rem 1.6rem; font-size: 1.4rem; font-weight: 400; line-height: 1.428; letter-spacing: 0; color: #878787; border-radius: 3rem; border: 2px solid #878787; } .main-search-wrap .main-inner .main-search .btn-search { position: absolute; right: 1.4rem; top: 1.5rem; } .main-search-wrap .main-inner .main-search-title { display: flex; align-items: center; margin-top: 2rem; font-size: 2rem; font-weight: 700; line-height: 1; letter-spacing: 0; color: #003458; /* #fff */ } .main-search-wrap .main-inner .main-search-title em { display: inline-block; margin-left: 2rem; font-style: normal; font-size: 1.4rem; font-weight: 400; line-height: 2rem; letter-spacing: 0; color: #003458; /* #fff */ } @media(max-width: 768px){ .main-search-wrap, .gnb-btn { display: none; } } .header .gnb-menu-item .maekyungKeywords { background: linear-gradient(90deg, #EB7D37 0%, #F05C21 100%); color: transparent !important; -webkit-background-clip: text; } .side-nav-wrap .side-menu-list li.maekyungKeywords a { background: linear-gradient(90deg, #EB7D37 0%, #F05C21 100%); color: transparent !important; -webkit-background-clip: text; } #gnb { display: none; position: absolute; width: 100%; background-color: #fff; z-index: 1000; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } #gnb:before { display: block; content:""; position: absolute; top: 0; left: 0; width: 100%; background: #ffffff; -webkit-transition: all 0.2s; } .inbox { display: flex; flex-direction: column; padding: 20px; background-color: #fff; border-top: 1px solid #ddd; place-items: center; text-align: center; } .gnb-menu { order: -1; position: sticky; list-style: none; margin: 0; padding: 0; } .gnb-menu-item { display: inline-block; position: relative; padding: 10px 15px; cursor: pointer; } .gnb-menu-item a { text-decoration: none; color: #000; font-weight: bold; } .gnb-menu-item li:hover { background-color: #f4f4f4; } .gnb-menu-item:first-child { margin-top: 0; } .sub_menu { list-style: none; margin: 10px 0 0; padding: 0; } .sub_menu li { padding: 3px 15px; margin-top: 5px; } .sub_menu li:hover { background-color: transparent !important; font-weight: bold; } .sub_menu li a { text-decoration: none; color: #666; font-weight: normal; font-size: 15px;} .sub_menu li a:hover { font-weight: bold; } </style> </head> <!-- header --> <header class="header"> <div class="snb_back"> </div> <!-- //search layer --> <div class="container sessionclr"> <!-- logo --> <h1 class="logo"> <a href="https://kdx.kr/main" onclick="return rmSession();"> <span class="blind">KDX 한국데이터거래소</span></a> </h1> <!-- //logo --> <!-- gnb --> <button type="button" class="gnb-btn"></button> <!-- searchBar --> <div class="main-search-wrap"> <div class="main-inner"> <div class="main-search"> <input type="text" placeholder="무엇을 찾으시나요?" /> <div class="btn-search"> <span class="blind">검색</span> </div> </div> </div> </div> <!-- //gnb --> <!-- search login --> <div class="area-util"> <!-- 로그인 전--> <a href="https://kdx.kr/login" onclick="return rmSession('login');" class="link-login">로그인</a> <!-- //로그인 전--> <!-- 로그인 후--> <!-- //로그인 후--> </div> <!-- //search login --> <!-- mobile btn --> <div class="btn-nav-open"> <span class="blind">메뉴 열기</span> </div> <!-- //mobile btn --> <!-- mobile nav --> <div class="side-nav-wrap"> <div class="inner"> <div class="btn-nav-close"> <span class="blind">메뉴 닫기</span> </div> <a href="https://kdx.kr/main" onclick="return rmSession();" class="link-home">홈으로</a> <ul class="side-menu-list"> <li><a href="https://kdx.kr/data/data">데이터 마켓</a></li> <li><a href="https://kdx.kr/ai/main">AI 비즈니스</a></li> <li><a href="https://kdx.kr/service/platform">서비스</a></li> <li class="oldnews"><a href="https://kdx.kr/mk/oldnews/main">매경늬우스</a></li> <li class="maekyungKeywords"><a href="https://kdx.kr/keyword/view">매경키워드</a></li> <li><a href="https://kdx.kr/community">커뮤니티</a></li> <li><a href="https://kdx.kr/seller/main">기업회원 사이트</a></li> </ul> <form> <div class="side-search"> <input type="text" placeholder="검색" /> <div class="btn-search"> <span class="blind">검색</span> </div> </div> </form> <!-- 로그인 전 --> <a href="https://kdx.kr/login" onclick="return rmSession('login');" class="link">로그인</a> <a href="https://kdx.kr/register/type" class="link">회원가입</a> <!-- //로그인 전--> <!-- 로그인 후--> <!-- //로그인 후--> </div> </div> <!-- // mobile nav --> </div> <div class="gnb" id="gnb"> <div class="inbox"> <ul class="gnb-menu"> <li class="gnb-menu-item"><a href="https://kdx.kr/data/data" >데이터 마켓</a> <ul class="sub_menu"> <li class="news"><a href="https://kdx.kr/data/data-all" class="link" onclick="return rmSessCion();">전체 데이터</a></li> <li class="news"><a href="https://kdx.kr/data/popular" class="link" onclick="return rmSessCion();">인기 데이터</a></li> <li class="story"><a href="https://kdx.kr/data/report" class="link" onclick="return rmSessCion();">리포트 데이터</a></li> <li class="story"><a href="https://kdx.kr/data/corp/list" class="link" onclick="return rmSessCion();">기업별 데이터</a></li> </ul> </li> <li class="gnb-menu-item"><a href="https://kdx.kr/ai/main">AI 비즈니스</a> <ul class="sub_menu"> <li class="news"><a href="https://kdx.kr/ai/data/main" class="link" onclick="return rmSessCion();">AI 데이터</a></li> <!-- <li class="news"><a href="#" class="link" onclick="alert('작업중인 페이지입니다.');">AI 데이터</a></li> --> <li class="story"><a href="https://kdx.kr/ai/learning/list" class="link" onclick="return rmSessCion();">AI 학습용 데이터</a></li> <li class="story"><a href="https://kdx.kr/ai/video/list" class="link" onclick="return rmSessCion();">MBN 동영상</a></li> <li class="story"><a href="https://kdx.kr/labeller/datasetList" class="link" onclick="return rmSessCion();">KDX AI Tool</a></li> <!-- <li class="story"><a href="http://admin.xiilab.com:38082/kdx-aiva/login" class="link" target="_blank" onclick="return rmSessCion();">KDX-AIVA</a></li> --> <!-- <li class="story"><a class="server" href="http://admin.xiilab.com:38082/kdx-aiva/login" class="link" target="_blank" onclick="serverChk();">KDX-AIVA</a></li> --> </ul> </li> <li class="gnb-menu-item"><a href="https://kdx.kr/service/platform">서비스</a> <ul class="sub_menu"> <li class="news"><a href="https://kdx.kr/service/platform" class="link" onclick="return rmSessCion();">플랫폼 서비스</a></li> <li class="story"><a href="https://kdx.kr/mk/oldnews/main" class="link" onclick="return rmSessCion();">매경늬우스</a></li> </ul> </li> <li class="gnb-menu-item"><a href="https://kdx.kr/community">커뮤니티</a> <ul class="sub_menu"> <li class="news"><a href="https://kdx.kr/introduce" class="link" onclick="return rmSessCion();">KDX 소개</a></li> <li class="story"><a href="https://kdx.kr/knews/list" class="link" onclick="return rmSessCion();">KDX 소식</a></li> <li class="story"><a href="https://kdx.kr/news/list" class="link" onclick="return rmSessCion();">데이터루</a></li> <li class="story"><a href="https://kdx.kr/story/list" class="link" onclick="return rmSessCion();">데이터 스토리</a></li> <li class="story"><a href="https://kdx.kr/faq" class="link" onclick="return rmSessCion();">자주 묻는 질문</a></li> </ul> </li> <li class="gnb-menu-item"><a href="https://kdx.kr/seller/main">기업회원 사이트</a></li> <li class="gnb-menu-item"><a href="https://kdx.kr/keyword/view" class="maekyungKeywords" onclick="return rmSessCion();">매경키워드</a></li> </ul> </div> </div> </header> <!-- //header --> <div id="progressBar" class="hide"> <div class="progress_back"> <div class="progress_value"></div> </div> </div> <script src="https://kdx.kr/js/common2.js"></script> <script> $(document).on('click','.sessionclr',function(){ sessionStorage.clear(); }); $(document).on('click','.logo',function(){ sessionStorage.clear(); }); $(function(){ "use strict"; window.baseUrl = ''+'/'; window.adminUrl = ''+'/admin/'; window.ymdhms = "YYYY-MM-DD HH:mm:ss"; window.ymd = "YYYY.MM.DD"; window.ymdHHMM = "YYYY.MM.DD HH:mm"; window.locale = "en"; $.ajaxSetup({ cache:false, // crossDomain:true, crossOrigin: true, contentType: "application/x-www-form-urlencoded; charset=utf-8", xhrFields: { withCredentials: true }, type:"POST", dataType:"json", beforeSend:function(xhr){ xhr.setRequestHeader("Authorization", "kdx2023checker"); var target = "body"; var h = $(target).outerHeight()/2; var w = $(target).outerWidth()/2; var s = 50 /2; var scroll = $(target).scrollTop(); var top = h-s, left = w-s; if(top <= 0) top = 0; else if(left <= 0) left = 0; var lc = " <div id='loader' style=''> " lc += "<div class='donutSpinner'></div>" lc += " </div> "; $(target).append(lc); }, complete:function(){ $("body").find("#loader").remove(); }, error: function(jqXHR, exception) { if (jqXHR.status === 0) { console.log('Not connect.\n Verify Network.'); } else if (jqXHR.status == 400) { console.log('Server understood the request, but request content was invalid. [400]'); } else if (jqXHR.status == 401) { console.log('Unauthorized access. [401]'); } else if (jqXHR.status == 403) { console.log('Forbidden resource can not be accessed. [403]'); } else if (jqXHR.status == 404) { console.log('Requested page not found. [404]'); } else if (jqXHR.status == 500) { console.log('Internal server error. [500]'); } else if (jqXHR.status == 503) { console.log('Service unavailable. [503]'); } else if (exception === 'parsererror') { console.log('Requested JSON parse failed. [Failed]'); } else if (exception === 'timeout') { console.log('Time out error. [Timeout]'); } else if (exception === 'abort') { console.log('Ajax request aborted. [Aborted]'); } else { console.log('Uncaught Error.n' + jqXHR.responseText); } $("body").find("#loader").remove(); } }); jQuery.ajaxSettings.traditional = true; function getContext(){ $.ajax({ url: baseUrl + "auth/getContext", data : {}, success : function(res){ console.log("=====getContext=====", res); $("#gnb .account").removeClass("hide"); if(res.result.code == "200"){ var userData = res.result.data; window.userInfo = userData; if(userData != null){ var uc = localStorage.getItem("_user_chk"); if(uc == null){ logout(); } console.log(uc); //logout(); } if(userData && window.location.href.indexOf("dormancy") == -1){ getDormancyYn(userData.user_id); //return; } // 관리자일 경우 if(userData.status == "admin"){ /* location.href = baseUrl + "admin/dashboard"; return; */ } //$("#gnb .account > li[data-login='true']").removeClass("hide"); $(document).trigger("sessionLoad"); // 마스터인데 관심카테고리 설정되어있지 않을때 /* if(userData.created_date != null && userData.interest_category == null && (userData.level_cd == "020100" || userData.level_cd == "020200")){ alert("관심데이터가 지정되어있지 않습니다.\n관심데이터 설정 후 이용해주시기 바랍니다."); location.href = baseUrl + "mypage/profile"; } */ } else { //$("#gnb .account > li[data-login='false']").removeClass("hide"); $(document).trigger("sessionLoad"); } } }); } function getDormancyYn(userId){ $.ajax({ url: baseUrl + "dormancy/getDormancyYn", data : {user_id : userId}, success : function(res){ console.log("=====getDormancyYn=====", res); if(res.result.code == "201"){ location.href = baseUrl + "dormancy"; return; } } }); } window.selectOption = function(target, value){ $(target + " > option[value='"+value+"']").prop("selected", true).attr("selected", true); $(target).parent().find(".select_styled").html($(target + " > option[value='"+value+"']").text()); } window.redrawSelect = function(target){ var option = "option"; // var option = "option:not([disabled])"; var $this = $(target), numberOfOptions = $(target).children(option).length; var $styledSelect = $this.next("div.select_styled"); $this.siblings("div.select_options").remove(); $styledSelect.html(""); var firstOptionDataCategory = $this.children(option).eq(0).data("category"); if($(this).children("option:selected").length > 0){ $styledSelect.text($this.children("option:selected").eq(0).text()).attr("data-category", firstOptionDataCategory); } else if($(this).children("option:disabled").length > 0){ $styledSelect.text($this.children("option:disabled").eq(0).text()).attr("data-category", firstOptionDataCategory); } else { $styledSelect.text($this.children(option).eq(0).text()).attr("data-category", firstOptionDataCategory); } if($this.children(option).eq(0).hasClass("placeholder")){ $styledSelect.css("color", "#999") } var $list = $("<ul />", { "class": "select_options" }).insertAfter($styledSelect); for (var i = 0; i < numberOfOptions; i++) { $("<li />", { "text": $this.children("option:not([disabled])").eq(i).text(), "rel": $this.children("option:not([disabled])").eq(i).val(), "class": $this.children("option:not([disabled])").eq(i).attr("class"), "data-category": $this.children("option:not([disabled])").eq(i).data("category"), }).appendTo($list); } var $listItems = $list.children("li"); $styledSelect.off("click").on("click", function(e) { e.stopPropagation(); $("div.select_styled.active").not(this).each(function(){ $(this).removeClass("active").next("ul.select_options").hide(); }); $(this).toggleClass("active").next("ul.select_options").toggle(); }); $listItems.off("click").on("click", function(e) { e.stopPropagation(); $styledSelect.text($(this).text()).removeClass("active").attr("data-category", $(this).data("category")); $this.val($(this).attr("rel")).trigger("change"); $list.hide(); }); $(document).off("click").on("click", function() { $styledSelect.removeClass("active"); $list.hide(); $(".select_options").hide(); $(".note-btn-group.open").removeClass("open"); $(".note-btn-group .note-btn.active").removeClass("active"); }); } window.redrawCodeSelect = function(target){ var option = "option"; // var option = "option:not([disabled])"; var $this = $(target), numberOfOptions = $(target).children(option).length; $this.addClass('select-hidden'); $this.wrap('<div class="select"></div>'); $this.after('<div class="select-styled"></div>'); var $styledSelect = $this.next("div.select-styled"); $this.siblings("div.select-options").remove(); $styledSelect.html(""); var firstOptionDataCategory = $this.children(option).eq(0).data("code"); if($(this).children("option:selected").length > 0){ $styledSelect.text($this.children("option:selected").eq(0).text()).attr("data-code", firstOptionDataCategory); } else if($(this).children("option:disabled").length > 0){ $styledSelect.text($this.children("option:disabled").eq(0).text()).attr("data-code", firstOptionDataCategory); } else { $styledSelect.text($this.children(option).eq(0).text()).attr("data-code", firstOptionDataCategory); } if($this.children(option).eq(0).hasClass("placeholder")){ $styledSelect.css("color", "#999") } var $list = $("<ul />", { "class": "select-options" }).insertAfter($styledSelect); for (var i = 0; i < numberOfOptions; i++) { $("<li />", { "text": $this.children("option:not([disabled])").eq(i).text(), "rel": $this.children("option:not([disabled])").eq(i).val(), "class": $this.children("option:not([disabled])").eq(i).attr("class"), "data-code": $this.children("option:not([disabled])").eq(i).data("code"), }).appendTo($list); if ($this.children('option').eq(i).is(':selected')){ $('li[rel="' + $this.children('option').eq(i).val() + '"]').addClass('is-selected'); $styledSelect.css("color", "#767676"); $styledSelect.text($this.children('option').eq(i).text()); } } var $listItems = $list.children("li"); $styledSelect.off("click").on("click", function(e) { e.stopPropagation(); $("div.select-styled.active").not(this).each(function(){ $(this).removeClass("active").next("ul.select-options").hide(); }); $(this).toggleClass("active").next("ul.select-options").toggle(); }); $listItems.off("click").on("click", function(e) { e.stopPropagation(); $styledSelect.text($(this).text()).removeClass("active").attr("data-code", $(this).data("code")); $this.val($(this).attr("rel")).trigger("change"); $list.hide(); var code = $(this).data("code"); if(code == "newcode"){ $(".code_name").removeClass("hide"); }else{ $(".code_name").addClass("hide"); } var val = $(this).attr("rel"); if(val != 'hide'){ if(val == ""){ $this.parent(".select").css("display","none"); $("input[name='email_domain']").css("display","block"); } else { $styledSelect.css("color", "#767676"); } } else { $styledSelect.css("color", "##bfbfbf"); } // console.log($this.val()); if($(this).hasClass('is-selected') && $listItems.hasClass('is-selected') == true){ $listItems.removeClass('is-selected') } else{ $listItems.removeClass('is-selected') $(this).addClass('is-selected') } }); $(document).off("click").on("click", function() { $styledSelect.removeClass("active"); $list.hide(); $(".select-options").hide(); $(".note-btn-group.open").removeClass("open"); $(".note-btn-group .note-btn.active").removeClass("active"); }); } window.mvLogin = function(){ sessionStorage.setItem("kdx_login_referrer_page", location.href); location.href = baseUrl + "login"; } window.logout = function(){ //logoutAdego(); //logoutMk(); deleteCookie("kdxAL"); localStorage.removeItem("_user_chk"); var expireDate = new Date(); expireDate.setDate(expireDate.getDate() - 1); document.cookie = "_user_nameless=; expires=" + expireDate.toGMTString() + "; domain=kdx.kr; path=/"; $.ajax({ url : baseUrl + "auth/logout", data : {}, type : "POST", success : function(res){ console.log("=====logout=====", res); if(location.href.indexOf("mypage") > -1) location.href = baseUrl + "main"; else if(location.href.indexOf("Callback") > -1) location.href = baseUrl + "main"; else location.reload(); } }); } getContext(); getMessageList(); var sock = new SockJS(baseUrl+"echo/"); sock.onmessage = onMessage; // 서버로부터 메시지를 받았을 때 function onMessage(msg) { var data = msg.data; drawNoticeCnt(data); } function logoutAdego(){ $.ajax({ url: baseUrl+"auth/logoutAdego", contentType:'application/json', type : 'post', dataType : 'json', success : function(res){ console.log("auth/logoutAdego",res); if(res.result.code == "200"){ } } }); }; function getMessageList(){ var ajaxData = { page_num : 0, page_size: 10, status : "active" }; $.ajax({ url: baseUrl + "message/getMessageList", data : ajaxData, success : function(res){ console.log("=====getMessageList=====", res); if(res.result.code == "200"){ drawMessage(res.result.data); drawNoticeCnt(res.messageVO.total_size); } else { } } }); } function drawNoticeCnt(data){ if(data==0 || data=='0'){ $(".notice_cnt").addClass("hide"); return; } $(".notice_cnt").removeClass("hide"); if(data.length>1){ $(".notice_cnt").html("10+"); }else{ $(".notice_cnt").html(data); } } function updateMessageStatus(id){ console.log("id",id) var ajaxData = { message_id : id, check_date : "check", status : "inactive" }; $.ajax({ url: baseUrl + "message/updateMessage", data : ajaxData, success : function(res){ console.log("=====updateMessage=====", res); if(res.result.code == "200"){ } else { } } }); } function drawMessage(result){ var row = ""; var target = $(".notice-list .list"); target.html(""); var res = result; for(var i=0, len=res.length; i<len; i++){ var rdata = res[i]; row +=" <li data-id='"+rdata.message_id+"' data-url='"+rdata.url+"'>" row +=" <span class='text'>"+rdata.notice_contents+"</span>" row +=" <div class='date'>"+displayedAt(rdata.created_date)+"</div>" row +=" </li>" } if(res.length==0){ row += "<p class='no-notice'>새로운 알림이 없습니다.</p>" } target.html(row); $(".notice-list .list li").off("click").on("click", function() { var id = $(this).data("id"); var url = $(this).data("url"); if(typeof url != 'undefined'){ updateMessageStatus(id); location.href=baseUrl + url; } }); } function displayedAt(value) { var today = new Date(); var timeValue = new Date(value); var betweenTime = Math.floor((today.getTime() - timeValue.getTime()) / 1000 / 60); if (betweenTime < 1) return '방금전'; if (betweenTime < 60) { return betweenTime+'분 전'; } var betweenTimeHour = Math.floor(betweenTime / 60); if (betweenTimeHour < 24) { return betweenTimeHour+'시간 전'; } var betweenTimeDay = Math.floor(betweenTime / 60 / 24); if (betweenTimeDay < 3) { return betweenTimeDay+'일 전'; } var year = moment(value).format("YYYY")+"년 "; var month = moment(value).format("MM")+"월 "; var day = moment(value).format("DD")+"일"; var date = year + month + day; return date; } function gnbSearch(type){ if(type=="m"){ var searchTxt = $(".side-search input").val().replace(/[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@#$%&\\\=\(\'\"]/g, ''); }else{ var searchTxt = $(".main-search input").val().replace(/[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@#$%&\\\=\(\'\"]/g, ''); } if(searchTxt.length < 2){ alert("검색어를 두글자 이상 입력해주세요."); return; } else { sessionStorage.setItem("datamapList", 1); sessionStorage.setItem("kosisList", 1); location.href = baseUrl + "search?search_keyword="+setEncoding(searchTxt); } }; function insertRecentKeyword(searchTxt){ sessionStorage.setItem("searchKeyword", searchTxt); var arr = []; var output = localStorage.getItem("recentKeyword"); arr.push(searchTxt); if(output!=null && output.length>0){ var tmp = JSON.parse(output); for(var i =0; i<tmp.length; i++){ arr.push(tmp[i]); } } var unique = [] for(var i of arr){ if(unique.indexOf(i) < 0){ unique.push(i); } } //중복제거 localStorage.setItem("recentKeyword", JSON.stringify(unique)); } //매경늬우스 최근본 상세페이지 window.insertMkPage = function(searchTxt){ sessionStorage.setItem("mkPage", searchTxt); var arr = []; var output = localStorage.getItem("mkPage"); arr.push(searchTxt); if(output!=null && output.length>0){ var tmp = JSON.parse(output); for(var i =0; i<tmp.length; i++){ arr.push(tmp[i]); } } var unique = [] for(var i of arr){ if(unique.indexOf(i) < 0){ unique.push(i); } } //중복제거 localStorage.setItem("mkPage", JSON.stringify(unique)); }; window.drawRecentPage = function(){ var output = localStorage.getItem("mkPage"); if(output!=null){ var tmp = JSON.parse(output); var row =""; for(var i =0; i<tmp.length; i++){ var targetId = tmp[i]; $(".date_page_list dt[data-readed='"+targetId+"']").addClass("selected"); } } }; function drawRecentKeyword(){ var output = localStorage.getItem("recentKeyword"); var target = $('.list-recent-word'); if(output!=null){ var tmp = JSON.parse(output); var row =""; //row +="<div class='title'>최근 검색어</div>"; for(var i =0; i<tmp.length; i++){ row += " <li class='tag'> " row += " <pre>"+tmp[i]+"</pre> " row += " <div class='btn-tag-cancel'> " row += " <span class='blind'>삭제</span> " row += " </div> " row += " </li> " if(i==2) break; } target.html(row); //삭제버튼 이벤트 $('.btn-tag-cancel').click(function(){ var output = localStorage.getItem("recentKeyword"); var id = $(this).data('id'); var tmp = JSON.parse(output); tmp.splice(id,1); localStorage.setItem("recentKeyword", JSON.stringify(tmp)); drawRecentKeyword(); }); $('.tag pre').click(function(){ var keyword = $(this).text(); location.href = baseUrl + "search?search_keyword="+setEncoding(keyword); }); }else{ var row = ""; row +="<div class='recent_word'>검색내용 없음</div>" target.html(row); } }; $(".main-search-wrap .btn-search").off("click").on("click",function(){ gnbSearch(); }); $(".main-search input").keydown(function (key) { var value = $(this).val(); if(key.keyCode == 13) gnbSearch(); }); $(".side-search .btn-search").off("click").on("click",function(){ gnbSearch("m"); }); }); $(".btn-mypage").off("click").on("click",function(){ location.href = baseUrl + "mypage/main" }); function noComplate(){ alert('작업중인페이지입니다.') return false; } function drawEmptyData(target, txt){ var eTxt = !txt || txt == "" ? "데이터가 없습니다." : txt; var html = ""; html += " <div class='no-data'> "; html += " <p class='text'>"+eTxt+"</p> "; html += " </div> "; $(target).html(html); $(target).siblings("#pagination").addClass("hide"); } function removeEmptyData(target){ $(target).html(""); $(target).siblings("#pagination").removeClass("hide"); } $(function(){ $("input").each(function(){ $(this).bind("focus", function(){ $(".header").css("position", "fixed"); }); $(this).bind("blur",function(){ $(".header").css("position", "fixed"); }); }); }); // 서버 점검용 알럿 함수 function serverChk(){ var today = new Date(); var month = today.getMonth(); var date = today.getDate(); var hour = today.getHours(); if (month >= 11){ if (date == 1){ if(hour >= 18){ $(".server").removeAttr("href"); alert("\nKDX-AIVA는 현재 점검 중입니다.\n서비스 이용에 불편을 드려 죄송합니다.\n\n• 작업 기간 : 2023년 12월 1일(금) 18:00 ~ 12월 4일(월) 오전 예정"); } }else{ $(".server").removeAttr("href"); alert("\nKDX-AIVA는 현재 점검 중입니다.\n서비스 이용에 불편을 드려 죄송합니다.\n\n• 작업 기간 : 2023년 12월 1일(금) 18:00 ~ 12월 4일(월) 오전 예정"); } } }; $(".gnb-btn").off("click").on("click", function () { var $gnb = $("#gnb"); if ($gnb.css("display") == "none") { $gnb.css("display", "block"); $(".inbox").css("display", "block"); } else { $gnb.css("display", "none"); $(".inbox").css("display", "none"); } }); </script> <!-- banner --> <section class="banner"> <div class="container" style="max-width: 1920px;"> <div class="banner-slide"> </div> </div> </section> <div class="space"></div> <section class="contents"> <div class="combine-container"> <p class="info-desc w-title"> <span>데이터</span> <span>소식</span> </p> <p class="m-title info-desc"> <span>데이터</span> <span>소식</span> </p> <div class="main-clip"> <!-- <iframe width="550px" height="300px" class="kdx-clip" src="https://www.youtube.com/embed/x9WwzFZNRD0?rel=0" frameborder="0" allowfullscreen="true"> </iframe> --> <iframe width="533px" height="300px" class="kdx-clip" src="https://www.youtube.com/embed/AKb6Lv78ZeE?si=Z0ftuR66V301Nfs7&list=PL1HEASsEjvqVZgQxPtDh0ztXJzYiAlHuu" frameborder="0" allowfullscreen="true"> </iframe> </div> <div class="main-contents-wrap"> <div class="main-contents"> <div class="main-contents-news" id="news-slide"> <div class="main-news-title">공지 / 뉴스 <a href="knews/list" target="_blank" class="plus-button">+</a> </div> <div class="news-wrapper flex"></div> </div> </div> </div> </div> </section> <div class="space"></div> <section class="inquire_2022"> <div class="container"> <p class="info-desc w-title"> <span>데이터 비즈니스</span> <strong>솔루션</strong> </p> <p class="m-title info-desc"> <span>데이터 비즈니스</span> <strong>솔루션</strong> </p> <div class="inquire-slide row swiper-container" id="inquire-slide"> <div class="swiper-wrapper count"> <dl class="row-item item01 swiper-slide"> <dt>데이터 마켓</dt> <dd> <p> 무료 데이터부터 AI데이터까지, 꼭 필요한 데이터를 만나보세요. </p> <a href="https://kdx.kr/data/data" class="btn btn-default"><span>알아보기</span></a> </dd> </dl> <dl class="row-item item02 swiper-slide"> <dt>데이터 서비스</dt> <dd> <p> 데이터 서비스와 편리한 분석툴로 데이터 활용을 도와드립니다. </p> <a href="https://kdx.kr/service/platform" class="btn btn-default"><span>알아보기</span></a> </dd> </dl> <dl class="row-item item03 swiper-slide"> <dt>AI 비즈니스</dt> <dd> <p> 초상권, 저작권 걱정 없는 원천 데이터로 인공지능을 학습하세요. </p> <a href="https://kdx.kr/ai/main" class="btn btn-default"><span>알아보기</span></a> </dd> </dl> <dl class="row-item item04 swiper-slide"> <dt>기업회원 알아보기</dt> <dd> <p> 쌓여만 가는 우리 회사의 데이터, KDX에서 가치를 발견하세요. </p> <a href="https://kdx.kr/seller/main" class="btn btn-default"><span>알아보기</span></a> </dd> </dl> <dl class="row-item item05 swiper-slide"> <dt>매경늬우스</dt> <dd> <p> 손쉬운 키워드 검색과 타임라인으로 옛 신문 데이터가 한눈에 </p> <a href="https://kdx.kr/mk/oldnews/main" class="btn btn-default"><span>알아보기</span></a> </dd> </dl> </div> </div> </div> </section> <input name="company" type="hidden" value=""/> <div class="space"></div> <section class="recent-data"> <div class="recent-container"> <p class="info-desc w-title"> <strong>KDX</strong> <span>최신 데이터</span> </p> <p class="m-title info-desc"> <strong>KDX</strong> <span>최신 데이터</span> </p> <div class="data-market-wrap"> <ul class="card-list col-2" id="now-card"></ul> </div> </div> </section> <div class="space"></div> <section class="popular-data"> <div class="popular-container"> <p class="info-desc w-title"> <strong>KDX</strong> <span> 인기 검색어</span> </p> <p class="m-title info-desc"> <strong>KDX</strong> <span>인기 검색어</span> </p> <div class="popular-wrapper flex"> <div class="konan-wrap"> <div class="popular-title">KDX 검색어 순위</div> <div class="konan-data" id="konan-data"></div> <div class="powered-konan">.</div> </div> <div class="dable-wrap"> <div class="popular-title">실시간 검색어</div> <div class="dable-data" id="dable-data"></div> <div class="powered-dable">Powered by <span>Dable</span></div> </div> </div> </div> </section> <section class="dashboard w-title"> <!-- 광고영역 메인 오른쪽 --> <div class="mainrightBox"> <div class="mainrightInnerBox"><div class="mainright"></div></div> </div> <div class="dashboard_area_01"> <div class="tit_area gs hide"><h3><img src="https://kdx.kr/resources/images/main/gsretail_logo.png" alt="GS리테일"></h3></div> <div class="text_area"> <p class="name">시도별 상품실적비율</p> <p class="explan">집계 기간 : <span id="chart-date-range"></span><br>집계 차원 : <span id="chart-sub-title"></span></p> </div> </div> <div class="dashboard_area_02"> <div class="info_area"> <p class="info_tit">#유통/물류</p> <p class="info_txt">GS리테일은 대한민국 대표 편의점 GS25, 신선하고 안전한 먹거리가 가득한 슈퍼마켓 GS THE FRESH, 대한민국 NO.1 홈쇼핑 채널 GS SHOP, 온라인 장 보기몰 GS Fresh Mall, 친환경 오가닉 전문 플랫폼 달리살다, 24시간 반려동물 케어 플랫폼 about Pet, 장 보기부터 홈쇼핑까지 앱 하나로 다양한 상품을 만날 수 있는 Market For, 30년 전통의 글로벌 리딩 호텔 파르나스 등 고객의 Lifestyle을 선도하는 다양한 플랫폼을 운영하는 기업입니다."</p> </div> <div id="custom-chart-warp" mode="roma"> <div id="custom-chart-1-warp" class="chart_area_01"></div> <div id="custom-chart-2-warp" class="chart_area_02"></div> </div> </div> <div class="dashboard_btn_set"> <button data-type="qna">문의하기</button> <button data-type="more">기업데이터 더보기</button> </div> </section> <!-- enterprise --> <div class="space"></div> <section class="enterprise"> <div class="container"> <p class="info-desc w-title"> <!-- <span><em class="cnt">00</em>개 기업이 </span> --> <strong>KDX</strong> <span>와 함께하는 기업들</span> </p> <p class="info-desc m-title"> <strong>KDX</strong> <span>와 함께하는 기업들</span> </p> <div class="enterprise-box"> <div class="inner "> <ul class="enterprise-list"> <li> <img src="https://kdx.kr/images/main/logo/img-logo-ssc-s.png" alt="삼성카드"/> </li> </ul> </div> </div> </div> </section> <div class="space"></div> <!-- 광고영역 메인 중앙 --> <div class="maincenterBox"><div class="maincenter"></div></div> <!-- 광고영역 메인 하단 --> <div class="maindownBox"><div class="maindown"></div></div> <div class="popup_background"></div> <div class="popupzone"></div> <div id="sitemapMain" class="sitemap" style="display: block;"> <!-- <div id="sitemap" class=""> --> <!-- sitemap --> <section class="sitemap"> <div class="container"> <div class="row"> <div class="row-item"> <h2> <a href="https://kdx.kr/data/data">데이터 마켓</a> </h2> <ul class="sitemap-list"> <li><a href="https://kdx.kr/data/data-all">전체 데이터</a></li> <li><a href="https://kdx.kr/data/popular">인기 데이터</a></li> <li><a href="https://kdx.kr/data/report">리포트 데이터</a></li> <li><a href="https://kdx.kr/data/corp/list">기업별 데이터</a></li> </ul> </div> <div class="row-item"> <h2> <a href="https://kdx.kr/ai/main">AI 비즈니스</a> </h2> <ul class="sitemap-list"> <li><a href="https://kdx.kr/ai/data/main">AI 데이터</a></li> <li><a href="https://kdx.kr/ai/learning/list" data-mobile="N">AI 학습용 데이터</a></li> <li><a href="https://kdx.kr/ai/video/list">MBN 동영상</a></li> <li><a href="https://kdx.kr/labeller/datasetList" data-mobile="N">KDX AI Tool</a></li> <!-- <li><a href="http://admin.xiilab.com:38082/kdx-aiva/login" data-mobile="N">KDX-AIVA</a></li> --> </ul> </div> <div class="row-item"> <h2> <a href="https://kdx.kr/service/platform">서비스</a> </h2> <ul class="sitemap-list"> <li><a href="https://kdx.kr/service/platform">플랫폼 서비스</a></li> <li><a href="https://kdx.kr/mk/oldnews/main">매경늬우스</a></li> </ul> </div> <div class="row-item"> <h2> <a href="https://kdx.kr/community">커뮤니티</a> </h2> <ul class="sitemap-list"> <li><a href="https://kdx.kr/introduce">KDX 소개</a></li> <li><a href="https://kdx.kr/knews/list">KDX 소식</a></li> <li><a href="https://kdx.kr/news/list">데이터루</a></li> <li><a href="https://kdx.kr/story/list">데이터 스토리</a></li> <li><a href="https://kdx.kr/faq">자주 묻는 질문</a></li> <!-- <li><a href="#">문의하기</a></li> --> </ul> </div> <div class="row-item"> <h2> <a href="https://kdx.kr/seller/main">기업회원 알아보기</a> </h2> <ul class="sitemap-list"> </ul> </div> </div> <div class="register" style="margin-top: 5.6rem; min-width: 20rem;"> <h2>KDX 일반회원 가입</h2> <div class="btn btn-primary-m btn-rad-4"><a href="https://kdx.kr/register/type"><span>회원가입</span></a></div> </div> <div class="news"> <h2>KDX 뉴스레터 데이터루</h2> <div class="btn btn-primary-m btn-rad-4"><a href="https://page.stibee.com/subscriptions/113000"><span>무료 구독하기</span></a></div> </div> </div> </section> <!-- </div> --> <script> $(function(){ $(".sitemap a").off("click").on("click", function(e){ var mobile = isMobile(); if(mobile && $(this).data("mobile") == "N"){ e.preventDefault(); alert("모바일에서는 접근할 수 없는 페이지입니다."); return; } }); }); // 서버 점검용 알럿 함수 function serverChk(){ var today = new Date(); var month = today.getMonth(); var date = today.getDate(); var hour = today.getHours(); if (month >= 11){ if (date == 1){ if(hour >= 18){ $(".server").removeAttr("href"); alert("\nKDX-AIVA는 현재 점검 중입니다.\n서비스 이용에 불편을 드려 죄송합니다.\n\n• 작업 기간 : 2023년 12월 1일(금) 18:00 ~ 12월 4일(월) 오전 예정"); } }else{ $(".server").removeAttr("href"); alert("\nKDX-AIVA는 현재 점검 중입니다.\n서비스 이용에 불편을 드려 죄송합니다.\n\n• 작업 기간 : 2023년 12월 1일(금) 18:00 ~ 12월 4일(월) 오전 예정"); } } }; </script> </div> <!-- footer --> <footer class="footer"> <div class="container"> <div class="footer-menu"> <div class="footer-logo">(주)케이디엑스<br/>한국데이터거래소</div> <ul class="footer-menu-list"> <li><a href="https://kdx.kr/terms?type=user">가입회원 이용약관</a></li> <li class="selected"><a href="https://kdx.kr/terms?type=personal">개인정보 처리방침</a></li> <li><a href="https://kdx.kr/register/type">회원가입 안내</a></li> <li><a href="https://kdx.kr/seller/register/type">기업회원 안내</a></li> </ul> </div> <p class="footer-desc"> <span>(주)케이디엑스한국데이터거래소는 통신판매중개자이며 통신판매의 당사자가 아닙니다. <br /> 따라서 (주)케이디엑스한국데이터거래소는 상품·거래정보 및 거래에 대하여 책임을 지지 않습니다.</span> </p> <div class="footer-info"> <p> <span>대표자: 장용수</span> <span>사업자번호: 469-87-01591</span> <span>통신판매업신고: 제 2019-서울중구-2344호</span> </p> <p> <span>인터넷신문등록번호: 서울 아53147</span> <span>등록연월일: 2020. 6. 25</span> <span>제호: 데이터루</span> <span>발행인/편집인: 장용수</span> <span>발행일: 2021. 4. 6</span> </p> <p> <span>주소: 서울특별시 중구 충무로 2, 4층(필동 1가, 매일경제신문사빌딩)</span> <span>대표 전화 : 02-2000-5936</span> <span>대표 이메일: webmaster@kdx.kr</span> </p> </div> <div class="footer-bottom "> <p class="footer_copy"> Copyright (주)케이디엑스한국데이터거래소 All rights reserved. 무단 전재, 재배포 및 AI학습 이용 금지 </p> <ul class="sns-list hide"> <li class="sns-kakao"> <a href="https://pf.kakao.com/_HMIxlxb" target="_blank"> <span class="blind">KDX한국데이터거래소 카카오톡채널</span> </a> </li> <li class="sns-inst"> <a href="https://www.instagram.com/kdx.kr/?hl=ko" target="_blank"> <span class="blind">KDX한국데이터거래소 인스타그램</span> </a> </li> <li class="sns-facebook"> <a href="https://www.facebook.com/KDXDATA/" target="_blank"> <span class="blind">KDX한국데이터거래소 페이스북</span> </a> </li> <li class="sns-blog"> <a href="https://blog.naver.com/kdxgroups" target="_blank"> <span class="blind">한국데이터거래소 블로그</span> </a> </li> </ul> </div> </div> </footer> <script> $(document).on('click','.sessionclr',function(){ sessionStorage.clear(); }); $(document).on('click','.sitemap',function(){ sessionStorage.clear(); }); </script> <!-- <div id="sitemap" class="sitemap"> --> <!-- </div> --> <script> // 테스트용 주 $(function(){ dataMain.init(); }); var slideList = [undefined, undefined, undefined]; var popidList = []; var pushidList = []; var movableList = []; var images = []; var dataMain = { pk: "dataMain", pt: $("#dataMain"), interval: {}, timer: 300000, // 1일 주기로 업데이트 하려면..? init: function(){ var that = this; //that.getData(); that.drawCompanyList(); that.getKnewsList(); that.getRecentData(); that.getKonanRank(); that.getDableRank(); that.getSlideData(); that.getAdData(); that.listener(); //that.animation(); if(window.innerWidth > 680) that.getPopupData(); // that.slideAd(); }, listener: function(){ var that = this; if(window.innerWidth <= 1024){ swiperOpt.breakpoints[1024].centeredSlides = false; slideList[1] = new Swiper("#inquire-slide", swiperOpt); } $(window).on('resize', function() { var ww = $(window).width(); for(var i=0; i<slideList.length; i++){ var id = "#" + $(".swiper-container")[i].id; var swipe = swiperAct2(ww, slideList[i], id); slideList[i] = swipe; } }); function swiperAct2(ww, swiper, id){ swiperOpt.breakpoints[1024].centeredSlides = true if(ww < 1025 && swiper == undefined){ $(id +" .count").addClass("swiper-wrapper"); //$(id +" .contents-wrapper").addClass("swiper-wrapper"); $(id + " .row-item").addClass("swiper-slide"); $(id+" .count").removeClass("flex"); //$(id +" .contents-wrapper").removeClass("flex"); $(".swiper-notification").remove(); swiper = new Swiper(id, swiperOpt); } else if(ww > 1024 && swiper != undefined) { swiper.destroy(); swiper = undefined; $(id+" .swiper-wrapper").addClass("flex"); $(id+" .swiper-wrapper").removeAttr("style"); $(id+" .count").removeClass("swiper-wrapper"); //$(id +" .contents-wrapper").removeClass("swiper-wrapper"); $(id+" .row-item").removeClass("swiper-slide"); $(id+" .row-item").removeClass("swiper-slide-duplicate-prev"); $(id+" .row-item").removeAttr("style"); $(id+" .swiper-slide-duplicate").remove(); $(".swiper-notification").remove(); } return swiper; } $(".dashboard_btn_set button").off("click").on("click",function(){ var type = $(this).data("type"); switch(type){ case "qna" : //location.href = baseUrl+"qna/write"; if(typeof userInfo == "undefined"){ alert("로그인 후 가능합니다."); mvLogin(); } else { location.href = baseUrl + "qna/write"; } break; case "more" : var c_type = $("input[name='company']").val(); var target_url = baseUrl+"data/corp/detail/"; if(c_type == "cj"){ target_url = target_url + "CORP000003"; } if(c_type == "gs"){ target_url = target_url + "CORP000032"; } location.href = target_url; break; default : break; } }); /* // 드래그 for(var i=0;i<movableList.length;i++){ $(".layer_pop."+movableList[i]).draggable({cursor:"move" , cursorAt: {top: 30, left: 30}}); } $(".btn_close").off("click").on("click",function(){ var tmpId=$(this).attr("id"); $(".layer_pop."+tmpId).css("display","none"); // 팝업창 닫고 열려있는 팝업창이 없으면 배경도 닫기 pushidList.push(tmpId); console.log("======pushidList======",pushidList); if(popidList.length == pushidList.length){ $(".popup_background").hide(); }; // 오늘 하루 보지 않기 쿠키 저장 if($("input[data='"+tmpId+"']").prop("checked")){ setCookie("eventPopup"+$(this).attr("name"),"done",1); } }); */ }, animation: function(){ var that = this; $(".dashboard").addClass("hide"); var arr = [ ".tu-01", ".tu-02", ".tu-03", ".tu-04" ]; var cnt = 1; for (var i = 0; i < arr.length; i++) { (function(i) { setTimeout(function() { var target = ".tutorial "+arr[i]; $(target).fadeOut(2000); if(i == arr.length-1){ that.showDashboard() } }, 2000 * (i+1)); })(i); } }, showDashboard: function(){ var that = this; $(".dashboard").removeClass("hide"); $(".tutorial").addClass("hide"); }, /* getData: function(){ var that = this; that.getTotalSizeData("getProductTotalSize", ".row-item[data-type='count_total_size']"); }, getTotalSizeData: function(url, target){ var that = this; var ajaxData = {}; $.ajax({ url: baseUrl + "product/" + url, data : ajaxData, beforeSend:function(){ showLoading(target); }, complete:function(){ hideLoading(target); }, success : function(res){ console.log("====="+url+"=====", res); var value,key; switch(url){ case "getProductTotalCount" : value = num(res.result.data.total_size), key = "개"; break; case "getUserTotalCount" : value = num(res.result.data.total_size*1), key = "명"; break; case "getProductTotalSize" : value = that.bytesToSize(res.result.data.size)[0], key = that.bytesToSize(res.result.data.size)[1]; break; case "getProductDownCount" : value = num(res.result.data[0].total_size), key = "개"; break; default: value = num(res.result.data.total_size); } var ctnt = '<strong>'+num(value)+'</strong>' + key; $(target).find(".num").html(ctnt); if(window.innerWidth <= 1024){ swiperOpt.breakpoints[1024].centeredSlides = true slideList[0] = new Swiper("#count-data-slide", swiperOpt); } that.listener(); } }); }, */ getSlideData: function(){ var that = this; var ajaxData = { }; $.ajax({ url: baseUrl + "slide/getSlideMainList", crossOrigin: true, data : ajaxData, success : function(res){ console.log("==slide/getSlideMainList===", res); if(res.result.code == "200"){ that.drawSliderData(res.result.data); } } }); }, drawSliderData: function(result){ var row = "", target = ".banner .container .banner-slide"; $(target).html(""); for(var i=0, len=result.length; i<len; i++){ var rdata = result[i]; if(rdata.type == "main"){ //모바일관련 if(window.innerWidth <= 680){ var path = rdata.m_path != null ? "/resource/"+rdata.m_path : "/resource/"+rdata.path; }else{ var path = "/resource/"+rdata.path; } row += "<div class='row-item'>" row += " <a href='"+rdata.url+"'>" row += " <img class='img' src='"+path+"' alt='DATA VOUCHER'/>" row += " </a>" row += "</div>" }else{ if(rdata.thumbnail != null && rdata.thumbnail != "null" && rdata.thumbnail != ""){ if(rdata.sample_type == "sample_image") src = baseUrl+"images/"+ rdata.thumbnail; else if(rdata.sample_type == "image" || rdata.sample_type == "vis" || rdata.sample_type == "csv") src = "/resource/" + rdata.thumbnail; else if(rdata.sample_type == "tmap") src = baseUrl+"images/img-map-default.png"; else if(rdata.sample_type == "ogimage") src = rdata.thumbnail; } else src = baseUrl+"images/category_chart_"+random+".png"; row += "<div class='row-item'>" row += " <a href='"+rdata.url+"' class='banner-product'>" row += " <span class='m_info text'>" row += " <span class='category'>"+rdata.category+"</span>" row += " <div class='keywords'> "; if(rdata.keyword != null){ var keywordList = rdata.keyword.split(","); var cutKeyword = rdata.keyword.substr(0,50).split(","); var lastIdx = cutKeyword.length-1; if(keywordList.indexOf(cutKeyword[lastIdx]) == -1){ cutKeyword.splice(lastIdx,1); } for(var j=0; j<cutKeyword.length; j++){ row += " <span data-text='"+cutKeyword[j]+"'>#"+cutKeyword[j]+"</span> "; } } row += " </div> "; row += " <strong class='title'>"+rdata.title+"</strong>" row += " <div class='description'>"+rdata.description+"</div>" var price = rdata.price; if(rdata.price_type == "consultation") price = "가격협의"; else if(rdata.price_type == "discussion" && rdata.price == "0") price = "가격협의"; else if(rdata.price_type == "free" && rdata.price == "0") price = "무료"; else price = num(rdata.price)+"원"; row += " <span class='price'>"+price+"</span>" row += " </span>" row += " <img class='img product-img' src='"+src+"' alt='"+rdata.title+"'/>" row += " </a>" row += "</div>" } } $(target).html(row); $(".banner-slide").on("init", function (event, slick) { $(this).append( "<div class='slider-count'>"+"<div class='play'></div><div class='stop'></div>"+"<div type='div' class='slick-prev slick-arrow'>Previous</div>"+"<p><span id='current'>1</span>/<span id='total'>" + slick.slideCount + "</span></p>"+"<div type='div' class='slick-next slick-arrow'>Next</div>"+"</div>" ); }); $(".banner-slide").slick({ autoplay: true, arrows: true, dots: true, infinite: true, speed: 300, slidesToShow: 1, adaptiveHeight: true, centerMode: true, centerPadding: '0px', prevArrow: $(".slick-prev"), // 이전 화살표 모양 설정 nextArrow: $(".slick-next"), // 다음 화살표 모양 설정 dotsClass: "slick-dots", }) // banner slide play $(".play").click(function () { $(".banner-slide").slick("slickPlay"); $(".play").css("display", "none"); $(".stop").css("display", "block"); }); // banner slide stop $(".stop").click(function () { $(".banner-slide").slick("slickPause"); $(".play").css("display", "block"); $(".stop").css("display", "none"); }); $('.slick-prev').click(function() { var slideNo = $('.banner-slide').slick('slickCurrentSlide'); $('.banner-slide').slick('slickGoTo', slideNo-1); }); $('.slick-next').click(function() { var slideNo = $('.banner-slide').slick('slickCurrentSlide'); $('.banner-slide').slick('slickGoTo', slideNo+1); }); $(".banner-slide").on('beforeChange', function(event, slick, currentSlide, nextSlide){ //슬라이드 변경 시 내비 및 페이징 변경 //페이징 변경 if(!slick.$dots) return; var i = (nextSlide ? nextSlide : 0) + 1; $("#current").html(i); }); }, drawCompanyList: function(){ var row = "", target = ".enterprise-box .inner"; $(target).html(""); var result = getCompanyList() var cnt = 0; for(var i=0, len=result.length; i<len; i++){ var rdata = result[i]; var src = ""; if(rdata.corp_logo_img != null && rdata.corp_logo_img != "null"){ //src = (rdata.corp_logo_img.split("companyLogo/").length > 1) ? "/resource/"+rdata.corp_logo_img : "data:image/jpeg;base64, "+rdata.corp_logo_img; src = "/resource/"+rdata.corp_logo_img; }else{ src = "/resource/"+"companyLogo/img-logo-coop-xiilab.png"; } if(cnt == 0){ row += "<ul class='enterprise-list'>" } row += "<li data-corp='"+rdata.corp_id+"'>" row += " <div class='corp_img'><img src='"+src+"' alt='"+rdata.company_name+"'/></div>" row += "</li>" cnt++; if(cnt == 6 || i == result.length){ row += "</ul>" cnt = 0; } } $(target).html(row); $(".enterprise-list li").off("click").on("click",function(){ var id = $(this).data("corp"); var url = baseUrl + "data/corp/detail/"+id; window.open(url, '_blank'); }) //기업수 //$(".enterprise .cnt").html(result.length); var slidesLength = result.length > 3 ? 3 : result.length; if(window.innerWidth <= 680){ $(".enterprise-list:nth-child(odd)").slick({ centerMode: false, //centerPadding: "0", infinite : true, slidesToShow: 1, autoplay: true, speed: 7000, autoplaySpeed: 800, arrows: false, rtl:false, draggable : true, responsive: [ { breakpoint: 1220, settings: { slick:true, variableWidth: true, centerMode: false, centerPadding: "0", slidesToShow: slidesLength, }, }, { breakpoint: 640, settings: { slick:true, variableWidth: true, //centerMode: true, //centerPadding: "0", slidesToShow: 4, }, }, ], }); $(".enterprise-list:nth-child(even)").prop("dir","rtl"); $(".enterprise-list:nth-child(even)").slick({ centerMode: false, //rtl:true, //centerPadding: "0", //infinite : true, slidesToShow: 1, autoplay: true, speed: 7000, autoplaySpeed: 800, arrows: false, draggable : true, responsive: [ { breakpoint: 1220, settings: { slick:true, variableWidth: true, centerMode: false, centerPadding: "0", slidesToShow: slidesLength, }, }, { breakpoint: 640, settings: { slick:true, variableWidth: true, //centerMode: true, centerPadding: "0", rtl: true, slidesToShow: 3, }, }, ], }); } }, bytesToSize: function(bytes) { var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB']; if (bytes == 0 || bytes == null) return '0 Byte'; var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024))); if(bytes < 1024 ) return [Math.round(bytes / Math.pow(1024, i), 2), sizes[i]]; else return [(bytes / Math.pow(1024, i)).toFixed(2), sizes[i]]; }, getPopupData: function(){ var that = this; var requestType = "main"; ajaxData = { request_type : requestType }; $.ajax({ url: baseUrl + "popup/getPopupList", data: ajaxData, success: function(res){ console.log("=====getPopupList=====", res); if(res.result.code=="200"){ that.drawPopup(res.result.data); } } }) }, drawPopup: function(result){ var that =this; var row = "" console.log("drawPopup",result); var target =$(".popupzone"); $(target).html(row); var Lpop = [],Cpop = [],Rpop = []; for(var i=0; i<result.length; i++){ var rdata = result[i]; // 팝업 띄우는 조건 // 사용 여부/날짜/오늘 보지 않기/로그인 var cookieName; switch(rdata.location){ case "중앙": cookieName="Center";break; case "좌측": cookieName="Left";break; case "우측": cookieName="Right";break; } if(rdata.is_used=="N")continue; if(moment(rdata.end_date,"YYYY-MM-DD").diff(moment().format("YYYY-MM-DD"), "day")<0)continue; if(getCookie("eventPopup"+cookieName)=="done")continue; if(rdata.useroption=="login")if(""=="" || ""==null)continue; if(rdata.location=="중앙")if(Cpop.length>0)continue; if(rdata.location=="좌측")if(Lpop.length>0)continue; if(rdata.location=="우측")if(Rpop.length>0)continue; var imgUrl ="/resource/"+rdata.path; row +="<div class='wrapper w1280' style='position: absolute; top: 50; left: 50; right: 50; '>" switch (rdata.location){ case "중앙": row +=" <div id='surveyLayer' class='layer_pop "+rdata.popup_id+"'>"; Cpop.push(rdata.popup_id) break; case "좌측": row +=" <div id='surveyLayer2' class='layer_pop "+rdata.popup_id+"'>" Lpop.push(rdata.popup_id); break; case "우측": row +=" <div id='surveyLayer3' class='layer_pop "+rdata.popup_id+"'>" Rpop.push(rdata.popup_id); break; default: break; } if(rdata.pagemove == "here"){ row +=" <a href='"+rdata.url+"'>" }else{ row +=" <a href='"+rdata.url+"' target='_blank'>" } row +=" <img class='pop_img' src='"+imgUrl+"' alt='"+rdata.title+"' /></a>" row +=" <div class='layer_btn_wrap flex sb'>" row +=" <div class='btn_today_close'>" row +=" <input type='checkbox' name='today' data='"+rdata.popup_id+"' id='check"+rdata.popup_id+"'>" row +=" <label for='check"+rdata.popup_id+"'> </label>" row +=" <label for='check"+rdata.popup_id+"' class='label_font'>오늘 하루 보지 않기</label>" row +=" </div>" row +=" <div class='btn_close' id="+rdata.popup_id+" name='"+cookieName+"'></div>" row +=" </div>" row +=" </div>" row +="</div>"; if(rdata.fix=="movable")movableList.push(rdata.popup_id); popidList.push(rdata.popup_id); } console.log("popupidList",popidList); $(target).html(row); // 드래그 for(var i=0;i<movableList.length;i++){ $(".layer_pop."+movableList[i]).draggable({cursor:"move" , cursorAt: {top: 30, left: 30}}); } $(".btn_close").off("click").on("click",function(){ var tmpId=$(this).attr("id"); $(".layer_pop."+tmpId).css("display","none"); // 팝업창 닫고 열려있는 팝업창이 없으면 배경도 닫기 pushidList.push(tmpId); console.log("======pushidList======",pushidList); if(popidList.length == pushidList.length){ $(".popup_background").hide(); }; // 오늘 하루 보지 않기 쿠키 저장 if($("input[data='"+tmpId+"']").prop("checked")){ setCookie("eventPopup"+$(this).attr("name"),"done",1); } }); var back = $(".popup_background"); var popup = $("#surveyLayer"); if(row!="")wrapWindowByMask(back,popup); }, getAdData: function(){ var that = this; var requestType = "main"; var device = "PC"; if(window.innerWidth < 781)device = "mobile"; ajaxData = { request_type : requestType, device : device, status: "normal", target_type: "AD", is_used: "Y" }; $.ajax({ url: baseUrl + "ad/getAdList", data: ajaxData, success: function(res){ console.log("=====getAdList=====", res); if(res.result.code=="200"){ that.drawAd(res.result.data); } } }) }, drawAd: function(res){ var that = this; console.log("************check***********",res); var cen=[], down=[], right=[]; for(var i=0;i<res.length;i++){ var rdata = res[i]; var loc = rdata.location; if(rdata.is_used=="N")continue; if(moment(rdata.end_date,"YYYY-MM-DD").diff(moment().format("YYYY-MM-DD"), "day")<0)continue; if(loc.substring(0,4)!="main")continue; if(loc=="maincenter")cen.push(rdata.ad_id); if(loc=="maindown")down.push(rdata.ad_id); if(loc=="mainright")right.push(rdata.ad_id); var row = ""; target=$("."+loc); target.html(row); if(rdata.type=="adsense"){ target.html(rdata.html_code); }else{ var fileLeng = rdata.file_id.split(",").length; for(var j=0; j<fileLeng;j++){ var path = rdata.path.split(",")[j]; var imgUrl = "/resource/"+path; var link = rdata.url.split(",")[j]; if(loc=="mainright"){ row += "<div class='"+j+" spatial'>"; }else{ row += "<div class='"+j+"'>"; } if(rdata.pagemove == "here"){ row += " <a href='"+link+"'>"; }else{ row += " <a href='"+link+"' target='_blank'>"; }; row += " <img src='"+imgUrl+"' alt='"+rdata.title+"'/>"; row += " </a>"; row += "</div>"; } target.html(row); if(rdata.post_type=="rolling"){ var rolling_gap = rdata.rolling_gap; that.slideAd(loc, rolling_gap); }else{ that.randomAd(loc); } } } console.log("ad id: ",cen,down); if(right.length<1) $(".mainrightBox").hide(); if(cen.length<1) $(".maincenterBox").hide(); if(down.length<1) $(".maindownBox").hide(); //that.listener(); }, slideAd: function(location, rolling_gap){ var rollTime = rolling_gap*1000; $("."+location).slick({ slidesToShow: 1, slidesToScroll: 1, autoplay: true, autoplaySpeed: rollTime, arrows: false, }); }, randomAd: function(location){ var loc = $("."+location).children(); var len = loc.length; if(location=="mainright")len=len/2; var random = Math.floor(Math.random() * len); console.log(loc.length, random); loc.hide(); $("."+location+" ."+random).show(); }, gnbSearch: function(type){ var that = this; if(type=="m"){ var searchTxt = $(".side-search input").val().replace(/[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@#$%&\\\=\(\'\"]/g, ''); }else{ var searchTxt = $(".main-search input").val().replace(/[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@#$%&\\\=\(\'\"]/g, ''); } if(searchTxt.length < 2){ alert("검색어를 두글자 이상 입력해주세요."); return; } else { sessionStorage.setItem("datamapList", 1); sessionStorage.setItem("kosisList", 1); var url = baseUrl + "search?search_keyword="+setEncoding(searchTxt); window.open(url, '_blank'); } }, getKnewsList: function(){ var that = this; var pageSize = 7; var pageNum = sessionStorage.getItem(that.pk) == null ? 1 : sessionStorage.getItem(that.pk)*1; var ajaxData = { page_num : pageNum-1, page_size: pageSize }; $.ajax({ url: baseUrl + "knews/getKnewsList", data : ajaxData, success : function(res){ console.log("=====getKnewsList=====", res); if(res.result.code == "200"){ var total = res.knewsVO.total_size * 1; that.drawKnewsList(res.result.data, total, pageNum, pageSize); } } }); }, drawKnewsList: function(result, total, pageNum, pageSize){ var that = this; var target = $(".news-wrapper"); target.html(""); var row = ''; if(window.innerWidth <= 1024){ $(target).addClass("swiper-wrapper"); } for(var i=0, len=result.length; i<len; i++){ var rdata = result[i]; var cls = ''; if(rdata.type == "0003") cls = "bg-b"; row += '<div class="list-item" data-id="'+rdata.knews_id+'" data-no="'+rdata.rnum+'">'; row += ' <div class="card-list">'; row += ' <span class="category '+cls+'" data-type="'+rdata.type+'">'+rdata.type_nm+'</span>'; row += ' <div class="title1">'+rdata.title+'</div>'; row += ' <div class="updata-date" style="display: contents;">'+moment(rdata.created_date).format(ymd)+'</div>'; row += ' </div>'; row += '</div>'; } target.append(row); $(".news-wrapper").on("click", ".list-item", function() { var id = $(this).data("id"); var url = baseUrl + "knews/view/" + id; window.open(url, '_blank'); }); }, getRecentData: function(){ var that = this; var pageSize = 4; var pageNum = 0; var ajaxData = { page_num : pageNum, page_size: pageSize }; $.ajax({ url: baseUrl+"product/getRecentList", data : ajaxData, success : function(res){ console.log("=====getRecentList=====", res); if(res.result.code == "200"){ that.drawRecentList(res.result.data); } } }); }, drawRecentList: function(result){ var that = this; var target = $("#now-card") var row = ""; console.log() var check = "" for(var i=0; i<result.length; i++){ var data = result[i]; if(i==3){ check = "check"; } row += " <li class='list-item "+check+"' style='height: 15rem;' data-id="+data.product_id+">" row += " <div class='image flex' style='align-content: center; height: 100%; display: flex; justify-content: center; align-items: center;'>" row += " <img src='/resource/" + data.corp_logo_img + "' style='object-fit: contain;' />"; row += " </div>" row += " <div class='inner'>" row += " <div class='card-header'>" row += " <div class='updata-date'>"+moment(data.modified_date).format(ymd)+" 업데이트</div>" row += " </div>" row += " <div class='card-body'>" row += " <div class='title'>"+data.title+"</div>" row += " </div>" row += " <div class='card-footer'>" row += " <span class='price'>"+that.getPrice(data)+"</span>" row += " </div>" row += " </div>" row += " </li>" } target.append(row); $(".data-market-wrap").on("click", ".list-item", function() { var id = $(this).data("id"); var url = baseUrl + "data/view/" + id; window.open(url, '_blank'); }); }, getPrice: function(data){ var price_type={ "discussion":"가격협의", "consultation":"가격협의", "free":"무료" } var price = data.price_type == 'oneoff' ? num(data.price)+"원" : price_type[data.price_type] return price; }, getKonanRank: function(){ var that = this; var id = "41000"; var ajaxData = { id : id }; $.ajax({ url: baseUrl+"aichatbot/getChatRankingList", data : ajaxData, success : function(res){ console.log("=====getKonanRank=====", res); if(res.result.code == "200"){ that.drawKonanRank(res.result.data, id); } } }); }, drawKonanRank: function(data){ var that = this; var row = ''; var target = $(".popular-wrapper #konan-data") var id = "41000"; for (var i = 0; i < data.length; i++) { var list = data[i]; var rank = i + 1; var title = list[0]; var change = list[1]; var value = list[2]; var changeColor = ""; if (change.startsWith("+")) { changeColor = "red"; change = change.replace("+", "↑"); }else if (change.startsWith("-")) { changeColor = "blue"; change = change.replace("-", "↓"); }else if(change == "new"){ changeColor = "gray"; }else if(change == "eq"){ changeColor = "gray"; change = change.replace("eq", "-"); } if (rank < 10) { rank = " " + rank; } row += '<div class="search-item" style="margin-top: 10px;" data-title_code="' + id + '" data-title="' + title + '">'; row += ' <table>'; row += ' <tbody>'; row += ' <tr class="text">'; row += ' <td><div class="ico-q"></div></td>'; row += ' <td>'; row += ' <div class="konan-wrap flex1 fs">'; row += ' <div class="title" style="font-size: 16px;" data-title="' + title + '">'; row += ' <font color="#F26E22">' + rank + '위.</font> ' + title; row += ' <span style="position: absolute; right: 10px; top: 50%; transform: translateY(-50%); font-size: 15px; color: ' + changeColor + ';"> ' + change + '</span>'; row += ' </div>'; row += ' <div class="ico-arrow"></div>'; row += ' </div>'; row += ' </td>'; row += ' </tr>'; row += ' </tbody>'; row += ' </table>'; row += '</div>'; } target.append(row); gsap.to(".popular-wrapper #konan-data .search-item", { opacity: 1, y: 0, stagger: 0.2, duration: 0.8, repeat: -1, repeatDelay: 4 }); $(document).off('click', '.search-item').on('click', '.search-item', function() { var selectedTitleCode = $(this).data('title_code'); var selectedTitleName = $(this).data('title'); if(selectedTitleCode == "41000"){ var url = baseUrl + "search?search_keyword=" +selectedTitleName; window.open(url, '_blank'); return; } }); }, getDableRank: function(){ var that = this; var id = "42000"; var ajaxData = { id : id }; $.ajax({ type: 'POST', url: baseUrl+"aichatbot/getChatRankingList", data : ajaxData, success : function(res){ console.log("=====getDableRank=====", res); if(res.result.code == "200"){ that.drawDableRank(res.result.data, id); } } }); }, drawDableRank: function(data, id) { var that = this; var row = ''; var target = $(".popular-wrapper #dable-data"); var id = "42000"; var limit = 10; for (var i = 0; i < Math.min(data.length, limit); i++) { var list = data[i]; var rank = i + 1; var title = list[0]; var change = list[1]; var value = list[2]; var changeColor = ""; if (change.startsWith("+")) { changeColor = "red"; change = change.replace("+", "↑"); }else if (change.startsWith("-")) { changeColor = "blue"; change = change.replace("-", "↓"); }else if(change == "new"){ changeColor = "gray"; }else if(change == "eq"){ changeColor = "gray"; change = change.replace("eq", "-"); } if (rank < 10) { rank = " " + rank; } row += '<div class="product-item" style="margin-top: 10px;" data-title_code="' + id + '" data-title="' + title + '">'; row += ' <table>'; row += ' <tbody>'; row += ' <tr class="text">'; row += ' <td><div class="ico-q"></div></td>'; row += ' <td>'; row += ' <div class="dable-wrap flex1 fs">'; row += ' <div class="title" style="font-size: 16px;" data-title="' + title + '">'; row += ' <font color="#F26E22">' + rank + '위.</font> ' + title; row += ' <span style="position: absolute; right: 10px; top: 50%; transform: translateY(-50%); font-size: 15px; color: ' + changeColor + ';"> ' + change + '</span>'; row += ' </div>'; row += ' <div class="ico-arrow"></div>'; row += ' </div>'; row += ' </td>'; row += ' </tr>'; row += ' </tbody>'; row += ' </table>'; row += '</div>'; } target.append(row); gsap.to(".popular-wrapper #dable-data .product-item", { opacity: 1, y: 0, stagger: 0.2, duration: 0.8, repeat: -1, repeatDelay: 4 }); $(document).off('click', '.product-item').on('click', '.product-item', function() { var selectedTitleCode = $(this).data('title_code'); var selectedTitleName = $(this).data('title'); if(selectedTitleCode == "42000"){ var url = "https://www.google.co.kr/search?q="+selectedTitleName+" site:mk.co.kr"; window.open(url, '_blank'); return; } }); } } </script> </body> </html>