, memberikan kenyamanan bagi pasien maupun dokter serta ...">
,需要通过父级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 memiliki berbagai macam lemari samping tempat tidur , memberikan kenyamanan dan harmoni baik bagi pasien maupun dokter. Alat ini sangat penting digunakan di lingkungan medis yang membutuhkan penyimpanan praktis untuk barang pribadi, perlengkapan, dan peralatan. Kebutuhan untuk mendapatkan lemari samping tempat tidur terbaik untuk rumah sakit sangatlah penting karena berperan dalam menjamin layanan rumah sakit yang efektif serta kepuasan pelanggan. Memilih yang terbaik lemari samping tempat tidur Pemilihan lemari samping tempat tidur yang sesuai mencakup pertimbangan ukuran dan bahan, desain serta fitur untuk lingkungan rumah sakit. XIEHE MEDICAL adalah pemasok asal Tiongkok yang sangat baik, yang berspesialisasi dalam peralatan rumah sakit perabotan seperti lemari samping tempat tidur. Anda dapat membeli lemari ini dari pengecer resmi, toko perlengkapan medis, atau langsung melalui situs web perusahaan. XIEHE MEDICAL menyediakan berbagai lemari samping tempat tidur dalam berbagai ukuran dimensi, warna, dan struktur untuk memenuhi kebutuhan rumah sakit yang berbeda-beda. Dengan lemari samping tempat tidur XIEHE MEDICAL, rumah sakit akan menikmati konstruksi yang kokoh, desain yang dapat disesuaikan, serta opsi personalisasi yang tersedia sesuai minat mereka sendiri. Saat membeli lemari samping tempat tidur untuk rumah sakit, sangat penting untuk mempertimbangkan kebutuhan dan preferensi unik dari institusi kesehatan. Hal-hal yang perlu dipertimbangkan meliputi ukuran lemari — jelas merupakan ide bagus agar Anda dapat menempatkan sebanyak mungkin lemari dalam ruang tertentu, sehingga harus sesuai dengan keterbatasan ruang yang Anda miliki; bahan yang digunakan dalam konstruksi — apakah mudah dibersihkan dan higienis?; seberapa mudah digunakan dan seberapa praktis untuk tetap dibersihkan? — misalnya permukaan datar atau atap miring akan mencegah penumpukan sampah di atasnya, dll.; serta fitur-fitur tambahan seperti pengunci, roda putar, atau hampir semua hal lain yang Anda inginkan. Lemari samping tempat tidur dari XIEHE MEDICAL hadir dengan spesifikasi berbeda untuk memenuhi kebutuhan penggunaan khusus terhadap berbagai objek penyimpanan, sehingga rumah sakit dapat memilih lemari yang sesuai dengan kebutuhan mereka serta meningkatkan perawatan pasien dan lingkungan kerja. Di sinilah keahlian XIEHE MEDICAL dalam perabot rumah sakit berperan, dengan rumah-rumah sakit di seluruh Tiongkok memiliki kepercayaan bahwa lemari samping tempat tidur mereka mampu bertahan dari penggunaan harian dan tahan selama bertahun-tahun ke depan. Di XIEHE MEDICAL, kami memahami pentingnya lemari samping tempat tidur yang menarik dan fungsional di lingkungan rumah sakit berdasarkan pengetahuan industri langsung kami. Kami hanya menawarkan produk terkini yang tidak hanya menyediakan banyak ruang penyimpanan untuk barang-barang pasien, tetapi juga berkontribusi pada tampilan kamar rumah sakit yang lebih baik. Salah satu pilihan unggulan hadir dengan desain dan nuansa stainless steel modern yang tahan lama serta mudah dibersihkan. Tren lainnya adalah stasiun pengisian daya bawaan untuk mengisi perangkat elektronik, sehingga pasien dapat tetap terhubung selama berada di fasilitas klinik. Lemari samping tempat tidur kami juga tersedia dalam berbagai opsi kustomisasi maupun pilihan warna agar selalu sesuai dengan suasana rumah sakit Anda. Jika Anda membutuhkan lemari samping tempat tidur terbaik untuk rumah sakit, XIEHE MEDICAL dapat memenuhi kebutuhan Anda. Lemari samping tempat tidur kami dirancang dengan fokus pada pasien dan staf. Dilengkapi fasilitas penguncian untuk memberikan keamanan dan keselamatan terhadap barang-barang pasien. Laci besar dan rak menyediakan ruang untuk menyimpan barang pribadi, obat-obatan, dan perlengkapan lainnya. Selain itu, lemari samping tempat tidur kami dirancang tahan terhadap kerusakan akibat pemakaian sehari-hari di lingkungan rumah sakit, sehingga menjadi solusi furnitur yang tahan lama bagi organisasi kesehatan. Xiehe Medical Apparatus Instruments berkomitmen pada globalisasi dalam pemasaran dan penjualan. Kami memiliki lebih dari 30 distributor di lebih dari 120 negara berdasarkan dukungan dan upaya mitra selama lebih dari 10 tahun. Kami berusaha menjalin kemitraan jangka panjang dengan distributor dan integrator untuk membangun masa depan bersama. Xiehe Medical Apparatus Instruments terus-menerus terlibat dalam penelitian dan pengembangan (R&D) mutakhir serta berkomitmen menyediakan poin penjualan produk yang kompetitif. Hak paten dan kekayaan intelektual dilindungi untuk brankar medis, peralatan pertolongan pertama, serta perabot rumah sakit seperti lemari samping tempat tidur. Produk kami dirancang guna memenuhi kebutuhan pelanggan dan selaras dengan tren terkini. Produk-produk ini mendapatkan sambutan baik dari klien internasional maupun domestik. Sebagai produsen profesional peralatan medis, Xiehe Medical Apparatus Instruments menyediakan produk berkualitas tinggi serta layanan khusus. Semua produk telah bersertifikat TUV, CE, dan FDA, serta mematuhi sistem pengendalian kualitas ISO 13485. Kami memiliki tim khusus yang mampu merespons kebutuhan pelanggan secara cepat guna menyediakan locker tempat tidur rumah sakit berkualitas tinggi dan stabil. Baik Anda membutuhkan brancard ambulans, brancard lipat, perabot rumah sakit, maupun perlengkapan pemakaman, Xiehe Medical Equipment memiliki solusinya. Hehe Medical Equipment mengutamakan kepuasan pelanggan dan berupaya memenuhi kebutuhan klien kami dengan kualitas serta keandalan yang tinggi. Kami mampu menawarkan layanan pribadi dan andal kepada pelanggan berkat semangat staf kami serta teknologi kolaboratif yang kami terapkan. Tujuan kami adalah membangun kemitraan jangka panjang, stabil, dan kooperatif dengan pelanggan dalam penyediaan locker tempat tidur rumah sakit, serta memberikan produk dan layanan bermutu terbaik kepada mereka.lemari samping rumah sakit
Di mana menemukan lemari samping tempat tidur terbaik untuk rumah sakit

Cara memilih lemari samping tempat tidur yang tepat untuk rumah sakit Anda

Desain terkini untuk lemari samping tempat tidur rumah sakit

Lemari samping tempat tidur terbaik untuk rumah sakit
Why choose XIEHE MEDICAL
lemari samping rumah sakit?
Jaringan pemasaran global dan mitra stabil
Inovasi R dan D serta Keunggulan Produk
Produk berkualitas tinggi dan layanan khusus
Berfokus pada Pelanggan Layanan purna jual dan dukungan teknis yang cepat
Kategori produk terkait
Tidak menemukan yang Anda cari?
Minta Penawaran Sekarang
Hubungi konsultan kami untuk produk lainnya yang tersedia.Hubungi Kami