[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off
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 = "4754790c-f431-4fee-bbb3-574b49ffa540"; // 促销活动数据 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"); const setting = this.flashsaleData.product_setting; const landingUrl = `/promotions/discount-default/${this.flashsaleData.discount_info.id}`; const finalUrl = appDiscountUtils.resolveDiscountHref(setting, landingUrl); if (finalUrl && appDiscountUtils.inProductBody(this.element) && e.target !== cur) { this.win.open(finalUrl, '_blank', 'noopener'); } } // 绑定 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 == '3b995665-cb56-48c2-846c-7c8066948a33' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "3b995665-cb56-48c2-846c-7c8066948a33", 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);

[🦉TOH Fanarts]🎀Random🎀Buy5, Get20%Off

Price

HK$0.00 HK$52.50

style

Please select a style

type - Big Stickers

Please select a type

Quantity

🌈 A tiny note: Actual color may look a smidge different from the picture 🌈 

✨Details✨:

  • All designs are fanart & headcanon gifts I’ve had so much fun trying out!
  • 1quantiy=1piece
  • Please note that there may be minor imperfections.
  • 📦 Preorder items: 4business weeks (or a bit longer) to prepare.
  • Random stickers about 8cm+ (3.5"+)
  • Random Art paper about 14cm+(5.51"+)
  • Random Layered Acrylic Standee about 10cm+(4"+)
  • Random Thick Acrylic Stand about 5cm(2")
  • Random Badges about 5.8cm(2.3")
  •    🎀Buy5, Get20%Off
  • There will be additional logistics taxes for the EU region.

✨Shipping Information✨:

 📦Processing & Shipping Time

💌 Logistics & After-Sales Service

Type

Random stickers

Random big stickers

Random Art boards

Random Layered Acrylic Standees

Random Postcards

Thick Acrylic Stands

Random Badges