XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing
XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing

XMCOSY+ Dimmable Acrylic Bulbs Smart String Lights RGBCW Color Changing

Price

$0.00 $38.00
Save $-38.00
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '9453d258-f590-4330-b946-04ac5e3c811a'; this.isRTL = SPZ.win.document.dir === 'rtl'; } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const data = await this.getDiscountList(); this.renderApiData_(data); } async getDiscountList() { const productId = 'bd023428-fb97-4a53-8659-ded60e7ec04d'; const variantId = this.variant_id; const productType = 'default'; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if (parentDiv) { parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } else { console.log('automatic_discount_container is null'); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container_outer'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == 'bd023428-fb97-4a53-8659-ded60e7ec04d' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomProductAutomatic);
class SpzCustomDiscountFlashsale extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.getFlashSaleApi = "\/api\/storefront\/promotion\/flashsale\/display_setting\/product_setting"; this.timer = null; this.variantId = "9453d258-f590-4330-b946-04ac5e3c811a"; // 促销活动数据 this.flashsaleData = {} } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(); this.viewport_ = this.getViewport(); // 挂载bind函数 解决this指向问题 this.render = this.render.bind(this); this.resize = this.resize.bind(this); this.switchVariant = this.switchVariant.bind(this); } mountCallback() { // 获取数据 this.getData(); this.element.onclick = (e) => { const cur = this.win.document.querySelector(".app_discount_flashsale_desc"); if (this.flashsaleData.product_setting.is_redirection && appDiscountUtils.inProductBody(this.element) && e.target !== cur) { this.win.open(`/promotions/discount-default/${this.flashsaleData.discount_info.id}`); } } // 绑定 this.viewport_.onResize(this.resize); // 监听子款式切换,重新渲染 this.win.document.addEventListener('dj.variantChange', this.switchVariant); } unmountCallback() { // 解绑 this.viewport_.removeResize(this.resize); this.win.document.removeEventListener('dj.variantChange', this.switchVariant); // 清除定时器 if (this.timer) { clearTimeout(this.timer); this.timer = null; } } resize() { if (this.timer) { clearTimeout(this.timer) this.timer = null; } this.timer = setTimeout(() => { this.render(); }, 200) } switchVariant(event) { const variant = event.detail.selected; if (variant.product_id == 'bd023428-fb97-4a53-8659-ded60e7ec04d' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "bd023428-fb97-4a53-8659-ded60e7ec04d", product_type: "default", variant_id: this.variantId } this.flashsaleData = {}; this.win.fetch(this.getFlashSaleApi, { method: "POST", body: JSON.stringify(reqBody), headers: { "Content-Type": "application/json" } }).then(async (response) => { if (response.ok) { this.flashsaleData = await response.json(); this.render(); } else { this.clearDom(); } }).catch(err => { this.clearDom(); }); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } render() { this.templates_ .findAndRenderTemplate(this.element, { isMobile: appDiscountUtils.judgeMobile(), isRTL: appDiscountUtils.judgeRTL(), inProductDetail: appDiscountUtils.inProductBody(this.element), flashsaleData: this.flashsaleData, image_domain: this.win.SHOPLAZZA.image_domain, }) .then((el) => { this.clearDom(); this.element.appendChild(el); }) } } SPZ.defineElement('spz-custom-discount-flashsale', SpzCustomDiscountFlashsale);

length

Please select a length

light color

Please select a light color

Quantity

Free worldwide shipping
Free returns
Sustainably made
Secure payments

Transform your outdoor space with our RGBCWIC lighting—featuring millions of colors, adjustable brightness, durable acrylic bulbs, smart app and voice control, and music sync capabilities for a vibrant atmosphere perfect for any occasion!

  • RGBCWIC Lighting: Set millions color, adjust 2700 K warm white to 6500 K cool white and 1-100% brightness, you can diy each bulb to create your own favorite outdoor lighting. Built-in 49 preset scenes, more options for vivid dynamic lighting effects.
  • APP and Voice Control: Using XMcosy APP control the patio lights remotely to create an great decor for a cheerful party or to create a romantic surprise. Pair with Alexa and Google Assistant, turn on or off, set color and brightness with just a command.
  • Durable Acrylic Bulbs: The led light bulb is made of high quality acrylic material, which is more heavy duty, shatterproof, waterproof and weatherproof than plastic, service life 30,000 hours! Unique tieable and hangable bult-in hook, easy to install.
  • Music Sync and Group Control: The multicolor lights will dance to the music rhythm playing on your phone. Group control outside lights in backyard, porch, gazebo at the same time. Step into a magical world, enjoy the delights of halloween lights outdoor!
  • IP65 Waterproof: ETL listed commercial grade, light string and power adapter both IP65 waterproof, great outdoor durability. Ideal outdoor lights for patio, yard, backyard, porch, gazebo, pergola, backyard, bistro, cafe, fence, house.
  • Connectable: A power adapter support up to 65 bulbs. 48ft string lights come with 15 bulbs, connect up to 4 stands(156ft lighting area). 96ft string lights is a complete set, come with 30 bulbs, connect up to 2 strands(168ft lighting area)!
  • Long Extension Cord: The 48ft string lights feature a 6ft plug section, while the 96ft string lights come with a 10ft plug section.
  • Awesome Outdoor Decor: Adorn your patio with lights of orange, purple, and green lights, creating a mesmerizing and ghoulish display for your outdoor halloween decorations.

Length

Number of Bulbs

48 ft

15

96 ft

30