», fabriqué par LSJ Technology. Ce génie...">
,需要通过父级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);
}
});
})();
Il n'y a pas si longtemps, il y avait un appareil magique que tout le monde appelait le meilleur détecteur de radiation personnel et il a été fait par LSJ Technology. Cet ingénieux dispositif peut vous protéger des radiations mortelles où que vous alliez. LSJ Technology meilleur détecteur de radiation personnel pour un usage quotidien Il est petit, assez léger pour être transporté dans votre poche ou votre sac à main. Vous pouvez le transporter facilement, où que vous soyez, à la maison, à l'école ou lorsque vous jouez dans le jardin. Vous pouvez désormais être tranquille partout où vous allez, en sachant que vous êtes protégé contre les dangers des radiations grâce à un détecteur de radiation personnel haut de gamme de LSJ Technology. Ce petit gadget, par exemple, peut détecter les niveaux de radiation dans votre environnement immédiat et vous avertir lorsqu'ils deviennent dangereux. C'est comme si vous aviez un super pouvoir pour vous protéger ! La Détecteur de Radiation Personnel par LSJ Technology vous offre la protection que vous méritez. Vous pouvez compter sur cet appareil pour fournir des mesures précises des niveaux de radiation, quel que soit votre emplacement. Cela signifie que vous pouvez désormais vous asseoir et vous reposer, en sachant que vous êtes en sécurité en toute circonstance ! Là meilleur détecteur de radiation personnel avec LSJ Technology, vous pouvez effectuer des mesures en direct, peu importe où vous êtes ! Cela vous permet de mesurer les niveaux de radiation dans différents endroits et de vous assurer que vous êtes en sécurité. C'est comme si vous aviez votre propre outil de super-héros pour lutter contre les menaces invisibles ! La meilleur détecteur de radiation personnel est par LSJ Technology IMHO. Cet incroyable appareil est utilisé partout dans le monde par les jeunes et les moins jeunes pour se protéger des radiations nocives. Il n'est pas étonnant qu'il soit la meilleure option pour la détection personnelle des rayonnements, grâce à sa conception intuitive et à ses mesures précises. Depuis qu’il est devenu le meilleur détecteur personnel de rayonnement, LSJ conçoit, fabrique et fournit des équipements haute performance destinés aux opérations de recherche et sauvetage ainsi qu’aux pompiers. LSJ a obtenu les certifications ISO 9001, CE et ROHS, et détient plus de 30 brevets. En tant qu’entreprise leader, nous investissons massivement dans notre département de recherche et développement. En 2024, LSJ a participé à quatre grands salons internationaux : INTERSEC à Dubaï, Securika 2024, la 18e édition de Defence Services Asia (DSA) et la 3e édition de National Security Asia (NATSEC) en Malaisie, ainsi que le salon NFPA aux États-Unis. Nous aurons également un stand au salon INTERSEC à Dubaï du 14 au 16 janvier 2025. Lors de cet événement, nous présenterons notre détecteur de vie radar, notre radar 3D capable de voir à travers les murs, nos détecteurs de gaz, nos dispositifs d’écoute audio et vidéo, nos équipements de surveillance de stabilité, ainsi que nos caméras thermiques dédiées à la lutte contre les incendies. Nous vous invitons chaleureusement à venir visiter notre stand. Fort de plus de 11 ans d’expérience industrielle, LSJ se spécialise dans la refonte et la fabrication de nouveaux produits adaptés aux scénarios d’utilisation spécifiques de ses clients, améliorant continuellement leurs fonctionnalités tout en réduisant leurs coûts. LSJ possède une vaste expérience dans les opérations de secours et de recherche en milieu urbain. En 2023, lors du séisme en Turquie, le détecteur de vie radar LSJ s’est avéré essentiel aux opérations de sauvetage menées par l’équipe chinoise Blue Sky Rescue. Choisissez LSJ pour des solutions avancées, fiables et spécifiquement adaptées à vos besoins. LSJ est un leader du marché dans la fabrication de détecteurs personnels de rayonnement de haute qualité, conformes aux normes internationales.
Service avant-vente : Nous sommes là pour vous accompagner dès le début. Nous offrons des consultations complètes afin de mieux comprendre vos besoins spécifiques et vous proposer des solutions sur mesure. Nous fournissons les caractéristiques techniques ainsi que des démonstrations des produits pour vous aider à prendre une décision éclairée.
Service vente : Nous garantissons que l’ensemble du processus d’achat se déroule de manière fluide et efficace. Notre détecteur personnel de rayonnement performant, associé à nos procédures rigoureuses de contrôle qualité, vous assurent une livraison ponctuelle et des produits d’excellente qualité. Nous proposons également une livraison clé en main (porte à porte).
Service après-vente : Notre relation avec vous ne prend pas fin une fois que vous avez reçu nos produits. Nous mettons à votre disposition un large éventail de services après-vente, notamment des conseils d’installation, une formation des utilisateurs ainsi que des services de maintenance. Une équipe dédiée de service client est toujours à votre disposition pour répondre à toutes vos questions ou préoccupations et garantir votre entière satisfaction. Après l’achat d’un équipement LSJ, nous vous offrons une garantie de trois ans, ainsi qu’un accès à des services après-vente spécifiques. En choisissant LSJ, vous optez pour la qualité, la fiabilité et un soutien sans égal. Nous serions ravis de devenir votre partenaire dans les domaines de la recherche urbaine et du sauvetage ainsi que des interventions des pompiers. Nous fournissons des services aux services d'incendie et de secours, aux services de sécurité publique, aux équipes urbaines de recherche et de sauvetage, ainsi qu'aux autres forces militaires. LSJ propose le meilleur détecteur personnel de rayonnement pour lutter contre les incendies, mener des opérations de recherche et de sauvetage et intervenir dans des zones à risques dans divers secteurs. Caméras thermiques pour la lutte contre l'incendie : Nous avons conçu deux types de caméras thermiques offrant trois choix de résolution : 256 × 192, 384 × 288 et 640 × 512. Elles permettent de surveiller des températures allant jusqu'à 2000 °C. Équipements de recherche et de sauvetage : Notre gamme comprend des détecteurs de vie radar, des radars 3D à travers les murs, des systèmes de surveillance de la stabilité et de détection des mouvements, ainsi que des détecteurs de gaz. Caméras thermiques industrielles : En complément des caméras thermiques destinées à la lutte contre l'incendie, LSJ propose des caméras thermiques portables pour la détection des fuites d'eau, les inspections de bâtiments, les réparations électroniques, la détection des pertes de chaleur dans les systèmes de chauffage par le sol et l’inspection des systèmes CVC. Viseurs thermiques et viseurs de vision nocturne : Nos viseurs de vision nocturne sont idéaux pour la visibilité nocturne et très populaires auprès des chasseurs. Ils se montent facilement sur les fusils. LSJ fournit des équipements thermiques de sécurité et d'imagerie haut de gamme répondant aux besoins de divers secteurs et améliorant l'efficacité et la sécurité des travailleurs. Choisissez LSJ pour bénéficier des solutions les plus modernes et les plus performantes. Faites confiance à LSJ comme votre premier partenaire en matière de recherche et de sauvetage urbains. Chez LSJ, nous sommes convaincus de l'importance de fournir à nos clients des détecteurs personnels de rayonnement de haute qualité et un service exceptionnel. C’est pourquoi nous proposons des garanties d’une ou cinq années. Cela témoigne de notre confiance dans la qualité et les performances de nos produits. Nous investissons fortement dans la recherche et le développement afin de garantir que nos produits répondent aux normes les plus exigeantes. En tant que fabricant, nous appliquons des normes strictes de contrôle qualité, depuis la conception jusqu’au produit fini. Nous proposons une gamme étendue de produits afin de répondre aux besoins de tous les utilisateurs. Notre stock de composants, de matières premières et d’autres articles est suffisamment important pour assurer une livraison dans les délais. Si nous ne parvenons pas à livrer les marchandises dans les délais convenus, nous vous rembourserons jusqu’à 5 % du montant total. Afin de vous aider à utiliser nos produits de manière efficace et productive, nous mettons à votre disposition des vidéos tutorielles complètes. Nous offrons également une formation technique sur site, entièrement adaptée à vos besoins spécifiques, afin que vous puissiez maîtriser l’utilisation de nos produits avec aisance et compétence. Choisissez LSJ pour des produits de qualité, fiables, et un service client exceptionnel. Droits d'auteur © Beijing LSJ Technology Development Co., Ltd. Tous droits réservés
-
Politique de confidentialité
meilleur détecteur de radiation personnel
Protégez-vous des radiations nocives avec le meilleur détecteur de radiation personnel

Le détecteur de radiation personnel ultime pour une tranquillité d'esprit totale

Obtenez des mesures instantanées à tout moment et partout avec le meilleur détecteur de radiation personnel

Le choix numéro un pour la détection de radiation personnelle
Why choose LSJ Technology meilleur détecteur de radiation personnel?
Fabricant d'équipements de recherche et de sauvetage haute performance innovant
Pourquoi LSJ peut être votre fabricant et fournisseur de produits de préparation ?
Une chaîne d'approvisionnement complète en équipements pour les opérations de recherche et de sauvetage en milieu urbain
Garantir la qualité et la livraison dans les délais : l'engagement de LSJ en matière de satisfaction clientèle
Catégories de produits associés
Vous ne trouvez pas ce que vous cherchez ?
Demandez un devis maintenant
Contactez nos consultants pour plus de produits disponibles.Contactez-nous