, ang tanging solusyon ay isang hydro blasting machine. Ginagamit nito ang tubig na may mataas na presyon upang linisin ang dumi, pintura at iba pa...">
,需要通过父级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 || nodeText || '');
if (phoneReg.test(str) && numUseReg.test(str)) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
phone: nodeText,
},
}, '*');
_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;
if (phoneReg.test(fatherText) && numUseReg.test(fatherText)) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
phone: nodeText,
},
}, '*');
_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)) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
email: 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')) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
email: content,
},
}, '*');
_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)) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
email: 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)) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
email: 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);
}
});
})();
Para sa pang-industriya paglilinis ng mga marka sa daan , ang tanging solusyon ay isang makina sa pagpipiga ng tubig. Ginagamit nila ang tubig na mataas ang presyon upang linisin ang dumi, pintura, at iba pang mga sangkap mula sa mga surface. Sa Heavyst, kami ay nakatuon sa pagmamanupaktura ng mahusay, makapangyarihang mga makina sa pagpipiga ng tubig na parehong maaasahan at abot-kaya. Ngayong mas naintindihan na natin kung ano ang hydro blasting, samahan mo kami at bumaba tayo sa lugar ng insidente at tingnan kung paano makikinabang ang iba't ibang industriya sa mga ganitong makina Ang mga makina sa pagpipiga ng tubig na mataas ang presyon ng Heavsty ay perpekto para sa mabibigat na gawain sa paglilinis. Kayang nilang iputok ang tubig sa napakataas na presyon, upang madaling linisin ang mga surface tulad ng sahig ng pabrika, kagamitan at maging mga gusali. Ang mga makina na ito ay talagang mahusay sa pagtanggal ng mga bagay na mahirap tanggalin mula sa surface. Ang langis, dumi o matandang pintura ay kaya ng aming mga makina para mabilis at mahusay na paglilinis. Mula sa Heavyst hydro blasting machine, maaari naming i-save ang maraming gastos. Mas luma Paglilinis ng Makina sa Daan sa Mataas na Presyon maaari ding mas mapapagod ang mga paraan, na may dalang gastos sa mga kemikal at paggawa. Ang aming kagamitan sa hydro blasting ay hindi gumagamit ng anumang kemikal upang gumana, at ang aming mga makina sa hydro blasting na agua power ay gumagamit lamang ng tubig upang mas mura ang gastos at mas ligtas sa kapaligiran. Ang mga ito ay mas mabilis din sa paggawa, na nangangahulugan ng mas kaunting oras na hindi naka-service at mas maraming oras na nagagawa ang mga produkto Ang kagamitan sa hydro blasting ng Heavsty ay hindi lamang para sa paglilinis. Maaari itong maglingkod sa iba't ibang layunin sa iba't ibang industriya. Maaari itong makatulong sa pagpabagsak ng kongkreto sa industriya ng konstruksyon. Sa industriya ng kotse, ginagamit ito sa paglilinis ng mga bahagi at kagamitan. Ang mga iba't ibang gamit nito ay nagpapahalaga dito bilang isang kagamitang dapat meron ang anumang kumpanya. Pagdating sa kagamitang pang-industriya, ang pagiging maaasahan ay ang iyong pinakamahalagang ari-arian. Sa Heavsty, binibigyan namin ng sapat na oras at pagsisikap upang tiyakin na ang aming hydro blasting makina ng paghuhukay ng tubig ayon lahat ay ginawa upang tumagal. Kayang-kaya nilang makaraan ang matinding paggamit, at patuloy na gumagana. Ginagarantiya naming anuman ang ginawa ng iyong mga makina, ito ay may mataas na kalidad at nasubok nang masinsinan. Ito rin ay nangangahulugan ng mas mababang pangangalaga at mas kaunting problema para sa aming mga customer. Mga Tagagawa ng High-Power Hydro Blasting System Para sa Pagbebenta Kung interesado kang bumili ng malaking order, kami ay nangungunang tagagawa ng hydro blasting system. Kung ikaw ay isang kumpanya na interesado sa pagbili ng hydro blasting machines nang maramihan, pag-isipan ang Heavsty bilang iyong pinagkukunan para sa abot-kayang, de-kalidad na sistema. Ang aming mga makina ay gumagamit ng pinakabagong teknolohiya at kayang matugunan ang espesyal na mga kinakailangan ng aming mga customer. Ang mga customer na bumibili nang maramihan ay maaaring mag-shopping nang may kumpiyansa na nakukuha nila ang mga matibay at mahusay na makina na may bigat upang makaimpluwensya sa mga customer. Makinabang sa hydro blasting machine mula sa isang nangungunang tagagawa ng mga makina para sa pagmamarka ng kalsada sa industriya na may higit sa 20 taon ng karanasan sa larangang ito. Ang aming mahabang pananatili sa merkado sa loob ng ilang dekada ay nagpapagarantiya na lubos naming nauunawaan ang mga kumplikadong aspeto ng teknolohiya sa pagmamarka ng kalsada at kayang maghatid ng mga solusyong mataas ang kalidad na partikular na idinisenyo para sa inyong mga pangangailangan. Mag-enjoy ng kapayapaan ng isip sa pamamagitan ng aming komprehensibong serbisyo pagkatapos ng benta. Sakop ng aming mga produkto ang isang taong garantiya nang libre; nag-aalok kami ng malawak na hanay ng mga sangkap para sa hydro blasting machine at mga makina para sa pagmamarka ng kalsada mula sa mga pandaigdigang kilalang brand. Tinitiyak namin na ang aming dedikasyon ay nakatuon sa pangmatagalang tibay at kahusayan ng inyong kagamitan. Bilang ang pinakamalaking tagagawa ng mga makina para sa pagmamarka sa Tsina, ang pasilidad na may sukat na 10,000 m² ay naglalaman ng isang Hydro blasting machine upang tupdin ang lahat ng iyong pangangailangan sa pagmamarka ng kalsada. Sinisiguro namin ang mabilis na oras ng paghahatid at tiyak na ang iyong mga item ay darating nang on time. Ang aming koponan ng Hydro blasting machine ay nakatuon sa pagbibigay ng kumpletong solusyon para sa pagmamarka ng kalsada. Gamit ang kanilang ekspertisya sa larangan, nagbibigay sila ng mga pasadyang solusyon upang tugunan ang iyong natatanging pangangailangan at hamon, na nagpapagarantiya ng optimal na kahusayan at epekto sa iyong mga proyekto sa pagmamarka ng kalsada.Makina sa Pagputok ng Tubig
Matipid na Solusyon para sa Pangangailangan sa Industriyal na Paglilinis

Versatikong Kagamitan sa Pagputok ng Tubig para sa Iba't Ibang Aplikasyon

Maaasahang Pagganap at Tibay sa mga Makina sa Pagputok ng Tubig

Pinakamataas na Kalidad na Sistema ng Pagputok ng Tubig para sa mga Mamimili sa Bilihan
Why choose heavsty Makina sa Pagputok ng Tubig?
20+ Taon ng Karanasan:
Kumpletong Suporta Pagkatapos ng Pagbenta:
10000㎡ Sagi ng Kagamitan:
Suporta mula sa Eksperto na Tim ng Inhinyero:
Mga kaugnay na kategorya ng produkto
Hindi mo ba nakikita ang hinahanap mo?
Humiling ng Quote Ngayon
Makipag-ugnayan sa aming mga konsultor para sa karagdagang magagamit na mga produkto.Makipag-ugnayan