Viking Breastplate - Retro Embossed Leather Armor

$79.99
Type:  A
Quantity

Description

Product Description

Unique Design
This Viking breastplate exudes a strong Nordic style, featuring a half - body leather armor design. With retro embossing on the surface, it presents a natural leather texture. There are exquisite patterns on the breastplate. There are two styles of breastplates, both highly characteristic of Viking culture.
Material and Craftsmanship
The main material is embossed PU, complemented by metal fasteners and rivet decorations. The embossed PU imitates the texture of real leather. The metal fasteners ensure easy wearing and stability, while the rivets add a retro and rugged style.
Specifications
Each piece weighs 550 grams and measures 36 cm in length and 43 cm in width. For specific detailed dimensions, please refer to the attached pictures.
Applicable Scenarios
It is suitable for Viking - themed COSPLAY events, medieval cultural festivals, etc. It can also serve as a highlight piece for retro - style clothing combinations or be used for the collection and display of Viking culture.

Detailed Specifications

  • Product Name: Nordic - style Viking Half - body Leather Armor
  • Weight: 550g per piece
  • Dimensions: 36 cm (length) × 43 cm (width)
  • Material: Embossed PU + metal fasteners + rivet decorations
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 = "905a3c95-860b-41db-8fcc-5459ae862249"; // 促销活动数据 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 == '725c3b6a-40c7-45b0-b648-caf140dad246' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "725c3b6a-40c7-45b0-b648-caf140dad246", 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);