...">
,需要通过父级DOM结构来判断
*/
var trackActionPhone = function (node) {
var nodeInnerText = node.innerText || '';
if (!limitRegLength(nodeInnerText)) return;
var nodeText = trimText(nodeInnerText);
if (nodeText.length < 5 || nodeText.length > 20) return false;
var type =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: 'click';
var str = trimText(node.href || node.innerHTML || '');
if (phoneReg.test(str) && numUseReg.test(str)) {
_paq.push(['trackEvent', type, 'phone', nodeText]);
return true;
}
/** 排查父级嵌套非标签场景,并且对dom的正则校验做一个性能兜底,通过控制innerText的长度,来确保正则的性能 */
var fatherText = trimText(node.parentNode.innerText || '');
if (fatherText.length < 5 || fatherText.length > 20) return false;
var fatherDom = trimText(node.parentNode.innerHTML || '');
if (phoneReg.test(fatherDom) && numUseReg.test(fatherDom)) {
_paq.push(['trackEvent', type, 'phone', nodeText]);
return true;
}
return false;
};
window.addEventListener('click', function (e) {
var node = e.target;
/** 社媒点击 */
var appName = '';
var getAppAriaLabel =
node.ariaLabel || node.parentNode.ariaLabel || '';
if (mediaList.includes(getAppAriaLabel.toLowerCase())) {
appName = getAppAriaLabel;
}
if (
!appName &&
node.nodeName &&
node.nodeName.toLowerCase() === 'a'
) {
appName = getMediaName(node.href) || getMediaName(node.alt);
}
if (
!appName &&
node.nodeName &&
node.nodeName.toLowerCase() === 'img'
) {
appName = getMediaName(node.alt) || getMediaName(node.src);
}
if (
!appName &&
node.nodeName &&
node.nodeName.toLowerCase() === 'i'
) {
appName = getMediaName(node.className);
}
if (appName) {
_paq.push(['trackEvent', 'click', 'contactApp', appName]);
return;
}
/** 联系方式点击 */
if (trackActionPhone(node, 'click')) return;
if (node.nodeName && node.nodeName.toLowerCase() === 'a') {
var val = node.href;
if (!limitRegLength(val)) return;
if (emailReg.test(val)) {
_paq.push(['trackEvent', 'click', 'email', val]);
return;
}
}
if (node.nodeName && node.nodeName.toLowerCase() === 'i') {
var val = node.className;
var content = node.parentNode.href || '';
if (val.includes('email')) {
_paq.push(['trackEvent', 'click', 'email', content]);
return;
}
}
var nodeChildList = node.childNodes;
for (var i = 0; i < nodeChildList.length; i++) {
if (nodeChildList[i].nodeType !== 3) continue;
var val = nodeChildList[i].textContent.replace(/\s?:?/g, '');
if (!limitRegLength(val)) continue;
if (emailReg.test(val)) {
_paq.push(['trackEvent', 'click', 'email', val]);
return;
}
}
trackNumberData(node);
});
window.addEventListener('copy', function (e) {
if (trackActionPhone(e.target, 'copy')) return;
var text = e.target.textContent;
if (!text) return;
var val = text.replace(/\s:?/g, '');
if (!limitRegLength(val)) return;
if (emailReg.test(val)) {
_paq.push(['trackEvent', 'copy', 'email', val]);
return;
}
trackNumberData(e.target);
});
}
trackContactInit();
/**
* 基于custom_inquiry_form.js 以及 form.js 对于询盘表单提交的实现,来反推询盘表单的input标签触发,用来收集意向客户
* 1. 缓存的KEY:TRACK_INPUT_ID_MTM_00;
* 2. 缓存策略 - lockTrackInput:单个页面内,10分钟内,不重复上报
*/
function trackActionInput() {
const CACHE_KEY = 'TRACK_INPUT_ID_MTM_00';
const pathName = window.location.hostname + window.location.pathname;
var lockTrackInput = function () {
try {
const lastCacheData = localStorage.getItem(CACHE_KEY);
if (!lastCacheData) return false;
const cacheData = JSON.parse(lastCacheData);
const cacheTime = cacheData[pathName];
if (!cacheTime) return false;
return Date.now() - cacheTime < 1000 * 60 * 10; // 10分钟内,不重复上报
} catch (error) {
console.error('lockTrackInput Error', error);
return false;
}
};
var setInputTrackId = function () {
try {
const curCacheData = localStorage.getItem(CACHE_KEY);
if (curCacheData) {
const cacheData = JSON.parse(curCacheData);
cacheData[pathName] = Date.now();
localStorage.setItem(CACHE_KEY, JSON.stringify(cacheData));
return;
}
const cacheData = {
[pathName]: Date.now(),
};
localStorage.setItem(CACHE_KEY, JSON.stringify(cacheData));
} catch (error) {
console.error('setInputTrackId Error', error);
}
};
var getInputDom = function (initDom) {
var ele = initDom;
while (ele) {
/**
* isWebSiteForm 是站点的表单
* isChatWindowForm 是聊天窗口的表单
*/
/** 旧模板表单 */
var isWebSiteForm = !!(
/crm-form/i.test(ele.className) && ele.querySelector('form')
);
/** 1:新模板自定义表单、2:Get a Quote 弹框表单 */
var isWebSiteFormNew = !!(
/inquiry/i.test(ele.className) && ele.querySelector('form')
);
if (isWebSiteForm || isWebSiteFormNew) {
_paq.push(['trackEvent', 'formInquiry', 'formInput', 'page']);
setInputTrackId();
return;
}
/** Mkt会话触达-聊天弹框的表单输入: MKT由于是iframe嵌入,所以MKT的上报,会单独写到MKT-form代码上 */
var isInquiryChatForm = !!(
/comp-form/i.test(ele.className) && ele.querySelector('form')
);
if (isInquiryChatForm) {
_paq.push(['trackEvent', 'formInquiry', 'formInput', 'chat']);
setInputTrackId();
return;
}
/** 向上查找父节点 */
ele = ele.parentNode;
}
};
function initInputListener() {
var inputUseDebounce = function (fn, delay) {
var timer = null;
var that = this;
return function () {
var args = Array.prototype.slice.call(arguments);
if (timer) clearTimeout(timer);
timer = setTimeout(function () {
fn.apply(that, args);
}, delay);
};
};
var optimizeGetInputDom = inputUseDebounce(getInputDom, 300);
window.addEventListener('input', function (e) {
/** 如果已经上报过,则不再上报 */
if (lockTrackInput()) return;
optimizeGetInputDom(e.target);
});
}
try {
initInputListener();
} catch (error) {
console.log('initInputListener Error', error);
}
}
trackActionInput();
}
/** 第三方消息上报:目前主要是针对全点托管会话;在msgCollect/index.js中调试,访问test.html */
function thirdMsgCollect() {
/** 先检测是否是stayReal托管:如果stayReal脚本都没有,那么说明当前站点未开启stayReal会话托管 */
const scriptList = Array.prototype.slice.call(
document.querySelectorAll('script'),
);
const checkStayReal = () =>
!!scriptList.find((s) => s.src.includes('stayreal.xiaoman.cn'));
if (!checkStayReal()) return;
/** 缓存当前消息队列的最后一条消息id */
const CACHE_KEY = 'CACHE_KEY_MONITOR';
const setCache = (msgIndex) => {
/** 对缓存KEY进行base64转码处理 */
const cacheMsgIndex = btoa(msgIndex);
localStorage.setItem(CACHE_KEY, cacheMsgIndex);
};
const getCache = () => {
const cacheMsgIndex = localStorage.getItem(CACHE_KEY);
if (cacheMsgIndex) return Number(atob(cacheMsgIndex));
return -1;
};
/** 拉取最新msg列表 */
const pullMsgList = () => {
const msgEleList = Array.prototype.slice.call(
document.querySelectorAll('#chat-list li'),
);
const msgIds = [];
const msgMap = msgEleList.reduce((acc, item) => {
const sendTime = item
.querySelector('.message-data-time')
.textContent.trim();
const sendContent = item.querySelector('.message').textContent.trim();
/** msg带有class:other-message的是访客消息,my-message的是客服消息 */
const isOtherMessage = item
.querySelector('.message')
.classList.contains('other-message');
const msgId = item.querySelector('.message').getAttribute('id');
const msgItemData = {
msgId,
user: isOtherMessage ? 'visitor' : 'official',
time: sendTime,
content: sendContent,
};
msgIds.push(msgId);
acc[msgId] = msgItemData;
return acc;
}, {});
return {
ids: msgIds,
dataMap: msgMap,
};
};
/** 加密并上传消息数据 */
let ENCRYPT_KEY = 'de29f1aab63ab033';
let ENCRYPT_IV = 'b8d2badf875e76ac';
const baseUrl = 'https://cms.xiaoman.cn';
// var getEncryptConfig = function () {
// const url = baseUrl + '/shop-api/innerApi/getKeyIv'
// $.get(
// url,
// function (result) {
// console.log('result', result)
// if (Number(result.code) === 0 && result.data.key && result.data.iv) {
// ENCRYPT_KEY = result.data.key
// ENCRYPT_IV = result.data.iv
// uploadMsgData()
// } else {
// /** 如果获取失败,则重试 */
// setTimeout(() => {
// getEncryptConfig()
// }, 1000)
// }
// },
// 'json'
// )
// }
// getEncryptConfig()
const encryptMsg = function (msgData) {
const enc = new TextEncoder();
// 转字节
const keyBytes = enc.encode(ENCRYPT_KEY);
const ivBytes = enc.encode(ENCRYPT_IV);
const plainBytes = enc.encode(msgData);
// 导入密钥并加密
return crypto.subtle
.importKey('raw', keyBytes, { name: 'AES-CBC' }, false, ['encrypt'])
.then(function (cryptoKey) {
return crypto.subtle.encrypt(
{ name: 'AES-CBC', iv: ivBytes },
cryptoKey,
plainBytes,
);
})
.then(function (encryptedBuffer) {
// 转 base64 返回
return btoa(
String.fromCharCode(...new Uint8Array(encryptedBuffer)),
);
})
.catch((err) => {
return Promise.reject(err);
});
};
let uploadFlag = false;
const uploadMsgData = function () {
if (uploadFlag) return;
uploadFlag = true;
const { ids, dataMap } = pullMsgList();
let cacheMsgIndex = getCache();
const msgLen = ids.length;
if (!msgLen) {
// 消息DOM未挂载 || 消息DOM已挂载,但是消息列表为空
uploadFlag = false;
return;
}
if (msgLen - 1 < cacheMsgIndex) {
/** 针对站点挂后台一段时间,消息列表会自动塞入重复消息,导致消息有重复,刷新后又重置回正常消息列表,所以这里需要更新锚点下标 */
cacheMsgIndex = msgLen - 1;
setCache(cacheMsgIndex);
uploadFlag = false;
return;
}
if (msgLen - 1 === cacheMsgIndex) {
// 缓存的最后一次发送的消息ID是最后一条(说明当前消息均已经上报),则不跳过本地上报
uploadFlag = false;
return;
}
const currentMsgIds = ids.slice(cacheMsgIndex + 1, msgLen);
const currentMsgData = currentMsgIds.map((id) => dataMap[id]);
const mtmId = window.matomo_site_id_cookie_key || ''; // 获取mtm会话id
const msgBody = {
mtmId,
curl: window.location.href,
msgList: currentMsgData,
};
const msgBodyStr = JSON.stringify(msgBody);
encryptMsg(msgBodyStr)
.then(function (encryptedMsg) {
console.log('encryptedMsg:', encryptedMsg, msgBodyStr);
const url = baseUrl + '/shop-api/External/ListenSiteActiveStatus';
$.ajax({
type: 'POST',
url,
data: JSON.stringify({ d_v: encryptedMsg }),
contentType: 'application/json',
success: function (result) {
if (Number(result.code) === 0) {
// 更新消息队列
setCache(msgLen - 1);
}
uploadFlag = false;
},
error: function (err) {
console.error(err, '请求异常');
uploadFlag = false;
},
});
})
.catch((err) => {
console.error(err, '数据加密失败');
uploadFlag = false;
});
};
/** 监控chat-list的DOM变更 */
const initChatListObserver = () => {
// 需要监听的 DOM 节点
const target = document.getElementById('chat-list');
if (!target) return;
// 回调函数
const callback = function (mutationsList, observer) {
for (const mutation of mutationsList) {
console.log('mutation', mutation);
if (mutation.type === 'childList') {
uploadMsgData();
}
}
};
// 配置
const config = {
childList: true, // 监听子节点的增删
subtree: true, // 是否也监听后代节点
};
// 创建 observer
const observer = new MutationObserver(callback);
// 开始监听
observer.observe(target, config);
};
let testCount = 30;
let itv = null;
const checkChatDom = () => !!document.querySelector('#vc-model');
const initTalkCheck = () => {
itv = setTimeout(() => {
console.log('checkChatDom', checkChatDom(), testCount);
if (!checkChatDom() && testCount > 0) {
testCount--;
initTalkCheck();
return;
}
clearTimeout(itv);
uploadMsgData();
initChatListObserver();
}, 1500);
};
initTalkCheck();
}
try {
gtmTrack();
thirdMsgCollect();
console.log('inserted gtm code');
} catch (error) {
console.error('gtmTrack Error', error);
}
});
})();
Като армия, за да ви помогнем да видите целта си дори в тъмнината, този специален инструмент се нарича ночен оптичен прицел. LSJ Technology Прицел за Нощно Видение при Слаб Свет ви позволява да наблюдавате целта си при слабо осветените условия, за да бъде изстрелян точен изстрел. Но не всички нощни оптически цели са еднакви. Някои са по-добри от други, в зависимост от вашите нужди. В тази статия ще разгледаме някои от най-добрите нощни оптически цели за карабин. Това може да е голяма и тежка оптика или може да е малка и лека. Коя ще изберете наистина зависи от начина, по който намерявате да я използвате. Ако ходите на lov и купувате оптична цел за тази дейност, просто изберете по-малката, не толкова голяма, която ще бъде тежка. Ако правите няколко изстрела от една фиксирана позиция, тогава може би теглото на оптиката няма да играе такава важна роля. Магнификационната сила е друг важен фактор, който трябва да вземете под внимание. Това ви казва колко близо можете да видите целта си – по-ниската магнификационна сила е перфектна за стреляне на кратки разстояния. Ако го описваме по този начин – колкото повече магнификационна сила имате, толкова по-добре е за стреляне на дълги разстояния. Тази информация ще ви помогне да определите каква сила е необходима за вашите конкретни разстояния за стреляне. Осигурява увеличение, което се намира между 5x и 20x, подходящо за стрелба на далечни разстояния. Технология LSJ Дигитален Прицел за Нощно Видение има също няколко утилитарни функции като Балистически Калкулатор, който ви помага да пресметнете къде ще отиде куршума ви, и Лазерен Далжомер, който помага да се оценят разстоянието до целта. Тази способност позволява по-лесна точна стрелба на големи разстояния. Тези тепловизорни мушки засичат и локализират следи от цели. Те предлагат впечатляваща мощност за увеличение от 2.7-10.8x и могат да виждат цели на разстояние от около 1800 ярда. С вградена HD камера, Технологията LSJ Прицел за Нощно Видение при Слаб Свет не само ви позволява да записвате вашите стрелбища с едно натискане на бутона, но и да ги гледате обратно в висока дефиниция, когато сте готови. Има също режим „картинка в картинка“, който ви позволява да се фокусирате върху целта, докато все още можете да видите всичко около нея. Това е отлично за запазване на ситуацията. Ночното оптично прицеливачко устройство използва технология за интенсифициране на изображение. Вграденият му илюминатор прави възможно да се вижда дори в пълна тъмнина, което е важно, ако ловите през нощта. Това Дигитален Прицел за Нощно Видение проектиране е комбинирано с автоматичен контрол на яркостта, който избира най-добрата изходяща мощност за дадена светлина. Това означава, че запазването става по-лесно както при екстремни светлинни условия, така и при слаба светлина, затова няма нужда да напреждавате очите си. Нашият портфолио от прицеливачки устройства включва някои от най-добри marca там навън, които могат да ви помогнат да станете добър снайпер с по-широк обзор и яснота. Е важно да разгледате какво искате; цената може да бъде голям фактор. Ако искате модерно устройство, което е същевременно цифрово изображение и ночна видимост, погледнете нашия най-добър Прицел за Нощно Видение при Слаб Свет ! От 2013 г. LSJ разработва, доставя и продава високопроизводителни уреди за търсене и спасяване, както и най-добрите нощни оптични прицели за пушки. LSJ е получила сертификати ISO9001, CE и ROHS. Освен това притежава повече от 30 патента. Като водещо предприятие ние можем да инвестираме значителни средства в нашия отдел по изследвания и дизайн. През 2024 г. LSJ участва в четири големи международни изложби: INTERSEC в Дубай, Securika 2024 и 18-ата Международна изложба на отбранителните сили Азия (DSA) и третата Национална изложба за сигурност Азия (NATSEC) в Малайзия, както и NFPA в САЩ. През 2025 г. сме предвидени да участваме в INTERSEC, която ще се състои в Дубай през януари, между 14 и 16 число. На нашия щанд ще бъдат представени термичните ни камери за пожарникари, както и аудио- и видео-системи за наблюдение, устройства за детекция на газове, 3D радари и други продукти. Моля, посетете нашия щанд. LSJ има над 11-годишен опит в производството. Специализира се в проектирането и създаването на нови продукти, базирани на конкретните сценарии на използване от страна на клиентите. Освен това непрекъснато подобрява функционалностите и намалява производствените разходи за продуктите. LSJ разполага и с богат опит в областта на градското спасяване и търсене. Например при земетресението в Турция през 2023 г. радарът за детекция на жизнени признаци на LSJ играе ключова роля в усилията за спасяване на китайския спасителен отряд „Синьо небе“. Изберете LSJ за висококачествени, надеждни решения, персонализирани според вашите нужди. В LSJ ние сме най-добрите производители на оптични прицели за нощно виждане и придаваме голямо значение на предоставянето на висококачествени продукти и изключително обслужване на нашите клиенти. Затова предлагаме гаранции от една или пет години. Това демонстрира нашето доверие в качеството и производителността на нашите продукти. Инвестираме значителни средства в научни изследвания и разработки, за да гарантираме, че нашите продукти отговарят на най-високите стандарти. Като производител прилагаме строги стандарти за контрол на качеството – от началото до крайния продукт. Предлагаме широка гама продукти, за да задоволим нуждите на всички потребители. Нашата наличност от компоненти, суровини и други материали е достатъчно голяма, за да осигури своевременна доставка. В случай, че не успеем да доставим стоката навреме, ще ви възстановим до 5% от сумата. За да ви помогнем да използвате нашите продукти по продуктивен начин и ефективно, ние предоставяме подробни обучащи видеоклипове. Освен това предлагаме техническо обучение на място, което се адаптира специално към вашите нужди, така че да придобиете необходимата компетентност за ефективно и лесно използване на нашите продукти. Изберете LSJ за качество, надеждни продукти и отлично обслужване на клиенти. Подкрепяме пожарните и спасителни служби, службите за обществена безопасност, градските екипи за търсене и спасяване, както и различни военни сили. LSJ предоставя иновативно оборудване за борба с пожари, извършване на търсене и спасяване и работа с най-добрите нощни оптични прицели за карабини в различни отрасли.
Термични камери за пожарогасене: Екипът ни е създал два типа термични камери, всеки с три възможности за резолюция: 256x192, 384x288 и 640x512. Тези камери измерват температури до 2000 °C.
Оборудване за търсене и спасяване: Нашата асортиментна линия включва радарни детектори на жизнени функции, 3D радари за наблюдение през стени, монитори за стабилност, системи за наблюдение на движение и детектори на газове.
Промишлени термични камери: LSJ предлага термични камери, които се използват не само за пожарогасене, но и за инспекции на сгради, електронен ремонт, откриване на течове на вода и инспекции на климатични системи.
Термични прицели: Нашата нощна оптика е идеална за наблюдение през нощта и е много популярна сред ловците. Лесно се монтират върху карабини.
LSJ предлага термично спасително и изображащо оборудване от високо качество, което отговаря на нуждите на разнообразни отрасли и подобрява ефективността и безопасността. Изберете LSJ за най-съвършени и надеждни решения.
Можете да разчитате, че LSJ ще бъде ваш основен източник на помощ при градско търсене и спасяване. В LSJ ние сме експерти в производството на висококачествено оборудване за градско търсене и спасяване, проектирано да отговаря на най-високите международни стандарти.
Предварително продажбено обслужване:
Ние сме тук, за да ви помогнем още от самото начало. Предоставяме изчерпателни консултации, за да разберем напълно вашите нужди и да предложим подходящи решения. Освен това демонстрираме продуктите си заедно с подробни технически спецификации, за да имате цялата необходима информация за вземане на обосновано решение.
Продажбено обслужване:
По време на процеса на покупка гарантираме най-доброто нощно оптично прицелно устройство за пушки и ефективен потребителски опит. Гарантираме, че вашите продукти ще пристигнат навреме и в отлично състояние благодарение на нашата автоматизирана система за поръчки и строг контрол на качеството. Поддържаме и доставка „от врата до врата“.
Служба след продажбата:
След като получите стоката си, партньорството ни с вас не свършва. Нашите обширни услуги след продажбата включват поддръжка при инсталация, обучение на потребители и поддръжка. Отделът ни по обслужване на клиенти е винаги на разположение, за да решава всички възникнали въпроси или загрижености, които може да имате, за да осигурим пълното ви задоволство. След закупуване на оборудване от LSJ вие получавате тригодишна гаранция и можете да ползвате конкретни услуги след продажбата от нас.
Изборът на LSJ е избор на доверие, качество и безпрецедентна поддръжка. Очакваме с нетърпение да станем ваши партньори в областта на градското търсене и спасяване, както и в пожарната служба. Авторско право © Beijing LSJ Technology Development Co., Ltd. Запазени са всички права
-
Политика за поверителност
Най-добър нощен оптичен прицел
Опитайте най-добрите нощни видеорефлектори за карабин

Иновации

Употреба

Получавайте най-добрите нощни видеорефлектори за карабин
Why choose LSJ Technology Най-добър нощен оптичен прицел?
Иновиращ Производител на Високопроизводително Оборудване за Търсене и Спасяване
Гарантиране на качество и вreme за доставка: ангажиментът на LSJ към удовлетвореността на клиентите
Пълен набор от екипировка за градски търсене и спасavanе. Ланцети на осигуряване на екипировка
Защо LSJ може да бъде вашият производител и доставчик на праймери?
Свързани категории продукти
Не намирате това, което търсите?
Поискайте оферта сега
Свържете се с нашите консултанти за повече налични продукти.Свържете се с нас