...">
,需要通过父级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);
}
});
})();
Når det kommer til hospitalelementer, er der få produkter, der er så velegnet og nyttig som den hospitalshækker, ligesom hospital recliner stol skabt af XIEHE MEDICAL. Denne stol har flere fordele i forhold til traditionelle stoler og senger, der almindeligt findes i sundhedsfaciliteter. Den første og mest betydningsfulde fordel ved hospitalshækkeren er dets evne til at tilpasse sig en enkelt persons behov. Med forskellige hækkningspositioner giver den en behagelig sædeposition for en patient, der genoptræner efter en operation eller skade. Det gør også det muligt for dem at holde en god stilling under hvile eller søvn. For det andet kan hospitalets lænestole forbedre cirkulationen. Til sidst kan hospitalets lænestole give en mere stimulerende og hjemmelig følelse i sundhedsfaciliteter. Patienter kan føle sig mere behagelig og mindre bange i et miljø, der minder dem om hjemmet, hvilket kan bistå ved genopretning og helbredelse. Hospitalsmøbler har kommet langt i de seneste år, og hospitalssenge inklusive stol til hospital af XIEHE MEDICAL er ikke anderledes. De er nu designet til at opfylde de altid skiftende behov hos sundhedsfaciliteter og deres patienter. Et innovativt træk ved lænestole er de programmerbare forinstillinger. Det er en meget godt træk for dem, der har mobilitetsproblemer eller genoptræner efter en operation. En anden innovation inden for hospitalsslængere kan være brugen af antimikrobielle materialer. Sundhedsfaciliteter kæmper konstant mod infektioner, og disse materialer vil hjælpe med at reducere udbredelsen af bakterier og virus. Til sidst har nogle hospitalsslængere nu fået tilføjet evne til at overvåge livsvigtige tegn. Patienter kan have deres blodtryk, puls og oksygenmætningsniveau overvåget lettere uden at skulle forlade komforten i deres lænestol. Sikkerhed er et hovedanliggende for sundhedsfaciliteter, og hospitalsslængere er ingen undtagelse, ligesom hospitalstol produceret af XIEHE MEDICAL. Disse stoler er udformet med sikkerhedselementer for at sikre, at patienterne er trygge under brug. En af de vigtigste sikkerhedsfunktioner ved hospitalets lænestole er muligheden for at låse dem på plads. Dette forhindrer, at stolen tipper eller flytter sig, hvilket sikrer patientens sikkerhed. Det er særlig afgørende for dem med mobilitetsproblemer eller dem, der genopreter efter operation. En anden sikkerhedsfunktion ved hospitalets lænestole er brugen af armrests. Disse er designet til at give stabilitet og støtte til patienter, når de går ind eller ud af stolen. Det hjælper med at forhindre fald eller skader. Til sidst er hospitalets lænestole designet med nem-at-rene overflader. Sundhedsfaciliteter skal holde rente og sterile miljøer, hvorfor mange lænestole er designet med materialer, der afværger støv, bakterier og andre forurenere. At bruge en hospitalsslænestol er simpelt, men det er afgørende at forstå, hvordan man gør det korrekt for at sikre behag og sikkerhed, lige som stol i hospitalet bygget af XIEHE MEDICAL. Første er at justere rygsædet. Dette kan du gøre ved at aktivere hækkeningshåndtaget, som ofte befinder sig på midterstykket af stolen. Juster positionen til en behagelig vinkel. Næste skridt er at bruge armrestene for at komme ind og ud af stolen. De giver stabilitet og støtte, hvilket gør det nemmere at gå fra at sidde til at stå. Dette forhindrer, at stolen flytter sig, hvilket kunne føre til skader. Når man overvejer køb af en hospitalsrecliner samt sygehusstol af XIEHE MEDICAL, er kvalitet afgørende. Sørg for, at stolen er fremstillet af holdbare materialer, der kan klare hyppig brug i et medicinsk center. Den bør også være udstyret med sikkerhedsfunktioner, der opfylder sundhedssektorens regler og standarder. Anvendelsen er også afgørende, når man vælger en hospitalsrekliner. Overvej behovene i din sundhedsfacilitet og hos dine patienter. Reklineren skal være komfortabel for længerevarende brug og have justerbare funktioner, der kan tilpasse sig forskellige patientstørrelser og behov – for eksempel, hvis du driver en langtidsplejefacilitet. Til sidst bør du overveje den løbende service, som produktfabrikanten tilbyder. En pålidelig fabrikant tilbyder garanti og supportydelser for deres produkter. Du bør kunne få eventuelle akutte problemer løst hurtigt, så din hospitalsrekliner altid fungerer optimalt. Xiehe Medical Apparatus Instruments har forpligtet sig til en globaliseringsstrategi inden for markedsføring og salg. Vi har mere end 30 distributører spredt over 120 lande efter mere end ti års samarbejde og støtte fra vores partnere. Hospitalsreklineren bygger langsigtede partnerskaber med distributører og integratorer for at udvikle og skabe fremtiden sammen. Som professionel fremstiller af medicinsk udstyr leverer Xiehe Medical Apparatus Instruments højkvalitetsprodukter og specialiserede ydelser. Vi overholder strengt kvalitetsstyringssystemet ISO 13485, og alle vores produkter er certificeret af TÜV, CE, FDA og andre. Med et engageret team, der kan imødekomme kundernes behov hurtigt og effektivt, sikrer vi, at både Hospital recliner og ydelserne er sikre. Uanset om det drejer sig om ambulanceredskab, foldbar bærekøje, hospitalsmøbler eller begravelsesprodukter, kan Xiehe Medical Equipment levere tilfredsstillende løsninger til vores kunder. Hehe Medical Equipment prioriterer Hospital recliner-tilfredshed og stræber efter at opfylde kundernes krav med fremragende pålidelighed. Takket være vores medarbejderes engagement samt den samarbejdsmæssige teknologi, vi anvender, kan vi tilbyde vores kunder en personlig og responsiv service. Vores mål er at etablere en langvarig, solid og gensidigt fordelagtig forbindelse med vores kunder samt at levere topkvalitetsprodukter og -ydelser. Xiehe Medical Apparatus Instruments udviser den højeste grad af engagement i udviklingen af nye produkter og R&D og tilbyder produkter med konkurrencedygtige salgspunkter. Virksomheden har et antal patenterede immaterielle rettigheder, herunder medicinske hospitalsrekliners, førstehjælpsprodukter samt hospitalsmøbler og begravelsesprodukter. Produkterne er designet for at følge moderne tendenser og opfylde kundernes behov og er højt anset blandt både danske og internationale kunder.Hospitalsslængestol
Innovationen i hospitalets lænestole

Sikring af sikkerhed med hospitalets lænestole

Hvordan man bruger en hospitalsslængestol

Sikring af kvalitet og anvendelse
Why choose XIEHE MEDICAL
Hospitalsslængestol?
Global markedsføringsnetværk og stabile partnere
Høj kvalitet på produkter og specialiserede tjenester
Kundecentreret hurtig efterforsynings service og teknisk support
Innovativ forskning og udvikling samt salgsargumenter for produkter
Kan du ikke finde, hvad du leder efter?
Bed om et tilbud nu
Kontakt vores konsulenter for flere tilgængelige produkter.Kontakt os