Last Day 50% Off ✨Toxin Bee Poison Anti-Aging Wrinkle Serum

$35.99
$65.99
-$30.00
Buy More Save More:  Buy 2 Get 1 Free - Only $11.9 Each🔥
Quantity
class SpzCustomDiscountBundleProducts extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.getDiscountPriceApi = "\/api\/storefront\/promotion\/calculate\/discounted_price"; this.buyNowApi = "\/api\/checkout\/order"; this.batchAtcApi = "\/api\/cart\/batch"; // 款式信息集合 this.productStyleInfo = []; // 弹窗内选择款式集合 this.modalVariantInfo = []; this.show_classic_bundle_spu_style = false; this.bundleProducts = []; //捆绑商品 this.bundleConfig = {}; //下方按钮配置 this.discountId = ""; this.discountType = ""; this.discountInfo = ""; this.lineItems = []; this.tempCss = {}; this.renderQuickShop_ = this.win.SPZCore.Types.debounce(this.win, this.renderQuickShopModal.bind(this), 500); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.setupAction_(); }; init(data = []) { this.productStyleInfo = data; } handleRequestError_(data) { this.showToast(data?.message || data?.errors?.[0] || 'Unknown error'); }; //外部组件调用传值 setBundleData(products, config = "", id = "", type = "", info = {}) { this.bundleProducts = products; if(config) { this.bundleConfig = config; this.discountId = id; this.discountType = type; this.discountInfo = info; if(type === 'DT_CLASSIC_BUNDLE' && info.enable_min_purchase_qty && info.min_purchase_qty_type == 'spu') { this.show_classic_bundle_spu_style = true; } // 经典捆绑初始化商品数据 if(type == 'DT_CLASSIC_BUNDLE') { this.productStyleInfo = products.map((item) => { return this.getFilteredVariants_(item, 'single'); }); } } } handleChangeSort() { const result = this.productStyleInfo.reduce((map, item) => { if (!map[item.product_id]) { map[item.product_id] = []; } map[item.product_id].push(item); return map; }, {}); Object.values(result).forEach((item) => { this.handleSpzVariantRender_(item, item[0].product_id); this.handleProductOption_(item[0].product_id, true); }); } // 调用spz-tag组件的doRender方法 handleSpzVariantRender_(data, id) { const spzVariantTag = SPZCore.Dom.scopedQuerySelector(document.body, `#promotionSpzVariantTags-${id}`); spzVariantTag && SPZ.whenApiDefined(spzVariantTag).then((api) => { api.render(data, true); }); } // 执行经典捆绑最低购买数量更新 handleMinPurchaseQtyUpdate_(data, id) { const minPruchaseQty = SPZCore.Dom.scopedQuerySelector(document.body, `#promotionMinPurchaseQty-${id}`); minPruchaseQty && SPZ.whenApiDefined(minPruchaseQty).then((api) => { api.render(data, true); }); } // 更新价格 updateProductPrice_(data) { const bottomBtnContainer = SPZCore.Dom.scopedQuerySelector(document.body, `#promotionBottomContainer`); if (data.length == 0) { bottomBtnContainer && SPZ.whenApiDefined(bottomBtnContainer).then((api) => { const renderInfo = { setting: this.bundleConfig, ...{ original_price: 0, received_discounts: 0, picked_qty: 0 } } api.render({original_price: 0, received_discounts: 0}, true); }); return; } const reqBody = { discount_id: this.discountId, customer: { customer_id: '', email: '', }, sales_channel: { sale_channel_type: "online", sale_channel_id: '1698442' }, line_items: data } // 如果已经有一个请求在等待,那么取消这个请求 if (this.debounceTimer) { clearTimeout(this.debounceTimer); } this.debounceTimer = setTimeout(() => { this.xhr_.fetchJson(this.getDiscountPriceApi, { method: "post", body: reqBody }).then((res)=>{ // 更新商品列表价格 Object.keys(res.line_items).forEach((key) => { const currentProductPrice = SPZCore.Dom.scopedQuerySelector(document.body, `#appDiscountProductPrice-${key}`); currentProductPrice && SPZ.whenApiDefined(currentProductPrice).then((api) => { api.render(res.line_items[key], true); }); }); // 更新底部按钮总价/总折扣价 const picked_qty = data.reduce((acc, item) => { return acc + item.quantity; }, 0); bottomBtnContainer && SPZ.whenApiDefined(bottomBtnContainer).then((api) => { const data = { setting: this.bundleConfig, ...{ ...res.total_price, picked_qty } } api.render(data, true); }); }).catch((err)=>{ this.handleRequestError_(err); }).finally(()=>{ }) }, 100); } // 还原商品价格 resetProductPrice_(data) { const {price, compare_at_price, id} = data; const currentProductPrice = SPZCore.Dom.scopedQuerySelector(document.body, `#appDiscountProductPrice-${id}`); currentProductPrice && SPZ.whenApiDefined(currentProductPrice).then((api) => { api.render({total_received_discounts: price, total_price: compare_at_price}, true); }); } //处理与selector组件的交互 handleProductOption_(productId, show) { const currentProductOption = SPZCore.Dom.scopedQuerySelector(document.body, `#promotionSelectOption-${productId}`); currentProductOption && currentProductOption.toggleAttribute('show', show); const productSelector = SPZCore.Dom.scopedQuerySelector(document.body, `#promotionProductSelector`); productSelector && SPZ.whenApiDefined(productSelector).then((api) => { api.toggle_({option: productId, value: show}); }); } // 混搭弹窗内的前端库存校验 handleModalInventoryCheck_(data) { if(this.discountType == 'DT_MIX_MATCH_BUNDLE' || this.discountType == 'DT_CLASSIC_BUNDLE') { const currentVariantAddNum = this.modalVariantInfo.find((item) => item.variant_id == data.variant_id)?.quantity || 0; const quickShopBody = SPZCore.Dom.scopedQuerySelector(document.body, '#apps-discount-quick-shop-body'); if(!!data.variant && currentVariantAddNum == Number(data.variant.available_quantity)) { quickShopBody && quickShopBody.setAttribute('status', 'soldout'); } else { quickShopBody && quickShopBody.setAttribute('status', 'available'); } } else { return; } } // 添加商品子款式 renderVariantTag() { let variantInfo; const quickShopBody = SPZCore.Dom.scopedQuerySelector(document.body, '#apps-discount-quick-shop-body'); quickShopBody && SPZ.whenApiDefined(quickShopBody).then((api) => { variantInfo = api.getVariantsData(); const productId = variantInfo.product_id; const variantId = variantInfo.variant_id; const minPruchaseQtyRender = variantInfo.product.discount_min_purchase_qty || variantInfo.variant.discount_info.discount_min_purchase_qty; if(this.discountType === 'DT_MIX_MATCH_BUNDLE') { const index = this.productStyleInfo.findIndex((item) => item.variant_id == variantInfo.variant_id); if (index != -1) { this.productStyleInfo[index].quantity = Number(this.productStyleInfo[index].quantity) + Number(variantInfo.quantity); this.updateProductPrice_(this.productStyleInfo); } else { this.productStyleInfo.push(this.getFilteredVariants_(variantInfo)); // 若当前商品已选中,更新商品价格 const currentProductOption = SPZCore.Dom.scopedQuerySelector(document.body, `#promotionSelectOption-${productId}`); const isSelected = currentProductOption && currentProductOption.hasAttribute('selected'); isSelected && this.updateProductPrice_(this.productStyleInfo); } const selectedVariantsFilter = this.productStyleInfo.filter((item) => item.product_id == productId); this.handleSpzVariantRender_(selectedVariantsFilter, productId); this.handleProductOption_(productId, true); } else { if(this.discountInfo.enable_min_purchase_qty == true && this.discountInfo.min_purchase_qty_type == 'spu' && minPruchaseQtyRender > 1) { const index = this.modalVariantInfo.findIndex((item) => item.variant_id == variantId); if (index != -1) { this.modalVariantInfo[index].quantity = Number(this.modalVariantInfo[index].quantity) + 1; } else { this.modalVariantInfo.push(this.getFilteredVariants_(variantInfo, 'classic_spu')); } const modalVariantTag = SPZCore.Dom.scopedQuerySelector(document.body, '#promotionModalVariantTagRender'); modalVariantTag && SPZ.whenApiDefined(modalVariantTag).then((api) => { api.render(this.modalVariantInfo, true); }); this.handleModalInventoryCheck_(variantInfo); const selectedVariantsNum = this.modalVariantInfo.reduce((acc, item) => { return acc + item.quantity; }, 0); if(selectedVariantsNum == minPruchaseQtyRender) { this.handleSpzVariantRender_([this.getFilteredVariants_(variantInfo)], productId); this.productStyleInfo = this.productStyleInfo.filter((item) => item.product_id != productId).concat(this.modalVariantInfo); const renderData = this.productStyleInfo.filter((item) => item.product_id == productId).map((item) => { return { ...item, is_classic_bundle_product_list_variant_tag: true } }); const classicSpuTag = SPZCore.Dom.scopedQuerySelector(document.body, `#promotionClassicSpuTags-${productId}`); classicSpuTag && SPZ.whenApiDefined(classicSpuTag).then((api) => { api.render(renderData, true); }); this.updateProductPrice_(this.productStyleInfo); const quickView = SPZCore.Dom.scopedQuerySelector(document.body, '#apps-discount-quick-view'); quickView && SPZ.whenApiDefined(quickView).then((api)=>{ api.close(); }); this.modalVariantInfo = []; } else { return; } } // this.productStyleInfo 中已存在与productId, variantId都相同的商品 则直接return 关闭弹窗 const isExist = this.productStyleInfo.some((item) => item.product_id == productId && item.variant_id == variantId); if (isExist) { const quickView = SPZCore.Dom.scopedQuerySelector(document.body, '#apps-discount-quick-view'); quickView && SPZ.whenApiDefined(quickView).then((api)=>{ api.close(); }); return; } // 若 this.productStyleInfo 中已存在与productId相同的商品,则不再添加 否则替换 const index = this.productStyleInfo.findIndex((item) => item.product_id == productId); if (index != -1) { this.productStyleInfo[index] = this.getFilteredVariants_(variantInfo); } else { this.productStyleInfo.push(this.getFilteredVariants_(variantInfo)); } const selectedVariantsFilter = this.productStyleInfo.filter((item) => item.product_id == productId); this.handleSpzVariantRender_(selectedVariantsFilter, productId); this.handleMinPurchaseQtyUpdate_({discount_min_purchase_qty: minPruchaseQtyRender}, productId); this.updateProductPrice_(this.productStyleInfo); } const quickView = SPZCore.Dom.scopedQuerySelector(document.body, '#apps-discount-quick-view'); quickView && SPZ.whenApiDefined(quickView).then((api)=>{ api.close(); }); }); } // 单变体点击添加按钮 renderSingleVariant(data) { const { product_id } = data; const currentProduct = this.bundleProducts.find((product) => product.id == product_id); // 若当前商品已存在,则不再添加 而是更新数量 const index = this.productStyleInfo.findIndex((item) => item.product_id == product_id); if (index != -1) { this.productStyleInfo[index].quantity = Number(this.productStyleInfo[index].quantity) + 1; this.updateProductPrice_(this.productStyleInfo); } else { this.productStyleInfo.push(this.getFilteredVariants_(currentProduct, 'single')); } const renderProductArr = this.productStyleInfo.filter((item) => item.product_id == product_id); this.handleSpzVariantRender_(renderProductArr, product_id); this.handleProductOption_(product_id, true); } // 过滤选中商品的子款式 获取有用的信息 product_id,variant_id,price,compare_at_price,quantity,title,variant_title getFilteredVariants_(data, type = '') { const { id, title, variants, inventory_tracking, inventory_policy, inventory_quantity, product_type } = data; const { product_id, variant_id, variant, quantity, product, discount_min_purchase_qty } = data; const isSingle = type == 'single'; const variantData = isSingle ? (variants[0] || data) : variant; const productData = isSingle ? data : product; let item_quantity = 0; if (this.discountType === 'DT_MIX_MATCH_BUNDLE') { item_quantity = isSingle ? 1 : Number(quantity); } else if (type === 'classic_spu') { item_quantity = 1; } else { item_quantity = discount_min_purchase_qty || productData.discount_min_purchase_qty || variantData.discount_info.discount_min_purchase_qty || 1; } return { product_id: isSingle ? id : product_id, variant_id: variantData?.id || '', price: variantData?.price || '0.00', compare_at_price: variantData?.compare_at_price || '0.00', quantity: item_quantity, inventory_tracking: productData.inventory_tracking, inventory_policy: productData.inventory_policy, inventory_quantity: productData.inventory_quantity, product_type: productData.product_type || this.bundleProducts.find((item) => item.id == product_id)?.product_type || this.bundleProducts.find((item) => item.id == id)?.product_type || '', title: productData.title, variant_title: variantData?.options.map((option) => option.value).join('/') || '', is_multi_style: productData.variants.length > 1, } } handleLoading_ (event) { const { type, action } = event; const loadingElementId = type === 'product' ? '#discount-match-drawer-products_loading' : '#apps-discount-whole-loading'; const loadingElement = document.querySelector(loadingElementId); if (loadingElement) { SPZ.whenApiDefined(loadingElement).then((api) => { if (action === 'show') { api.show_(); } else { api.close_(); } }); } } handleSelectProduct(productArr) { // 从this.productStyleInfo 过滤出选中的商品 const selectedProducts = this.productStyleInfo.filter((item) => productArr.includes(item.product_id)); this.updateProductPrice_(selectedProducts); } // 渲染加购弹窗内容 async renderQuickShopModal(data){ this.handleLoading_({type: 'whole', action: 'show'}); this.xhr_.fetchJson(`/api/storefront/promotion/landing_page/product?product_id=${data.product_id}&discount_id=${this.discountId}&apply_scenario=1`, { method: "get", }).then(async(res)=>{ //flash主题放block有层级问题 if(/Flash/.test(window.C_SETTINGS.theme.merchant_theme_name) && document.querySelector(".productInfoSection")) { this.tempCss.zIndex = document.querySelector(".product-info-body").style.zIndex; document.querySelector('.product-info-body').style.zIndex="1048"; } this.handleLoading_({type: 'whole', action: 'close'}); const $quickShop = await SPZ.whenApiDefined(document.querySelector('#apps-discount-quick-view-render')); // 定义默认渲染的子款式 const selectedVariant = res.product.variants.find((v)=> (v.available && v.is_hit_discount)) || res.product.variants[0]; let selectedValues = {}; selectedVariant.options.length && selectedVariant.options.forEach(item => { selectedValues[item.name] = item.value; }) // 默认选中的 子款式、 options res.product.defaultSelectValues = selectedValues; let data = {...res.product, product:res.product, selectedVariant, show_classic_bundle_spu_style: this.show_classic_bundle_spu_style, discountType: this.discountType}; $quickShop.render(data); // 打开加购弹窗 SPZ.whenApiDefined(document.querySelector(`#apps-discount-quick-view`)).then((api)=>{ api.open(); }); }).catch((err)=>{ this.handleLoading_({type: 'whole', action: 'close'}); }) } // 删除商品子款式 deleteVariantTag(data) { const { product_id, variant_id } = data; if(this.discountInfo.enable_min_purchase_qty == true && this.discountInfo.min_purchase_qty_type == 'spu') { const modalProductVariants = this.modalVariantInfo.filter((item) => item.product_id == product_id && item.variant_id != variant_id); const modalVariantTag = SPZCore.Dom.scopedQuerySelector(document.body, '#promotionModalVariantTagRender'); modalVariantTag && SPZ.whenApiDefined(modalVariantTag).then((api) => { api.render(modalProductVariants, true); }); this.handleModalInventoryCheck_(data); this.modalVariantInfo = modalProductVariants; return; } const currentProductVariants = this.productStyleInfo.filter((item) => item.product_id == product_id && item.variant_id != variant_id); this.handleSpzVariantRender_(currentProductVariants, product_id); // 更新selectedVariants this.productStyleInfo = this.productStyleInfo.filter((item) => item.variant_id != variant_id); if(currentProductVariants.length > 0) { // currentProductVariants 中只要有一项是多款式商品,就更新价格 const isMultiStyle = currentProductVariants.some((item) => item.is_multi_style); isMultiStyle && this.updateProductPrice_(this.productStyleInfo); } else { this.handleProductOption_(product_id, false); this.resetProductPrice_(this.bundleProducts.find((item) => item.id == product_id)); } } // 加购弹窗未参与活动 加购按钮不可点击 TODO 拆出来 handleNotHitDiscount_(data) { const $quickShopBody = document.querySelector('#apps-discount-quick-shop-body'); //当前子框式未命中活动 if(data.variant.is_hit_discount == false) { $quickShopBody.setAttribute('variantstatus', 'notHitDiscount') } else { $quickShopBody.setAttribute('variantstatus', '') } } setupAction_() { // 子款式 未参与活动 this.registerAction('handleNotHitDiscount', (invocation) => { const data = invocation.args.data; this.handleNotHitDiscount_(data); }); // 渲染加购弹窗 this.registerAction('renderQuickShop', (invocation) => { const data = invocation.args; this.renderQuickShop_(data); }); this.registerAction('renderSingleVariant', (invocation) => { const data = invocation.args; this.renderSingleVariant(data); }); this.registerAction('getVariantInfo', (invocation) => { this.renderVariantTag(); }); this.registerAction('deleteVariantTag', (invocation) => { const data = invocation.args; this.deleteVariantTag(data); }); this.registerAction('getSelectedProduct', (invocation) => { const data = invocation.args.data; this.handleSelectProduct(data); }); //TODO 加购下单逻辑单独拆组件 this.registerAction('handleClick', (data) => { if(this.discountType == 'DT_CLASSIC_BUNDLE') { this.lineItems = this.productStyleInfo; } else { const selectedOptions = SPZCore.Dom.scopedQuerySelectorAll(document.body, '[id^="promotionSelectOption-"]'); const idArr = [...selectedOptions].reduce((acc, item) => { if (item.hasAttribute('selected')) { const optionValue = item.getAttribute('option'); if (optionValue) { acc.push(optionValue); } } return acc; }, []); this.lineItems = this.productStyleInfo.filter((item) => idArr.includes(item.product_id)); } const action = data.args.action === "cart"; if(action) { //add to cart this.xhr_ .fetchJson(this.batchAtcApi, { method: 'POST', body: { line_items: this.lineItems.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: Number(item.quantity) } }) } }) .then((data) => { setTimeout(() => { window.location.href = '/cart'; }); }) .catch(async (error) => { await error.then((data) => { this.handleRequestError_(data); }); }); } else { //checkout this.xhr_ .fetchJson(this.buyNowApi, { method: 'POST', body: { line_items: (this.lineItems || []).map((product) => { return { quantity: Number(product.quantity), variant_id: product.variant_id, note: product.note || '', properties: product.properties || {} } }), refer_info: { source: 'buy_now' } } }) .then(async (data) => { if (data.state === 'success') { window.location.href = data.data?.checkout_url; } this.handleRequestError_(data); }) .catch(async (error) => { await error.then((data) => { this.handleRequestError_(data); }); }); } }); this.registerAction('resetModalVariantInfo', () => { //flash主题放block有层级问题 if(/Flash/.test(window.C_SETTINGS.theme.merchant_theme_name) && document.querySelector(".productInfoSection")) { document.querySelector('.product-info-body').style.zIndex = this.tempCss.zIndex; } this.modalVariantInfo = []; }); this.registerAction('handleModalInventoryCheck', (invocation) => { const data = invocation.args.data; this.handleModalInventoryCheck_(data); }); }; }; SPZ.defineElement('spz-custom-discount-bundle-products', SpzCustomDiscountBundleProducts);
class SpzCustomDiscountBundle extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.variant_id = 'a607b5b0-11ed-4ef9-a068-27998a1c9e8d'; this.discountCardApi = "\/api\/storefront\/promotion\/product_details_page\/card"; this.productsApi = "\/api\/storefront\/promotion\/product_page\/product\/list"; this.bundleRenderElement = "appDiscountProductBundle"; this.model = { loading: false, page: 2, limit: 20, params: { count: 0, has_more: false, sort: { by: "price", direction: "asc" } } } this.discountId = ""; this.discountType = ""; this.bundleProducts = []; //捆绑活动商品 this.buttomConfig = {};//总价及下方按钮配置 this.renderDiscount = this.win.SPZCore.Types.debounce(this.win, this.discountHandel.bind(this) , 500); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } async getDiscountCardList() { const productId = 'b33c8afa-74ba-4160-a799-6814b5a9d542'; const variantId = this.variant_id; const reqBody = { product_id: productId, variant_id: variantId, discount_types: ["DT_CLASSIC_BUNDLE","DT_MIX_MATCH_BUNDLE"], discount_methods: ["DM_AUTOMATIC"], customer: { customer_id: '', email: '', } } const data = await this.xhr_.fetchJson(this.discountCardApi, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { console.error(err); }) return data; }; async discountHandel() { const $bundle = document.querySelector(".app-discount-bundle-inner"); $bundle && SPZCore.Dom.removeElement($bundle); const data = await this.getDiscountCardList(); if(!data.discount_info || data.discount_info.discount_id === "0") { return; } //变量赋值 this.bundleProducts = data.product_info.product; this.buttomConfig = data.product_setting; this.discountId = data.discount_info.discount_id; this.discountType = data.discount_info.discount_type; this.model.params ={ count: data.product_info.count, has_more: data.product_info.has_more, sort: data.product_info.sort } //给捆绑组件传值 SPZ.whenApiDefined(document.getElementById("appDiscountBundleProductsFunc")).then((api) => { api.setBundleData(this.bundleProducts, this.buttomConfig, this.discountId, this.discountType, data.discount_info); }) document.querySelector(".app_discount_bundle").dataset.discountType = data.discount_info.discount_type; SPZ.whenApiDefined(document.getElementById(this.bundleRenderElement)) .then(apis => { apis.render(data,true).then(() => { SPZ.whenApiDefined(document.getElementById("bundleProductsRender")).then((api) => { api.render(data,true).then(() => { this.bindEvent_(); if(this.bundleProducts.length < 5) { document.querySelector(".app-discount-bundle-arrow-left").style.display="none"; document.querySelector(".app-discount-bundle-arrow-right").style.display="none"; } //经典捆绑渲染按钮 if(this.discountType === "DT_CLASSIC_BUNDLE") { SPZ.whenApiDefined(document.getElementById("promotionBottomContainer")).then((api) => { const buttonData = { setting: this.buttomConfig, ...data.product_info.total_price } api.render(buttonData, true); }) } }) }) }) .then(() => { document.querySelector(".app-discount-bundle-inner").classList.add("discount_bundle_" + data.product_setting.template_type || "vertical"); }); }); //本地调试 放商详block里 const isSection = document.querySelector( 'div[data-section-type^="shoplazza://apps/publicapp/blocks/discount_bundle/"] .app_discount_bundle' ); if(!isSection) { document.querySelector(".app_discount_bundle").classList.add("productInfoSection"); } }; // 获取加载的商品数据,拼接html模板 async loadData(cb) { // 请求数据 this.model.loading = true; //查询活动商品接口 const reqBody = { discount_id: this.discountId, page: this.model.page, limit: this.model.limit, "apply_scenario": "AS_ENTITLED_PRODUCT", sort: this.model.params.sort, sales_channel: { sale_channel_type: "online", sale_channel_id: '1698442' }, product_id: 'b33c8afa-74ba-4160-a799-6814b5a9d542' } this.xhr_.fetchJson(this.productsApi, { method: "post", body: reqBody }).then(async(res)=>{ const count = res.count; this.model.params.has_more = res.has_more; if (count > 0) { this.model.page++; if (res.products && res.products.length > 0) { let products = res.products.map((product) => { return { ...product, url: appDiscountUtils.globalizePath(product.url), image_padding_bottom: appDiscountUtils.image_padding_bottom(product.image.width, product.image.height,'no-limit'), discount_type: this.discountType } }); // 获取商品列表渲染模板, dom挂载 const $content = document.querySelector(".app-discount-bundle-products"); this.templates_ = SPZServices.templatesForDoc(); this.templates_.renderTemplate(document.querySelector('#appDiscountBundleProductsTemplate'), products).then((el) => { const childNodes = el.querySelectorAll('.as-render-product-item'); if (childNodes && childNodes.length > 0) { $content.append(...childNodes); } }).then(() => { //重新渲染ljs-selector const productSelector = SPZCore.Dom.scopedQuerySelector(document.body, `#promotionProductSelector`); productSelector && SPZ.whenApiDefined(productSelector).then((api) => { api.init(); }); }); this.bundleProducts = [...this.bundleProducts, ...res.products]; SPZ.whenApiDefined(document.getElementById("appDiscountBundleProductsFunc")).then((api) => { api.setBundleData(this.bundleProducts); }) // 监听load去掉灰色背景 document.dispatchEvent(new CustomEvent('fire.load.img')); // 触发懒加载 cb && cb(products); window.lazyLoadInstance && window.lazyLoadInstance.update(); } } this.model.loading = false; }).catch((err)=>{ console.error(err); this.model.loading = false; }) }; setupAction_() { this.registerAction('shiftMove', (data) => { const $el = document.querySelector(".app-discount-bundle-products"); const action = data.args.direct === "right"; const scrollwidth = action ? $el.offsetWidth : -$el.offsetWidth; $el.scrollBy({ left: scrollwidth, behavior: 'smooth' }); }); }; bindEvent_() { // 监听子款式切换,重新渲染 document.addEventListener('dj.variantChange', async(event) => { const variant = event.detail.selected; if (variant.product_id == 'b33c8afa-74ba-4160-a799-6814b5a9d542') { this.variant_id = variant.id; } this.renderDiscount(); }); // 监听滚动,请求数据 const $el = document.querySelector(".app-discount-bundle-products"); if($el) { $el.addEventListener("scroll", this.win.SPZCore.Types.debounce( this.win, () => { const isLeft = $el.scrollLeft === 0; const isRightEnd = $el.scrollLeft + $el.offsetWidth + 10 >= $el.scrollWidth; const isBottomEnd = $el.scrollTop + $el.clientHeight + 10 >= $el.scrollHeight; const isEnd = isBottomEnd && isRightEnd; if(isEnd && this.model.params.has_more && !this.model.loading) { this.loadData(); } }, 50 )) }; }; buildCallback() { this.setupAction_(); }; mountCallback() { this.renderDiscount(); this.bindEvent_(); }; } SPZ.defineElement('spz-custom-discount-bundle', SpzCustomDiscountBundle);

