(car upgrade)20 Pcs Car Tire Reflective Stickers

$18.98
Color : yellow
Style : Benz
Quantity
The current produc does not participate any Rebate. Switch the participating product to check the design.
(This prompt will not be displayed on the client-side.)
people are viewing this right now
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);
Description

Welcome to our store (*^▽^*) For more car upgrade ideas, please go to the home page to view the collection--car upgrade 🌺🌺 Please subscribe to our store or pinterest, collect your favorite products, and see more good and cheap products

🚗Ensure driving safety at night👇

  • 100% brand new, and high quality.
  • Decorate your car / motorcycle with personalized styling.
  • Easy to install, can stay on your Car / Motorcycle wheels at least 2 years.
  • Universal fitment to most Car / Motorcycle model.
  • Reflective effect.

    Main Features

    🚗Prism reflection
    The visible distance at night is increased, reducing the incidence of accidents.


    🚗Diamond reflective
    Strong reflection can be seen at a glance, wide applicability


    🚗Flexible and resistant to bending
    Bend freely without deformation to fit the curvature of the car body

    🚗Full coverage adhesive
    Paste directly, strong adhesion, waterproof and sunscreen, not easy to fall off

    Product Specifications

    • Material: Epoxy
    • Size: 0.7*9cm
    • Color: Fluorescent Green
    • Installation: Paste Type

                Package includes

                • Car Tire Reflective Stickers x 20 pcs/set

                      Note

                      • Due to manual measurements, please allow slight measurement deviations.
                      • Due to the different display and lighting effects, the actual color of the item may be slightly different from the color displayed on the picture.

                      OUR GUARANTEE:

                      • We truly believe we carry some of the most innovative products in the world, and we want to make sure we back that up with a risk-free 90-day guarantee.
                      • If you don't have a positive experience for ANY reason, we will do WHATEVER it takes to make sure you are 100% satisfied with your purchase.
                      • We want you to be reassured that there are absolutely ZERO risks in buying something and trying it out. If you don't like it, no hard feelings we'll make it right.
                      • We have 24/7/365 Ticket and Email Support. Please contact us if you need assistance.
                      INSURED SHIPPING WORLDWIDE 
                       
                       
                      Shipping & Delivery

                      🌏We offer Worldwide Tracked Shipping on all orders.🌎

                      Our goal is to offer you the best shipping options no matter where you live. Every day we deliver to hundreds of customers across the world, ensuring that we provide the very highest levels of responsiveness at all times.

                      Shipping and Delivery:

                      • Standard Delivery--Free Shipping : Over 69.99 dollars 
                      • Deliveries are typically made Monday to Friday between 8:00am - 6:00pm
                      • Working days are: Monday to Friday (and do not include public holidays or weekends)
                      • We do not ship orders on weekends or holidays. 
                      • Shipping: U.S. orders fulfill and ship within 1-3 business days followed by 7-10 business days transit time for most products in the store. With delays in shipping worldwide, some products may take 1-2 weeks transit time.  We strive to get our customers their items in a timely manner with the current worldwide supply chain delays. Feel free to inquire about shipping times for specific products at hezizi0215@gmail.com
                      • Shipping methods:4PX、YunExpress、Wanb Express、UBI

                        Our Guarantee:

                        • All your orders have a 14-day money-back guarantee!
                        • Sometimes your orders can get lost/damaged on their journey to you. If this occurs, we will send you a replacement free of charge! Just contact our support team at hezizi0215@gmail.com and we will get in touch with you as soon as possible!

                        Please Note: We may ask you to send us a picture of the damaged product before shipping the replacement.

                        Important Remarks

                        • Refunds are not given on free items. However, replacements are given for items lost while shipping.
                        • Replacements are sent up to 7 days after receiving your item.
                        • For more information about refunds, please read our Refund Policy.

                        Tracking your order:

                        To track your order, we will send you all the tracking information to your e-mail.

                        Please note that your tracking number is the one we send automatically when we ship your order (it can take up to 2 days). 

                        If you cannot find your tracking number, please get in touch with us at hezizi0215@gmail.com



                        CONTACT US

                        hezizi0215@gmail.com

                        Refund Policy

                        We are committed to providing customers with the best online shopping experience and satisfaction. We welcome your feedback and strive to improve the customer’s shopping experience. At the same time, we work hard to deal with your feedback. We are ready to provide customers with services that surpass everything.

                        If you are not completely satisfied with your purchase, you may return or exchange your item within 14 days. Please note that the return period starts from the day you receive your order.

                        HOW DO I RETURN AN ITEM?

                        If you check that there is a fault with an item or wrong item you have received, please contact us within 14 days from receiving your order.

                        Please provide your order number as well as the reason for your return. Our customer service team will review the return request and will send further instructions if the return is approved.

                        Returned items must be in original packaging, including any accessories, manuals, and documentation. If the condition of the product shipped back to us is not in an acceptable condition we reserve the right to not refund or exchange.

                        ·Non-returnable items include damaged products through customer mishandling.

                        ·Returns made without a receipt may be refused.

                        ·The return address will be obtained after contacting customer service to obtain the returned consent.

                        WHAT IF THE ITEM(S) I RECEIVED ARE DEFECTIVE/INCORRECT/DAMAGED?

                        Did you receive a faulty unit or the wrong product? Simply not satisfied with your order?

                        Please contact our Customer Support team to start the return process. Please include the following information:

                        ·Order number

                        ·Proof of purchase(Order Summary)

                        ·Video or photo of the faulty product

                        In some cases, you may be required to include a video or photo of the defective product for proof in order to refund or replace the product. If a return or refund is required, for this reason, the original freight and return freight shall be borne by us.

                        WHEN I CAN RECEIVE MY REFUND?

                        Once your return is received and inspected, we will send you an email to notify you that we have received your returned item. We will also notify you of the approval or rejection of your refund within 3-5 business days. If you are approved, then your refund will be processed, and a credit will automatically be applied to your credit card or original method of payment, within a certain amount of days.

                        Your refund will deduct the original shipping cost. At the same time, you need to bear the return shipping cost, except for damaged packages.

                        WHO IS RESPONSIBLE FOR THE SHIPPING COSTS?

                        If the product is not usable, due to our fault (such as size, improper damage, or quality problems), we will bear the freight for replacement and rescheduling of the returned product and the return, but if you purchase the product by mistake or error, you will have to bear the freight for the original shipping and return.

                        FAQ

                        FAQ

                        How Do I Cancel An Order?

                        We are only able to cancel orders within the first 12 hours after the order is placed. After that the order has most likely been processed and is preparing for shipment or has been shipped. Once this takes effect, it's out of our hands. We apologize for any inconvenience this may cause, but we pride ourselves on prompt service and this includes getting your orders out as fast as possible.

                        When Will My Order Ship?

                        Orders are usually processed and shipped within 3 working days of purchase.

                        How Long Does Shipping Take?

                        Shipping times vary as we do ship worldwide from different fulfillment centers based on your location. Average shipping time is about 7 to 15 working days. Your tracking number will be updated 3-7 days after your order has been shipped. 

                        IS MY INFORMATION SECURE USING THIS SITE?

                        Yes, we use the latest technology to ensure your information is secure. To get more information, please read our privacy policy

                        Orders & Payments

                        Q: What payment methods do you accept?
                         
                        PayPal Express
                        PayPal Credit
                        All major Credit/Debit Cards
                        A: PayPal Express is a secure and fast way to purchase our products online. PayPal already has your details, so just provide your email address and password to safely complete your online purchase.
                         
                        Q: How can I know if my order has been placed successfully?
                         
                        A: When your order is placed successfully, you will receive an order confirmation email. The status of your order can be check by visiting the Track My Order. If you have not received the order confirmation email, it may be that your email is full and cannot be successfully accepted, or it may be a system problem. Anyway, when it happens, please contact us in time.
                         

                        Shipping & Delivery

                        Q: Where can I find the tracking information for my orders?
                         
                        A: All tracking numbers can be found in the shipping notification emails we send out. Tracking information can be found in the shipping notification emails we send out.
                         
                        Note that international shipment tracking may take up to a few days to display any updates but that doesn't necessarily mean the shipment is lost.
                         
                        Q: Is tracking available for my order? 
                         
                        A:We depend on the international network of logistics services such as DHL, FedEx, and UPS. Along with these, we also rely on local postal service providers like USPS so that your order could be delivered to you in the shortest time possible. That’s the reason why tracking may not be available sometime.
                         
                        Note: All orders delivered within the United States by USPS have full tracking available! For international orders, full tracking will only be available when sent via International Priority - which costs a bit more. 
                         
                        Q: Where do my orders ship from? 
                         
                        A:We have our third-party factories located in different parts of the world. Each one of them manufactures particular products and caters to different geographical locations. We make sure your orders are producted in the most suitable location catering to the delivery address you provided for fast and affordable shipping!
                         
                        Q: What if the recipient’s address was wrong?
                         
                        A:If the recipient’s address was wrong, please contact us in time. Once the order is shipped, then you are held responsible. You would have to bear the reshipment charges. 
                         
                        Q: What happens if a package wasn’t delivered to me, but the tracking states that it was?
                         
                        A:If the package was marked as delivered, but you have yet to receive it, please contact us in time.
                         
                        There may be cases where the delivery was made, but the package was left in an unexpected location at the your address. You should reach out to the carrier and inquire if any additional details were left by the delivery person. For example: “Left under the table on the back porch.”
                         

                        Returns & Exchanges

                        Q: What is your return policy?
                         
                        A: We offer a 14-day return & exchange policy, because we would like to make you feel comfortable when shopping at Leemtybd.. Please refer to Returns & Exchanges for details.
                         
                        If you have any questions, please contact us, we will deal with it as soon as possible.

                        Thank you for visiting

                        Leemtybd focuses on discovering unique and personalized products for European and American consumers, we stick to our service and strive for 100% customer satisfaction. You can click on our classified collection album to find your favorite products
                        SAFE PAYMENT
                        Pay securely with your favorite Credit Card provider or PayPal!
                        FREE SHIPPING
                        Free Premium Shipping with Track and Trace, every order, every day!
                        100% MONEY BACK
                        14 day money back guaranteed. No questions asked!
                        SUPPORT 24/7
                        We're happy to help! We reply within 24 hours/7 days a week.
                        class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }, true); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);