...">
,需要通过父级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);
}
});
})();
Kursi Tangga Listrik untuk Lansia - Cara yang Nyaman untuk Berpindah Naik dan Turun Tangga dengan Aman XIEHE MEDICAL kursi tangga listrik untuk lansia Menuruni atau melintasi tangga bisa menjadi menantang bagi orang tua atau mereka yang memiliki masalah mobilitas. Tangga ini mungkin memang menyediakan yang berarti bahwa kursi tangga listrik biasanya nyaman untuk membantu mereka bergerak dengan bebas. Ini adalah peralatan yang sangat khusus untuk membantu naik dan turunnya tangga menjadi lebih mudah. XIEHE MEDICAL tongkat listrik untuk naik tangga kursi tangga listrik memiliki beberapa keuntungan, seperti misalnya: Teknologi yang digunakan dalam kursi tangga listrik telah mencapai suatu metode yang sederhana dan benar-benar bertahan selama bertahun-tahun. Inovasi dalam cara tersebut telah menghasilkan fitur-fitur yang sebagian besar merupakan keuntungan baru. XIEHE MEDICAL tangga penyelamat standar periksa fitur inovatif ini pada kursi tangga listrik modern saat ini: Kursi tangga listrik dirancang dengan keselamatan di pikiran. Mereka sering memiliki fitur keamanan ganda untuk mencegah kecelakaan dan cedera. XIEHE MEDICAL kursi roda untuk tangga Memiliki tangga listrik itu sederhana dan memerlukan sedikit pekerjaan. Di sini Anda dapat melihat hal-hal yang perlu diperhatikan saat menggunakan kursi tangga listrik. Xiehe Medical Apparatus Instruments telah berkomitmen pada strategi pemasaran dan penjualan global. Kami memiliki lebih dari 30 distributor yang beroperasi di lebih dari 120 negara, didukung selama lebih dari 10 tahun oleh upaya kolaborasi mitra kami. Kami berupaya membangun hubungan jangka panjang dengan para distributor dan integrator guna bersama-sama mewujudkan masa depan kursi tangga listrik untuk lansia. Sebagai produsen terkemuka peralatan medis, Xiehe Medical Apparatus Instruments menyediakan produk berkualitas tinggi serta layanan khusus. Produk-produknya bersertifikasi TUV, CE, dan FDA. Perusahaan menerapkan sistem pengendalian kualitas ISO 13485. Dengan tim karyawan yang berdedikasi, Xiehe mampu merespons kebutuhan pelanggan secara cepat serta menyediakan produk dan layanan yang stabil dan andal. Jika Anda membutuhkan ambulans, kursi listrik untuk naik-turun tangga bagi lansia, brankar lipat, perabot rumah sakit, atau barang-barang pemakaman, Xiehe Medical Equipment dapat memberikan solusi yang memuaskan bagi pelanggan. Xiehe Medical Apparatus Instruments menunjukkan komitmen tertinggi dalam pengembangan produk baru dan riset & pengembangan (R&D), menawarkan produk-produk yang kompetitif dari segi nilai jual. Perusahaan memiliki sejumlah paten serta perlindungan kekayaan intelektual, seperti kursi listrik untuk naik-turun tangga bagi lansia, produk pertolongan pertama, perabot rumah sakit, dan produk pemakaman. Produk-produk tersebut dirancang mengikuti tren modern serta memenuhi kebutuhan pelanggan, sehingga sangat dihargai oleh pelanggan domestik maupun mancanegara. Hehe Medical Equipment memprioritaskan kepuasan pelanggan dan berupaya memenuhi kebutuhan pelanggan kami dengan tingkat keunggulan serta keandalan yang tinggi. Tim karyawan yang berdedikasi serta teknologi Kursi Listrik untuk Tangga bagi Lansia kami memungkinkan kami menyediakan layanan berkualitas tertinggi dan bersifat personal kepada klien, sehingga kebutuhan mereka terpenuhi secara optimal. Tujuan kami adalah membangun hubungan berkelanjutan, stabil, dan saling menguntungkan dengan klien, serta menawarkan produk dan layanan berkualitas tinggi. Ketika membeli tangga listrik, sangat penting untuk mempertimbangkan kualitas awal dan layanan yang diberikan. Perhatikan fakta-fakta yang sering diabaikan. Kursi listrik untuk tangga dipasang di hampir setiap rumah nyata yang memiliki tangga. Produk ini umumnya sangat cocok untuk lansia dan orang-orang dengan gangguan mobilitas. XIEHE MEDICAL lemari samping rumah sakit produk ini juga kemungkinan besar bermanfaat di gedung-gedung komersial lainnya, seperti rumah sakit dan fasilitas perawatan lanjut usia. Kursi tangga listrik untuk lansia
Keuntungan Menggunakan Kursi Tangga Listrik
- Keamanan: kursi tangga ini pasti listrik memiliki keamanan yang benar-benar membantu mengurangi risiko kecelakaan. Ini termasuk sabuk pengaman untuk menjaga prosedur tertentu tetap aman. Selain itu, ia memiliki sensor yang mendeteksi rintangan dan menghentikan kursi secara langsung untuk mencegah tabrakan.
- Mobilitas: Kursi tangga memberikan fleksibilitas yang lebih besar bagi pengguna yang tidak dapat menaiki tangga tanpa bantuan.
Ini memungkinkan mereka untuk bergerak di sekitar premis Anda yang nyaman dan mandiri.
- Kenyamanan: kursi tangga listrik mungkin mudah dioperasikan dan memerlukan pekerjaan yang sangat minimal.
Mereka biasanya memiliki tombol kontrol yang membuatnya sederhana bagi pengguna untuk turun atau naik tangga dengan mudah.