Description

HURRY! ONLY 593 LEFT IN STOCK.
98% of customer buy 2-4 items to use daily and gifts for their loved ones...
SOLD OUT FAST. GET 50% OFF NOW!!⚡


These genuine before-and-after photos show how our anti-aging solution can help you look and feel 18 again—start your transformation today!

Say goodbye to expensive cosmetic treatments and restore your skin to its youthful, 18-year-old glow at the lowest cost!

 Toxin Bee Poison Anti-Aging Wrinkle Serum
Restore youthful, firm skin at 18 again!

Hear firsthand experiences from those who have successfully fought wrinkles.

"In recent years, I’ve been regularly getting Toxin injections for anti-aging, but each treatment costs a fortune, and it adds a lot of pressure. Plus, during my last treatment, due to a doctor's mistake, I almost ended up disfigured! My face was swollen for daysThat experience left me terrified of injections. Then, a friend recommended  Toxin Bee Poison Anti-Aging Wrinkle Serum. It sounded appealing, so I decided to give it a try. I was pleasantly surprised the first time I used it. It absorbed quickly, and there was no allergic reaction or irritation. After using it consistently for a few weeks, I noticed my wrinkles, especially the nasolabial folds and crow’s feet, softened. What surprised me the most was how much firmer my skin felt, and it looked smoother and more radiant. Honestly, Clothingsaleu™ Toxin Bee Poison Anti-Aging Wrinkle Serum was a pleasant surprise. I don’t have to worry about side effects, and I can see results. I wholeheartedly recommend it to those who, like me, are terrified of injections!"  
— Jennifer L. 55 years old

