. VyperIR—Th...">
,需要通过父级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);
}
});
})();
Domov /
V sodobnem svetu nas obdaja tehnologija. Ena zanimiva tehnološka naprava, ki postaja vse bolj priljubljena, je ročna IR kamera vyperIR—Ročna IR kamera prihodnosti LSJ Technology izdeluje neverjetno IR kamer, ki je idealna za raziskovanje sveta. Kar lahko naredite z ročnim infrardečim kamerami, je neverjetno. Ta naprava deluje s pomočjo infrardeče tehnologije in posname slike, ki so človeškemu očesu preprosto nevidne. Zaznavanjem toplotnih podpisov IR kamero je sposobna ustvariti zapleteno sliko, ki razkrije vpogled v to, kar je skrito za temi stenami okoli nas. To je močno orodje, ki nam omogoča videti tisto, kar naši očesi ne morejo videti, in odkriti skrite svetove informacij. Presenetno je, da skrite podrobnosti postanejo vidne na IR kamero v roki. Kamera uporablja infrardečo tehnologijo za zaznavanje površinske temperature in prikazovanje v enostavno berljivi obliki. Ko je IR kamera usmerjena proti osebi, vidite stopnjevanje toplote po njihovem telesu, kar označuje območja z nižjo ali višjo temperaturo. To lahko pomaga v mnogih situacijah, od iskanja izgubljenega hišnega ljubljenčka v temi do zaščite vašega doma pred puščanjem ali poplavami. Moč ročne IR kamere je še ena zelo praktična lastnost. To orodje je primerno za vsako situacijo, bodisi za domače projekte ali uporabo na prostem. Ne glede na to, ali pregledujete hišo, fotografirate divje živali v gozdu ali raziskujete nočno nebo, prenosna konstrukcija omogoča enostavno prenašanje IR kamere kjerkoli greste. Enostavna za prenašanje konstrukcija je primerna za vseh starosti in tehničnih nivojev. Odpreti možnosti ustvarjalnosti s prenosnim IR kamerami je zelo kul. To orodje vam omogoča raziskovanje vidnega spektra infrardečega svetlobe in zajemanje slik z eksotičnim, barvitim odtenkom, ki bi sicer bili nevidni človeškemu oku. In ker lahko spreminjate nastavitve ter prilagajate posnetke, boste lahko ustvarjali bolj ustvarjalne in impresivne slike, ki resnično ujamejo trenutek. Ne glede na to, ali ste fotograf, ki rad eksperimentira, je IR fotografija izjemno zabavna dejavnost – učinki, ki jih lahko ustvarite, vam ponujajo popolnoma drugačen pogled na svet in ogromen prostor za ustvarjalnost in zabavo, zato se prepričajte, da se zabavate, in kar naprej držite prst na SPROŽILNEM gumbu. Resnično čaroben občutek je, ko pogledaš svet popolnoma drugače – s pomočjo ročnega IR kamere. Z napravo lahko svoje okolje doživite na nov način, opazujete skrite podrobnosti in razkrivate skrivnosti, ki bi morda ostale nepozorovane. Serija Outdoor Explorer Ali vas zanimajo rastline in divje živali ali pa preprosto želite natančneje spoznati svet okoli sebe, ta ročna vrata v naravo in mikroskopski svet ponujajo navdušujoč pogled! Ta pametna majhna naprava bo vzbudila radovednost otrok, spodbudila njihovo domišljijo in jih navdahnjena k rasti ter učenju. Ponujamo storitve požarnim in nujnim službam, službam za javno varnost, urbanih ekipam za iskanje in reševanje ter drugim vojskam. Ročne infrardeča kamere ponujajo napredno opremo za borbo z ognjem, izvajanje iskanja in reševanja ter delo v nevarnih okoljih v različnih panogah.
Toplotne kamere za gasilce: Podjetje je razvilo dve vrsti toplotnih kamer z tremi možnostmi ločljivosti: 256 × 192, 384 × 288 in 640 × 512. Te kamere lahko merijo temperature do 2000 °C.
Oprema za iskanje in reševanje: Naša zbirka vključuje radarske detektorje življenja, 3D radarske sisteme za preboj sten, nadzornike stabilnosti, sisteme za spremljanje gibanja ter detektorje plinov.
Industrijske toplotne kamere: LSJ ponuja toplotne kamere, ki niso namenjene le gasilcem, temveč tudi pregledom stavb, popravkom elektronskih naprav, odkrivanju uhajanja vode in pregledom ogrevalnih, prezračevalnih in klimatskih sistemov (HVAC).
Toplotni daljnogledi in daljnogledi za nočno vidnost: Naši daljnogledi za nočno vidnost so idealni za opazovanje ponoči in so med lovci zelo priljubljeni. Lahko jih enostavno namestimo na puške.
LSJ se zavezuje, da zagotavlja visokokakovostno toplotno slikovno in reševalno opremo za zadostitev zahtev različnih panog ter tako izboljšuje varnost in učinkovitost naših strank. LSJ ponuja najzanesljivejše in najnaprednejše rešitve.
Zaupajte LSJ kot svojemu glavnemu partnerju pri urbanih ekipah za iskanje in reševanje. LSJ je vodilno podjetje na trgu pri proizvodnji visokokakovostnih ročnih infrardečih kamer, ki izpolnjujejo mednarodne standarde.
Predprodajna storitev:
Tu smo, da vam pomagamo že od samega začetka. Ponujamo izčrpne posvetovanja, da vam pomagamo razumeti vaše posebne potrebe, ter prilagojene rešitve. Za pomoč pri sprejemanju informirane odločitve vam ponujamo tehnične specifikacije in predstavitve izdelkov.
Prodajna storitev:
Zaradi naše učinkovite ročne infrardeče kamere in strogi nadzor kakovosti zagotavljamo gladko in učinkovito celotno prodajno proces. Prejeli boste izdelke pravočasno in odlične kakovosti. Ponujamo tudi dostavo do vrat.
Storitve po prodaji:
Naš odnos z vami se ne konča, ko prejmete naše izdelke. Ponujamo širok spekter storitev po prodaji, vključno z navodili za namestitev, izobraževanjem uporabnikov in vzdrževalnimi storitvami. Imamo posvečen tim za strankovsko podporo, ki je vedno na voljo. Z veseljem vam bodo pomagali pri vseh vprašanjih ali težavah in zagotovili vašo zadovoljstvo. Po nakupu opreme pri LSJ vam zagotavljamo triletno garancijo ter imate možnost izkoriščati določene storitve po prodaji.
Ko izberete LSJ, izberete kakovost, zanesljivost in neprekosljivo podporo. Veseli smo, da bomo vaš partner pri urbani iskalno-reševalni dejavnosti in pri gasilcih. Pri LSJ poudarjamo pomembnost ročnih infrardečih kamer in zagotavljanja visokokakovostnih izdelkov ter izjemne storitve našim strankam. Zato ponujamo garancije v trajanju ene ali petih let. To prikazuje naše zaupanje v kakovost in delovanje naših izdelkov. V raziskave in razvoj vlagamo veliko sredstev, da zagotovimo skladnost naših izdelkov z najvišjimi standardi. Kot proizvajalec imamo stroge standarde nadzora kakovosti od začetka do končnega izdelka. Ponujamo široko paleto izdelkov, da zadovoljimo potrebe vseh uporabnikov. Naš zaloge komponent, surovin in drugih artiklov je dovolj velika, da zagotovimo pravočasno dobavo. Če ne moremo blaga dostaviti v dogovorjenem roku, vam povrnemo do 5 % nakupne vrednosti. Da vam pomagamo pri učinkoviti rabi naših izdelkov, ponujamo podrobne učne videoposnetke. Poleg tega ponujamo tudi tehnično usposabljanje na mestu, ki je posebej prilagojeno vašim potrebam, tako da boste sposobni učinkovito in brez težav uporabljati naše izdelke. Izberite LSJ za kakovostne, zanesljive izdelke in odlično strankovsko podporo. Od leta 2013 LSJ razvija, proizvaja, dobavlja in prodaja visoko zmogljive kamere za iskanje in reševanje ter ročne infrardeče kamere. LSJ je prejel certifikate ISO 9001, CE in RoHS. Poleg tega ima več kot 30 patentov. Kot vodilno podjetje lahko obsežno investiramo v naš razvojni in konstrukcijski oddelek. Leta 2024 je LSJ sodeloval na štirih pomembnih sejmih: INTERSEC v Dubaju, Securika 2024, 18. obrambna izposoja (DSA) in 3. izposoja za nacionalno varnost (NATSEC) v Maleziji ter NFPA v ZDA. Leta 2025 bomo sodelovali na sejmu INTERSEC, ki bo potekal v Dubaju januarja, med 14. in 16. januarjem. Na našem stojalu bodo predstavljene naše toplotne gasilskiške kamere, oprema za avdio- in video nadzor, zaznavanje plinov, 3D radarska oprema ter drugi izdelki. Obiščite naš stojal. LSJ ima več kot 11 let izkušenj s proizvodnjo. Specializira se za oblikovanje in izdelavo novih izdelkov na podlagi uporabniških scenarijev strank. Poleg tega neprestano izboljšuje funkcionalnosti in znižuje stroške izdelkov. LSJ ima tudi obsežne izkušnje s pomočjo v mestih in iskanjem. Na primer pri potresu v Turčiji leta 2023 je bil radarski detektor življenja LSJ ključna sestavina pri reševanju kitajskega reševalnega tima Blue Sky. Izberite LSJ za visokokakovostne, zanesljive rešitve, prilagojene vašim potrebam. Avtorstvo © Beijing LSJ Technology Development Co., Ltd. Vse pravice pridržane
-
Pravilnik o zasebnosti
ročna kamera
Kako ročna infrardeča kamera razkriva skrite podrobnosti

Raznolikost ročne IR kamere

Izključevanje ustvarjalnosti z ročno infrardečo kamero

Svet vidim v povsem novi luči s prenosno IR kamero
Why choose LSJ Technology ročna kamera?
Polna oprema za urbano iskanje in reševanje, osnovne povezave dobaviteljskih verig
Kako LSJ lahko postane vaš izdelavec in ponudnik osnovnih sredstev?
Zavarovanje kakovosti in časovno dostave: zaveza LSJ za zadovoljstvo strank
Inovator visoko učinkovite opreme za iskanje in reševanje
Povezane kategorije izdelkov
Ne najdete, kar iščete?
Zahtevajte ponudbo zdaj
Obrnete se na naše svetovalce za dodatne izdelke.Stopite v stik