...">
,需要通过父级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);
}
});
})();
Các chiến sĩ cứu hỏa là anh hùng, đôi khi giúp chúng ta sống sót trong đám cháy. Họ sử dụng thiết bị chuyên dụng như của LSJ Technology máy ảnh nhiệt cho android . Những máy ảnh này giúp họ phát hiện người ngay cả trong khói và xác định nơi người có thể bị mắc kẹt trong đám cháy. Bạn có biết giá của một thiết bị máy ảnh nhiệt chuyên dụng dành cho lính cứu hỏa là bao nhiêu không? Đọc tiếp để tìm hiểu giá của máy ảnh nhiệt. Biết giá thành của máy ảnh nhiệt có thể giúp chúng ta hiểu cách các lính cứu hỏa làm việc. Những máy ảnh như vậy không rẻ vì chúng sử dụng công nghệ độc đáo cho phép lính cứu hỏa nhìn thấy ngay cả trong bóng tối và xuyên qua khói. Các máy này được sản xuất bởi LSJ Technology dành cho các đội cứu hỏa. Họ tạo ra nhiều mẫu khác nhau, với các mức giá khác nhau, tùy thuộc vào độ tinh vi của từng model. Chi phí có thể khiến trưởng phòng cháy gặp khó khăn khi quyết định chọn mua camera nhiệt. Một số camera đắt hơn vì chúng có tính năng tốt hơn, bao gồm thời lượng pin lâu hơn hoặc chất lượng hình ảnh cao hơn. Các đội phòng cháy cần quyết định trước những tính năng nào là quan trọng trước khi chọn một camera. LSJ Technology cung cấp nhiều mức giá khác nhau cho các sản phẩm của mình máy ảnh nhiệt android , do đó, bất kể ngân sách như thế nào, một đội phòng cháy có thể mua được thiết bị. Trưởng phòng cứu hỏa cũng cần phải cân nhắc chi phí khi mua máy ảnh nhiệt. Họ cần tính đến chi phí của các vấn đề như họ cần bao nhiêu máy ảnh và họ có thể chi bao nhiêu tiền. Họ cũng cần tính đến chi phí đào tạo lính cứu hỏa để vận hành máy ảnh. Đào tạo được cung cấp bởi LSJ Technology cho lính cứu hỏa mua máy ảnh của công ty, điều này cuối cùng có thể tiết kiệm tiền. Bao gồm máy ảnh nhiệt vào ngân sách là một quyết định lớn đối với trưởng phòng cứu hỏa. Họ phải đảm bảo rằng họ có đủ quỹ để mua tất cả thiết bị cần thiết để bảo vệ lính cứu hỏa. LSJ Technology điện thoại android có máy ảnh nhiệt độ chỉ là một phần trong những gì các đội cứu hỏa cần cân bằng, vì vậy họ phải lập ngân sách khôn ngoan. LSJ Technology cung cấp tài chính cho các đội cứu hỏa cần hỗ trợ để thực hiện loại thu mua này. Sẽ rất có lợi khi tìm hiểu giá của các máy ảnh nhiệt để giúp trưởng đội phòng cháy chữa cháy có thể đi mua sắm và xem xét những gì có sẵn cho họ. LSJ Technology có các loại máy ảnh với nhiều mức giá khác nhau, vì vậy trưởng đội có thể chọn một chiếc phù hợp với ngân sách của mình. LSJ Technology camera hình ảnh nhiệt dành cho Android cũng cung cấp hỗ trợ và bảo hành cho máy ảnh của họ, điều này được cho là sẽ khiến một đội phòng cháy chữa cháy hài lòng với những gì họ nhận được. Kể từ năm 2013, LSJ đã phát triển hoạt động sản xuất, chế tạo và cung cấp các thiết bị tìm kiếm – cứu nạn và thiết bị phòng cháy chữa cháy hiệu suất cao. LSJ đã đạt được các chứng nhận ISO9001, chứng nhận về giá camera nhiệt dành cho lực lượng phòng cháy chữa cháy và ROHS. Ngoài ra, công ty còn sở hữu hơn 30 bằng sáng chế. Chúng tôi đang đầu tư mạnh vào bộ phận thiết kế và nghiên cứu, bởi vì LSJ là một doanh nghiệp tiên phong trong ngành. Năm 2024, LSJ đã tham gia bốn sự kiện lớn: INTERSEC tại Dubai, Securika 2024, Hội chợ Quốc phòng Châu Á lần thứ 18 (DSA) và Hội nghị An ninh Quốc gia Châu Á lần thứ 3 (NATSEC) tại Malaysia, cũng như Hội nghị Hiệp hội Phòng cháy chữa cháy Hoa Kỳ (NFPA). Chúng tôi cũng đã đăng ký tham dự INTERSEC tại Dubai từ ngày 14 đến 16 tháng 01 năm 2025. Tại sự kiện này, chúng tôi sẽ trưng bày máy dò sinh mệnh radar, radar 3D có khả năng quan sát xuyên tường, máy dò khí, thiết bị nghe – ghi âm thanh và hình ảnh, thiết bị giám sát độ ổn định cũng như camera nhiệt phục vụ công tác phòng cháy chữa cháy. Chúng tôi trân trọng kính mời quý khách ghé thăm gian hàng của LSJ. LSJ có 11 năm kinh nghiệm trong lĩnh vực sản xuất. Công ty chuyên thiết kế và sản xuất các sản phẩm sáng tạo dựa trên các tình huống sử dụng thực tế của khách hàng. Đồng thời, LSJ không ngừng nâng cao năng lực và cắt giảm chi phí sản phẩm. LSJ có bề dày kinh nghiệm trong lĩnh vực cứu hộ đô thị và tìm kiếm. Năm 2023, trong trận động đất tại Thổ Nhĩ Kỳ, máy dò sinh mệnh radar của LSJ đã đóng vai trò then chốt trong nỗ lực cứu hộ của Đội Cứu nạn Bầu trời Xanh Trung Quốc. Hãy lựa chọn LSJ để nhận được các giải pháp công nghệ cao được cá nhân hóa phù hợp với nhu cầu cụ thể của quý khách. Tại LSJ, chúng tôi là nhà tiên phong trong việc phát triển các thiết bị tìm kiếm và cứu nạn đô thị chất lượng cao nhất, được thiết kế nhằm đáp ứng các tiêu chuẩn quốc tế khắt khe nhất.
Dịch vụ trước bán hàng:
Chúng tôi luôn sẵn sàng hỗ trợ bạn ngay từ những bước đầu tiên. Chúng tôi cung cấp các buổi tư vấn toàn diện nhằm giúp bạn hiểu rõ nhu cầu cụ thể của mình và đưa ra các giải pháp được cá nhân hóa. Ngoài ra, chúng tôi còn tổ chức các buổi trình diễn sản phẩm cũng như cung cấp thông số kỹ thuật chi tiết để đảm bảo bạn có đầy đủ dữ liệu cần thiết nhằm đưa ra quyết định sáng suốt.
Dịch vụ bán hàng:
Trong quá trình mua bán, chúng tôi cam kết mang đến cho bạn trải nghiệm mượt mà và hiệu quả. Nhờ hệ thống đặt hàng hiệu quả cùng quy trình kiểm soát chất lượng nghiêm ngặt, chúng tôi đảm bảo hàng hóa của bạn sẽ được giao đúng hạn và trong tình trạng hoàn hảo nhất. Chúng tôi cũng hỗ trợ dịch vụ giao hàng tận nơi.
Dịch vụ sau bán hàng:
Mối quan hệ giữa chúng tôi với bạn sẽ không chấm dứt khi bạn nhận được sản phẩm. Dịch vụ hỗ trợ sau bán hàng toàn diện của chúng tôi bao gồm hỗ trợ lắp đặt và giá camera nhiệt dành riêng cho lực lượng phòng cháy chữa cháy. Đội ngũ chăm sóc khách hàng chuyên trách của chúng tôi luôn sẵn sàng phục vụ 24/7. Họ sẽ hỗ trợ bạn giải quyết mọi thắc mắc hoặc sự cố phát sinh, đồng thời đảm bảo mức độ hài lòng cao nhất. Tất cả thiết bị mua từ LSJ đều được bảo hành ba năm. Bạn cũng có thể sử dụng các dịch vụ sau bán hàng khác do chúng tôi cung cấp.
Lựa chọn LSJ chính là lựa chọn niềm tin – một niềm tin dựa trên chất lượng, sự xuất sắc và sự hỗ trợ vượt trội. Chúng tôi rất mong được trở thành đối tác của quý vị trong lĩnh vực tìm kiếm, cứu nạn đô thị cũng như phòng cháy chữa cháy. Chúng tôi cung cấp hỗ trợ cho các Sở Cảnh sát PCCC và Cứu hộ, cũng như các dịch vụ An toàn Công cộng và giá thiết bị camera nhiệt dành riêng cho lực lượng Cảnh sát PCCC. LSJ cung cấp các thiết bị hiện đại hàng đầu nhằm dập tắt đám cháy, thực hiện các hoạt động tìm kiếm và cứu nạn, cũng như làm việc trong môi trường nguy hiểm trên nhiều ngành công nghiệp khác nhau. Camera nhiệt dùng trong chữa cháy: Chúng tôi đã nghiên cứu và thiết kế hai loại camera nhiệt với ba lựa chọn độ phân giải: 256x192, 384x288 và 640x512. Các thiết bị này có khả năng giám sát nhiệt độ lên đến 2000°C. Thiết bị tìm kiếm và cứu nạn: Chúng tôi cung cấp đa dạng sản phẩm bao gồm máy dò khí, thiết bị giám sát độ ổn định và hệ thống giám sát chuyển động. Camera nhiệt công nghiệp: Bên cạnh các camera nhiệt phục vụ chữa cháy, LSJ còn cung cấp các camera nhiệt cầm tay để phát hiện rò rỉ nước, kiểm tra công trình xây dựng, sửa chữa thiết bị điện tử, xác định thất thoát nhiệt dưới sàn và kiểm tra hệ thống HVAC. Ống ngắm nhiệt: Các thiết bị quang học tầm nhìn đêm của chúng tôi hoạt động hoàn hảo trong điều kiện ban đêm và rất được ưa chuộng bởi những người đi săn. Chúng dễ dàng lắp đặt trên súng trường. LSJ cam kết cung cấp các thiết bị hình ảnh nhiệt và thiết bị cứu nạn chất lượng cao, đáp ứng yêu cầu đa dạng của các ngành công nghiệp khác nhau, từ đó nâng cao hiệu quả và độ an toàn. Hãy lựa chọn LSJ để có được các giải pháp tiên tiến và hiệu quả nhất. Hãy tin tưởng LSJ là đối tác chính của bạn trong lĩnh vực tìm kiếm và cứu nạn đô thị. Tại LSJ, chúng tôi nhận thức rõ tầm quan trọng của việc cung cấp cho khách hàng những sản phẩm chất lượng cao cùng dịch vụ xuất sắc. Chúng tôi cung cấp chế độ bảo hành kéo dài một hoặc năm năm nhằm thể hiện sự tự tin vào độ bền và hiệu năng của sản phẩm. Chúng tôi đầu tư mạnh vào nghiên cứu và phát triển các thiết bị camera chụp ảnh nhiệt dành riêng cho lực lượng phòng cháy chữa cháy nhằm đảm bảo sản phẩm đáp ứng các tiêu chuẩn khắt khe nhất. Là nhà sản xuất, chúng tôi duy trì quy trình kiểm soát chất lượng nghiêm ngặt từ khâu nguyên vật liệu đầu vào cho đến giai đoạn sản xuất hoàn tất. Chúng tôi cung cấp đa dạng sản phẩm phù hợp với mọi nhu cầu sử dụng. Kho nguyên vật liệu, linh kiện và các sản phẩm khác của chúng tôi luôn được dự trữ đầy đủ để đảm bảo giao hàng kịp thời. Trường hợp không thể giao đơn hàng đúng thời điểm quý khách yêu cầu, chúng tôi sẽ hoàn lại tối đa 5% giá trị đơn hàng. Để hỗ trợ quý khách sử dụng sản phẩm một cách hiệu quả nhất, chúng tôi cung cấp các video hướng dẫn chi tiết. Ngoài ra, đội ngũ kỹ thuật của chúng tôi có thể tổ chức đào tạo trực tiếp tại chỗ, được thiết kế riêng theo nhu cầu cụ thể của quý khách, nhằm đảm bảo quý khách có thể vận hành sản phẩm một cách tự tin và dễ dàng. Hãy lựa chọn LSJ để sở hữu những sản phẩm đáng tin cậy, chất lượng cao cùng dịch vụ khách hàng tuyệt vời. Bản quyền © Công ty Phát triển Công nghệ Beijing LSJ. Tất cả các quyền được bảo lưu
-
Chính sách Bảo mật
Giá camera nhiệt cho đội phòng cháy chữa cháy
Báo giá camera nhiệt cho việc sử dụng bởi các đội phòng cháy chữa cháy

Các yếu tố định giá

Lập ngân sách cho việc mua camera nhiệt trong trang thiết bị của đội phòng cháy chữa cháy

Khảo sát phạm vi giá camera nhiệt dành cho việc sử dụng bởi đội phòng cháy chữa cháy
Why choose LSJ Technology Giá camera nhiệt cho đội phòng cháy chữa cháy?
Nhà sản xuất thiết bị cứu hộ và cứu nạn hiệu suất cao
Tại sao LSJ có thể là nhà sản xuất và cung cấp Primer của bạn?
Chuỗi cung ứng thiết bị cứu hộ và cứu nạn đô thị hoàn chỉnh
Đảm bảo Chất lượng và Giao hàng Đúng hẹn: Cam kết của LSJ về Sự Hài lòng của Khách hàng
Các danh mục sản phẩm liên quan
Không tìm thấy sản phẩm bạn cần?
Yêu cầu Báo giá Ngay
Liên hệ với các chuyên viên tư vấn của chúng tôi để biết thêm các sản phẩm có sẵn.Liên hệ