"I can’t believe the transformation  Toxin Bee Poison Anti-Aging Wrinkle Serum has brought! I’m 50 this year and about to attend my daughter’s wedding. Recently, I started noticing fine lines around my eyes, and the skin around my eyes had begun to sag. Honestly, I didn’t want a complicated skincare routine, so I started looking for something simple and effective. I saw many positive reviews about  Toxin Bee Poison Anti-Aging Wrinkle Serum, and people were saying it works great, so I decided to give it a try. I bought three bottles and used them for over a month, and I’m truly amazed. My crow’s feet have significantly softened, and the skin around my eyes has become much firmer. The best part is, that it’s not greasy at all, and the scent is very subtle—nothing overpowering. It’s super easy to use, and the results are very noticeable. I’ll keep using it. If you want something simple, this serum is a great choice."
— Emily R. 50 years old

"I was initially skeptical about Toxin Bee Poison Anti-Aging Wrinkle Serum, but it exceeded all my expectations. The first time I used it, I immediately loved the texture, especially how fast it absorbed—totally non-greasy, which is perfect for someone as busy as me. I used it morning and night, and by the end of the first week, I noticed some significant changes. The puffiness around my eyes decreased, and even the necklines that had bothered me for years started to improve. By the end of the second week, my jawline became more defined, almost as if it had been lifted. After using it for four weeks, my skin was noticeably smoother and firmer. Honestly, this is the only truly effective anti-aging product I’ve ever tried."  
— Sophia M. 45 years old

