rozhodnout o všem...">
,需要通过父级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);
}
});
})();
V případě lékařských mimořádných situací je spolehlivý XH-7 Vychytlivé nosné popruhy hlinomilová koster kostelní vozík může být rozhodující, když jde o záchranu života. Společnost XIEHE MEDICAL ví, že lékárnička musí být vybavena všemi nástroji nezbytnými pro splnění požadavků zařízení. Nejlepší lékárnička pro vaše zařízení závisí na velikosti, úložném prostoru, mobilitě a dalších faktorech. Stejně tak důležité u spolehlivé lékárničky je odolné provedení a snadný přístup díky dobře organizovaným oddělením, která umožňují rychlý přístup k lékům a potřebám. Důsledná pozornost těmto důležitým prvkům umožní lékařům být připraveni na mimořádnou situaci a poskytovat optimální péči pacientům. Při výběru lékařského resuscitačního vozíku pro vaše zařízení je důležité najít nejvhodnější řešení pro váš zdravotnický prostředí. Jednou z prvních věcí, které je třeba zvážit, je velikost, protože potřebujete vozík, který pojme všechno potřebné a zároveň se dá přesouvat i do těsných prostor. Dále skladování – vozík má sloužit k uložení různých léků, vybavení a dalších předmětů pro případ nouze. Důležitým faktorem je také mobilita, protože vozík musí být při mimořádných událostech po celém zařízení snadno přemístitelný. Další faktory, které je třeba zvážit při výběru resuscitačního vozíku, zahrnují jeho velikost, úložnou kapacitu a pohyblivost; zdravotnické organizace musí také brát v potaz odolnost a konstrukci vozíku. Spolehlivý lékařský resuscitační vozík bude vyroben z kvalitních materiálů určených pro klinické použití, které vydrží nároky spojené s každodenním používáním ve rušném centru urgentní péče. Pevná konstrukce je důležitá, aby vozík unesl hmotnost léků a potřeb bez ohnutí nebo poškození. Rychlý přístup je rovněž zásadní u resuscitačního vozíku, protože léky a potřeby musí být poskytovatelům okamžitě dostupné v nouzových situacích. Jednotlivé přihrádky a zásuvky pomáhají udržet všechno pečlivě uspořádané, rozloučte se s nepořádkem na pracovní ploše. Kromě velikosti, úložného prostoru, mobility, odolnosti, kvality výstavby a přístupnosti existuje řada dalších důležitých bodů, které musí zdravotničtí pracovníci zvážit před zakoupením jednoho z těchto lékařských vozíků na první pomoc… Bezpečný uzamyvací systém je jednou z funkcí, která zajišťuje, že léky a potřeby jsou chráněny před neoprávněným použitím. A nejde jen o to, zajistit bezpečnost pacientů; jde také o to chránit zdravotnické pracovníky před odpovědností v případě, že by se něco pokazilo. Mezi další klíčové aspekty patří schopnost propojení s elektronickými systémy (např. čtečky čárových kódů, počítačové systémy pro dávkování/balení léků), čímž se dosahuje vyšší přesnosti a snadnější správy léků. Kromě toho by dobrý lékařský ošetřovací vozík měl být vybaven integrovaným systémem správy odpadů pro řádné zneškodňování použitých stříkaček, jehel a dalšího lékařského odpadu. To je klíčové pro udržení čistého a dezinfikovaného prostředí v ordinaci/pečovatelském domě/nemocnici a pro zabránění šíření nemocí. Dále vozíky s vestavěným napájením mohou poskytovat energii pro životně důležitá lékařská zařízení (např. defibrilátory, infuzní pumpy) i během nouzové situace prostřednictvím integrovaných zdrojů energie, které jsou buď dobíjecí baterie, nebo připojené ke zdičce. S těmito klíčovými aspekty konstrukce lékařského ošetřovacího vozíku na mysli mohou lékaři a další lékařská zařízení vybrat vozík, který nejlépe vyhovuje jejich požadavkům na rychlý přístup k nouzovému zásobování a jeho použití, když je to nezbytné. Lékařské oživovací vozíky od XIEHE MEDICAL jsou navrženy tak, aby byly odolné, spolehlivé a jednoduché pro použití v nouzových situacích. Naše užitkové vozíky jsou vyrobeny z kvalitního kovového materiálu, který snese nároky rušné lékařské zařízení. Mají hladce se otáčející kolečka pro snadný pohyb a nabízejí dostatek úložného prostoru pro veškeré potřebné lékařské vybavení. Vozíky lze také upravovat přidáváním nebo odebíráním dílů, takže si je můžete nakonfigurovat podle svých potřeb. „Oživovací lékařský vozík od XIEHE MEDICAL naplní uživatele důvěrou, že investují do produktu, který jim bude schopen pomoci efektivně a účinně poskytovat péči i v případě přetížení pacienty. Zdravotnická zařízení, která uvažují o nákupu lékařských vozíků pro první pomoc větším množstvím, se mohou plně spolehnout na XIEHE MEDICAL! Naše vozíky nejvyšší kvality jsou cenově velmi výhodné – můžete snadno vybavit celé zařízení a ušetřit tak čas i peníze. Nákupem většího množství od společnosti XIEHE MEDICAL zdravotnická zařízení zajistí, že budou mít vždy požadovaný počet vozíků potřebných pro jejich rušné prostředí. Naše přátelská zákaznická podpora je rovněž k dispozici, aby odpověděla na všechny otázky nebo vyřešila jakékoli obavy týkající se hromadných objednávek, a udělala objednání co nejjednodušším. Společnost Xiehe Medical Apparatus Instruments se specializuje na globalizovaný marketing a prodej zdravotnických přístrojů a zařízení. Díky desetiletým úsilím a podpoře našich partnerů máme nyní více než 30 distribučních partnerů po celém světě a naše produkty jsou dodávány do více než 120 zemí. Zaměřujeme se na lékařské nouzové vozíky a udržujeme dlouhodobé partnertství s distributory a integračními společnostmi, abychom společně navrhovali a budovali budoucnost. Jako vedoucí výrobce lékařského vybavení Xiehe Medical nabízí vozíky pro lékařskou pomoc (crash cart), přístroje a vybavení a poskytuje vysoce kvalitní produkty i specializované služby. Přísně dodržujeme systém řízení kvality ISO 13485; všechny produkty jsou certifikovány organizacemi TÜV, CE, FDA atd. Naším cílem je tým odborníků, který dokáže rychle reagovat na požadavky zákazníků a dodávat stabilní a spolehlivé produkty. Ať už jde o skládací nosítka, nemocniční nábytek nebo pomůcky pro pohřební služby, Xiehe Medical Equipment je schopna poskytnout zákazníkům uspokojivá řešení. Společnost Xiehe Medical Apparatus & Instruments se neustále zapojuje do inovativního výzkumu a vývoje (R&D) a zaměřuje se na poskytování konkurenceschopných prodejních argumentů pro své produkty. Patenty a duševní vlastnictví jsou chráněny u nosítek, základních zdravotnických pomůcek, nemocničního nábytku i vozíků pro lékařskou pomoc (crash cart). Naše produkty jsou navrhovány tak, aby splňovaly požadavky zákazníků a odpovídaly současným trendům. Tyto produkty jsou velmi dobře přijímány jak mezinárodními, tak domácími zákazníky. Ve společnosti Hehe Medical Equipment klademe důraz na uspokojení zákazníků a snažíme se splnit jejich požadavky na lékařské vozíky pro resuscitaci s vynikající kvalitou a spolehlivostí. Díky angažovanosti našich zaměstnanců a využívání spolupracujících technologií jsme schopni poskytovat zákazníkům osobní a spolehlivou službu. Naším cílem je navázat dlouhodobý, stabilní a vzájemně výhodný vztah se zákazníky a poskytnout jim produkty a služby nejvyšší kvality.lékařský nouzový vozík
Jak vybrat nejlepší lékařský oživovací vozík pro vaše zařízení

Základní vlastnosti spolehlivého lékařského oživovacího vozíku

Co odlišuje naše lékařské oživovací vozíky od konkurence

kde nakoupit lékařské oživovací vozíky velkoobchodně
Why choose XIEHE MEDICAL
lékařský nouzový vozík?
Globální marketingová síť a spolehliví partneři
Vysokokvalitní produkty a specializované služby
Inovativní výzkum a vývoj a prodejní body produktu
Zákaznické služby – Rychlá prodejní podpora a technická pomoc
Související kategorie produktů
Nemůžete najít, co hledáte?
Vyžádevat nabídku nyní
Kontaktujte naše konzulty pro více dostupných produktů.KONTAKTUJTE NÁS