Retro and Creative Pirate Ship Piggy Bank

$69.99
Quantity

Description

Product Description

  1. Unique Design
    This piggy bank is designed in the shape of a pirate ship, full of retro and creative ideas. The ship's body has smooth lines with distinct planking textures. The sails are engraved with anchor patterns, and the stern features delicate details such as windows and stairs, restoring the classic elements of a pirate ship and creating an atmosphere of nautical adventure.
  2. Material and Craftsmanship
    Made of zinc alloy, it is sturdy. Through special processing, it presents a retro antique tin - colored appearance, which is wear - resistant and not easy to fade.
  3. Specifications
    It measures 12.8×6.5×13.5 cm in size and weighs 0.5 kg. It is moderately sized, convenient for placement and has enough space to store coins and other small items.
  4. Applicable Scenarios
    It can be used as a home decoration and placed in the living room, study, or children's room to add fun to the space. It is also a great tool for cultivating children's saving habits. Additionally, it is suitable as a gift for those who love pirate culture or nautical themes.

Specifications

  • Name: Pirate Ship Piggy Bank
  • Dimensions: 12.8×6.5×13.5 cm
  • Material: Zinc alloy
  • Weight: 0.5 kg
  • Color: Antique tin color
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 = "1b3348b7-f128-42e5-968d-a9cd82362bd2"; // 促销活动数据 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 == '4caf98ed-fb4b-4a71-873d-7847f613ac29' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "4caf98ed-fb4b-4a71-873d-7847f613ac29", 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);