Are you troubled by fine lines around your eyes, sagging skin, or nasolabial folds? No need for expensive beauty treatments or complicated routines anymore! Toxin Bee Poison Anti-Aging Wrinkle Serum is your ideal solution to combat aging!

Toxin Bee Poison Anti-Aging Wrinkle Serum is dedicated to transforming your skin with innovative anti-aging solutions that not only reduce fine lines and sagging but also restore your youthful glow. Experience the firmness and confidence that thousands of users have already gained with the Toxin Bee Poison Anti-Aging Wrinkle Serum. Join our family and discover how simple it is to have smooth, firm skin and radiate youthfulness every day!

Achieve perfect skin without enduring any pain.

Traditional cosmetic treatments, like Toxin injections, may come with side effects such as swelling, bruising, and the need to endure pain and discomfort. There are also risks of infection and allergies, not to mention the high costs and long treatment cycles. The Toxin Bee Poison Anti-Aging Wrinkle Serum offers a painless, risk-free, convenient, and affordable solution. With quick results from topical application, it comfortably improves wrinkles, firms the skin, and is suitable for all skin types, providing a more cost-effective option for professional-level anti-aging results in the comfort of your own home.

Why choose Us? Because your skin deserves perfection!

Say Goodbye to Wrinkles, Lift, and Firm The combination of Toxin and bee Poison offers a dual anti-aging effect, effectively combating wrinkles and improving skin firmness. The toxin works by relaxing facial muscles locally, reducing wrinkles and lines caused by facial expressions, helping the skin return to a smooth state, and preventing new wrinkles. Meanwhile, bee Poison enhances the skin's natural barrier, promotes hydration, and maintains moisture balance, improving skin elasticity and softness. Together, they make the skin firmer, and smoother, and significantly reduce wrinkles, providing a more youthful and tight complexion.

