Sofirn C8L Rechargeable Tactical Flashlight

1560 sold
style- with battery
$31.99
$79.99
-60%
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '2b386b9a-5167-40bd-9ec5-096d22860faa'; this.isRTL = SPZ.win.document.dir === 'rtl'; this.isAddingToCart_ = false; // 加购中状态 } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const data = await this.getDiscountList(); this.renderApiData_(data); } async getDiscountList() { const productId = 'fcfa19c4-8ee7-4c6f-bb3f-b64c495bc389'; const variantId = this.variant_id; const productType = ''; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if (parentDiv) { parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } else { console.log('automatic_discount_container is null'); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container_outer'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == 'fcfa19c4-8ee7-4c6f-bb3f-b64c495bc389' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); // 加购事件 this.registerAction('handleAddToCart', (invocation) => { // 阻止事件冒泡 const event = invocation.event; if (event) { event.stopPropagation(); event.preventDefault(); } // 如果正在加购中,直接返回 if (this.isAddingToCart_) { return; } const quantity = invocation.args.quantity || 1; this.addToCart(quantity); }); } // 加购方法 async addToCart(quantity) { // 设置加购中状态 this.isAddingToCart_ = true; const productId = 'fcfa19c4-8ee7-4c6f-bb3f-b64c495bc389'; const variantId = this.variant_id; const url = '/api/cart'; const reqBody = { product_id: productId, variant_id: variantId, quantity: quantity }; try { const data = await this.xhr_.fetchJson(url, { method: 'POST', body: reqBody }); // 触发加购成功提示 this.triggerAddToCartToast_(); return data; } catch (error) { error.then(err=>{ this.showToast_(err?.message || err?.errors?.[0] || 'Unknown error'); }) } finally { // 无论成功失败,都重置加购状态 this.isAddingToCart_ = false; } } showToast_(message) { const toastEl = document.querySelector("#apps-match-drawer-add_to_cart_toast"); if (toastEl) { SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast(message); }); } } // 触发加购成功提示 triggerAddToCartToast_() { // 如果主题有自己的加购提示,则不显示 const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy'); if (themeAddToCartToastEl) return; // 显示应用的加购成功提示 this.showToast_("Added successfully"); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomProductAutomatic);
class SpzCustomDiscountBundle extends SPZ.BaseElement { constructor(element) { super(element); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } mountCallback() {} unmountCallback() {} setupAction_() { this.registerAction('showAddToCartToast', () => { const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy') if(themeAddToCartToastEl) return const toastEl = document.querySelector('#apps-match-drawer-add_to_cart_toast') SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast("Added successfully"); }); }); } buildCallback() { this.setupAction_(); }; } SPZ.defineElement('spz-custom-discount-toast', SpzCustomDiscountBundle);
Quantity
Free worldwide shipping over $29
Returnable within 30 days
Professional and attentive service
Secure payments
Shipping
Estimated delivery time:Feb-28 - Mar-09
Description

Product manual, click to download!

Features:

1. USB RECHARGEABLE FLASHLIGHT: This tactical flashlight features USB Type-C fast charging and comes with a USB-C charging cable, It can charge at a max of 2.5A, fully charging the included 5000mAh 21700 in 3 hours.

2. TAILCAP SWITCH: The C8L handheld light is a compact and capable dual-switch rechargeable tactical flashlight. It also comes with a good user-friendly interface: partially press the tail switch for momentary-on action, push further until it clicks to turn on or off the flashlight and hold the side switch to cycle through the various brightness settings.

3. RELIABILITY: Constructed from aerospace grade aluminum, the C8L’s body is smoothly sculpted for a comfortable, secure grip and resists scratches, abrasion, and corrosion. The C8L is rated at IPX8 water resistance and can be used in all kinds of environments, and even on extreme weather days.

4. DURABLE: This ultra-bright torch is virtually indestructible. Made from military-grade aluminum, it's also water-resistant IPX8 and strong enough to survive a 1-meter drop. 

5. NICE BEAMSHOT: Beam can be super wide (spill 82°) and super narrow (hotspot 26°)Pretty good in outdoor activities and emergency use.

6. MODE MEMORY: memorizes the last brightness level used in the general modes (Eco/Low/Med/High).

7. SMART DESIGN: C8L adopt intelligent ATR technology which will adjust the brightness level automatically when the driver temperature reaches 50℃ (122 °F) to prevent overheating.

8. POWER INDICATOR:
The LED indicator in the side switch shows the power status for 5 seconds after turning C8L on.
Green = remaining battery power is good.
Flashing Green = remaining battery power is between 40%-70%
Red = remaining battery power is poor (10%-40%).
Flashing Red = critical power, replace or recharge the battery as soon as possible. (less than 30%)

9.Note: To prevent accidental activation, when not using the flashlight or carrying it outdoors, please loosen the tailcap to disconnect the battery or activate the lockout mode (if available).

Specifications:

Emitter: 1 * 6000-6500K XHP50D-HI LED
Working Voltage: 3.0V - 4.2V
Battery Options: One 21700 Li-ion battery
Dimension: 156mm (length) × 46.5mm (head diameter)
Weight: 151 (without battery)
Toughened mineral glass lens
IPX8 Waterproof
USB Type-C Charging

Operation:

Normal modes:
1, On or OFF: press the tail switch to turn it on or off. And activate the memory function

2, Normal Modes: click the side switch to cycle through Low- Med- High; double clicks to Turbo; three clicks to enter flashes modes

3, In Flashes modes: every double-click to get different flashes modes such as strobe- sos- beacon

4, Eco: From Off, hold and press the side switch and then click the tail switch to activate the Eco

5, press and hold the side switch to adjust the normal modes and tactical modes (the "over" sign is the light flashes two times)

6, From Off: double clicks to turbo quickly

Tactical Modes:
In tactical modes: the default mode is Turbo
From ON: change modes via the side switch and double clicks to Strobe
From OFF: double clicks of the tail switch to Strobe

Notice: Please do not use it as diving flashlight. It can be damaged when the water gets into via the charging port.

Learn More about the Light
1 Lumen's review: https://1lumen.com/review/sofirn-c8l/



You may also like