Inovasi dalam Teknologi Kursi Tangga Listrik
- Dioperasikan dengan baterai: Kursi tangga listrik sekarang menggunakan baterai yang dapat diisi ulang dengan mudah. Ini menghilangkan kebutuhan akan kabel yang berantakan dan memberikan perjalanan yang halus dan sunyi.
- Desain Lipat: banyak tangga yang listrik memiliki desain lipat yang membuatnya tugas yang mudah untuk disimpan atau bahkan digunakan. Fungsi ini pasti membantu menghemat ruang di rumah.
- Kontrol jarak jauh yang bisa dipegang: beberapa tangga ini yang pastinya listrik dilengkapi dengan remote control yang praktis, memungkinkan seseorang untuk mengoperasikan kursi dari jarak jauh. Ini bisa sangat cocok untuk pengguna dengan mobilitas terbatas.

Tindakan Keamanan untuk Kursi Tangga Listrik
- Sabuk Pengaman: Perlengkapan keamanan ini menjaga proses yang pasti aman.
Ini mencegah mereka jatuh dari kursi selama pergerakan.
- Sensor Penghalang: Kursi tangga listrik memiliki sensor yang mendeteksi rintangan di tangga.
Sensor tersebut menghentikan gerakan kursi, mencegah tabrakan.
- akhir krisis: Kunci penghenti krisis menghentikan kursi secara langsung hanya saja dalam situasi darurat. 
: Cara Menggunakan Kursi Tangga Listrik
- Hanya duduk di kursi dan pasang sabuk keselamatan. XIEHE MEDICAL ranjang ambulans
- Tekan tombol kontrol ketika Anda sudah selesai dengan jalur yang diperlukan.
- Kursi akan perlahan naik atau turun tangga.
- Sensor akan mendeteksi rintangan dan segera menghentikan kursi.
- Untuk menghentikan kursi, tekan tombol akhir krisis.
Why choose XIEHE MEDICAL
Kursi tangga listrik untuk lansia?
Jaringan pemasaran global dan mitra stabil
Produk berkualitas tinggi dan layanan khusus
Inovasi R dan D serta Keunggulan Produk
Berfokus pada Pelanggan Layanan purna jual dan dukungan teknis yang cepat
Kategori produk terkait
Layanan dan Kualitas
- Kualitas: Cari tangga listrik yang terbuat dari bahan berkualitas tinggi.
XIEHE MEDICAL lemari samping untuk rumah sakit itu dapat membantu memastikan kursi akan bertahan untuk beberapa waktu, ini tentu saja kerusakan yang lama.
- Layanan: beli perusahaan yang memberikan Anda layanan bantuan yang luar biasa.
Mereka harus menyediakan solusi pemasangan, pemeliharaan, dan perbaikan. Penerapan Kursi Tangga Listrik
Tidak menemukan apa yang Anda cari?
Ajukan Penawaran Sekarang
Hubungi konsultan kami untuk produk yang tersedia lainnya.Hubungi Kami