Deep Hydration Hyaluronic acid absorbs and locks in moisture, providing deep hydration and helping the skin stay moisturized, reducing fine lines and roughness caused by dryness, making the skin softer and smoother. Bee Poison also helps repair the skin barrier, preventing moisture loss and ensuring long-lasting hydration. Its natural ingredients nourish the skin, enhance its protective ability, and maintain softness, elasticity, and a glowing, hydrated appearance.

Fades Dark Spots and inhibits Skin Aging Niacinamide is a key ingredient in this product, known for its significant effects in anti-aging and reducing dark spots. Niacinamide effectively inhibits melanin production, reducing the formation of dark spots and sunspots, making the complexion more even and bright. It also improves skin barrier function, relieves inflammation, and promotes overall skin health. Additionally, niacinamide’s antioxidant properties help fight free radicals, slowing down the aging process and leaving the skin looking younger and healthier.

Brightens and Evens Skin Tone Through the synergistic action of various effective ingredients, this product helps inhibit melanin production, even out the skin tone, and reduce pigmentation and dullness. Its formula gently but effectively fades skin discolorations while brightening the complexion, giving the skin a natural, radiant glow. With long-term use, your skin tone will become more even, and luminous, and showcase flawless, healthy beauty.

Causes of Wrinkle Formation


