XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs
XMCOSY+ Smart LED Outdoor String Lights with Dimmable  Edison Bulbs

XMCOSY+ Smart LED Outdoor String Lights with Dimmable Edison Bulbs

Price

$38.00 $30.00
Save $8.00
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '23921eaf-7eaa-47c0-a727-6fdadd552e94'; 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 = '0c05789d-635d-4ecd-83b4-4511c80dfa8a'; 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 == '0c05789d-635d-4ecd-83b4-4511c80dfa8a' && 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 = "23921eaf-7eaa-47c0-a727-6fdadd552e94"; // 促销活动数据 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 == '0c05789d-635d-4ecd-83b4-4511c80dfa8a' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "0c05789d-635d-4ecd-83b4-4511c80dfa8a", 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
  • APP Control Smart Light: Command your lights effortlessly via the XMcosy app or voice through Alexa or Google Home. Create your light routines to auto-turn on/off the lights. Sync backyard or garden lights across zones instantly using Group Control—tap once.
  • Upgraded S14 Dual Filaments Edison Bulb: 130% larger light-emitting surface than G40 bulb.1-100% dimmable brightness, bathes the space in 2700K warm light, 40% brighter than others; Ideal smart outdoor lights for patio,back yard, or house lighting.
  • Durable String Light for Outside: IP65 waterproof rating with weather resistant material to withstand extreme temperatures from -4℉ to 104℉. Hanging lights with high-grade plastic shatterproof clear vintage bulbs, offering classic charm and 30,000 hours service life.
  • Longer lifespan Outside Lights: 100% pure copper wire and equipped with ETL certified triple insulated cable to prevent overheating. T-shaped suspension structure with all-copper socket, more sturdy and stable. 12V low voltage output for worry-free home use.
  • Easy Energy-Saving Light String: Consumes 60% less power vs traditional bulbs while delivering 40% brighter illumination with an adjustable and flexible lighting effect. The bulb can be replaced, eliminating the trouble of long-term maintenance.
  • Extendable LED String Lights: XMcosy patio lights outdoor waterproof can be connected to share one single power adapter, making it easy to cover large spaces like indoor classroom, bistro or outdoor balcony, fence, deck or camping site. (Max 45 bulbs recommended)

    Length

    Number of Bulbs

    123 ft

    40

    98 ft

    30

    72.5 ft

    22

    49 ft

    15

     

     


    led outdoor string lights 100ft

    Product Name

    Smart LED Upgraded String Lights

    Smart LED String Lights

    RGBW Smart String Lights

    G40 LED String Lights

    Length

    49Ft/98Ft/123Ft

    49Ft/72.5Ft/98Ft/123Ft 

    49Ft/72.5Ft/98Ft/123Ft

    50Ft/75Ft/100Ft/150Ft

    Number of Light Sources

    15/30/40

    15/22/30/40

    15/22/30/40

    25/34/50/75


    Lighting Color


    2700k Warm White2700k Warm White

     

    RGB & White

    2700k Warm White

    Bulb Type

    S14 Edison Plastic Bulb 

    S14 Edison Plastic Bulb 

    S14 Edison Plastic Bulb

    G40 Lightweight Plastic Bulb

    WiFi & App Control

    Color Changing

    Dimmable

    Work with Alexa & Google Home

    Weatherproof