✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
19/21
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰
19/21

✨3-in-1 Wireless Smart Vacuum Cleaner⏰Limited Time Discount 50%⏰

$39.99
$69.99
Save $30.00
ColorBLACK (Standard)
Please select a color
Quantity

Keep Your Car & Home Spotless!

Our Wireless Smart Vacuum Cleaner is the perfect tool for cleaning your car & home on the go! Removing dirt and dust becomes super easy and fast!

12000PA POWERFUL SUCTION & LOW NOISE

This car vacuum cordless rechargeable can achieve the fastest and deepest cleaning, easily remove cat litter, pet hair, dust, debris etc. It utilizes a super-strong motor with powerful suction. And noise lower than 75db. It is very helpful to do daily cleaning.

ALL-AROUND CLEANING FOR HOME&CAR&COMPUTER

-This vacuum cleaner for car is equipped with 4 different attachments to better meet your cleaning needs, which provides deep cleaning for Compressing Vacuum Sealer Bags/Inflate The Swim Rings/Blower and Duster 4 in 1.

QUICK CHARGE & LONG WROKING TIME

This mini vacuum cleaner adopted high capacity battery, and fully charge battery with 3-4 hours can continuous use more than 20-30 minutes.

CORDLESS DESIGN & PORTABLE

Weighing just 0.98lbs, this cordless vacuum cleaner for car is small and compact enough to move it around you wish. It is also very cool and stylish. This is good for quick pickups and light duty cleaning, since it is small and lightweight makes it easy to grab and clean as you go without the heavy lifting of a regular vacuum.

Package Contents:

1 * Vacuum Cleaner

1 * Brush Nozzle

1 * Long Flat Nozzle

1 * Pointed Nozzle

1 * Round Nozzle

1 * Chinese and English manual

1 * USB Charging Cable(The color of the accessories is random, the specified color is not accepted)

OUR ORIGINAL INTENTION:

Provide interesting, fashionable and high-quality products in the world. We will do our best to provide customers with excellent customer service support, because we attach great importance to absolutely zero-risk customer satisfaction.

📦 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 any questions you have within a 24-hour time frame, 7 days a week. We would love to hear from you

🔒 Safe & Secure Checkouts: We use state-of-the-art SSL Secure encryption to keep your personal and financial information 100% protected.

If you bought it and felt that it is not for you, don't worry. and we will make it right by offering you a replacement or refund. 100% Simple & Risk-Free process.

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);