Resin Dragon Book Shelf Bookends Desktop Ornament

$39.99
Color:  Yellow
Quantity

Description

Product Details:
Material: resin
Size: 22*17*12cm
Weight: 972g

Inspiration Origin: The Concrete Power of Western Magic 🐉

Drawing inspiration from the ferocious dragon in Western mythology—often a treasure guardian symbolizing mysterious power and deterrence—this ornament replicates the dragon’s classic posture. Whether the fierce expression of the dragon’s head or the poised tension in its limbs, it captures the essence of fantasy culture, crafting a tangible mythical symbol for enthusiasts~

Craftsmanship: Magical Vitality in Details ✨

Crafted from resin, leveraging its shaping prowess, it meticulously carves every texture of the dragon—sharp horns, layered scales, menacing fangs, and even intricate eye details. The yellow-eyed version exudes cold mystery, while the red-eyed one radiates extra ferocity. With color and carving combined, the dragon seems ready to burst from its static form, awakening magical-world imaginations!

Scene Application: Dual Role of Practicality & Decoration 🌟

As a bookend, it stably holds books, infusing reading spaces with fantasy charm. On a desk, it becomes an instant decorative highlight. Whether in a study, living room, or studio, it builds a unique magical vibe. Not only meeting storage needs, but it also conveys courage and exploration spirit via the dragon image, serving as an aesthetic bridge between reality and fantasy~
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 = "84ab0976-8ada-4252-b138-783d6aa8afff"; // 促销活动数据 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 == 'c6ea4eed-2ebb-46bd-b594-8c0cb0dfb040' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "c6ea4eed-2ebb-46bd-b594-8c0cb0dfb040", 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);