Wrinkles primarily form due to natural aging and sun exposure (UV rays). As we age, the collagen and elastin fibers in the skin gradually break down, reducing skin elasticity and firmness, which leads to the formation of wrinkles. At the same time, UV rays are a major external factor that accelerates skin aging. Prolonged exposure to the sun damages the skin, breaks down collagen, and results in wrinkles and age spots.


Dr. Alexander Turner is a renowned dermatologist and beauty expert, specializing in skin health and anti-aging treatments. He has also developed his skincare brand. By combining bee Poison and Toxin, he has created a powerful anti-aging mechanism. Bee Poison improves blood circulation in the skin, enhances its absorption ability, and promotes self-repair functions, helping to improve overall skin health and vitality. Toxin works by temporarily relaxing facial muscles, reducing dynamic wrinkles caused by facial expressions, and smoothing existing fine lines and wrinkles. Toxin also helps prevent new wrinkles by inhibiting nerve transmission, preventing overactive facial muscles from creating new wrinkles. The synergy between bee Poison and Toxin significantly enhances skin smoothness, firmness, and elasticity, leaving the skin looking firmer, younger, and more resilient.

Why Choose Us?

· Say Goodbye to Wrinkles, Firm the Skin
The combination of Toxin and bee Poison reduces fine lines and wrinkles, leaving the skin smoother and firmer.

