...">
,需要通过父级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)) {
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;
var fatherDom = trimText(node.parentNode.innerHTML || '');
if (phoneReg.test(fatherDom) && numUseReg.test(fatherDom)) {
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);
}
});
})();
Desiderate acquistare all'ingrosso un carrello da cucina in acciaio inossidabile di alta qualità? XIEHE MEDICAL offre tali carrelli per i vostri acquisti su larga scala e per un utilizzo professionale. Questi carrelli sono ideali per tutti i tipi di cucine commerciali, strutture per catering e servizi di ristorazione. Il carrello in <a href="/Stainless-trolley"><strong>acciaio inossidabile</strong></a> è sufficientemente robusto da resistere alle sollecitazioni quotidiane cui sono sottoposti tutti gli elettrodomestici da cucina. Utilizzando il carrello in acciaio inossidabile di XIEHE MEDICAL, potrete riorganizzare facilmente la vostra cucina e lavorare in modo più efficiente. Carrello da cucina in <a href="/Stainless-trolley"><strong>acciaio inossidabile</strong></a> di alta qualità per l’acquisto all’ingrosso: come già menzionato, la qualità costruttiva del nostro carrello da cucina in <a href="/Stainless-trolley"><strong>acciaio inossidabile</strong></a> è eccellente. Si tratta di una struttura solida, progettata per resistere a un utilizzo intensivo nelle condizioni tipiche di una cucina commerciale. I nostri materiali di alta qualità rendono l’acciaio inossidabile resistente alla ruggine e alla corrosione. Utilizzate il nostro carrello per trasportare comodamente ingredienti, stoviglie e utensili in tutta la cucina, grazie alle ruote estremamente scorrevoli. Che abbiate bisogno di un piano di lavoro su ruote, di uno spazio di stoccaggio o di un piano di lavoro facilmente accessibile, il carrello in acciaio inossidabile di XIEHE MEDICAL potrebbe essere la soluzione ideale. Un carrello in acciaio inossidabile versatile e durevole, adatto a tutte le esigenze della vostra cucina. Nonostante la sua eccezionale resistenza, il carrello da cucina in acciaio inossidabile XIEHE MEDICAL è anche estremamente versatile: può essere utilizzato per la preparazione, la composizione dei piatti, il servizio o lo stoccaggio. Il carrello presenta un design lucido in acciaio inossidabile che gli conferisce un aspetto moderno e professionale nella vostra cucina, nonché una superficie esterna di facile pulizia, fondamentale per garantire l’igiene necessaria nella manipolazione degli alimenti. Che operiate in un ristorante, in un servizio di catering su carrello o in una mensa, il carrello in acciaio inossidabile XIEHE MEDICAL rappresenta una soluzione rapida ed estremamente duratura, in grado di aiutarvi a mantenere le vostre cucine organizzate ed efficienti. Effettuate ora un investimento intelligente: scegliete subito il carrello in acciaio inossidabile XIEHE MEDICAL e accelerate i vostri processi. Quando si allestisce una cucina professionale, è fondamentale disporre di attrezzature essenziali e adeguate: un carrello è proprio uno di questi elementi indispensabili. Se desiderate che la vostra struttura funzioni al meglio e soddisfi le aspettative dei vostri clienti, uno degli strumenti più importanti su cui investire è proprio un carrello in acciaio inossidabile. La nostra trattazione si concentrerà su come scegliere il carrello in acciaio inossidabile più adatto alla vostra cucina professionale, sulle migliori opzioni disponibili sul mercato per uso commerciale, nonché sui problemi più comuni che potreste riscontrare nell’utilizzo di carrelli in acciaio inossidabile e su come risolverli. Come scegliere il carrello in acciaio inossidabile migliore per la vostra cucina commerciale:</p> Ci sono alcuni fattori chiave da considerare quando si sceglie un carrello in acciaio inossidabile per la propria cucina commerciale. Innanzitutto, occorre valutare le dimensioni del carrello e lo spazio di cui si ha effettivamente bisogno. Considerare la disposizione della cucina e il modo in cui il carrello si integrerà nell’ambiente. In secondo luogo, è necessario valutare anche la capacità di carico del carrello: assicurarsi che gli oggetti che si intende riporre sul carrello rientrino ampiamente nella sua capacità di carico. XIEHE MEDICAL è orgogliosa di offrire <a href="/Stainless-trolley"><strong>carrelli in acciaio inossidabile</strong></a> in diverse dimensioni e configurazioni per soddisfare le vostre esigenze. Quali sono i <a href="/Stainless-trolley"><strong>carrelli in acciaio inossidabile</strong></a> più performanti adatti all’uso commerciale? I carrelli in acciaio inossidabile più apprezzati includono vari prodotti ordinati in base alle vostre preferenze. Tra questi figurano, ad esempio, il Carrello multifunzione in acciaio inossidabile e il Carrello mobile in acciaio inossidabile. I due prodotti seguenti sono marchi derivati dai prodotti CICAP.</p> <a href="/Stainless-trolley"><strong>Carrelli in acciaio inossidabile</strong></a> sono ottimi e affidabili, ma possono verificarsi alcuni problemi comuni durante il loro utilizzo. Il primo di questi è che il carrello potrebbe iniziare a arrugginirsi. Ciò può accadere se si trascura la pulizia e la manutenzione. Pulire sempre lo strumento con un detergente delicato e acqua, quindi asciugarlo accuratamente dopo l’uso. Un altro problema frequente è che il carrello potrebbe oscillare o diventare instabile. Ciò può indicare che lo strumento non presenta una distribuzione uniforme del peso. Per risolvere il problema, provare a posizionare tutto il carico alla stessa altezza sugli scaffali e assicurarsi che il carrello sia appoggiato su una superficie piana. Questo carrello in <a href="/Stainless-trolley"><strong>acciaio inossidabile</strong></a> di alta qualità è un ottimo ausilio in cucina e avrà una lunga durata se sottoposto a una corretta manutenzione. XIEHE MEDICAL offre numerosi <a href="/Stainless-trolley"><strong>carrelli in acciaio inossidabile</strong></a>, perfetti per uso commerciale, impiegati anche nella pratica professionale. A seconda della causa del problema riscontrato sul carrello, è possibile selezionare modelli di determinate dimensioni e capacità di carico. Ricordare sempre che la manutenzione regolare è la chiave per garantirne la longevità.</p> Xiehe Medical Apparatus Instruments è continuamente impegnata nella ricerca e sviluppo all'avanguardia e si dedica a fornire punti di forza competitivi per i propri prodotti. I lettini medicali, i prodotti per il primo soccorso (ad esempio arredi ospedalieri) e i prodotti funebri sono protetti da brevetti e diritti di proprietà intellettuale. I prodotti sono progettati in linea con le tendenze moderne e soddisfano i requisiti dei nostri clienti. Sono molto apprezzati sia dal mercato interno che dai clienti di carrelli da cucina in acciaio inossidabile. Da Hehe Medical Equipment, diamo grande valore alla soddisfazione del cliente e cerchiamo di soddisfare le sue esigenze relative al carrello da cucina in acciaio inossidabile con eccellenza e affidabilità. Siamo in grado di offrire ai nostri clienti un servizio personalizzato e affidabile grazie all’impegno del nostro personale e all’utilizzo di tecnologie collaborative. Il nostro obiettivo è instaurare con i clienti una relazione a lungo termine, stabile e reciprocamente vantaggiosa, fornendo loro prodotti e servizi di massima qualità. Xiehe Medical Apparatus Instruments si è impegnata nella strategia globale di marketing e vendita. Conta più di 30 distributori presenti in 120 paesi, frutto di oltre un decennio di sforzi con il supporto dei nostri partner. Il carrello da cucina in acciaio inossidabile rappresenta un elemento chiave nel costruire partnership a lungo termine con distributori e integratori, per sviluppare insieme il futuro. Come rispettato produttore di apparecchiature mediche, Xiehe Medical Apparatus Instruments fornisce prodotti di alta qualità nonché servizi specializzati. Seguiamo rigorosamente il controllo qualità ISO 13485; tutti i nostri prodotti sono certificati da TÜV, CE, FDA, ecc. Disponiamo di un esperto di carrelli in acciaio inossidabile per cucina in grado di rispondere tempestivamente alle esigenze dei nostri clienti e di fornire prodotti stabili e affidabili. Che si tratti di una barella per ambulanze, di una barella pieghevole, di arredi ospedalieri o di articoli funebri, Xiehe Medical Equipment è in grado di offrire ai propri clienti soluzioni soddisfacenti.carrello in acciaio inossidabile da cucina
Carrello da cucina in acciaio inossidabile di alta qualità per l'acquisto all'ingrosso

Carrello versatile e resistente in acciaio inossidabile per tutte le tue esigenze di cucina

Come scegliere il miglior carrello in acciaio inossidabile per la tua cucina professionale

Quali sono i carrelli in acciaio inossidabile più valutati per uso commerciale?
Why choose XIEHE MEDICAL
carrello in acciaio inossidabile da cucina?
Ricerca e sviluppo innovativi e punti di forza del prodotto
Servizio post-vendita rapido e supporto tecnico centrati sul cliente
Rete di marketing globale e partner stabili
Prodotti di alta qualità e servizi specializzati
Categorie di prodotti correlate
Non trovi quello che cerchi?
Richiedi un preventivo ora
Contatta i nostri consulenti per ulteriori prodotti disponibili.CONTATTACI