const appServerURL = "//apps.hyapps.com/"; var MorenvyBanner_AreaData = {"2dc5":{"id":"2dc5","name":"\ucd5c\uc0c1\ub2e8 \ubc30\ub108","desc":"","displayType":"0","isActive":true,"createDate":"2024-04-03","bannerList":{"1712133640360":{"id":"1712133640360","name":"007B83","isActive":false,"displayType":0,"displayBeginTime":"2024-04-03 17:00:00","displayEndTime":"2024-04-03 17:00:00","html":"\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\n\ud0c0\uc774\ud2c0 : \ubc30\uacbd\uc0c9\uc0c1\uc744 \ub123\uc5b4\uc8fc\uc138\uc694.\n\ud14d\uc2a4\ud2b81 : \ud14d\uc2a4\ud2b8\uc0c9\uc0c1\uc744 \ub123\uc5b4\uc8fc\uc138\uc694.\n\ud14d\uc2a4\ud2b82 : \ubc30\ub108 \ubb38\uad6c\ub97c \ub123\uc5b4\uc8fc\uc138\uc694.\n\ub9c1\ud06c1 : \ud074\ub9ad\uc2dc \uc774\ub3d9\ud560 \ud398\uc774\uc9c0\uc8fc\uc18c\ub97c \ub123\uc5b4\uc8fc\uc138\uc694.\n\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605 ","img":[{"url":"","type":0}],"link":[{"url":"\/board\/notice\/1\/","openType":"_self"}],"AddOn":["ffffff","\ub204\uc801 \uc8fc\ubb38\uae08\uc561 \ud61c\ud0dd NOTICE \ucc38\uace0"],"index":1,"repeatBeginTime":"2000-01-01 00:00:00","repeatEndTime":"2000-01-01 00:00:00","repeatType":"day","repeatData":{"day":"1","week":{"everyW":"1","everyD":0},"month":{"everyM":"1","month_type":"month_day","month_day":"1","month_week_everyW":"1","month_week_everyD":"7"}},"videoUrl":[{"url":"","ratioX":16,"ratioY":9,"autoPlay":false}]},"1712133882207":{"id":"1712133882207","name":"000000","isActive":false,"displayType":0,"displayBeginTime":"2024-04-03 17:00:00","displayEndTime":"2024-04-03 17:00:00","html":"\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\n\ud0c0\uc774\ud2c0 : \ubc30\uacbd\uc0c9\uc0c1\uc744 \ub123\uc5b4\uc8fc\uc138\uc694.\n\ud14d\uc2a4\ud2b81 : \ud14d\uc2a4\ud2b8\uc0c9\uc0c1\uc744 \ub123\uc5b4\uc8fc\uc138\uc694.\n\ud14d\uc2a4\ud2b82 : \ubc30\ub108 \ubb38\uad6c\ub97c \ub123\uc5b4\uc8fc\uc138\uc694.\n\ub9c1\ud06c1 : \ud074\ub9ad\uc2dc \uc774\ub3d9\ud560 \ud398\uc774\uc9c0\uc8fc\uc18c\ub97c \ub123\uc5b4\uc8fc\uc138\uc694.\n\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605 ","img":[{"url":"","type":0}],"link":[{"url":"https:\/\/braye.co.kr\/product\/new-%EB%B8%8C%EB%A0%88%EC%9D%B4-%EB%A6%BD%EC%8A%AC%EB%A6%AD-%EB%B8%94%EB%9F%AC\/62\/category\/29\/display\/1\/","openType":"_self"}],"AddOn":["ffffff","[1\ucc28 \uc644\ud310] \ub9bd\uc2ac\ub9ad \ube14\ub7ec 2\ucc28 \ud504\ub85c\ubaa8\uc158 \uc9c4\ud589 \uc911!"],"index":0,"repeatBeginTime":"2000-01-01 00:00:00","repeatEndTime":"2000-01-01 00:00:00","repeatType":"day","repeatData":{"day":"1","week":{"everyW":"1","everyD":0},"month":{"everyM":"1","month_type":"month_day","month_day":"1","month_week_everyW":"1","month_week_everyD":"7"}},"videoUrl":[{"url":"","ratioX":16,"ratioY":9,"autoPlay":false}]}},"index":0},"2d1f":{"id":"2d1f","name":"\uba54\uc778 \ube44\uc8fc\uc5bc","desc":"","displayType":"0","isActive":true,"createDate":"2024-04-03","bannerList":{"1712136486346":{"id":"1712136486346","name":"\uba54\uc7781","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 18:00:00","displayEndTime":"2024-04-03 18:00:00","html":"\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\n\uccab\ubc88\uc9f8 \uc774\ubbf8\uc9c0 : PC,\n\ub450\ubc88\uc9f8 \uc774\ubbf8\uc9c0 : MOBILE\n\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240729\/c9c49ed72e0cfa7d1fee009d0a58648b.jpg","type":2},{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240729\/fffd888a7fd895ef7898f643e3b95dd6.jpg","type":2}],"link":[{"url":"\/product\/new-\ube0c\ub808\uc774-\ub9bd\uc2ac\ub9ad-\ube14\ub7ec\/62\/category\/29\/display\/1\/","openType":"_self"}],"AddOn":[""],"index":0,"repeatBeginTime":"2000-01-01 00:00:00","repeatEndTime":"2000-01-01 00:00:00","repeatType":"day","repeatData":{"day":"1","week":{"everyW":"1","everyD":0},"month":{"everyM":"1","month_type":"month_day","month_day":"1","month_week_everyW":"1","month_week_everyD":"7"}},"videoUrl":[{"url":"","ratioX":16,"ratioY":9,"autoPlay":false}]},"1712136634144":{"id":"1712136634144","name":"\uba54\uc7782","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 18:00:00","displayEndTime":"2024-04-03 18:00:00","html":"\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\n\uccab\ubc88\uc9f8 \uc774\ubbf8\uc9c0 : PC,\n\ub450\ubc88\uc9f8 \uc774\ubbf8\uc9c0 : MOBILE\n\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240729\/d5f54a564048aa8079b1b32b72580c3f.jpg","type":2},{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240729\/5c7364dca3dc633184899af182b93835.jpg","type":2}],"link":[{"url":"\/product\/list.html?cate_no=30","openType":"_self"}],"AddOn":[""],"index":1,"repeatBeginTime":"2000-01-01 00:00:00","repeatEndTime":"2000-01-01 00:00:00","repeatType":"day","repeatData":{"day":"1","week":{"everyW":"1","everyD":0},"month":{"everyM":"1","month_type":"month_day","month_day":"1","month_week_everyW":"1","month_week_everyD":"7"}},"videoUrl":[{"url":"","ratioX":16,"ratioY":9,"autoPlay":false}]},"1712136634561":{"id":"1712136634561","name":"\uba54\uc7783","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 18:00:00","displayEndTime":"2024-04-03 18:00:00","html":"\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\n\uccab\ubc88\uc9f8 \uc774\ubbf8\uc9c0 : PC,\n\ub450\ubc88\uc9f8 \uc774\ubbf8\uc9c0 : MOBILE\n\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/be5b49b1133eba07d3694c2a3866e47d.webp","type":2},{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/05f10adcf9d3767e1a1e63a30c2e6436.jpg","type":2}],"link":[{"url":"\/product\/list.html?cate_no=31","openType":"_self"}],"AddOn":[""],"index":2,"repeatBeginTime":"2000-01-01 00:00:00","repeatEndTime":"2000-01-01 00:00:00","repeatType":"day","repeatData":{"day":"1","week":{"everyW":"1","everyD":0},"month":{"everyM":"1","month_type":"month_day","month_day":"1","month_week_everyW":"1","month_week_everyD":"7"}},"videoUrl":[{"url":"","ratioX":16,"ratioY":9,"autoPlay":false}]},"1712136635176":{"id":"1712136635176","name":"\uba54\uc7784","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 18:00:00","displayEndTime":"2024-04-03 18:00:00","html":"\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\n\uccab\ubc88\uc9f8 \uc774\ubbf8\uc9c0 : PC,\n\ub450\ubc88\uc9f8 \uc774\ubbf8\uc9c0 : MOBILE\n\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/70004318dcae171bcb6b182bab154dd5.webp","type":2},{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/09ba8e7c92d5b986982adcc2d84b0625.jpg","type":2}],"link":[{"url":"\/product\/list.html?cate_no=31","openType":"_self"}],"AddOn":[""],"index":3,"repeatBeginTime":"2000-01-01 00:00:00","repeatEndTime":"2000-01-01 00:00:00","repeatType":"day","repeatData":{"day":"1","week":{"everyW":"1","everyD":0},"month":{"everyM":"1","month_type":"month_day","month_day":"1","month_week_everyW":"1","month_week_everyD":"7"}},"videoUrl":[{"url":"","ratioX":16,"ratioY":9,"autoPlay":false}]}},"index":1},"e14e":{"id":"e14e","name":"\ud758\ub7ec\uac00\ub294\ubc30\ub108","desc":"\ub611\uac19\uc740 \ubc30\ub108\ub97c 2\uac1c \ub9cc\ub4e4\uc5b4 \uc8fc\uc154\uc57c \ud758\ub7ec\uac11\ub2c8\ub2e4.","displayType":"0","isActive":true,"createDate":"2024-04-03","bannerList":{"1712137095208":{"id":"1712137095208","name":"","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 18:00:00","displayEndTime":"2024-04-03 18:00:00","html":"","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240403\/00273b1c2ade2ba4c997f0270b02629f.webp","type":2}],"link":[{"url":"","openType":"_self"}],"AddOn":[""],"index":0},"1712137107367":{"id":"1712137107367","name":"","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 18:00:00","displayEndTime":"2024-04-03 18:00:00","html":"","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240403\/057328715f20f37f63a209ccb072d398.webp","type":2}],"link":[{"url":"","openType":"_self"}],"AddOn":[""],"index":1}},"index":2},"4ed8":{"id":"4ed8","name":"\uba54\uc778 \uc544\uc774\ud15c\uce74\ub4dc","desc":"","displayType":"0","isActive":true,"createDate":"2024-04-03","bannerList":{"1712137628526":{"id":"1712137628526","name":"\ubc30\ub1081","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 18:00:00","displayEndTime":"2024-04-03 18:00:00","html":"\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\n\uc774\ubbf8\uc9c01 : \uccab\uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\n\uc774\ubbf8\uc9c02 : \ub9c8\uc6b0\uc2a4 \uc624\ubc84\uc2dc \ub098\uc62c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\n\ud14d\uc2a4\ud2b81 : \ub9c1\ud06c \ubb38\uad6c\ub97c \ub123\uc5b4\uc8fc\uc138\uc694.\n\ub9c1\ud06c1 : \ud074\ub9ad\uc2dc \uc774\ub3d9\ud560 \ud398\uc774\uc9c0\uc8fc\uc18c\ub97c \ub123\uc5b4\uc8fc\uc138\uc694.\n\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605 ","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/ff9ecc4fa964e65c51d9c264e5af052c.webp","type":2},{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/719423c6ea10c87ea2a9ec114dd9930c.webp","type":2}],"link":[{"url":"\/category\/lip\/30\/","openType":"_self"}],"AddOn":["LIPSLEEK"],"index":0},"1712137745399":{"id":"1712137745399","name":"\ubc30\ub1082","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 18:00:00","displayEndTime":"2024-04-03 18:00:00","html":"\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\n\uc774\ubbf8\uc9c01 : \uccab\uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\n\uc774\ubbf8\uc9c02 : \ub9c8\uc6b0\uc2a4 \uc624\ubc84\uc2dc \ub098\uc62c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\n\ud14d\uc2a4\ud2b81 : \ub9c1\ud06c \ubb38\uad6c\ub97c \ub123\uc5b4\uc8fc\uc138\uc694.\n\ub9c1\ud06c1 : \ud074\ub9ad\uc2dc \uc774\ub3d9\ud560 \ud398\uc774\uc9c0\uc8fc\uc18c\ub97c \ub123\uc5b4\uc8fc\uc138\uc694.\n\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2605 ","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/9c2603673139a517c06daebf49948cee.webp","type":2},{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/89d1ffded34ec25f3562fbaa345fd7b6.webp","type":2}],"link":[{"url":"\/category\/lip\/30\/","openType":"_self"}],"AddOn":["ACC"],"index":1}},"index":3},"2f99":{"id":"2f99","name":"\uba54\uc778 \ubca0\uc2a4\ud2b8\uc140\ub7ec \uc774\ubbf8\uc9c0\ubc30\ub108","desc":"","displayType":"0","isActive":true,"createDate":"2024-04-03","bannerList":{"1712142937778":{"id":"1712142937778","name":"\ubc30\ub1081","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 20:00:00","displayEndTime":"2024-04-03 20:00:00","html":"","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/205225f3c1bb0396aed9b8fd3a128caa.webp","type":2}],"link":[{"url":"\/product\/list.html?cate_no=29","openType":"_self"}],"AddOn":[""],"index":0},"1712142963026":{"id":"1712142963026","name":"\ubc30\ub1082","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 20:00:00","displayEndTime":"2024-04-03 20:00:00","html":"","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/b8616dbd6f1e8258c274532942e2733d.webp","type":2}],"link":[{"url":"\/product\/list.html?cate_no=30","openType":"_self"}],"AddOn":[""],"index":1},"1712142963427":{"id":"1712142963427","name":"\ubc30\ub1081","isActive":false,"displayType":0,"displayBeginTime":"2024-04-03 20:00:00","displayEndTime":"2024-04-03 20:00:00","html":"","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240403\/d755bed4d161a1343c03c6e7f4b8bd99.webp","type":2}],"link":[{"url":"\/product\/list.html?cate_no=31","openType":"_self"}],"AddOn":[""],"index":2}},"index":5},"120a":{"id":"120a","name":"\uba54\uc778 \ubca0\uc2a4\ud2b8\uc140\ub7ec","desc":"","displayType":"0","isActive":true,"createDate":"2024-04-03","bannerList":{"1712144503229":{"id":"1712144503229","name":"\ud14d\uc2a4\ud2b8\ubc30\ub108","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 20:00:00","displayEndTime":"2024-04-03 20:00:00","html":"","img":[{"url":"","type":0}],"link":[{"url":"","openType":"_self"}],"AddOn":["BEST SELLER","ALL OF BEAUTY, IN THE COOLEST WAY
UNCOVER YOUR TIMELESS STYLE WITH BRAYE."],"index":0},"1712144773948":{"id":"1712144773948","name":"\ud14d\uc2a4\ud2b8\ubc30\ub108 \ub9c1\ud06c","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 20:00:00","displayEndTime":"2024-04-03 20:00:00","html":"","img":[{"url":"","type":0}],"link":[{"url":"\/product\/list.html?cate_no=29","openType":"_self"}],"AddOn":["SHOP NOW"],"index":1}},"index":4},"c5e9":{"id":"c5e9","name":"\uba54\uc778 \ud504\ub85c\ubaa8\uc158\uc774\ubca4\ud2b8","desc":"","displayType":"0","isActive":true,"createDate":"2024-04-03","bannerList":{"1712144503229":{"id":"1712144503229","name":"\ud14d\uc2a4\ud2b8\ubc30\ub108","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 20:00:00","displayEndTime":"2024-04-03 20:00:00","html":"","img":[{"url":"","type":0}],"link":[{"url":"","openType":"_self"}],"AddOn":["PROMOTION EVENT","\uacf5\uc2dd\ubab0\uc5d0\uc11c\ub9cc \ub204\ub9b4 \uc218 \uc788\ub294 \ud61c\ud0dd\uc744 \ub9cc\ub098\ubcf4\uc138\uc694"],"index":0},"1712145047019":{"id":"1712145047019","name":"\ud14d\uc2a4\ud2b8\ubc30\ub108 \ub9c1\ud06c","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 20:00:00","displayEndTime":"2024-04-03 20:00:00","html":"","img":[{"url":"","type":0}],"link":[{"url":"\/board\/event\/8\/","openType":"_self"}],"AddOn":["EVENT"],"index":1}},"index":7},"e3ff":{"id":"e3ff","name":"\uba54\uc778 \uba54\uc778 \ud504\ub85c\ubaa8\uc158\uc774\ubca4\ud2b8 \uc774\ubbf8\uc9c0\ubc30\ub108","desc":"","displayType":"0","isActive":true,"createDate":"2024-04-03","bannerList":{"1712142937778":{"id":"1712142937778","name":"\ubc30\ub1081","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 20:00:00","displayEndTime":"2024-04-03 20:00:00","html":"","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/ceef932a38bdab18c77737a692bda167.webp","type":2}],"link":[{"url":"\/product\/list.html?cate_no=29","openType":"_self"}],"AddOn":[""],"index":0}},"index":8},"6d91":{"id":"6d91","name":"\uba54\uc778 \uc2a4\ud06c\ub864 \ud14d\uc2a4\ud2b801","desc":"","displayType":"0","isActive":true,"createDate":"2024-04-03","bannerList":{"1712145111769":{"id":"1712145111769","name":"\ud14d\uc2a4\ud2b801","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 20:00:00","displayEndTime":"2024-04-03 20:00:00","html":"","img":[{"url":"","type":0}],"link":[{"url":"","openType":"_self"}],"AddOn":["ALL OF BEAUTY, IN THE COOLEST WAY"],"index":0}},"index":6},"7dc8":{"id":"7dc8","name":"\uba54\uc778 \uc2a4\ud06c\ub864 \ud14d\uc2a4\ud2b802","desc":"","displayType":"0","isActive":true,"createDate":"2024-04-03","bannerList":{"1712145111769":{"id":"1712145111769","name":"\ud14d\uc2a4\ud2b802","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 20:00:00","displayEndTime":"2024-04-03 20:00:00","html":"","img":[{"url":"","type":0}],"link":[{"url":"","openType":"_self"}],"AddOn":["NOT JUST MOMENTARY BEAUTY,
BUT YOUR OWN BEAUTY, CASUALLY COOL"],"index":0}},"index":9},"d552":{"id":"d552","name":"\uba54\uc778 \ube0c\ub79c\ub4dc\uc2a4\ud1a0\ub9ac","desc":"","displayType":"0","isActive":true,"createDate":"2024-04-03","bannerList":{"1712146558111":{"id":"1712146558111","name":"\ud14d\uc2a4\ud2b8\ubc30\ub108","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 21:00:00","displayEndTime":"2024-04-03 21:00:00","html":"","img":[{"url":"","type":0}],"link":[{"url":"","openType":"_self"}],"AddOn":["ABOUT BRAYE","WHEN BEAUTY IS REPLACED BY ITS OWN COOLNESS
BRAYE IS ALWAYS BY YOUR SIDE IN THOSE EXPERIENCES"],"index":0},"1712146576625":{"id":"1712146576625","name":"\ud14d\uc2a4\ud2b8\ubc30\ub108 \ub9c1\ud06c","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 21:00:00","displayEndTime":"2024-04-03 21:00:00","html":"","img":[{"url":"","type":0}],"link":[{"url":"\/about.html","openType":"_self"}],"AddOn":["BRAND STORY"],"index":1}},"index":10},"7527":{"id":"7527","name":"\uba54\uc778 \uc5b4\ubc14\uc6c3 \uc774\ubbf8\uc9c0\ubc30\ub108","desc":"","displayType":"0","isActive":true,"createDate":"2024-04-03","bannerList":{"1712147012870":{"id":"1712147012870","name":"\ubc30\ub1081","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 21:00:00","displayEndTime":"2024-04-03 21:00:00","html":"","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/d983744873d468239966bfe5b61bd040.webp","type":2}],"link":[{"url":"\/product\/list.html?cate_no=29","openType":"_self"}],"AddOn":[""],"index":0},"1712147100667":{"id":"1712147100667","name":"\ubc30\ub1082","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 21:00:00","displayEndTime":"2024-04-03 21:00:00","html":"","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/00480248f86b0dae193e2d8b6595d601.webp","type":2}],"link":[{"url":"\/product\/list.html?cate_no=30","openType":"_self"}],"AddOn":[""],"index":1},"1712147101175":{"id":"1712147101175","name":"\ubc30\ub1083","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 21:00:00","displayEndTime":"2024-04-03 21:00:00","html":"","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/594afbe5847cf8d9ac232b290135101d.webp","type":2}],"link":[{"url":"\/product\/list.html?cate_no=31","openType":"_self"}],"AddOn":[""],"index":2}},"index":11},"e122":{"id":"e122","name":"\uba54\uc778 \ucd5c\ud558\ub2e8 \ubc30\ub108","desc":"","displayType":"0","isActive":true,"createDate":"2024-04-03","bannerList":{"1712147985707":{"id":"1712147985707","name":"\ubc30\ub108","isActive":true,"displayType":0,"displayBeginTime":"2024-04-03 21:00:00","displayEndTime":"2024-04-03 21:00:00","html":"","img":[{"url":"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMTM1NiIgaGVpZ2h0PSI2MiIgdmlld0JveD0iMCAwIDEzNTYgNjIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik00MTYuMzQ1IDEuNzEzOTNMMzk3LjcwNSA2MC40MzUzSDM3OC4xNTJMMzY2LjM4MiAxOS4xMzQ2TDM1NC41NjQgNjAuNDM1M0gzMzQuNzcxTDMxNi4zMjMgMS43MTM5M0gzMzQuMzM4TDM0My45NDcgMzcuNTgyOEgzNDYuMzQ5TDM1Ni44MjIgMS43MTM5M0gzNzYuMDM4TDM4Ni42MDcgMzcuNjMxOEgzODkuMDA5TDM5OC42MTcgMS43MTM5M0g0MTYuMzQ1Wk00NTYuMTIzIDYyLjAwMTFDNDc4LjI3IDYyLjAwMTEgNDkyLjI5OCA0OS45NjMzIDQ5Mi4yOTggMzEuMDI1NkM0OTIuMjk4IDEyLjA4OCA0NzguMjcgMC4wMDExODg2NyA0NTYuMTIzIDAuMDAxMTg4NjdDNDMzLjk3NiAwLjAwMTE4ODY3IDQxOS45OTYgMTEuOTkwMSA0MTkuOTk2IDMxLjAyNTZDNDE5Ljk5NiA1MC4wNjEyIDQzNC4wNzIgNjIuMDAxMSA0NTYuMTIzIDYyLjAwMTFaTTQzNi45MDYgMzEuMDI1NkM0MzYuOTA2IDIwLjMwOSA0NDQuNDAxIDEzLjQwOTIgNDU2LjEyMyAxMy40MDkyQzQ2Ny44NDUgMTMuNDA5MiA0NzUuMzM5IDIwLjMwOSA0NzUuMzM5IDMxLjAyNTZDNDc1LjMzOSA0MS43NDIzIDQ2Ny44OTMgNDguNTQ0MSA0NTYuMTIzIDQ4LjU0NDFDNDQ0LjM1MyA0OC41NDQxIDQzNy4wMDIgNDEuNjQ0NCA0MzcuMDAyIDMxLjAyNTZINDM2LjkwNlpNNTU1LjIzMSAxLjY2NDk0TDU0NC4yNzggMzguNDYzNkg1NDIuNTQ5TDUzMS42OTEgMS42NjQ5NEg1MDMuNTM5VjYwLjM4NjNINTE5LjI0OVYxOS41MjZINTIyLjA4M0w1MzUuMzkxIDYwLjM4NjNINTUxLjU4TDU2NS4wMzIgMTkuNTI2SDU2Ny45MTRWNjAuMzg2M0g1ODMuNjI0VjEuNjY0OTRINTU1LjIzMVpNODY1LjY3MyA2MC4zODYzSDkyMy43NTVWNDYuNTM3OUg4ODIuNDRWMzcuNzc4Nkg5MjAuODcyVjIzLjkzMDFIODgyLjQ0VjE1LjU2MjNIOTIzLjQxOVYxLjc2Mjc2SDg2NS43NjlMODY1LjY3MyA2MC4zODYzWk01OTkuNTI1IDYwLjM4NjNINjU3LjY1NVY0Ni41Mzc5SDYxNi4yOTJWMzcuNzc4Nkg2NTQuNzI1VjIzLjkzMDFINjE2LjI5MlYxNS41NjIzSDY1Ny4yMjNWMS43NjI3Nkg1OTkuNTczTDU5OS41MjUgNjAuMzg2M1pNOTU0LjUwMSA2MC4zODYzSDk4NC45MTFMMTAwNi40MyAxLjY2NDk0SDk4Ny45ODZMOTcyLjEzMiA0NC43NzYySDk2Ny4zMjhMOTUxLjQ3NSAxLjY2NDk0SDkzMy4wMjdMOTU0LjUwMSA2MC4zODYzWk0xMDE2LjA5IDYwLjM4NjNIMTA3NC4yMlY0Ni41Mzc5SDEwMzIuOVYzNy43Nzg2SDEwNzEuMzRWMjMuOTMwMUgxMDMyLjlWMTUuNTYyM0gxMDczLjg0VjEuNzYyNzZIMTAxNi4xOUwxMDE2LjA5IDYwLjM4NjNaTTExNDguNDQgMzQuNzQ0N0MxMTUxLjYgMzEuMjU2NiAxMTUzLjMyIDI2LjY2NjkgMTE1My4yNSAyMS45MjM5QzExNTMuMjUgMTAuMTMwNyAxMTQ0LjM2IDEuNzYyNzYgMTEzMC41MiAxLjc2Mjc2SDEwODkuMjZWNjAuNDg0MkgxMTA1Ljk3VjQyLjAzNTlIMTEyOC4zNkMxMTM0LjM3IDQyLjAzNTkgMTEzNi4zOSA0My4yMTA0IDExMzYuMzkgNTAuMDEyM1Y2MC4zODYzSDExNTMuMTVWNDkuMTgwM0MxMTUzLjQ0IDQ2LjU3MDUgMTE1My4xOCA0My45Mjc3IDExNTIuMzkgNDEuNDI5M0MxMTUxLjU5IDM4LjkzMDkgMTE1MC4yOCAzNi42MzQ5IDExNDguNTQgMzQuNjk1N0wxMTQ4LjQ0IDM0Ljc0NDdaTTExMDUuOTcgMjYuNDc0OFYxNy4xNzcySDExMzAuNDNDMTEzMy45OCAxNy4xNzcyIDExMzYuMzkgMTkuMTM0NiAxMTM2LjM5IDIyLjA3MDdDMTEzNi4zOSAyNS4wMDY4IDExMzMuOTggMjYuNjcwNCAxMTMwLjQzIDI2LjY3MDRMMTEwNS45NyAyNi40NzQ4Wk0xMTkwLjQ4IDYwLjMzNzRIMTIyNS42QzEyNDQuMDUgNjAuMzM3NCAxMjU3LjA2IDQ4LjIwMTYgMTI1Ny4wNiAzMC45NzY3QzEyNTcuMDYgMTMuNzUxNyAxMjQ0LjA1IDEuNjE1OTYgMTIyNS42IDEuNjE1OTZIMTE5MC41M0wxMTkwLjQ4IDYwLjMzNzRaTTEyMDcuMjUgNDYuNDg5VjE1LjUxMzNIMTIyNS42QzEyMjkuNDggMTUuNzM1OSAxMjMzLjE0IDE3LjQ2NDYgMTIzNS44MSAyMC4zNDQ3QzEyMzguNDggMjMuMjI0OCAxMjM5Ljk3IDI3LjAzNzggMTIzOS45NyAzMS4wMDExQzEyMzkuOTcgMzQuOTY0NSAxMjM4LjQ4IDM4Ljc3NzUgMTIzNS44MSA0MS42NTc2QzEyMzMuMTQgNDQuNTM3NyAxMjI5LjQ4IDQ2LjI2NjQgMTIyNS42IDQ2LjQ4OUgxMjA3LjI1Wk0xMjY3LjQ5IDYwLjMzNzRIMTI4NC4yNlYxLjYxNTk2SDEyNjcuNDlWNjAuMzM3NFpNMTI5Ny4zMiA2MC4zMzc0SDEzNTUuNDVWNDYuNDg5SDEzMTQuMDlWMzcuNzI5NkgxMzUyLjUyVjIzLjg4MTJIMTMxNC4wOVYxNS41MTMzSDEzNTUuMDJWMS43MTM5M0gxMjk3LjM3TDEyOTcuMzIgNjAuMzM3NFpNNjcwLjk2MyA2MC4zMzc0SDY4OC4wMTdWMTcuMTc3Mkg2OTAuODUyTDcxMC40MDQgNjAuMzM3NEg3NDAuNDNWMS42MTU5Nkg3MjMuNjY0VjQ0LjcyNzJINzIwLjc4MUw3MDEuMjc2IDEuNjE1OTZINjcxLjI1MUw2NzAuOTYzIDYwLjMzNzRaTTc4MC4zNTIgNjAuMzM3NEg3OTcuMTY3VjE3LjE3NzJIODAwLjAwMUw4MTkuNTA2IDYwLjMzNzRIODQ5LjUzMVYxLjYxNTk2SDgzMi43NjVWNDQuNzI3Mkg4MjkuOTMxTDgxMC4zNzggMS42MTU5Nkg3ODAuMzUyVjYwLjMzNzRaTTExMy4xNTcgNjIuMDAxMUMxMzUuMzA0IDYyLjAwMTEgMTQ5LjMzMiA0OS45NjMzIDE0OS4zMzIgMzEuMDI1NkMxNDkuMzMyIDEyLjA4OCAxMzUuMzA0IDAuMDAxMTg4NjcgMTEzLjE1NyAwLjAwMTE4ODY3QzkxLjAxIDAuMDAxMTg4NjcgNzcuMDMwMSAxMS45OTAxIDc3LjAzMDEgMzEuMDI1NkM3Ny4wMzAxIDUwLjA2MTIgOTEuMTU0MSA2Mi4wMDExIDExMy4yMDUgNjIuMDAxMUgxMTMuMTU3Wk05My45NDA1IDMxLjAyNTZDOTMuOTQwNSAyMC4zMDkgMTAxLjQzNSAxMy40MDkyIDExMy4xNTcgMTMuNDA5MkMxMjQuODc5IDEzLjQwOTIgMTMyLjM3MyAyMC4zMDkgMTMyLjM3MyAzMS4wMjU2QzEzMi4zNzMgNDEuNzQyMyAxMjQuOTI3IDQ4LjU0NDEgMTEzLjE1NyA0OC41NDQxQzEwMS4zODcgNDguNTQ0MSA5NC4wODQ2IDQxLjY0NDQgOTQuMDg0NiAzMS4wMjU2SDkzLjk0MDVaTTE5Mi41MjEgNjIuMDAxMUMyMTQuNjY4IDYyLjAwMTEgMjI4LjY0OCA0OS45NjMzIDIyOC42NDggMzEuMDI1NkMyMjguNjQ4IDEyLjA4OCAyMTQuNjY4IDAuMDAxMTg4NjcgMTkyLjUyMSAwLjAwMTE4ODY3QzE3MC4zNzQgMC4wMDExODg2NyAxNTYuMzQ2IDExLjk5MDEgMTU2LjM0NiAzMS4wMjU2QzE1Ni4zNDYgNTAuMDYxMiAxNzAuNTY2IDYyLjAwMTEgMTkyLjY2NSA2Mi4wMDExSDE5Mi41MjFaTTE3My4zMDQgMzEuMDI1NkMxNzMuMzA0IDIwLjMwOSAxODAuNzUxIDEzLjQwOTIgMTkyLjUyMSAxMy40MDkyQzIwNC4yOTEgMTMuNDA5MiAyMTEuNzM3IDIwLjMwOSAyMTEuNzM3IDMxLjAyNTZDMjExLjczNyA0MS43NDIzIDIwNC4yNDMgNDguNTQ0MSAxOTIuNTIxIDQ4LjU0NDFDMTgwLjc5OSA0OC41NDQxIDE3My41NDUgNDEuNjQ0NCAxNzMuNTQ1IDMxLjAyNTZIMTczLjMwNFpNMjM4LjIwOCA2MC4zODYzSDI4OC41MDdWNDYuMzkxMUgyNTQuODc4VjEuNzYyNzZIMjM4LjRMMjM4LjIwOCA2MC4zODYzWk01Mi43NjkyIDM5LjgzMzhDNTIuMTMyOSA0MS4zNjY0IDUxLjIzODggNDIuNzc0MSA1MC4xMjcgNDMuOTkzM0M0OC4zODMyIDQ1LjkxMjMgNDYuMjM5OCA0Ny40MDk1IDQzLjg1NCA0OC4zNzQ4QzQxLjQ2ODIgNDkuMzQwMSAzOC45MDA1IDQ5Ljc0OTEgMzYuMzM5MiA0OS41NzE5QzMxLjgyMzQgNDkuNjgwOCAyNy40MDk4IDQ4LjE5MzcgMjMuODQ4NSA0NS4zNjM0QzIxLjY5NDUgNDMuNjg3IDE5Ljk1MjUgNDEuNTIzNiAxOC43NjAzIDM5LjA0MzhDMTcuNTY4IDM2LjU2NCAxNi45NTgxIDMzLjgzNTggMTYuOTc4NyAzMS4wNzQ2QzE2LjkzOCAyNy4wODk1IDE4LjIyNSAyMy4yMDgxIDIwLjYyOTcgMjAuMDY0NEMyMS41MzQ3IDE4LjgxMjkgMjIuNjE5OSAxNy43MDc2IDIzLjg0ODUgMTYuNzg1N0MyNy4zODk3IDEzLjkxMjEgMzEuODEzMyAxMi40MDQ0IDM2LjMzOTIgMTIuNTI4NEMzOC45MTE3IDEyLjM1MzQgNDEuNDg5OSAxMi43NjggNDMuODg0NCAxMy43NDE5QzQ2LjI3ODggMTQuNzE1OCA0OC40Mjg1IDE2LjIyNDEgNTAuMTc1MSAxOC4xNTU4QzUxLjI5ODQgMTkuMzY1OSA1Mi4xOTM5IDIwLjc3NTggNTIuODE3MyAyMi4zMTUzSDcwLjE2MDJWMjEuOTcyN0M2OS44NTIyIDIwLjA2NDUgNjkuMjE4IDE4LjIyNjIgNjguMjg2NSAxNi41NDExTDY4LjA0NjQgMTYuMTAwN0M2Ni41NjQyIDEzLjE4NzkgNjQuNTIyIDEwLjYwODMgNjIuMDQxMyA4LjUxNTc0QzU0LjczMDMgMy4yMzk2NSA0Ni4wNjM3IDAuMjU3MDQxIDM3LjEwOTQgLTAuMDY0NjY4NkMyOC4xNTUgLTAuMzg2Mzc4IDE5LjMwMzggMS45NjY4OSAxMS42NDYgNi43MDUxOUM4LjAxOTU1IDkuNTUzNCA1LjEwMDA5IDEzLjIyODkgMy4xMjI1NSAxNy40MzZDMS4xNDUwMiAyMS42NDMxIDAuMTY0NjU1IDI2LjI2NDQgMC4yNjAyODggMzAuOTI3OEMwLjI0ODY3NSAzNS41NzA0IDEuMjY2NTggNDAuMTU1NiAzLjIzODA4IDQ0LjM0MTRDNS4yMDk1OCA0OC41MjcxIDguMDgzNzIgNTIuMjA1NCAxMS42NDYgNTUuMTAxNUMxOC43Mzk3IDU5LjcxMDUgMjcuMDE0MiA2Mi4wNzcxIDM1LjQyNjQgNjEuOTAzM0M0NS4wMzI5IDYyLjQzOTIgNTQuNDk5OCA1OS4zNzU3IDYyLjA0MTMgNTMuMjkwOEM2NC41MTY5IDUxLjIxMjUgNjYuNTU4OCA0OC42NTAyIDY4LjA0NjQgNDUuNzU1TDY4LjI4NjUgNDUuMjY1NkM2OS4yMTggNDMuNTgwNSA2OS44NTIyIDQxLjc0MiA3MC4xNjAyIDM5LjgzMzhWMzkuNTQwMkg1Mi44MTczTDUyLjc2OTIgMzkuODMzOFoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=","type":1},{"url":"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMzUwIiBoZWlnaHQ9IjY4IiB2aWV3Qm94PSIwIDAgMzUwIDY4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNzkuMzMzMiA0MC4xMTVIMTA2LjYxN1Y0Ni41MTU1SDg3LjI1MzVWNTAuMzYxSDEwNS40MjVWNTYuNzYxNUg4Ny4yNTM1VjYwLjgxNzhIMTA2LjgyOVY2Ny4xOTJINzkuMzMzMlY0MC4xMTVaTTExMS4xMiA0MC4xMTVIMTE5Ljg2MkwxMjcuMzU4IDYwLjA1MzlIMTI5LjY2MkwxMzcuMTU5IDQwLjExNUgxNDUuOUwxMzUuNzAyIDY3LjE5MkgxMjEuMzE4TDExMS4xMiA0MC4xMTVaTTE1MC40NTYgNDAuMTE1SDE3Ny43NjdWNDYuNTE1NUgxNTguNDAzVjUwLjM2MUgxNzYuNTc1VjU2Ljc2MTVIMTU4LjQwM1Y2MC44MTc4SDE3Ny45NzlWNjcuMTkySDE1MC41MDlMMTUwLjQ1NiA0MC4xMTVaTTIxNS4zMDIgNjIuMDI5NFY2Ny4yOTczSDIwNy4zNTVWNjIuNTAzNkMyMDcuMzU1IDU5LjM2OTIgMjA2LjQwMSA1OC44NDIzIDIwMy41NCA1OC44NDIzSDE5Mi45NDVWNjcuMjk3M0gxODQuOTk4VjQwLjExNUgyMDQuNTJDMjExLjAzNyA0MC4xMTUgMjE1LjI3NSA0My45ODY5IDIxNS4yNzUgNDkuNDM5MUMyMTUuMzE0IDUxLjYyMzMgMjE0LjUxOSA1My43NDA4IDIxMy4wNSA1NS4zNjU1QzIxMy44OTYgNTYuMjQ0MSAyMTQuNTQxIDU3LjI5NTEgMjE0LjkzOSA1OC40NDU3QzIxNS4zMzcgNTkuNTk2MiAyMTUuNDc5IDYwLjgxOSAyMTUuMzU1IDYyLjAyOTRIMjE1LjMwMlpNMjA0LjU0NyA1MS40OTM2QzIwNi4yMTYgNTEuNDkzNiAyMDcuMzU1IDUwLjU5ODEgMjA3LjM1NSA0OS4zNjAxQzIwNy4zNTUgNDguMTIyMiAyMDYuMjE2IDQ3LjIwMDMgMjA0LjU0NyA0Ny4yMDAzSDE5Mi45NDVWNTEuNDkzNkgyMDQuNTQ3Wk0yMzIuOTQzIDQwLjAzNTlIMjQ5LjU3OEMyNTguMzIgNDAuMDM1OSAyNjQuNDY1IDQ1LjY0NjMgMjY0LjQ2NSA1My41NzQ1QzI2NC40NjUgNjEuNTAyNiAyNTguMzIgNjcuMTEzIDI0OS41NzggNjcuMTEzSDIzMi45NDNWNDAuMDM1OVpNMjQ5LjU3OCA2MC43Mzg4QzI1MS40MSA2MC42MjgyIDI1My4xMzEgNTkuODI2NiAyNTQuMzg5IDU4LjQ5NzdDMjU1LjY0NiA1Ny4xNjg3IDI1Ni4zNDcgNTUuNDEyNiAyNTYuMzQ3IDUzLjU4NzZDMjU2LjM0NyA1MS43NjI3IDI1NS42NDYgNTAuMDA2NiAyNTQuMzg5IDQ4LjY3NzZDMjUzLjEzMSA0Ny4zNDg3IDI1MS40MSA0Ni41NDcxIDI0OS41NzggNDYuNDM2NUgyNDAuODlWNjAuNzM4OEgyNDkuNTc4Wk0yNjkuMzkyIDQwLjAzNTlIMjc3LjMzOVY2Ny4xMTNIMjY5LjM5MlY0MC4wMzU5Wk0yODMuNTExIDQwLjAzNTlIMzEwLjgyMVY0Ni40MzY1SDI5MS40NThWNTAuMjgySDMwOS42MjlWNTYuNjgyNUgyOTEuNDU4VjYwLjczODhIMzExLjE5MlY2Ny4xMTNIMjgzLjU2NEwyODMuNTExIDQwLjAzNTlaTTM4Ljg4NDUgNDAuMDM1OUg1My4xMDkxTDYyLjM1MzcgNTkuOTc0OUg2My42NzgyVjQwLjAzNTlINzEuNjI0OVY2Ny4xMTNINTcuNDI2OEw0OC4xODIyIDQ3LjIwMDNINDYuODMxMlY2Ny4xMTNIMzguODg0NVY0MC4wMzU5Wk0xODguMzg5IDAuODk1NTMyTDE4My44MzMgMTcuNDg5NEgxODIuNjk0TDE3Ny42ODcgMC44OTU1MzJIMTY4LjY1NEwxNjMuNzAxIDE3LjQ2MzFIMTYyLjU2MkwxNTcuOTc5IDAuODk1NTMySDE0OS40NUwxNTguMTkxIDI3Ljk3MjVIMTY3LjU0MkwxNzMuMTMxIDguOTAyNzVMMTc4LjcyIDI3Ljk3MjVIMTg3Ljk2NUwxOTYuNzU5IDAuODk1NTMySDE4OC4zODlaTTE5OC40ODEgMTQuNDM0MUMxOTguNDgxIDUuNjM2NjcgMjA1LjE1NiAwLjEwNTM4IDIxNS41OTMgMC4xMDUzOEMyMjYuMDMgMC4xMDUzOCAyMzIuNzA1IDUuNjM2NjcgMjMyLjcwNSAxNC40MzQxQzIzMi43MDUgMjMuMjMxNCAyMjYuMDgzIDI4LjczNjQgMjE1LjU5MyAyOC43MzY0QzIwNS4xMDMgMjguNzM2NCAxOTguNDgxIDIzLjA3MzQgMTk4LjQ4MSAxNC4zMjg3VjE0LjQzNDFaTTIxNS41OTMgMjIuNTIwMkMyMjEuMTU2IDIyLjUyMDIgMjI0LjY3OSAxOS4zMzMyIDIyNC42NzkgMTQuNDM0MUMyMjQuNjc5IDkuNTM0OTEgMjIxLjEyOSA2LjE2MzQyIDIxNS41OTMgNi4xNjM0MkMyMTAuMDU3IDYuMTYzNDIgMjA2LjU2IDkuMzUwNDkgMjA2LjU2IDE0LjMwMjNDMjA2LjU2IDE5LjI1NDEgMjEwLjA4MyAyMi40MTQ5IDIxNS41OTMgMjIuNDE0OVYyMi41MjAyWk0yNjIuNTMyIDAuODk1NTMyTDI1Ny4yMzQgMTcuODg0NUgyNTYuMzg2TDI1MS4zOCAwLjg5NTUzMkgyMzguMTM1VjI3Ljk3MjVIMjQ1LjU3OVY5LjA4NzA3SDI0Ni45MDNMMjUzLjIwNyAyNy45NzI1SDI2MC44NjNMMjY3LjIyIDkuMDg3MDdIMjY4LjU3MVYyNy45NzI1SDI3Ni4wMTRWMC44OTU1MzJIMjYyLjUzMlpNMjgzLjQ4NCAwLjg5NTUzMkgzMTAuNzk1VjcuMjY5NzJIMjkxLjQzMVYxMS4xNDE2SDMwOS42MDNWMTcuNTE1N0gyOTEuNDMxVjIxLjU5ODNIMzEwLjk4VjI3Ljk3MjVIMjgzLjQ4NFYwLjg5NTUzMlpNMzE3LjI1OCAwLjg5NTUzMkgzMzEuNDgzTDM0MC43MjcgMjAuODA4MkgzNDIuMDUyVjAuODk1NTMySDM0OS45OTlWMjcuOTcyNUgzMzUuOEwzMjYuNTU2IDguMDMzNUgzMjUuMjA1VjI3Ljk3MjVIMzE3LjI1OFYwLjg5NTUzMlpNMzYuMjM1NiAxNC4zMjg3QzM2LjIzNTYgNS41MzEyOSA0Mi45MTA3IDAgNTMuMzQ3NCAwQzYzLjc4NDEgMCA3MC40NTk0IDUuNTMxMjkgNzAuNDU5NCAxNC4zMjg3QzcwLjQ1OTQgMjMuMTI2MSA2My44MTA2IDI4LjYzMSA1My4zNDc0IDI4LjYzMUM0Mi44ODQyIDI4LjYzMSAzNi4yMzU2IDIzLjA3MzQgMzYuMjM1NiAxNC4zMjg3Wk01My4zNDc0IDIyLjQxNDlDNTguOTEwMSAyMi40MTQ5IDYyLjQzMzMgMTkuMjI3OCA2Mi40MzMzIDE0LjMyODdDNjIuNDMzMyA5LjQyOTUzIDU4LjkxMDEgNi4xODk3OSA1My4zNDc0IDYuMTg5NzlDNDcuNzg0NyA2LjE4OTc5IDQ0LjI4ODIgOS4zNzY4NSA0NC4yODgyIDE0LjMyODdDNDQuMjg4MiAxOS4yODA1IDQ3LjgzNzcgMjIuNDE0OSA1My4zNDc0IDIyLjQxNDlaTTczLjgyMzYgMTQuMzI4N0M3My44MjM2IDUuNTMxMjkgODAuNDcyMiAwIDkwLjkzNTQgMEMxMDEuMzk5IDAgMTA4LjAyMSA1LjUzMTI5IDEwOC4wMjEgMTQuMzI4N0MxMDguMDIxIDIzLjEyNjEgMTAxLjM5OSAyOC42MzEgOTAuOTM1NCAyOC42MzFDODAuNDcyMiAyOC42MzEgNzMuODIzNiAyMy4wNzM0IDczLjgyMzYgMTQuMzI4N1pNOTAuOTM1NCAyMi40MTQ5Qzk2LjQ3MTYgMjIuNDE0OSAxMDAuMDIxIDE5LjIyNzggMTAwLjAyMSAxNC4zMjg3QzEwMC4wMjEgOS40Mjk1MyA5Ni40NzE2IDYuMTg5NzkgOTAuOTM1NCA2LjE4OTc5Qzg1LjM5OTIgNi4xODk3OSA4MS44NzYyIDkuMzc2ODUgODEuODc2MiAxNC4zMjg3QzgxLjg3NjIgMTkuMjgwNSA4NS4zOTkyIDIyLjQxNDkgOTAuOTM1NCAyMi40MTQ5Wk0xMTIuNTI0IDAuODk1NTMySDEyMC40NzFWMjEuNTE5M0gxMzYuMzY0VjI3Ljk3MjVIMTEyLjUyNFYwLjg5NTUzMlpNMjQuNzkyMyAxOC40NjRDMjQuNDc4OCAxOS4xNzA3IDI0LjA0OTEgMTkuODIwNSAyMy41MjA4IDIwLjM4NjdDMjIuNjkyNCAyMS4yNzc0IDIxLjY3NjMgMjEuOTc1NCAyMC41NDU0IDIyLjQzMDdDMTkuNDE0NCAyMi44ODYgMTguMTk2MyAyMy4wODc0IDE2Ljk3OCAyMy4wMjA3QzE0LjgzNjMgMjMuMDc1MyAxMi43NDQyIDIyLjM3NTYgMTEuMDcxIDIxLjA0NTJDMTAuNDg2MiAyMC42MTM3IDkuOTY4NDcgMjAuMDk5IDkuNTM0NTUgMTkuNTE3NkM4LjQzNDc1IDE4LjA1NjYgNy44MzE1OSAxNi4yODUyIDcuODEyNjkgMTQuNDYwM0M3LjgwMjcxIDEyLjYyMjcgOC40MDg1OCAxMC44MzQxIDkuNTM0NTUgOS4zNzY4NEM5Ljk2ODQ3IDguNzk1MzggMTAuNDg2MiA4LjI4MDY2IDExLjA3MSA3Ljg0OTE5QzEyLjc1MzIgNi41MzgxOSAxNC44NDEyIDUuODQ5MTMgMTYuOTc4IDUuOTAwMDFDMTguMTk3MSA1LjgyNTgzIDE5LjQxNzQgNi4wMjM4OCAyMC41NDk2IDYuNDc5NjVDMjEuNjgxNyA2LjkzNTQxIDIyLjY5NyA3LjYzNzMzIDIzLjUyMDggOC41MzM5NkMyNC4wNDkxIDkuMTAwMjIgMjQuNDc4OCA5Ljc1MDA3IDI0Ljc5MjMgMTAuNDU2OEgzMy4wNTY4VjEwLjI5ODdDMzIuOTAwOSA5LjQyMDA4IDMyLjU5NjMgOC41NzQgMzIuMTU2MSA3Ljc5NjQ2VjcuNTg1NzhDMzEuNDYzMSA2LjIzNzA0IDMwLjQ5ODUgNS4wNDQ1NCAyOS4zMjIgNC4wODI1OEMyNS44NjMgMS42NDc1NSAyMS43NjM5IDAuMjcwNTU1IDE3LjUyODUgMC4xMjA4MTRDMTMuMjkzMSAtMC4wMjg5MjgxIDkuMTA1OTUgMS4wNTUxNyA1LjQ4MTgxIDMuMjM5NzhDMy43ODM2OSA0LjU2NzE0IDIuNDIwNCA2LjI3MDIgMS41MDA2OSA4LjIxMzU2QzAuNTgwOTcgMTAuMTU2OSAwLjEzMDIxMSAxMi4yODY5IDAuMTgzOTkzIDE0LjQzNDFDMC4xNjgxNDYgMTYuNTcxNSAwLjYzNiAxOC42ODUgMS41NTMwNyAyMC42MTgyQzIuNDcwMTQgMjIuNTUxNCAzLjgxMjkyIDI0LjI1NDcgNS40ODE4MSAyNS42MDJDOC44Mjk4MiAyNy43MzE5IDEyLjczOTUgMjguODIzIDE2LjcxMzEgMjguNzM2NEMyMS4yNjQ5IDI4Ljk5NzEgMjUuNzUzNyAyNy41ODEyIDI5LjMyMiAyNC43NTkxQzMwLjQ4OTkgMjMuNzk5MSAzMS40NTM0IDIyLjYxNzEgMzIuMTU2MSAyMS4yODIyVjIxLjA3MTZDMzIuNjA0MiAyMC4yNTA3IDMyLjkwODkgMTkuMzYgMzMuMDU2OCAxOC40Mzc2VjE4LjMwNTlIMjQuODQ1M0wyNC43OTIzIDE4LjQ2NFoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=","type":1}],"link":[{"url":"","openType":"_self"}],"AddOn":[""],"index":0}},"index":13},"1bf1":{"id":"1bf1","name":"\uba54\uc778 \uc2a4\ud06c\ub864 \uc774\ubbf8\uc9c0\ubc30\ub108","desc":"","displayType":"0","isActive":true,"createDate":"2024-04-04","bannerList":{"1712205347855":{"id":"1712205347855","name":"","isActive":true,"displayType":0,"displayBeginTime":"2024-04-04 13:00:00","displayEndTime":"2024-04-04 13:00:00","html":"","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/2c85e7cda790b1086f6fd814c3b8d06e.webp","type":2}],"link":[{"url":"","openType":"_self"}],"AddOn":[""],"index":0}},"index":12},"4dac":{"id":"4dac","name":"\uba54\uc778 \ubaa8\ubc14\uc77c \ud558\ub2e8 \uc5b4\ubc14\uc6c3 \uc88c\uce21 \ubc30\ub108","desc":"","displayType":"0","isActive":true,"createDate":"2024-04-11","bannerList":{"1712813708029":{"id":"1712813708029","name":"\ubc30\ub1081","isActive":true,"displayType":0,"displayBeginTime":"2024-04-11 14:00:00","displayEndTime":"2024-04-11 14:00:00","html":"","img":[{"url":"https:\/\/ecimg.cafe24img.com\/pg917b82923536012\/braye\/web\/upload\/NNEditor\/20240502\/25d3d050a66bf2f6cbccfd39419b4213.webp","type":2}],"link":[{"url":"\/about.html","openType":"_self"}],"AddOn":[""],"index":0}},"index":14}}; var LastSaveData = { "lastSaveSkin": "이그니스", "lastSaveDate": "2024-09-10 18:16:24" }; // 아이콘 var IconsPC = {"soldout":"https:\/\/img.echosting.cafe24.com\/design\/skin\/admin\/ko_KR\/ico_product_soldout.gif"}; var IconsMobile = {"soldout":"https:\/\/img.echosting.cafe24.com\/design\/skin\/admin\/ko_KR\/ico_product_soldout.gif"}; // 활성된 배너 엘리먼트, 배너 데이터 var activeBannerElem = []; // 동영상 url 구분하기 function getVideoDetails( url ) { try { const urlObj = new URL( url ); let site = ""; let videoID = ""; if( urlObj.hostname.includes( "youtube.com" ) || urlObj.hostname.includes( "youtu.be" ) ) { site = "youtube"; if( urlObj.hostname.includes( "youtube.com" ) ) { const shortsIndex = url.indexOf("/shorts/"); if( shortsIndex !== -1 ) { let videoIDWithParams = url.substring( shortsIndex + 8 ); const paramIndex = videoIDWithParams.indexOf( "?" ); if( paramIndex !== -1 ) videoID = videoIDWithParams.substring( 0, paramIndex ); else videoID = videoIDWithParams; } else { videoID = urlObj.searchParams.get( "v" ); } } else if( urlObj.hostname.includes( "youtu.be" ) ) { videoID = urlObj.pathname.slice( 1 ); } } else if( urlObj.hostname.includes( "vimeo.com" ) ) { site = "vimeo"; if( urlObj.hostname.includes( "player.vimeo.com" ) ) videoID = urlObj.pathname.split( "/" )[ 2 ]; else videoID = urlObj.pathname.split( "/" )[ 1 ]; } else if( urlObj.hostname.includes( "charlla.io" ) ) { site = "charlla"; videoID = urlObj.pathname.split( "/" )[ 1 ]; } else if( urlObj.pathname.endsWith( ".mp4" ) ) { site = "mp4"; videoID = urlObj.pathname; } else { site = "unknown"; videoID = null; } return { site, videoID }; } catch( error ) { console.error( "유효한 URL이 아닙니다:", error ); return null; } } function makeVideoTag( html, data ) { for( let i in data.videoUrl ) { const urlData = data.videoUrl[ i ]; if( null == urlData.url || "undefined" == urlData.url || "" == urlData.url ) { switch( i ) { case "0" : html = html.replace( /{#video_1}/gi, "" ); break; case "1" : html = html.replace( /{#video_2}/gi, "" ); break; case "2" : html = html.replace( /{#video_3}/gi, "" ); break; } continue; } const siteUrl = getVideoDetails( urlData.url ); if( null == siteUrl ) { switch( i ) { case "0" : html = html.replace( /{#video_1}/gi, "" ); break; case "1" : html = html.replace( /{#video_2}/gi, "" ); break; case "2" : html = html.replace( /{#video_3}/gi, "" ); break; } continue; } let pointerEvent = ""; if( true == urlData.autoPlay ) pointerEvent = "pointer-events:none;" else pointerEvent = "pointer-events:auto;" let aspectRatio = urlData.ratioX + "/" + urlData.ratioY; let iframeElem = ""; switch( siteUrl.site ) { case "youtube" : { iframeElem = "
"; } break; case "vimeo" : { iframeElem = "
"; } break; case "charlla" : { iframeElem = "
"; } break; case "mp4" : { let autoplay_chk = ""; if( true == urlData.autoPlay ) autoplay_chk = "autoplay"; iframeElem = "
"; } break; default : { console.log( "영상없음" ); } break; } switch( i ) { case "0" : html = html.replace( /{#video_1}/gi, iframeElem ); break; case "1" : html = html.replace( /{#video_2}/gi, iframeElem ); break; case "2" : html = html.replace( /{#video_3}/gi, iframeElem ); break; } } return html; } //--------------------------------------------------------------------------------------------------------------------------------- // 배너 관리자 Init_MorenvyBannerManager(); //(function( CAFE24API ) function Init_MorenvyBannerManager() { console.log( "%c----- Banner Manager -----", "color:rgb(20, 85, 249); font-size: 25px;" ); console.log( "최종 수정 스킨 : " + LastSaveData[ "lastSaveSkin" ] ); console.log( "최종 수정 일자 : " + LastSaveData[ "lastSaveDate" ] ); console.log( "https://morenvy.com" ); console.log( "%c--------------------------", "color:rgb(20, 85, 249); font-size: 25px;" ); // 배너영역 클래스 검색 var bannerAreaList = document.getElementsByClassName( "morenvy-banner-area" ); if( null == bannerAreaList ) return; for( var i = 0; i < bannerAreaList.length; ) { // HTML에서 배너영역 ID 가져온다 var bannerArea = bannerAreaList[ i ]; var areaID = bannerArea.getAttribute( "area_id" ); // 배너영역 ID로 데이터 검색 var areaData = MorenvyBanner_AreaData[ areaID ]; if( null == areaData ) { bannerArea.style.display = "none"; ++i; continue; } // 순서대로 출력 var bannerArray = []; if( "0" == areaData.displayType ) { for( var key in areaData.bannerList ) { bannerArray.push( areaData.bannerList[ key ] ); } bannerArray.sort( function( a, b ) { return a.index > b.index ? 1 : -1; } ); } // 랜덤 출력 else if( "1" == areaData.displayType ) { for( var key in areaData.bannerList ) { areaData.bannerList[ key ].random = Math.random(); bannerArray.push( areaData.bannerList[ key ] ); } bannerArray.sort( function( a, b ) { return a.random > b.random ? 1 : -1; } ); } var bannerList = bannerAreaList[ i ].getElementsByClassName( "morenvy-banner" ); if( 0 == bannerList.length ) { bannerArea.style.display = "none"; ++i; continue; } // 설정 수 보다 엘리먼트가 부족할 경우 마지막 엘리먼트 복사 if( bannerList.length < bannerArray.length ) { var copyTarget = bannerList[ bannerList.length - 1 ]; var loopCount = bannerArray.length - bannerList.length; for( var j = 0; j < loopCount; ++j ) { var copyElem = copyTarget.cloneNode( true ); //bannerAreaList[ i ].append( copyElem ); copyTarget.parentElement.append( copyElem ); } } var showIndex = 0; for( var j = 0; j < bannerList.length; ) { var bannerData = j >= bannerArray.length ? null : bannerArray[ j ]; // 배너 데이터 없음 if( null == bannerData ) { bannerList[ j ].remove(); bannerArray.splice( j, 1 ); continue; } // 활성 중? if( false == bannerData.isActive ) { bannerList[ j ].remove(); bannerArray.splice( j, 1 ); continue; } // 기간 노출 if( 1 == bannerData.displayType ) { var beginDate = new Date( bannerData.displayBeginTime.replace( /-/g, "/" ) ); var endDate = new Date( bannerData.displayEndTime.replace( /-/g, "/" ) ); var curTime = new Date(); if( beginDate > curTime || endDate < curTime ) { bannerList[ j ].remove(); bannerArray.splice( j, 1 ); continue; } } // 반복 노출 if( 2 == bannerData.displayType ) { let curTime = new Date(); const getWeek = () => { const now = new Date(); const currentDate = now.getDate(); const firstDay = new Date( now.setDate( 1 ) ).getDay(); return Math.ceil( (currentDate + firstDay) / 7 ); }; const checkDay = ( day ) => { return curTime.getDate() == day; }; const checkWeek = ( week, day, isFlag ) => { if( getWeek() == week ) { if( true == isFlag ) { let flag = 0x00000000; switch( curTime.getDay() ) { case 1 : flag = 0x00000001; break; case 2 : flag = 0x00000002; break; case 3 : flag = 0x00000004; break; case 4 : flag = 0x00000008; break; case 5 : flag = 0x00000010; break; case 6 : flag = 0x00000012; break; case 7 : flag = 0x00000014; break; } if( flag & day ) return true; } else { if( curTime.getDay() == day ) return true; } } return false; }; let isRemove = false; const repeatData = bannerData.repeatData; // 매월 특정 일마다 반복 if( "day" == bannerData.repeatType ) { if( false == checkDay( repeatData.day ) ) isRemove = true; } // 특정 주, 요일 마다 반복 else if( "week" == bannerData.repeatType ) { if( false == checkWeek( repeatData.week.everyW, repeatData.week.everyD, true ) ) isRemove = true; } // 특정 월 반복 else if( "month" == bannerData.repeatType ) { if( curTime.getMonth() + 1 == repeatData.month.everyM ) { // 특정 일 반복 if( "month_day" == repeatData.month.month_type ) { if( false == checkDay( repeatData.month.month_day ) ) isRemove = true; } // 특정 주, 요일 마다 반복 else { if( false == checkWeek( repeatData.month.month_week_everyW, repeatData.month.month_week_everyD, false ) ) isRemove = true; } } else { isRemove = true; } } if( true == isRemove ) { bannerList[ j ].remove(); bannerArray.splice( j, 1 ); continue; } } var html = bannerList[ j ].innerHTML; html = html.replace( /%7B/gi, "{" ); html = html.replace( /%7D/gi, "}" ); html = html.replace( /{#areaName}/gi, areaData.name ); html = html.replace( /{#areaDesc}/gi, areaData.desc ); html = html.replace( /{#areaDisplayType}/gi, areaData.displayType ); html = html.replace( /{#num}/gi, ++showIndex ); html = html.replace( /{#title}/gi, bannerData.name ); html = html.replace( /{#displayType}/gi, bannerData.displayType ); html = html.replace( /{#displayBeginTime}/gi, bannerData.displayBeginTime ); html = html.replace( /{#displayEndTime}/gi, bannerData.displayEndTime ); html = html.replace( /{#text_1}/gi, 0 < bannerData.AddOn.length ? bannerData.AddOn[ 0 ] : "" ); html = html.replace( /{#text_2}/gi, 1 < bannerData.AddOn.length ? bannerData.AddOn[ 1 ] : "" ); html = html.replace( /{#text_3}/gi, 2 < bannerData.AddOn.length ? bannerData.AddOn[ 2 ] : "" ); html = html.replace( /{#link_1}/gi, 0 < bannerData.link.length ? bannerData.link[ 0 ].url : "" ); html = html.replace( /{#link_2}/gi, 1 < bannerData.link.length ? bannerData.link[ 1 ].url : "" ); html = html.replace( /{#link_3}/gi, 2 < bannerData.link.length ? bannerData.link[ 2 ].url : "" ); html = html.replace( /{#target_1}/gi, 0 < bannerData.link.length ? bannerData.link[ 0 ].openType : "" ); html = html.replace( /{#target_2}/gi, 1 < bannerData.link.length ? bannerData.link[ 1 ].openType : "" ); html = html.replace( /{#target_3}/gi, 2 < bannerData.link.length ? bannerData.link[ 2 ].openType : "" ); html = html.replace( /{#html}/gi, bannerData.html ); // 비디오 or 이미지 태그를 데이터 값에 따라 명확히 구분 if( null != bannerData.videoUrl && "undefined" != bannerData.videoUrl ) { if( 0 < bannerData.videoUrl.length ) { const url = bannerData.videoUrl[ 0 ].url; if( null != url && "" != url ) html = html.replace( /{#imgTag_1_or_video_1}/gi, "{#video_1}" ); else html = html.replace( /{#imgTag_1_or_video_1}/gi, "{#imgTag_1}" ); } else { html = html.replace( /{#imgTag_1_or_video_1}/gi, "{#imgTag_1}" ); } if( 1 < bannerData.videoUrl.length ) { const url = bannerData.videoUrl[ 1 ].url; if( null != url && "" != url ) html = html.replace( /{#imgTag_2_or_video_2}/gi, "{#video_2}" ); else html = html.replace( /{#imgTag_2_or_video_2}/gi, "{#imgTag_2}" ); } else { html = html.replace( /{#imgTag_2_or_video_2}/gi, "{#imgTag_2}" ); } if( 2 < bannerData.videoUrl.length ) { const url = bannerData.videoUrl[ 2 ].url; if( null != url && "" != url ) html = html.replace( /{#imgTag_3_or_video_3}/gi, "{#video_3}" ); else html = html.replace( /{#imgTag_3_or_video_3}/gi, "{#imgTag_3}" ); } else { html = html.replace( /{#imgTag_3_or_video_3}/gi, "{#imgTag_3}" ); } } html = html.replace( /{#imgTag_1}/gi, 0 < bannerData.img.length ? "" : "" ); html = html.replace( /{#imgTag_2}/gi, 1 < bannerData.img.length ? "" : "" ); html = html.replace( /{#imgTag_3}/gi, 2 < bannerData.img.length ? "" : "" ); html = html.replace( /{#imgSrc_1}/gi, 0 < bannerData.img.length ? bannerData.img[ 0 ].url : "" ); html = html.replace( /{#imgSrc_2}/gi, 1 < bannerData.img.length ? bannerData.img[ 1 ].url : bannerData.img[ bannerData.img.length - 1 ].url ); html = html.replace( /{#imgSrc_3}/gi, 2 < bannerData.img.length ? bannerData.img[ 2 ].url : bannerData.img[ bannerData.img.length - 1 ].url ); // 비디오 태그 생성 html = makeVideoTag( html, bannerData ); bannerList[ j ].innerHTML = html; activeBannerElem.push( { elem : bannerList[ j ], bannerData : bannerData } ); ++j; } if( 0 == bannerList.length ) bannerArea.style.display = "none"; ++i; bannerArea.classList.add( "init" ); } }/* )( CAFE24API.init( { version: "2022-09-01", client_id: "gSOPn7dNJxAp8cu31kDDtD" } ) );*/ //---------------------------------------------------------------------------------------------------------------------------- // 상품 진열 플러그인 function Init_MorenvyProductDisplay() { // 상품 정보 요청 최대 개수, cafe24에서 최대 100개까지 지원됨. const maxSearchCount = 100; // 상품 정보 요청할 상품 번호 var needToSearchProduct = {}; // 상품 정보 콜백 받은 후 html replace 필요한 엘리먼트들, 해당 엘리먼트 내 상품 번호 var needToReplaceElems = []; // 초기화 필요한 product area var needToInitPrudctArea = []; // replace 필요한 상품 배열 데이터 var needToReplaceArray = {}; // 모바일인지 체크 var isMobile = /Mobi/i.test( window.navigator.userAgent ); // 상품 관련 태그를 상품 번호 태그로 매핑 // ex) {#productName} ----> {#19_Name} function replaceToProductNo( html, tagName, productNo, replace ) { const regExp = new RegExp( `{${"#" + tagName}}`, "gi" ); if( null != productNo ) html = html.replace( regExp, "{#" + productNo + "_" + replace + "}" ); else html = html.replace( regExp, "" ); return html; } // 배열 데이터 태그 replace function replaceToArrayProductNo( html, tagName, productNo, replace ) { var nextIndex = 0; while( true ) { var startIndex = html.indexOf( "{#" + tagName, nextIndex ); if( -1 == startIndex ) break; var endIndex = html.indexOf( "}", startIndex ); if( -1 == endIndex ) break; var arrayIndex = html.slice( startIndex + String( "{#" + tagName ).length + 1, endIndex ); if( null == needToReplaceArray[ productNo ] ) needToReplaceArray[ productNo ] = new Object(); if( null == needToReplaceArray[ productNo ][ replace ] ) needToReplaceArray[ productNo ][ replace ] = new Object(); needToReplaceArray[ productNo ][ replace ][ arrayIndex ] = 0; nextIndex = endIndex + 1; } const regExp = new RegExp( `{${"#" + tagName + "_"}`, "gi" ); if( null != productNo ) html = html.replace( regExp, "{#" + productNo + "_" + replace + "_" ); else html = html.replace( regExp, "" ); return html; } // 상품 번호로 매핑된 태그를 실제 상품 정보로 replace function replaceTag( html, productNo, tag, replace ) { const regExp = new RegExp( `{${"#" + productNo + "_" + tag}}`, "gi" ); html = html.replace( regExp, replace ); return html; } // 상품 번호로 매핑된 태그를 실제 상품 정보로 replace (한개만) function replaceOneTag( html, productNo, tag, replace ) { html = html.replace( "{#" + productNo + "_" + tag + "}", replace ); return html; } // 상품 번호로 매핑된 태그를 실제 상품 정보로 replace function replaceArrayTag( index, html, productNo, tag, replace ) { const regExp = new RegExp( `{${"#" + productNo + "_" + tag + "_" + index}}`, "gi" ); html = html.replace( regExp, replace ); return html; } // 배너관리자에서 활성된 배너 for( var key in activeBannerElem ) { // 활성된 배너 데이터 var bannerData = activeBannerElem[ key ].bannerData; // 상품 진열 데이터 없음 if( null == bannerData.productDisplay || 0 == bannerData.productDisplay.length ) continue; // 상품 진열 영역 var productAreaList = activeBannerElem[ key ].elem.getElementsByClassName( "morenvy-product-area" ); if( null == productAreaList || 0 == productAreaList.length ) continue; for( var i = 0; i < productAreaList.length; ) { var productArea = productAreaList[ i ]; var productList = productArea.getElementsByClassName( "morenvy-product" ); if( null == productList || 0 == productList.length ) { productAreaList[ i ].remove(); continue; } // 설정 수 보다 엘리먼트가 부족할 경우 마지막 엘리먼트 복사 if( productList.length < bannerData.productDisplay.length ) { var copyTarget = productList[ productList.length - 1 ]; var loopCount = bannerData.productDisplay.length - productList.length; for( var j = 0; j < loopCount; ++j ) { var copyElem = copyTarget.cloneNode( true ); productArea.append( copyElem ); } } for( var j = 0; j < productList.length; ) { // 상품 검색 최대 수 도달 if( maxSearchCount <= Object.keys( needToSearchProduct ).length ) break; var productNo = j >= bannerData.productDisplay.length ? null : bannerData.productDisplay[ j ]; // 상품 데이터 없음 if( null == productNo ) { productList[ j ].remove(); bannerData.productDisplay.splice( j, 1 ); continue; } var html = productList[ j ].innerHTML; html = html.replace( /%7B/gi, "{" ); html = html.replace( /%7D/gi, "}" ); // 모바일/PC에 따라 아이콘 다름 if( false == isMobile ) { html = html.replace( /{#soldout_icon}/gi, IconsPC[ "soldout" ] ); html = html.replace( /{#soldout_iconTag}/gi, "" ); } else { html = html.replace( /{#soldout_icon}/gi, IconsMobile[ "soldout" ] ); html = html.replace( /{#soldout_iconTag}/gi, "" ); } // 상품 번호 매핑 html = html.replace( /{#productNo}/gi, productNo ); // 상품 태그를 상품 번호 태그로 매핑 html = replaceToProductNo( html, "link", productNo, "Link" ); html = replaceToProductNo( html, "name", productNo, "Name" ); html = replaceToProductNo( html, "nameEn", productNo, "NameEn" ); html = replaceToProductNo( html, "price", productNo, "Price" ); html = replaceToProductNo( html, "retailPrice", productNo, "RetailPrice" ); html = replaceToProductNo( html, "discountPrice", productNo, "DiscountPrice" ); html = replaceToProductNo( html, "imgBig", productNo, "ImgBig" ); html = replaceToProductNo( html, "imgBigTag", productNo, "ImgBigTag" ); html = replaceToProductNo( html, "imgMedium", productNo, "ImgMedium" ); html = replaceToProductNo( html, "imgMediumTag", productNo, "ImgMediumTag" ); html = replaceToProductNo( html, "imgSmall", productNo, "ImgSmall" ); html = replaceToProductNo( html, "imgSmallTag", productNo, "ImgSmallTag" ); html = replaceToProductNo( html, "imgTiny", productNo, "ImgTiny" ); html = replaceToProductNo( html, "imgTinyTag", productNo, "ImgTinyTag" ); html = replaceToProductNo( html, "summaryDesc", productNo, "SummaryDesc" ); html = replaceToProductNo( html, "simpleDesc", productNo, "SimpleDesc" ); html = replaceToProductNo( html, "customCode", productNo, "CustomCode" ); html = replaceToProductNo( html, "modelName", productNo, "ModelName" ); html = replaceToProductNo( html, "brand", productNo, "Brand" ); html = replaceToProductNo( html, "trend", productNo, "Trend" ); html = replaceToProductNo( html, "manu", productNo, "Manu" ); html = replaceToProductNo( html, "opt_discountPrice", productNo, "Opt_DiscountPrice" ); html = replaceToProductNo( html, "coupon_discountPrice", productNo, "Coupon_DiscountPrice" ); html = replaceToProductNo( html, "promotion_period", productNo, "Promotion_Period" ); // addImg / addImgTag 처럼 태그 이름이 확장되는 경우 확장된 놈부터 replace, 에러남 html = replaceToArrayProductNo( html, "addInfo_name", productNo, "AddInfo_Name" ); html = replaceToArrayProductNo( html, "addInfo_value", productNo, "AddInfo_Value" ); html = replaceToArrayProductNo( html, "addImgTag", productNo, "AddImgTag" ); html = replaceToArrayProductNo( html, "addImg", productNo, "AddImg" ); productList[ j ].innerHTML = html; needToSearchProduct[ productNo ] = 0; needToReplaceElems.push( { areaElem : productArea, productNo : productNo, productElem : productList[ j ] } ); ++j; } needToInitPrudctArea.push( productArea ); ++i; } } // 상품 검색 Search(); function applyProductData( products ) { // replace가 먼저 되면 엘리먼트 삭제가 안된다. // 삭제할 엘리먼트만 먼저 찾아서 삭제 for( var key in needToReplaceElems ) { // 상품 엘리먼트 var productElem = needToReplaceElems[ key ].productElem; // 상품 번호 var productNo = needToReplaceElems[ key ].productNo; // 해당 번호의 상품 데이터 없음. 엘리먼트 삭제 var data = products[ productNo ]; if( null == data ) { productElem.remove(); continue; } // 진열중 아니거나 판매중 아니면 엘리먼트 삭제 if( "F" == data.selling || "F" == data.display ) { productElem.remove(); continue; } } // 검색된 상품 정보를 각각의 엘리먼트에 상품 번호로 매핑된 태그를 찾아 replace for( var key in needToReplaceElems ) { // 상품 영역 엘리먼트 var productAreaElem = needToReplaceElems[ key ].areaElem; // 상품 엘리먼트 var productElem = needToReplaceElems[ key ].productElem; // 상품 번호 var productNo = needToReplaceElems[ key ].productNo; var data = products[ productNo ]; if( null == data || "F" == data.selling || "F" == data.display ) continue; // PC/모바일 할인가가 다름 var discount = true == isMobile ? data.discountprice.mobile_discount_price : data.discountprice.pc_discount_price; var html = productAreaElem.innerHTML; html = html.replace( /%7B/gi, "{" ); html = html.replace( /%7D/gi, "}" ); html = replaceTag( html, data.product_no, "Link", "/product/detail.html?product_no=" + data.product_no ); html = replaceTag( html, data.product_no, "Name", data.product_name ); html = replaceTag( html, data.product_no, "NameEn", data.eng_product_name ); html = replaceTag( html, data.product_no, "Price", parseInt( data.price ).toLocaleString() ); html = replaceTag( html, data.product_no, "RetailPrice", parseInt( data.retail_price ).toLocaleString() ); html = replaceTag( html, data.product_no, "DiscountPrice", parseInt( discount ).toLocaleString() ); html = replaceTag( html, data.product_no, "ImgBig", data.detail_image ); html = replaceTag( html, data.product_no, "ImgBigTag", "" ); html = replaceTag( html, data.product_no, "ImgMedium", data.list_image ); html = replaceTag( html, data.product_no, "ImgMediumTag", "" ); html = replaceTag( html, data.product_no, "ImgSmall", data.small_image ); html = replaceTag( html, data.product_no, "ImgSmallTag", "" ); html = replaceTag( html, data.product_no, "ImgTiny", data.tiny_image ); html = replaceTag( html, data.product_no, "ImgTinyTag", "" ); html = replaceTag( html, data.product_no, "SummaryDesc", data.summary_description ); html = replaceTag( html, data.product_no, "CustomCode", data.custom_product_code ); html = replaceTag( html, data.product_no, "ModelName", data.model_name ); productAreaElem.innerHTML = html; ++i; } // 상품 영역 초기화 완료 for( var key in needToInitPrudctArea ) { needToInitPrudctArea[ key ].classList.add( "init" ); } } function Search() { // 검색 필요한 상품 없음 if( 0 == Object.keys( needToSearchProduct ).length ) return; var count = 0; // 상품 검색 파라미터 var searchParam = "?embed=discountprice&product_no="; for( var key in needToSearchProduct ) { ++count; if( 1 < count ) searchParam += ","; searchParam += key; } // 상품 검색 개수, cafe24에서 최대 100개까지 지원됨. searchParam += "&limit=" + maxSearchCount; // 상품 검색 요청 CAFE24API.get( "/api/v2/products" + searchParam, function( err, res ) { // 상품 번호를 키로 object 변환 var products = {}; for( var i in res.products ) { products[ res.products[ i ].product_no ] = res.products[ i ]; } applyProductData( products ); var reqDetailCount = 0; var totalReqCount = 0; var totalApplyCount = 0; function reqDetail() { var arrProductNo = Object.keys( needToSearchProduct ); if( 0 == arrProductNo ) return; ++reqDetailCount; ++totalReqCount; var productNo = arrProductNo[ 0 ]; CAFE24API.get( "/api/v2/productsdetail/" + productNo, function( err, res ) { applyProductDetail( res.productsdetail ); ++totalApplyCount; if( totalApplyCount == totalReqCount ) replaceNaN(); } ); delete needToSearchProduct[ productNo ]; if( 40 <= reqDetailCount ) { setTimeout( function() { reqDetailCount = 0; reqDetail(); }, 2500 ); } else { reqDetail(); } } reqDetail(); function applyProductDetail( data ) { // 상품 진열 영역 var productAreaList = document.getElementsByClassName( "morenvy-product-area" ); if( null == productAreaList || 0 == productAreaList.length ) return; for( var i = 0; i < productAreaList.length; ++i ) { var elem = productAreaList[ i ]; var html = elem.innerHTML; html = html.replace( /%7B/gi, "{" ); html = html.replace( /%7D/gi, "}" ); html = replaceTag( html, data.product_no, "SimpleDesc", null == data.simple_description ? "" : data.simple_description ); html = replaceTag( html, data.product_no, "Brand", null == data.brand_name ? "" : data.brand_name ); html = replaceTag( html, data.product_no, "Trend", null == data.trend_name ? "" : data.trend_name ); html = replaceTag( html, data.product_no, "Manu", null == data.manufacturer_name ? "" : data.manufacturer_name ); html = replaceTag( html, data.product_no, "Opt_DiscountPrice", null == data.optimum_discount_price ? "" : arseInt( data.optimum_discount_price ).toLocaleString() ); html = replaceTag( html, data.product_no, "Coupon_DiscountPrice", null == data.coupon_discounted_price ? "" : parseInt( data.coupon_discounted_price ).toLocaleString() ); if( null != data.promotion_period ) { var startDate = new Date( data.promotion_period.start_date ); var endDate = new Date( data.promotion_period.end_date ); var timeText = startDate.getFullYear() + "-" + (startDate.getMonth() + 1).toString().padStart( 2, "0" ) + "-" + startDate.getDate().toString().padStart( 2, "0" ) + " " + startDate.getHours().toString().padStart( 2, "0" ) + ":" + startDate.getMinutes().toString().padStart( 2, "0" ) + " ~ " + endDate.getFullYear() + "-" + (endDate.getMonth() + 1).toString().padStart( 2, "0" ) + "-" + endDate.getDate().toString().padStart( 2, "0" ) + " " + endDate.getHours().toString().padStart( 2, "0" ) + ":" + endDate.getMinutes().toString().padStart( 2, "0" ); html = replaceTag( html, data.product_no, "Promotion_Period", timeText ); } else { html = replaceTag( html, data.product_no, "Promotion_Period", data.coupon_discounted_price ); } if( null != data.additional_information ) { for( var j = 0; j < data.additional_information.length; ++j ) { const info = data.additional_information[ j ]; html = replaceArrayTag( j + 1, html, data.product_no, "AddInfo_Name", info.name ); html = replaceArrayTag( j + 1, html, data.product_no, "AddInfo_Value", info.value ); if( null != needToReplaceArray[ data.product_no ] ) { if( null != needToReplaceArray[ data.product_no ][ "AddInfo_Name" ] ) delete needToReplaceArray[ data.product_no ][ "AddInfo_Name" ][ (j + 1).toString() ]; if( null != needToReplaceArray[ data.product_no ][ "AddInfo_Value" ] ) delete needToReplaceArray[ data.product_no ][ "AddInfo_Value" ][ (j + 1).toString() ]; } } } if( null != data.additional_images ) { for( var j = 0; j < data.additional_images.length; ++j ) { const img = data.additional_images[ j ]; html = replaceArrayTag( j + 1, html, data.product_no, "AddImg", img.big ); html = replaceArrayTag( j + 1, html, data.product_no, "AddImgTag", "" ); if( null != needToReplaceArray[ data.product_no ] ) { if( null != needToReplaceArray[ data.product_no ][ "AddImg" ] ) delete needToReplaceArray[ data.product_no ][ "AddImg" ][ (j + 1).toString() ]; if( null != needToReplaceArray[ data.product_no ][ "AddImgTag" ] ) delete needToReplaceArray[ data.product_no ][ "AddImgTag" ][ (j + 1).toString() ]; } } } elem.innerHTML = html; } } } ); } // 태그 변수 입력은 됐는데 실제 조회 후 데이터가 없는 경우 NaN으로 replace function replaceNaN() { for( var keyProductNo in needToReplaceArray ) { for( var keyTag in needToReplaceArray[ keyProductNo ] ) { for( var keyNum in needToReplaceArray[ keyProductNo ][ keyTag ] ) { for( var i = 0; i < productAreaList.length; ++i ) { var elem = productAreaList[ i ]; var html = elem.innerHTML; html = replaceTag( html, keyProductNo, keyTag + "_" + keyNum, "" ); elem.innerHTML = html; } } } } } } let Morenvy_Wait_CAEF24 = setInterval( () => { if( typeof CAFE24API != "undefined" ) { clearInterval( Morenvy_Wait_CAEF24 ); (function( CAFE24API ) { Init_MorenvyProductDisplay(); } )( CAFE24API.init( { version: "2022-09-01", client_id: "gSOPn7dNJxAp8cu31kDDtD" } ) ); } }, 50 );