· Repair the Skin Barrier
Bee Poison effectively repairs and strengthens the skin barrier, helping maintain a healthy skin condition.

· Deep Hydration
Bee Poison promotes hydration and locks in moisture, keeping the skin soft and elastic.

· Instant Comfort
After use, the skin immediately feels nourished and comfortable, gradually reducing dryness and discomfort.

· Deep Moisturization, Long-Lasting Hydration
Hyaluronic acid helps absorb and lock in moisture, providing deep hydration and reducing dry fine lines.

· Natural Glow
Bee Poison's natural ingredients nourish the skin, restoring hydration and radiance, leaving the skin with a natural, healthy glow.

· Fades Dark Spots, Evens Skin Tone
Niacinamide effectively inhibits melanin production, reducing dark spots and sunspots, and making the complexion more even and bright.

· Anti-Aging, Slows the Aging Process
Niacinamide has antioxidant properties, helping fight free radicals, slowing down signs of aging, and keeping the skin youthful.

· Improves Skin Barrier Function
Niacinamide helps strengthen the skin barrier, reduce inflammation, and improve skin health and resilience.

30-Day Anti-Wrinkle Journey for Full-Time Moms

"As a mom of two, my busy daily life and years of sleepless nights had taken a toll on my skin. My under-eye bags kept getting worse, and my cheeks were becoming more and more saggy, making me look older than my actual age. I had tried several anti-aging products before, but most of them didn’t make much of a difference, and some even made my skin drier. That was until one day when my friend recommended the Toxin Bee Poison Anti-Aging Wrinkle Serum. I decided to give it a try."

