🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋
🔥🔥🦋Outdoor Decorative Light Solar🦋

🔥🔥🦋Outdoor Decorative Light Solar🦋

Price

$38.00 $21.00
Save $17.00
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '7e18d536-146b-498e-bc19-ea1eb37a9778'; 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 = '5c45e6f1-7bb6-4c0f-a417-9180f3128222'; 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 == '5c45e6f1-7bb6-4c0f-a417-9180f3128222' && 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 = "7e18d536-146b-498e-bc19-ea1eb37a9778"; // 促销活动数据 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 == '5c45e6f1-7bb6-4c0f-a417-9180f3128222' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "5c45e6f1-7bb6-4c0f-a417-9180f3128222", 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);

discount

Please select a discount

Quantity

Free worldwide shipping
Free returns
Sustainably made
Secure payments

 

⏰Handling time>> Priority is given to delivery after payment.
😊Returns>> 
Fast refund for any product quality issues within 30 days, support return.
🚢Shipping>>We'll arrange the fastest shipping for you
🏆After Sales Service>>If you are not satisfied with the goods received, please contact us within 15 days after receipt, and we will give you the best help! Please don't worry!

⭐Outdoor Decorative Light Solar⭐

🛋✨Hang this butterfly ball lantern in your garden, visiting guests and passersby will be amazed, this beautifully crafted solar lantern can add an elegant atmosphere to your home.🥰

🦋Perfect decoration-This outdoor solar light is a special spherical shape with colorful butterflies on it. 

Feature

  • Unique design- there are different coloured butterflies that make up the lamp with a natural and romantic atmosphere. The beautiful butterflies are made of high quality materials that do not fade or deform easily.

  • Wide Applications-This outdoor solar light is perfect for gardens, backyards, paths, patios, lawns, porches, pergolas, etc., to create a beautiful atmosphere for your garden.Lighting and at the same time decorate your small garden etc.

  • Solar charging- automatic charging in the sun, very environmentally friendly. When there is sunlight, it can be continuously illuminated.

 

  • UNIQUE GIFT-Colorful glow butterfly is a great gift,outdoor parties, weddings, birthday parties. Perfect For Gift Giving to Friends and Family for their stunning accent in their Home and Garden Decoration.

Specification

  • Light source power: 0.5 (W)
  • Colour: White
  • Input voltage: ≤36
  • Size: 

Package includes: 1*Outdoor Decorative Light Solar

Note:
Due to the different monitor and light effect,the actual color maybe a slight different from the picture color.
Please allow 1-2cm differs due to manual measurement.


⭐OUR GUARANTEE⭐

📦 Insured Worldwide Shipping: Each order includes real-time tracking details and insurance coverage in the unlikely event that a package gets lost or stolen in transit.

✉️ 24/7 Customer Support: We have a team of live reps ready to help and answer any questions you have within a 24-hour time frame, 7 days a week. Please contact us at . should you need assistance.

🔒 Safe & Secure Checkouts: Safe payments via PayPal® & credit/debit card, Keep your personal and financial information 100% protected.