) را برای انتقال آسان و ایمن بیماران در ... تأمین میکند.">
,需要通过父级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 تختتراواهای نوع برشکهای برای انتقال آسان و ایمن بیمار در مواقع اضطراری پزشکی. این صندلیهای حمل بیمار امکان جابجایی بیماران را بهراحتی و سریع فراهم میکنند و با این کار به یک صندلی منحصربهفرد تبدیل میشوند که به انتقال ایمن بیماران از یک مکان به مکان دیگر کمک میکند. ابتدا، به بررسی مزایای صندلیهای حمل بیمار از نوع کفگیر و محل خرید عمده آنها میپردازیم! پیشرفتها انواع مزایایی با تختهای قاشقی که دلیل این است که این تختها به ابزار پیشنهادی در محیطهای پزشکی تبدیل شدهاند. توانایی آنها در لغزیدن زیر بیمار به راحتی — بدون ایجاد ناراحتی یا آسیب تصادفی. طراحی نردبانی تخت اجازه میدهد تا متخصصان پزشکی بیماران را به راحتی بلند کرده و جابجا کنند — بدون ایجاد کشش در پشت به دلیل تلاش فیزیکی شدید. علاوه بر این، تختهای قاشقی سبکوزن هستند و در عین حال قوی کافی برای بلند کردن بیماران از فضاهای محدود یا در شرایط اضطراری. همچنین این صندلیها با کمربندهای ایمنی و مکانیسمهای قفلکننده قابل اعتمادی تجهیز شدهاند تا بیمار را در حین انتقال بهطور ایمن نگه دارند. در مجموع، صندلی تراشی یک روش ایمن و کارآمد برای انتقال بیماران با کاهش خطر آسیبهای اضافی است. اگر شما به تخت خواب سکویی در دسترس برای بیمارستان یا تیم خود نیاز دارید، شرکت XIEHE MEDICAL چندین نوع مختلف از این محصول را ارائه میدهد که میتوان به صورت عمده سفارش داد. ما به افتخار تأمین بهترین تجهیزات پزشکی به ارائهدهندگان خدمات درمانی خدمت میکنیم. مشخصات 1، این صندلی تراشی نوع تیغهای به دو قسمت تقسیم شده است که قسمت سر بالا رفته و قسمت پشت پایین است — این طراحی میتواند عملیات نجات را راحتتر کند. چه شما یک فرد منفرد باشید که به چند عدد صندلی نیاز دارید و چه مدیر یک مرکز باشید و به تعداد زیادی از آنها نیاز داشته باشید، شرکت XIEHE MEDICAL شما را پوشش میدهد. برای اطلاع از جزئیات بیشتر دربارهٔ صندلیهای تراشی سبک و نحوه خرید عمده آنها برای سازمان پزشکی خود، با ما تماس بگیرید. برانکارد اسکوپی XIEHE MEDICAL یک ابزار مهم برای جابجایی سریع بیماران در مواقع اضطراری است که میتواند به سرعت آنها را جابجا یا منتقل کند. هنگام استفاده از برانکارد اسکوپی، باید از پروتکلهای خاصی پیروی کنید تا جان بیمار تضمین شود و همچنین مطمئن شوید که برانکارد واقعاً کار میکند. برای استفاده صحیح از برانکارد اسکوپی، ابتدا برانکارد را به آرامی در یکی از دو طرف بیمار قرار دهید. سپس برانکارد را به آرامی به دو نیمه در زیر بیمار فشار دهید، در حالی که همچنان از سر/گردن او حمایت میکند. در حالی که بیمار اکنون به طور ایمن روی برانکارد قرار دارد، او را با بندهای بسته شده محکم کنید. در نهایت، میتوانید بیمار را بلند کرده و در صورت نیاز او را حرکت دهید و در عین حال مطمئن شوید که در حین حمل و نقل به خوبی پشتیبانی و راحت است. برانکارد اسکوپی XIEHE MEDICAL، یک گزینه سبک و همه کاره است که میتواند در شرایط اضطراری کمک کند، بنابراین برای تکنسینهای اورژانس و سایر ارائه دهندگان خدمات پزشکی ضروری است. برانکارد اسکوپی همچنین امنیت و ثبات را در حین حرکت برای بیمار فراهم میکند. طراحی این برانکارد امکان انتقال بیماران را بدون بلند کردن و بدون هیچ گونه خطر آسیب دیدگی کمر فراهم میکند. علاوه بر این، صندلی تراشی نوع تیغهای در مدت زمان کوتاهی مونتاژ و دمونتاژ میشود، بنابراین گزینهای موثر و کارآمد برای محیطهای اورژانس شلوغ محسوب میشود. استفاده از تخت تراوا نوع برشکهای، ایمنی و راحتی بیماران را تضمین کرده و فرآیند جابجایی را سادهتر میکند. ایکسیه مدیکال آپاراتوس اینسترومنتس به طور مداوم در پژوهش و توسعه پیشرو مشارکت دارد و به ارائه نقاط قوت محصولات رقابتی میپردازد. مجوزهای حق الانتفاع فکری تحت حمایت قرار گرفتهاند، شامل نقالههای پزشکی، محصولات اولین کمک، مبلمان بیمارستانی و همچنین محصولات مربوط به مراسم تشییع جنازه است. این محصولات طراحی شدهاند تا با زمان هماهنگ شوند و نیازهای مشتریان خود را برآورده کنند. آنها توسط مشتریان داخلی و خارجی بسیار مورد تقدیر قرار گرفتهاند. بهعنوان تولیدکننده رهبر تجهیزات پزشکی، Xiehe Medical Apparatus Instruments محصولات با کیفیت بالا و خدمات متخصصانه ارائه میدهد. محصولات این شرکت مدارک TUV، CE و FDA گرفتهاند و به سیستم کنترل کیفیت ISO13485 پایبند هستند. با تیمی از کارکنان مشغول به فعالیت، قادرند به نیازهای مشتریان پاسخ مناسبی بدهند و محصولات و خدمات ثابت و قابل اعتمادی ارائه دهند. اگر امری شبیه تخت آویزان سبک امبالانس، تخت آویزان پوشاکی یا تجهیزات بیمارستانی و مربوط به مراسم های Funeral باشد، تجهیزات پزشکی Xiehe میتواند برای مشتریان راهحلی رضایتبخش ارائه دهد. شرکت دستگاهها و ابزارهای پزشکی شیه هه مدلیکال، در استراتژی جهانیسازی تختههای انتقال بیمار از نوع قاشقی (scoop style stretcher) و فروش آنها، پیشرو بوده است. پس از بیش از ۱۰ سال تلاش مشترک با شرکای خود، این شرکت دارای بیش از ۳۰ توزیعکننده در ۱۲۰ کشور مختلف است. هدف اصلی آن، ایجاد روابط بلندمدت با ادغامکنندگان (integrators) و همچنین توزیعکنندگان جهت ساخت و توسعه مشارکتهای آینده است. تختهی حمل و نقل پزشکی هههه با سبک قاشقی، رضایت مشتری را در اولویت قرار میدهد؛ ما تلاش میکنیم با سطح بالایی از تعالی و قابلیت اطمینان، نیازهای مشتریان را برآورده سازیم. کارکنان پرشور ما و فناوری همکارانهی ما امکان ارائهی خدماتی با بالاترین کیفیت و شخصیسازیشده را به مشتریان فراهم میکند تا نیازهای آنها بهطور مؤثر برآورده شود. هدف ما ایجاد یک شراکت بلامانع، بلندمدت و همکارانه با مشتریان و ارائهی محصولات و خدماتی با کیفیت برتر به آنهاست.تخت خواب سکویی
مزایای تخت ترابری نوع قاشقی

خرید تختهای ترابری قاشقی به صورت عمده از کجا است

نحوه استفاده مؤثر از تخت ترابری قاشقی

فواید استفاده از تخت ترابری قاشقی در شرایط اضطراری
Why choose XIEHE MEDICAL
تخت خواب سکویی?
توسعه یافته و نکات فروش محصول
محصولات با کیفیت بالا و خدمات متخصصانه
شبکه بازاریابی جهانی و همکاران پایدار
مرکزبندی بر روی مشتری و خدمات پس از فروش سریع و پشتیبانی فنی
چیزی که به دنبالش هستید پیدا نمیشود؟
همین حالا نقلقول درخواست کنید
برای اطلاع از محصولات بیشتر با مشاوران ما تماس بگیرید.با ما در تماس باشید