"After just a few days of use, I could already feel the difference. My skin was more moisturized and no longer as dry as before. The fine lines around my eyes started to fade, and the nasolabial folds were noticeably less deep. Every time I applied it, my skin looked fuller and smoother. In just two weeks, I could already feel my skin’s vitality returning."

"After 20 days of use, the effects were even more pronounced. My under-eye bags had almost disappeared, and the skin that was once dry and rough became firmer and more elastic. My whole face appeared tighter, and my complexion regained its natural glow. Seeing such noticeable improvements despite my hectic daily routine was truly satisfying."

"By the 30th day, my skin had undergone an incredible transformation. The area around my eyes and mouth had become much smoother, and the nasolabial folds had significantly faded. Overall, my skin's firmness and elasticity had improved tremendously. My complexion had regained its healthy glow, and I felt like I had regained the confidence of my younger self."
— Emily Johnson

Ingredients and Their Mechanism of Action

Toxin, a neurotoxin, is widely used in skincare, particularly for anti-aging. It works by temporarily relaxing facial muscles, reducing fine lines and wrinkles caused by facial expressions, resulting in smoother and firmer skin.

Bee poison is a natural active ingredient that promotes blood circulation and improves microcirculation of the skin. By enhancing blood flow, bee poison helps deliver nutrients to skin cells, aiding in the repair and regeneration of damaged skin. Additionally, it stimulates collagen production, increasing skin elasticity and firmness, effectively reducing signs of aging such as nasolabial folds and crow's feetHyaluronic acid is a powerful moisturizing agent that penetrates deep into the skin layers to provide long-lasting hydration. It locks in moisture, filling in fine lines and deep wrinkles caused by aging, making the skin appear plump, and smooth, and reducing wrinkles caused by dryness. Hyaluronic acid also strengthens the skin's barrier function, helping the skin better resist external environmental damage and maintain a healthy state.

Niacinamide, a derivative of vitamin B3, has powerful antioxidant and anti-inflammatory properties. It neutralizes free radicals, reducing damage caused by environmental pollutants, UV rays, and other external factors, slowing down the aging process. Furthermore, niacinamide improves the skin’s barrier function, enhances hydration, effectively prevents dryness and fine lines, and helps lighten dark spots and even out skin tone.

Matrixyl 3000 is a peptide complex that interacts with Toxin to stimulate the production of collagen and elastin fibers in the skin. It significantly enhances skin firmness and elasticity, improving the skin's structure, and making it smoother and tighter. Through this mechanism, Matrixyl 3000 effectively reduces the appearance of deep wrinkles and restores the skin’s youthful state.

common problems


Q: Which skin types is this cream suitable for?
A: This cream is suitable for dry, oily, combination, and sensitive skin types, especially beneficial for mature skin.

Q: Does the product contain any harmful ingredients for sensitive skin?
A: Our serum is free from alcohol, fragrances, and harsh chemicals. It has been dermatologically tested to ensure it is safe for sensitive skin. It meets the standards set by the Australian Dermatology Association (ADA) and is endorsed by professional dermatologists to provide gentle and effective care for your skin.

Q: What age group is this cream suitable for?
A: This cream is suitable for all age groups. Whether you're looking to prevent early signs of aging or reduce fine lines and wrinkles on mature skin, it delivers significant results.

Q: Can this cream be used as both a day and night cream?
A: Yes, this cream has a lightweight texture with nourishing properties. Use it in the morning to deeply hydrate and protect the skin, and in the evening to help repair and restore skin's glow.

How to Use

  1. Cleanse your face and neck to remove excess oil and dirt, ensuring your skin is fresh and clean.
  2. Apply an appropriate amount of the product and massage gently for a few seconds. Repeat this process until the cream is evenly applied to all areas of your face and neck.
  3. Allow the cream to dry before resuming your regular skincare routine. For optimal results, use it twice daily, both in the morning and evening, after your shower.