Sofirn C8L Rechargeable Tactical Flashlight

1078 sold
style- with battery
$52.99
$79.99
-34%
Quantity
Free worldwide shipping over $29
Returnable within 30 days
Professional service for everyone
Secure payments
Visible only when the product is out of stock. Currently in preview mode.
Notify Me
(function(){ function $(selector){ return document.querySelector(selector); } const EMAIL_REG = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; // 获取dom数据 const doms = { button: $('#app-arrival-reminder-button'), previewBox: $('#app-arrival-reminder-preview-box'), toast: $('#app-arrival-reminder-toast'), lightbox: $('#arrival-lightbox'), datalist: $('#app-arrival-reminder-email-list'), imgRender: $('#app-arrival-reminder-product-image-render'), productVariant: $('#app-arrival-reminder-product-variant'), emailInput: $('#app-arrival-reminder-form .reminder-email-input'), emailWarn: $('#app-arrival-reminder-form .reminder-email-warn-wrap'), emailWarnText: $('#app-arrival-reminder-form .reminder-email-warn-text'), submitButton: $('#app-arrival-reminder-submit-button') }; // 选中的sku数据 let selectedVariant = {"id":"2b386b9a-5167-40bd-9ec5-096d22860faa","product_id":"fcfa19c4-8ee7-4c6f-bb3f-b64c495bc389","title":"with battery","weight_unit":"kg","inventory_quantity":1843,"sku":"C8L-XHP50D-BK-6K-2","barcode":"","position":1,"option1":"with battery","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":52.99,"min_quantity":1}],"weight":"0.32","compare_at_price":"79.99","price":"52.99","retail_price":"79.99","available":true,"url":"\/products\/sofirn-c8l-rechargeable-tactical-flashlight?variant=2b386b9a-5167-40bd-9ec5-096d22860faa","available_quantity":999999999,"options":[{"name":"style","value":"with battery"}],"off_ratio":34,"flashsale_info":[],"sales":1078}; // 上报 function reportData(params){ // 编辑/预览不上报 if(false){ return; } window.sa.track(params.event_name, { business_type: 'product_plugin', function_name: 'Back_in_Stock', plugin_name: "Back_in_Stock", template_name: "product", template_type: 1, module: "apps", module_type: "Back_in_Stock", event_info: JSON.stringify({ action_type: 'Back_in_Stock' }), ...params }); } // 按钮曝光上报 function buttonPVReport(){ reportData({ event_name: 'function_expose', event_type: 'expose', event_desc: '无货商品时触发' }); } // 弹窗曝光上报 function popupPVReport(){ reportData({ event_name: 'function_expose', event_type: 'popup_expose', event_desc: '弹窗曝光时触发' }); } // submit按钮点击上报 function submitClickReport(){ reportData({ event_name: 'function_click', event_type: 'popup_click', event_desc: '填入邮箱之后,点击notify 触发', event_info: JSON.stringify({ action_type: 'email_click' }), }); } // -----------------------初始化----------------- init(); // 初始化操作 function init(){ // 为确保window有后面添加的值例如window.sa 需要在DOMContentLoaded回调事件中执行逻辑 document.addEventListener("DOMContentLoaded", function() { // 设置邮件联想 setDataList(); if(!true){ // 初始无货 按钮pv事件埋点上报 buttonPVReport(); } }); } // 设置邮件联想 function setDataList(){ const customer_email = window.C_SETTINGS.customer.customer_email; if(customer_email){ const options = document.createElement('option'); options.setAttribute('value', customer_email); doms.datalist.appendChild(options); } } // -----------------------事件操作---------------- // 监听sku变化事件 document.addEventListener('dj.variantChange', variantChange); // 监听提醒按钮点击事件 doms.button.addEventListener('click', reminderButtonClick); // 监听提交按钮点击事件 doms.submitButton.addEventListener('click', submit); // 监听input元素的keydown事件 doms.emailInput.addEventListener('keydown', function(e) { // 判断是否按下了Enter键 if (e.keyCode === 13 || e.key === 'Enter') { submit(); } }); // 显示正常按钮 function showReminderButton(){ doms.button.classList.remove('app-arrival-hidden'); doms.previewBox.classList.add('app-arrival-preview-hidden'); buttonPVReport(); } // 展示预览按钮 function showPreviewButton(){ doms.button.classList.remove('app-arrival-hidden'); doms.previewBox.classList.remove('app-arrival-preview-hidden'); } // 隐藏按钮 function hiddenReminderButton(){ doms.button.classList.add('app-arrival-hidden'); doms.previewBox.classList.add('app-arrival-preview-hidden'); } // 提交数据, 请求接口 function submit(){ // 获取邮箱数据 const email = doms.emailInput.value.trim(); if(!email){ doms.emailWarnText.innerText = "Please enter your email address"; doms.emailWarn.classList.remove('app-arrival-hidden'); return; } if(!EMAIL_REG.test(email)){ doms.emailWarnText.innerText = "Please enter a valid email address"; doms.emailWarn.classList.remove('app-arrival-hidden'); return; } // 邮箱校验成功 doms.emailWarn.classList.add('app-arrival-hidden'); // 预览时不调接口 if(false){ SPZ.whenApiDefined(doms.toast).then(apis => { apis.showToast("Currently in preview mode, subscription is for testing only", 3000); }); return; } // 加入loading样式 doms.submitButton.classList.add('reminder-submit-button-loading'); // 提交数据请求接口 let quantity = 1; const quantityDom = $('#app-arrival-reminder-quantity-render ljs-quantity'); if(quantityDom){ quantity = Number(quantityDom.getAttribute('value')) || 1; } const params = { customer_email: email, product_num: quantity, product_id: selectedVariant.product_id, product_variant_id: selectedVariant.id }; fetch(`${window.C_SETTINGS.routes.root}/api/front/gobbler/v1/subscribe`, { method: 'POST', body: JSON.stringify(params), headers: { 'Content-Type': 'application/json' } }).then((res)=>res.json()).then((res)=>{ /* 后端错误提示 */ if(res.errors && res.errors.length){ SPZ.whenApiDefined(doms.toast).then(apis=>{ apis.showToast(res.errors[0], 3000); }); return; } /* code * 0 SUCCESS 订阅成功 * 1 PRODUCT_OFFLINE 商品下架 * 2 INVENTORY_NOT_EMPTY 商品库存不为空 * 3 REPEAT_SUBSCRIBE 重复订阅 * 4 EMAIL_EMPTY 邮件为空 * 5 EMAIL_WRONG_FORMAT 邮件格式错误 * 99999 INVALID_PARAMS 其他参数错误 */ const codeMap = { SUCCESS: ()=>{ SPZ.whenApiDefined(doms.lightbox).then(apis=>{ apis.close(); }); SPZ.whenApiDefined(doms.toast).then(apis=>{ apis.showToast("Thank you for your subscription! We will notify you as soon as the product is back in stock!", 3000); }); }, INVENTORY_NOT_EMPTY: ()=>{ SPZ.whenApiDefined(doms.lightbox).then(apis=>{ apis.close(); }); SPZ.whenApiDefined(doms.toast).then(apis=>{ apis.showToast("Subscription failed. Product back in stock, please proceed to checkout.", 3000); }); setTimeout(()=>{ window.location.reload(); }, 3000); }, REPEAT_SUBSCRIBE: ()=>{ SPZ.whenApiDefined(doms.toast).then(apis=>{ apis.showToast("You've already subscribed to this product. We'll let you know as soon as it's back in stock. Feel free to explore our other products.", 3000); }); }, EMAIL_EMPTY: ()=>{ SPZ.whenApiDefined(doms.toast).then(apis=>{ apis.showToast("Please enter your email address", 3000); }); }, EMAIL_WRONG_FORMAT: ()=>{ SPZ.whenApiDefined(doms.toast).then(apis=>{ apis.showToast("Please enter a valid email address", 3000); }); } }; codeMap.PRODUCT_OFFLINE = codeMap.SUCCESS; codeMap[res.code] && codeMap[res.code](); }).finally(()=>{ doms.submitButton.classList.remove('reminder-submit-button-loading'); }); // submit点击上报 submitClickReport(); } // 重新渲染dialog function refreshRenderDialog(){ console.log('selectedVariant', selectedVariant); const images = selectedVariant.image || {"src":"\/\/img.staticdj.com\/1c38441968f1f1eb1149c7e50cf624f5.jpg","path":"1c38441968f1f1eb1149c7e50cf624f5.jpg","width":800,"height":800,"alt":"","aspect_ratio":1}; const imagePosition = images.aspect_ratio > 1 ? 'left top' : 'center center'; // 重新渲染图片 SPZ.whenApiDefined(doms.imgRender).then((apis)=>{ apis.render({ images, imagePosition }); }); // 邮件错误提示置空 doms.emailWarn.classList.add('app-arrival-hidden'); // 重新渲染款式说明 if(selectedVariant.title){ doms.productVariant.innerText = selectedVariant.title.split('-').join('/'); } // 表单数据置空 doms.emailInput.value = ''; } // sku变化 单一款式不会触发 function variantChange(e){ const selected = e.detail.selected; // 子款式没变不执行操作 例如数量变化 if(selected.id === selectedVariant.id){ return; } selectedVariant = selected; console.log('selectedVariant', selectedVariant); // 数量变化 if(selected.available || selected.product_id === undefined){ // 有库存 编辑时展示预览按钮 否则隐藏按钮 if(false){ showPreviewButton(); }else { hiddenReminderButton(); } }else{ // 无库存 显示正常按钮 showReminderButton(); } } // 提醒按钮点击 function reminderButtonClick(){ refreshRenderDialog(); // 弹窗曝光上报 popupPVReport(); } document.body.appendChild(doms.toast); document.body.appendChild(doms.lightbox.parentElement); })();
Shipping
Estimated Delivery:May-11 - May-15
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%)

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

Customer Reviews
Here are what our customers say.
Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.