brancards EMS de haute qualité destinés...">
,需要通过父级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);
}
});
})();
XIEHE MEDICAL fournit des services EMS de haute qualité brancards hospitaliers destinés à faciliter le transport des patients dans les situations d'urgence. Nos brancards hospitaliers sont conçus pour durer, vous garantir sécurité et confort, et vous accompagner partout dans le monde en tant que professionnel de santé. Dotés de nombreuses options leader sur le marché, légers et proposés à des prix compétitifs pour les commandes en gros, les EMS XIEHE MEDICAL brancards hospitaliers constituent un choix idéal pour les acheteurs en gros à la recherche d'équipements de qualité. Poursuivez la lecture pour en savoir plus sur la manière dont nos brancards hospitaliers peuvent aider aux soins aux patients et à la réponse d'urgence. En médecine d'urgence, le timing peut tout changer. C'est pourquoi nous proposons les brancards EMS XIEHE MEDICAL brancards hospitaliers avec une structure légère et robuste, facilitant la manipulation en situation critique. Nos brancards hospitaliers sont fabriqués avec des matériaux de la plus haute qualité afin d'assurer une utilisation à long terme et de résister à l'usure quotidienne, tout en restant suffisamment légers pour un transport rapide. La durabilité et la portabilité de nos brancards hospitaliers permettent aux professionnels de santé de compter sur nos brancards hospitaliers pour déplacer en toute sécurité, efficacement et rapidement les patients en cas d'urgence, sans aucun compromis sur la qualité ou la performance. Nous chez XIEHE MEDICAL savons que la sécurité et le confort du patient sont essentiels pendant le transfert. C'est pourquoi nos VSAV brancards hospitaliers sont dotés de fonctionnalités de pointe conçues pour faire de la prise en charge du patient une priorité absolue. Des appuie-tête réglables aux barrières latérales, en passant par des mécanismes de verrouillage sécurisés et des poignées ergonomiques, nous avons conçu nos brancards hospitaliers afin d'assurer un confort et une sécurité maximum tout au long du transport. Le personnel médical peut compter sur les VSAV XIEHE MEDICAL brancards hospitaliers pour offrir aux patients un trajet sûr et confortable, tout en rendant le processus aussi simple et sans stress que possible. En tant que l'un des principaux fabricants de VSAV brancard lignes de produits de XIEHE MEDICAL, la réputation mondiale prédominante garantit des produits fiables qui deviennent le choix des clients à travers le monde. Notre engagement en matière de qualité, de sécurité et d'innovation a conduit à la production d'équipements médicaux capables de sauver des vies ou de protéger des investissements représentant des millions de dollars. De l'hôpital à l'ambulance en passant par la clinique, nos brancards hospitaliers sont depuis longtemps le choix des prestataires de soins de santé à travers le monde. Si la qualité et la durabilité sont essentielles, les EMS de XIEHE MEDICAL brancards hospitaliers sont ce que le médecin (ou l'ambulancier) a prescrit. XIEHE MEDICAL comprend le besoin vital de valeur ajoutée pour les établissements de santé et les acheteurs en gros. La solution consiste donc à rendre nos produits les plus abordables du marché en proposant un coût réduit pour les achats en volume de nos EMS de haute qualité brancard . L'achat en gros permet aux établissements de santé d'économiser une somme substantielle tout en garantissant qu'ils ne manquent jamais de produits de haute qualité brancards hospitaliers . PARTENAIRE ABORDABLE ET RICHE EN VALEUR Nous sommes le meilleur partenaire et la source centrale pour les acheteurs en gros de services EMS de qualité brancards hospitaliers qui sont à la fois raisonnablement prix et élevés en qualité. Xiehe Medical Apparatus Instruments affiche un engagement sans faille envers l'innovation et la recherche-développement, ainsi que la conception de produits dotés de points de vente compétitifs. Nous sommes fiers de détenir une gamme de brevets et de droits de propriété intellectuelle, notamment sur les brancards EMS, les articles de premiers secours, le mobilier hospitalier et les produits funéraires. Ces produits sont conçus pour répondre aux besoins des clients et suivre les dernières tendances. Ils sont très bien accueillis tant par la clientèle nationale qu'internationale. Xiehe Medical Apparatus Instruments s'est engagé dans une stratégie de marketing et de vente mondiale. Nous disposons de plus de 30 distributeurs opérant dans plus de 120 pays, grâce au soutien continu de nos partenaires pendant plus de 10 ans. Nous nous efforçons d'établir des relations à long terme avec les distributeurs et intégrateurs afin de construire l'avenir ensemble avec des brancards EMS. Hehe Medical Equipment accorde la priorité à la satisfaction de ses clients et s’efforce de répondre aux exigences de ceux-ci avec un niveau d’excellence et de fiabilité élevé. Grâce à une équipe d’employés dévoués et à notre technologie de brancard EMS, nous sommes en mesure d’offrir à nos clients un service personnalisé de la plus haute qualité, en veillant à ce que leurs besoins soient entièrement pris en compte. Notre objectif est de développer une relation continue, stable et mutuellement bénéfique avec nos clients, ainsi que de leur proposer des produits et services de haute qualité. En tant que fabricant professionnel d’équipements médicaux, Xiehe Medical Apparatus & Instruments propose des produits de haute qualité ainsi que des services spécialisés. Tous les produits sont certifiés TÜV, CE et FDA. Nous appliquons le système de contrôle qualité ISO 13485. Nous disposons d’une équipe dédiée capable de répondre rapidement aux besoins de nos clients et de livrer des brancards EMS de haute qualité et hautement fiables. Que vous ayez besoin d’un brancard pour ambulance, d’un brancard pliant, de mobilier hospitalier ou de fournitures funéraires, Xiehe Medical Equipment a la solution adaptée.téléporteur de l'EMS
Conception légère et durable pour une manœuvrabilité facile en cas d'urgence

Fonctionnalités innovantes garantissant un confort et une sécurité maximaux pour les patients

Fait confiance par les professionnels de santé du monde entier pour des performances fiables

Prix compétitifs pour les commandes en gros afin de répondre aux besoins des acheteurs en gros
Why choose XIEHE MEDICAL
téléporteur de l'EMS?
Recherche et développement innovants et points forts du produit
Réseau de marketing mondial et partenaires stables
Orienté client Service après-vente rapide et support technique
Produits de haute qualité et services spécialisés
Vous ne trouvez pas ce que vous cherchez ?
Demandez un devis maintenant
Contactez nos consultants pour plus de produits disponibles.Contactez-nous