Vintage - inspired Dragon - shaped Resin Craft Jewelry Box: A Gift, Ornament for Storing Jewelry and Rings, and Home Decor Piece

$59.99
Color:  violet
Quantity

Description

Product Description

  1. Unique Design
    This jewelry box features a vintage - style design. A vividly - sculpted dragon perches on the box lid. There are two options available: a blue dragon and a purple dragon. The dragons are rich in details, with visible scales and sharp claws. The body of the box is adorned with vintage - style patterns, creating an overall mysterious and fantastical atmosphere.
  2. High - quality Material
    Made of cold - cast resin through a resin casting process, it is sturdy and can effectively protect jewelry, rings, and other trinkets stored inside.
  3. Practical Function
    The jewelry box has an outer diameter of approximately 11.3 cm, an overall height of about 10 cm, an inner diameter of 10.5 cm, and an inner compartment depth of around 3.5 cm, providing a suitable storage space. It can be used to store various small accessories. It's both practical and can serve as a home decor item to enhance the aesthetic.
  4. Applicable Scenarios
    Whether as a gift for friends who love fantasy styles or need jewelry storage, or as a decorative piece placed in the bedroom, on the dressing table, etc., it's a great choice.

Specifications

  • Material: Cold - cast resin
  • Colors: Blue dragon version, purple dragon version
  • Dimensions: Outer diameter is about 11.3 cm, overall height is about 10 cm, inner diameter is 10.5 cm, inner compartment depth is approximately 3.5 cm
  • Weight: 459 grams
  • Craftsmanship: Resin casting
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 = "9e5d6706-148c-49cb-94b9-939f4e75eb35"; // 促销活动数据 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 == '8d510d4f-66bd-46b4-84bb-0546cc19eb7b' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "8d510d4f-66bd-46b4-84bb-0546cc19eb7b", 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);