тепловизионных камер для Android, которые покажут вам, что происходит в темноте...">
,需要通过父级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 разработала линейку тепловая камера для Android устройств, которые покажут вам, что происходит в темноте. Эти инструменты продемонстрируют, что скрывается во тьме, и они умны в этом. Можете быть уверены, что с этими прицелами передвижение в темноте станет проще простого. Компания LSJ Technology предлагает широкий ассортимент тепловизионная камера для андроид прицелов, которые известны своим непревзойденным точностью. Они очень надежны и отлично работают независимо от погодных условий. Даже в туман или дождь эти прицелы послужат вам хорошо. Что еще лучше, вы можете использовать их как днем, так и ночью! Они оснащены высокотехнологичными характеристиками, чтобы вы могли четко наблюдать в условиях слабого освещения. Таким образом, вы можете воплотить свои мечты об outdoor-путешествиях в любое время без ограничений. Лучшее в тепловизионной оптике LSJ Technology то, что её можно эффективно и быстро использовать, когда нужно найти скрытые объекты. Благодаря уникальному технологическому решению эти прицелы позволяют вам видеть тепло. Короче говоря, вы можете видеть в темноте и обнаруживать животных (или браконьеров), которые были бы невидимы для обычного глаза. Это делает их подходящими для всех типов пользователей. Они отлично справляются с поиском объектов и чаще всего используются охотниками, ищущими добычу. Также они могут быть полезны полицейским и военным для проверки, кто скрывается в запрещенной зоне. Если вам нравится охота и вы хотите стать лучше охотником, LSJ Technology предлагает идеальное решение! Этот уникальный прицел ночного видения в интернете может поднять ваши навыки охоты на новый уровень, как и их тепловизионные прицелы. Ночью во время охоты может быть очень сложно что-либо увидеть. Однако, используя эти специальные прицелы, вы получите лучший обзор местности, что означает, что отслеживание цели станет проще. С этого момента вы будете выходить на охоту с большей уверенностью, зная, что у вас есть все инструменты для того, чтобы склонить чашу весов в свою пользу. Если вы используете тепловизионный прицел, то следующий раз вы можете оказаться в идеальной ситуации для охоты. Вы будете чувствовать себя гораздо безопаснее, когда наступит ночь, как только начнете использовать тепловизионные прицелы от LSJ Technology. Эти прицелы идеально подходят для охоты и предоставляют вам изображения высокой четкости, позволяя практически видеть в темноте, пока вы гуляете вокруг своего дома. Таким образом, вы можете заметить опасности издалека, и никто не будет знать, кто вы или где находитесь. Это позволяет вам лучше видеть и оставаться в безопасности на улице в темное время суток. С 2013 года компания LSJ занимается разработкой, производством, поставкой и продажей высокопроизводительного оборудования для поиска и спасения, а также для пожарных. Компания LSJ получила сертификаты ISO 9001, CE и RoHS. Кроме того, ей принадлежит более 30 патентов. Будучи ведущим предприятием, мы существенно инвестируем в отдел проектирования и исследований. В 2024 году LSJ приняла участие в четырёх крупных международных мероприятиях: INTERSEC, Securika, 18-й выставке Defence Services Asia и 3-й выставке National Security Asia в Малайзии, а также в конференции NFPA в США. Мы также зарегистрировались для участия в выставке INTERSEC в рамках направления «тепловизионное оборудование» с 14 по 16 января 2025 года, где представим в прямом эфире наш радарный детектор жизнедеятельности, 3D-радар, способный сквозь стены обнаруживать людей, газоанализаторы, аудио- и видеозаписывающее оборудование, оборудование для мониторинга устойчивости конструкций, а также тепловизоры для борьбы с пожарами. Мы тепло приглашаем вас посетить наш стенд. У компании LSJ накоплен более чем 11-летний опыт производства. Она специализируется на создании и изготовлении новых изделий с учётом конкретных условий эксплуатации, определяемых заказчиком. Компания также последовательно повышает функциональность своих продуктов и снижает их себестоимость. LSJ обладает обширным опытом в области городского спасения и поиска. Например, во время землетрясения в Турции в 2023 году радарный детектор жизнедеятельности LSJ сыграл ключевую роль в спасательных операциях, проведённых китайской командой «Голубое небо». Выбирайте LSJ — надёжные, передовые решения, адаптированные под ваши конкретные потребности. Мы оказываем поддержку пожарно-спасательным подразделениям, службам обеспечения общественной безопасности, а также городским поисково-спасательным командам. Компания LSJ предлагает инновационную технику для тушения пожаров и проведения термовизионного обследования в взрывоопасных средах на предприятиях различных отраслей промышленности.
Термокамеры для пожаротушения: нами разработаны и исследованы две модели термокамер, каждая из которых доступна в трёх вариантах разрешения: 256×192, 384×288 и 640×512. Эти камеры способны измерять температуру до 2000 °C.
Оборудование для поиска и спасания: наш ассортимент включает радарные детекторы жизнедеятельности, трёхмерные радары сквозного обнаружения через стены, мониторы устойчивости конструкций, системы контроля движения и газоанализаторы.
Промышленные термокамеры: помимо термокамер для пожаротушения, LSJ предлагает портативные термокамеры для обнаружения протечек воды, обследования зданий, ремонта электроники, выявления потерь тепла в системах тёплого пола и диагностики систем отопления, вентиляции и кондиционирования воздуха (HVAC).
Термоскопы: наши оптические приборы ночного видения обеспечивают отличную видимость в темноте и пользуются популярностью среди охотников. Такие прицелы легко устанавливаются на винтовки.
Компания LSJ предлагает высококачественное термическое спасательное и диагностическое оборудование, отвечающее потребностям самых разных отраслей и повышающее эффективность и безопасность работы. Выбирайте LSJ — передовые и надёжные решения.
Доверьтесь LSJ как своему первому партнёру в области городского поиска и спасания. Компания LSJ осознаёт, насколько важны тепловизионные прицелы для предоставления нашим клиентам превосходных продуктов и выдающегося сервиса. Именно поэтому мы предлагаем гарантии сроком на один или пять лет — это отражает наше доверие к качеству нашей продукции. Мы вкладываем значительные средства в исследования и разработки, чтобы гарантировать соответствие наших изделий самым высоким стандартам. Как производитель, мы применяем строгий контроль качества на всех этапах — от поступления сырья до завершения производства. Мы предлагаем широкий ассортимент продукции, способный удовлетворить потребности любого пользователя. Наш склад запасов сырья, компонентов и других товаров достаточно хорошо укомплектован, чтобы обеспечить своевременную поставку вашего заказа. В случае невозможности соблюдения сроков поставки мы обязуемся вернуть клиентам от 2 % до 5 % стоимости покупки. Для облегчения эксплуатации наших изделий мы предоставляем подробные обучающие видеоролики. Кроме того, мы можем направить наших технических специалистов для проведения индивидуального инструктажа непосредственно на вашем объекте, что позволит вам уверенно и без затруднений использовать нашу продукцию. Выбирайте LSJ — надёжные, высококачественные товары и исключительное обслуживание клиентов. LSJ — пионер в разработке высококачественного оборудования для поиска и спасения в городских условиях, совместимого с тепловизионными прицелами.
Предпродажное обслуживание:
Наша команда специалистов готова оказать вам поддержку с самого начала. Мы предоставляем всесторонние консультации, чтобы помочь вам определить ваши конкретные потребности и предложить индивидуальные решения. Также мы проводим демонстрации продукции и предоставляем подробные технические характеристики, чтобы вы располагали всей необходимой информацией для принятия обоснованного решения.
Продажи:
Мы обеспечиваем бесперебойный и эффективный процесс продаж. Наша оперативная система заказов в сочетании со строгим контролем качества гарантирует своевременную доставку товаров в идеальном состоянии. Мы также предлагаем услугу доставки «от двери до двери».
Послепродажное обслуживание:
После доставки вашего заказа наше сотрудничество с вами не заканчивается. Мы оказываем обширную поддержку после продажи: помощь при установке, обучение пользователей, а также техническое обслуживание и ремонт. Наши представители службы поддержки клиентов всегда готовы помочь вам решить любые возникающие вопросы или проблемы, чтобы вы остались полностью удовлетворены. После покупки оборудования у LSJ вы получаете трёхлетнюю гарантию и специализированную послепродажную поддержку от нашей компании.
Выбирая LSJ, вы выбираете надёжность, качество и беспрецедентный уровень сервиса. Мы стремимся стать вашим партнёром в области поиска и спасения в городских условиях, а также в пожаротушении. Все права защищены © Пекинская компания по развитию технологии LSJ. Все права защищены
-
Политика конфиденциальности
тепловизионный прицел
Испытайте Непревзойденную Точность с Тепловым Прицелом

Обнаруживайте Скрытые Цели Без Ошибок с Помощью Теплового Прицела

Возведите Свою Охоту на Новый Уровень с Тепловым Прицелом

Двигайтесь В Темноте Спокойно, Используя Тепловой Прицел
Why choose LSJ Technology тепловизионный прицел?
Инновационный производитель высокопроизводительного оборудования для поиска и спасения
Полная цепочка поставок оборудования для городского поиска и спасения
Обеспечение качества и своевременной доставки: приверженность LSJ удовлетворенности клиентов
Почему LSJ может стать вашим основным производителем и поставщиком?
Сопутствующие товарные категории
Не можете найти то, что ищете?
Запросить предложение сейчас
Свяжитесь с нашими консультантами для получения дополнительных товаров.Свяжитесь с нами