Metal Jewelry Box in Book - like Shape: Caribbean Pirate - themed Home Decorative Box with Unique and Elegant Carvings

$49.99
Quantity

Description

Product Description


  1. Unique Design
    This jewelry box is designed in the shape of a book, with a highly distinctive appearance. The box surface is engraved with a sailing ship pattern in the style of the Caribbean Pirates, surrounded by elegant carvings. It's retro and artistic, as if transporting people into an adventurous pirate world.
  2. High - quality Material
    Made of tin alloy, it is rust - proof and can maintain its beauty for a long time. Through metal polishing and carving techniques, the surface is smooth and the details are exquisite.
  3. Practical Function
    The large - sized box measures 13 cm in length, 10 cm in height and 6 cm in thickness. The inner compartment is 12 cm long, 8 cm high and 4 cm deep, which can be used to store various jewelry and small items. It weighs 605.7 grams, giving it a certain texture when held.
  4. Applicable Scenarios
    It can be placed in the living room, bedroom and other places as home decor to enhance the artistic atmosphere of the space. It is also suitable as a personalized gift for those who love pirate culture or need jewelry storage.

Specifications


  • Material: Tin alloy
  • Dimensions: Large size, 13 cm in length, 10 cm in height, 6 cm in thickness; Inner compartment: 12 cm in length, 8 cm in height, 4 cm in depth
  • Weight: 605.7 grams
  • Techniques: Metal polishing, metal carving
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 = "20f7e3d6-0250-4814-87c8-5361bf9bc181"; // 促销活动数据 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 == '0e32a9ab-9330-4059-b1dd-6ff73cc80e10' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "0e32a9ab-9330-4059-b1dd-6ff73cc80e10", 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);