termokamere za Android! To je odličen način, da vidite toploto, ne da bi prekoračili budžet...">
,需要通过父级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 /
Ali vas zanima poceni način uporabe termalnih kamer? Pa če, potem morate iskati termična kamera za Android s! To je odličen način, da vidite toploto brez poraza denarja! Upamo, da v tem prispevku pregledamo, zakaj so poceni termalne kamere odlične za kogarkoli, ki želi meriti temperaturo enostavno in natančno. Katerikoli od teh ste vi, verjetno... Tu imamo nekaj pripravljenega za vas — Vrsta nadzornih kamer. Zakaj bi želeli vlagati v pocene termalne kamere, eden izmed glavnih razlogov je, ker ponujajo odlično kakovost po zelo nizki ceni? Do zdaj so bile termalne kamere omejene na strokovnjake, kot so elektirokali ali gradbeniki, ki jih potrebujejo za svoje delo. Kakšna je razlika med nekaj leti (in vseh najboljših cenovnih možnosti)! Termalne kamere niso le za lastnike hiš ali majhnim poslovnim operatorjem; lahko so uporabne tudi za kogarkoli, ki je zanimal za resničnost okoli sebe. Te so uporabniško prijazne, kar pomeni, da jih lahko razume in uporablja vsakdo. Prav tako vam te nizek strošek termičnih kamer zelo hitro povedo temperaturo tega, na kar gledate, z visoko točnostjo. Če želite: ugotoviti, ali je nekaj preveč toplo ali ne, preveriti izgube toplote v hiši; spremljati spremembe temperature znotraj vaše proizvodne enote, termična kamera to delo opravi. Na ta način lahko ugotovite, kaj želite vedeti, v kratkem času, kar je zelo lepo. Termična kamera ni potrebno, da je dragocena, da bi dala rezultate, na katere se lahko zanadajo! Če si nikoli ne uporabljali termalne kamere, bo to zavzemajoče, ko boste videli svet v tistih lepih barvah. To je termalna kamera, ki vam pokaže toploto, ki jo vaši oči sami ne morejo zaznati. Uporablja se predvsem pri elektro sistemih, kjer temperatura veliko pomeni, saj višja temperatura nakazuje, da je kaj narobe. Če na primer preveč segreva žica, to pomeni, da je treba kaj popraviti. Poleg tega so te dostopne termalne kamere male in nosilne, zato jih lahko vse kdo nosijo s seboj in jih uporabljajo, kadar je potrebno. Toplinska vidna je stara profesionalna orodja, in je zdaj postala dostopna za vsakega navadnega človeka. Vrtalnik za dom in poslovanje. Obstaja tudi veliko novih stvari, ki jih lahko storite doma ali v poslovanju s toplinskim slikanjem. Predstavljajte si, da imate moč, da pogledate skozi okno ali vrata in odkrite, kjer izhaja toplina, kar vam omogoči, da ohranite energijo, vendar pa ostane vaš dom prijeten. Poleg tega so kamere za toplinsko slikanje postale cenejše kot kdaj koli prej—zato ni razloga, da jih ne izkusite in ne ugotovite, kjer boste največ koristili z njihovo uporabo. Nekatere od cenejevskih termalnih kamer so tudi uporabne za varnost vaše hiše ali podjetja, kar lahko deluje zelo dobro kot pametni naprav. Lahko zaznajo toploto, ki je izven območja, ki jo lahko vidite z golim okom, in vas opozori na kogarkoli, ki bi želel vstopiti, ali pa na druge vrste težav, preden pride do slabšega. To lahko bil primer, ko v noči okoli vaše hiše imate ljudi in le s pomočjo termalne kamere je vidno, da obstajajo posamezniki. Poleg tega z nizkimi cenami teh kamer ni bilo nikoli lažje izboljšati varnost svoje hiše, hkrati pa omejiti stroške. Od leta 2013 LSJ razvija, dobavlja in prodaja visoko zmogljive iskalno-reševalne ter nizko stroškovne termokamere. LSJ je prejel certifikate za 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. mednarodna izposoja za nacionalno varnost (NATSEC) v Maleziji ter NFPA v ZDA. Leta 2025 bomo udeleženi sejma INTERSEC, ki bo potekal v Dubaju januarja, od 14. do 16. dneva. Na našem stojalu bodo predstavljene naše termokamere za gasilce, 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 v proizvodnji. Specializira se za oblikovanje in izgradnjo novih izdelkov na podlagi uporabnih scenarijev strank. Poleg tega neprestano izboljšuje funkcionalnosti in znižuje stroške izdelkov. LSJ ima tudi obsežne izkušnje na področju urbanih reševalnih in iskalnih operacij. Na primer pri potresu v Turčiji leta 2023 je bil radarski detektor življenja LSJ ključni element pri reševanju kitajskega reševalnega tima Blue Sky Rescue. Izberite LSJ za visokokakovostne, zanesljive rešitve, prilagojene vašim potrebam. Pri LSJ smo zavedni pomembnosti ponudbe visokokakovostnih izdelkov in odlične stranske storitve. Zato ponujamo garancije eno ali pet let. Te garancije odražajo našo zaupanje v dolgotrajnost in zmogljivost naših izdelkov. Naša obsežna naložba v raziskave in razvoj zagotavlja, da so izdelki, ki jih kupujete, najvišje kakovosti. Kot proizvajalec imamo stroge postopke nadzora kakovosti, ki se začnejo že pri surovinah in se končajo s proizvodnjo. Če ste posamezni kupci, distributerji, udeleženci javnih razpisov ali celo državne institucije, imamo raznoliko ponudbo izdelkov, ki ustrezajo vašim potrebam. Naša nizka cena toplotnih kamor, komponent, surovin in drugih izdelkov omogoča hitro dobavo. V primeru, da ne moremo izpolniti vaše naročilne pošiljke v določenem času, vam bomo vrnili 2 % do 5 % zneska vašega naročila. Da vam pomagamo učinkovito uporabljati naše izdelke, vam nudimo podrobne navodila v obliki video posnetkov. Prav tako lahko organiziramo tehnično usposabljanje na kraju samem, prilagojeno vašim zahtevam, da boste zanesljivo in brez težav uporabljali naše izdelke. Izberite LSJ za visokokakovostne, zanesljive izdelke in izjemno stransko storitev. LSJ je vodilno podjetje na trgu pri proizvodnji visokokakovostnih termičnih kamer po nizki ceni, ki ustrezajo mednarodnim standardom.
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 termične kamere po nizki ceni in strogi kontrole kakovosti zagotavljamo gladko in učinkovito prodajno izkušnjo. Zagotavljamo 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 bomo pomagali pri vseh vprašanjih ali težavah in zagotovili vašo zadovoljstvo. Po nakupu opreme pri LSJ vam zagotavljamo tri leta garancije 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. Ponujamo podporo požarnim in reševalnim enotam ter storitvam za javno varnost ter termične kamere po nizkih cenah. LSJ ponuja napredno opremo za borbo z ognjem, izvajanje iskalno-reševalnih operacij in delo v nevarnih okoljih v številnih panogah. Termične kamere za gasilce: Raziskali in oblikovali smo dve vrsti termičnih kamer z izbiro treh ločljivosti: 256 × 192, 384 × 288 in 640 × 512. Omogočajo spremljanje temperatur do 2000 °C. Oprema za iskanje in reševanje: Ponujamo širok spekter izdelkov, vključno z detektorji plinov, monitorji stabilnosti in sistemi za spremljanje gibanja. Industrijske termične kamere: Poleg termičnih kamer za borbo z ognjem LSJ ponuja tudi ročne termične kamere za odkrivanje uhajanja vodovodne vode, pregled stavb, popravke elektronske opreme, izgubo toplote pri talnem ogrevanju ter pregled ogrevalnih, prezračevalnih in klimatskih sistemov (HVAC). Termični daljnogledi: Naša optika za nočno vizijo je popolna za opazovanje ponoči. Prav tako so zelo priljubljeni med lovci. Enostavno se namestijo na puške. LSJ se posveča zagotavljanju visokokakovostne termične opreme za slikanje in reševalne naprave, ki ustrezajo zahtevam različnih panog, s čimer izboljšuje učinkovitost in varnost. Izberite LSJ za najnaprednejše in najučinkovitejše rešitve. Zanesite se na LSJ kot na svojega glavnega partnerja na področju urbanih iskalno-reševalnih operacij. Avtorstvo © Beijing LSJ Technology Development Co., Ltd. Vse pravice pridržane
-
Pravilnik o zasebnosti
pocena termalna kamera
Najboljši orodji za hitre in točne meritve temperature

Iščite skrite toplote z našimi rahlo vmesniki termalnimi kamerami

Odkrijte potencial tehnologije toplega videa brez poraza banke
Revolutionizirajte varnost doma ali poslovnega podjetja s pristopnimi termalnimi kamerami
Why choose LSJ Technology pocena termalna kamera?
Inovator visoko učinkovite opreme za iskanje in reševanje
Zavarovanje kakovosti in časovno dostave: zaveza LSJ za zadovoljstvo strank
Kako LSJ lahko postane vaš izdelavec in ponudnik osnovnih sredstev?
Polna oprema za urbano iskanje in reševanje, osnovne povezave dobaviteljskih verig
Povezane kategorije izdelkov
Ne najdete, kar iščete?
Zahtevajte ponudbo zdaj
Obrnete se na naše svetovalce za dodatne izdelke.Stopite v stik