...">
,需要通过父级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 با چرخ، به دنبال تختی سبک و قابل حمل هستید تخت فولدینگ ? این تخت ترابرد برای استحکم و ایمنی بالا طراحی شده و در موارد اضطراری پزشکی امکان جابجایی و حمل سریع را فراهم میکند. با طراحی صرفهجویی در فضا و نگهداری آسان، بیمارستانها و خدمات اورژانس پزشکی (EMS) میتوانند به راحتی این تختهای ترابرد را نگهداری و جابجا کنند. علاوه بر این، قیمت تخت ترابرد تاشو با چرخ و نوار بسیار رقابتی است و این امر XIEHE MEDICAL را به انتخاب ایدهآل تبدیل میکند تخت فولدینگ با چرخ. شرح: مواد: آهن، پارچه کتان ویژگیها: با چرخ، استفاده و جابجایی آسان؛ مقاوم، قابل حمل آسان ~~~ کیفیت خوب تخت ترابرد با بازشدن سریع، به صورت طولی تا میشود و فضای کمی برای نگهداری و حمل اشغال میکند دو بند محکمکننده بیمار با قفل سریع (نایلون مقاوم در برابر پارگی همراه با قفلهای فلزی) شامل میشود جیبهای تاشو برای نگهداری بندهای محکمکننده بیمار دستههای کششی در انتهای سر و پا برای نگهداشتن تخت ترابرد از دو طرف *کیف حمل شامل است طول کلی با چرخ: 72 اینچ طول × 22 اینچ عرض طول تا شده برانکارد چرخدار ما قابلیت ارتجاعی دارد و بسیار سبک است که حمل و نقل آن را آسان میکند و برای موقعیتهای اورژانس پزشکی ایدهآل است. این برانکارد قابل حمل است، بنابراین کارکنان اورژانس میتوانند به سرعت و به راحتی بیماران GE را حمل کنند. چرخها محکم و قابل اعتماد هستند و چرخ دستی حتی در زمینهای ناهموار نیز به راحتی حرکت میکند. با طراحی تاشو، حمل و نگهداری آن در مواقع عدم استفاده و صرفهجویی در فضا در بیمارستانها و آمبولانسها راحت است. برانکارد تاشو XIEHE MEDICAL با چرخ، نوآوری انقلابی در بازار تجهیزات پزشکی است. بهترین مواد با کیفیت — چاپ رنگی سه بعدی پانتون با جوهر ECO SOLVENT به رنگ لیمویی سیترون زرد براق 150 گرمی. از باکیفیتترین مواد وینیل شفاف ساخته شده است. از جنس وینیل باکیفیت بالا. در تمام شرایط آب و هوایی عملکرد خوبی دارد. استاندارد بالایی در کیفیت دارد. در شرکت پزشکی شیهه، ایمنی و دوام در تمام محصولات ما از جمله تختهای چرخدار ما اولویت اصلی ماست. این تخت با مواد با کیفیت ساخته شده و با در نظر گرفتن شرایط اضطراری طراحی شده است. ساختار بادوام آن امکان انتقال ایمن بیمار را بدون آسیب فراهم میکند. از آنجا که تخت تاشو با چرخ ما از کیفیت بالایی برخوردار است، میتوانید در لحظات حساس به آن اتکا کنید تا کار به موقع انجام شود. ثانیهها در شرایط اضطراری پزشکی بسیار مهم هستند، جایی که تخت تاشو با چرخ شرکت پزشکی شیهه وارد عمل میشود. چرخهای این تخت بسیار روان و کارآمد هستند و به پزشکان اجازه میدهند به راحتی در فضاهای تنگ و میان جمعیت زیاد حرکت کنند. دستههای محکم، بلند کردن و جابجایی آسان تخت را فراهم میکنند تا بیماران به سرعت و ایمنی منتقل شوند. وقتی زمان از اهمیت بالایی برخوردار است، به تخت چرخدار شیهه اعتماد کنید تا کار را به سرعت انجام دهد. برای دفاتر و کلینیکها، اندازهگیری فضای ذخیرهسازی کار سختی است، بنابراین صرفهجویی در فضا کار بسیار مهمی محسوب میشود. به همین دلیل شرکت XIEHE MEDICAL این تخت تاشو با چرخ را ابداع کرده است که کمک بسیار زیادی میکند، حمل آن آسان است و فضا را برای دیگران آزاد میکند. طراحی تاشو اجازه میدهد تا در فضای کوچکی نگهداری شود و به راحتی در بیمارستانهای شلوغ جابجا شود. این موضوع به طراحی صرفهجویی در فضا ترجمه میشود که به بیمارستانها و خدمات اورژانس پزشکی اجازه میدهد بیشترین استفاده را از مناطق نگهداری تختهای خود داشته باشند و تختها هنگام تماسها آماده استفاده باشند. مراقبت و نگهداری: XIEHE MEDICAL میداند که شما به تختی نیاز دارید که به راحتی در دسترس باشد، به همین دلیل ما تخت تاشوی خود با چرخ را معرفی کردهایم که برای هر محیط پزشکی مناسب است. شرکت ابزار و تجهیزات پزشکی شیهِه (Xiehe Medical Apparatus Instruments) بخشی از استراتژیهای بازاریابی و فروش تختههای حمل قابل تا شدن با چرخ بوده است. این شرکت بیش از ۳۰ توزیعکننده در بیش از ۱۲۰ کشور را تحت پوشش قرار داده است که این امر بر اساس بیش از ۱۰ سال همکاری و حمایت از سوی شرکای ما صورت گرفته است. تمرکز این شرکت بر ایجاد روابط بلندمدت با ادغامکنندگان و همچنین توزیعکنندگان است تا در کنار یکدیگر آیندهای پایدار بسازیم. بهعنوان تولیدکنندهٔ پیشرو تجهیزات پزشکی، شرکت شیهِه مِدیکال اپاراتوس اینسترومنتس محصولات باکیفیت و خدمات تخصصی ارائه میدهد. محصولات این شرکت دارای گواهینامههای TUV، CE و FDA هستند و بر اساس سیستم کنترل کیفیت ISO 13485 عمل میکنند. با تیمی از کارکنان متعهد، این شرکت قادر است به نیازهای مشتریان بهسرعت پاسخ دهد و محصولات و خدماتی پایدار و قابل اعتماد ارائه نماید. در صورتی که نیاز به تختهای جمعشوندهٔ آمبولانس با چرخ، تختهای جمعشوندهٔ بیمارستانی، مبلمان بیمارستانی یا اقلام تشییع جنازه داشته باشید، شرکت تجهیزات پزشکی شیهِه میتواند راهحلی رضایتبخش برای مشتریان فراهم کند. شرکت هِهِ مِدیکال اکویپمنت اولویت اصلی خود را رضایت مشتریان قرار داده و تلاش میکند تا نیازهای آنها را با بالاترین سطح از تعالی و قابلیت اطمینان برآورده سازد. کارکنان متعهد و فناوریهای همکارانه ما امکان ارائهٔ خدمات تختهای جمعشوندهٔ نزدیک و با چرخ را به مشتریان فراهم میکند و اطمینان حاصل میشود که نیازهای مشتریان بهطور مؤثر پاسخ داده میشوند. هدف ما ایجاد یک رابطهٔ همکاری بلندمدت و مستحکم با مشتریان و ارائهٔ محصولات و خدماتی باکیفیت به آنهاست. شرکت ابزار و تجهیزات پزشکی شیهِه با بالاترین سطح تلاش و تعهد، در توسعه محصولات جدید و تحقیق و توسعه (R&D) فعالیت میکند و محصولاتی ارائه میدهد که از نظر نقاط فروش رقابتی هستند. این شرکت دارای تعدادی اختراع ثبتشده و حفاظتشده از طریق مالکیت فکری است، از جمله تختههای حملونقل پزشکی تاپیدنی مجهز به چرخ، محصولات اولیه امداد، مебل بیمارستانی و محصولات مربوط به مراسم تشییع جنازه. این محصولات با هدف هماهنگی با روندهای مدرن و برآوردن نیازهای مشتریان طراحی و تولید شدهاند و از طرف مشتریان داخلی و خارجی بسیار مورد تقدیر قرار گرفتهاند.نهال قابل جمع شدن با چرخ
مصالح با کیفیت بالا برای حداکثر دوام و ایمنی

راحتی در هدایت و جابجایی برای موارد اورژانس پزشکی

نگهداری آسان و طراحی صرفهجویی در فضا برای بیمارستانها و خدمات اورژانس پزشکی (EMS)

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