Viking - style Retro Brown Waist Belt

$55.99
Quantity

Description

Product Description


  1. Unique Design
    This waist belt exudes a strong Viking style. The main body is dark brown, paired with light - brown decorative pieces. The front is adorned with intricate and exquisite traditional Nordic patterns such as Celtic knots and swirls, full of mysterious exotic charm. Multiple metal rivets on the sides of the belt are used for reinforcement, which is not only aesthetically pleasing but also enhances durability.
  2. Material and Craftsmanship
    Made of high - quality leather, it is soft to the touch and sturdy. Through special treatment, it presents a retro texture. The edges are crafted with fine stitching, showing exquisite workmanship.
  3. Applicable Scenarios
    It is suitable for matching with Viking - themed or medieval - style costumes, and can be used in COSPLAY events, retro - themed parties, etc. It can also serve as a distinctive accessory for daily casual wear, demonstrating a unique personal style.

Specifications


  • Waist Circumference Range: 90 - 130 cm (35.4 - 51.2 inches)
  • Width Range: 14 - 20 cm (5.5 - 7.9 inches)
  • Material: High - quality leather
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 = "bc9ff5c5-8e00-4a2f-a1cd-763b2c1e4bfe"; // 促销活动数据 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 == '4989d7a2-20a3-449d-92b5-9775ec2a15be' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "4989d7a2-20a3-449d-92b5-9775ec2a15be", 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);