Viking Compass - Symbol Fur Wrist Guards

$36.99
Colors:  brown
Quantity

Description

Product Description

  1. Unique Design
    These Viking compass - symbol fur wrist guards are highly distinctive, available in two colors: brown and black. The main body of the wrist guards is made of leather - like material, with the compass symbols and mysterious runes from Viking culture engraved on the surface, complemented by fluffy white fur edges, presenting a retro and mysterious exotic style. They feature a wax - cord lacing design, which makes it convenient to adjust the tightness to fit different wrist sizes.
  2. Material and Craftsmanship
    PU leather is used to imitate the texture of real leather, along with wax - cord laces and metal rivets. The PU leather is wear - resistant and easy to maintain, the wax - cord is sturdy and durable, and the metal rivets not only serve as decorations but also enhance the firmness of the wrist guards.
  3. Specifications
    The product size is 25*22 cm, and the weight is 115 grams.
  4. Applicable Scenarios
    Suitable for Viking - themed COSPLAY events, medieval cultural festivals, retro - style parties, etc. They can also be used as distinctive accessories to add unique style elements to daily outfits.

Other Information

  • Color: The pictures are taken in natural light and are of actual products. However, due to differences in monitors, there may be slight color differences between the pictures and the actual products. Please refer to the actual products.
  • Packaging: Individually packaged in OPP bags.
  • Material: PU leather + wax - cord laces
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 = "b358c5fb-05e4-452b-a085-3ac1db7a134d"; // 促销活动数据 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 == '8c2aabb6-3752-4ed4-bf5e-0a2e5480ae66' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "8c2aabb6-3752-4ed4-bf5e-0a2e5480ae66", 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);