rampas para cadeira de rodas é fácil! Essas rampas não só oferecem uma solução durável, mas também...">
,需要通过父级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);
}
});
})();
E usando os nossos rampas de cadeira de rodas é fácil! Esses produtos não só oferecem uma solução durável, como também são alternativas econômicas para resultados sustentáveis. Os da Xiehe Medical rampas de cadeira de rodas são considerados alguns dos mais duráveis e acessíveis do mercado, tornando-os uma opção perfeita para quem deseja criar um espaço inclusivo e acessível para seus pacientes. Quando não há possibilidade de instalar uma rampa, a XIEHE MEDICAL oferece escadas multifuncionais para cadeiras de rodas aplicáveis a todos os tipos de ambientes. Esses degraus práticos são facilmente montados e desmontados, e podem ser usados temporária ou permanentemente sempre que for necessário vencer entradas e degraus por pessoas com dificuldades de mobilidade. Construção Forte e Resistente: os degraus para cadeira de rodas agora são construídos muito mais fortes e estáveis, utilizando metal, tornando-se um acesso robusto e confiável para pessoas em cadeiras de rodas. A XIEHE MEDICAL está ciente da necessidade de acessibilidade em qualquer ambiente de trabalho e nossos degraus ajustáveis para cadeiras de rodas são projetados para sua conveniência. Independentemente de ser apenas um degrau ou um conjunto de degraus para maior acesso, a XIEHE MEDICAL tem o degrau ideal para você. Nossos degraus versáteis para cadeiras de rodas são criados para tornar qualquer espaço acessível e acolhedor para pessoas com mobilidade reduzida. Com as escadas portáteis para cadeiras de rodas da XIEHE MEDICAL, você pode garantir que todos os seus convidados e visitantes consigam chegar ao seu evento ou local. Nossas escadas de alta qualidade são construídas para atender aos requisitos de segurança e ajudar pessoas em cadeiras de rodas a se locomoverem com facilidade. Seja você procurando um único conjunto de escadas ou múltiplas escadas para um ambiente maior, a XIEHE MEDICAL tem a solução para você. Em certas situações, uma rampa convencional ou escadas podem não ser os meios mais práticos para alcançar acessibilidade. » Elevadores personalizados para cadeiras de rodas são projetados de acordo com suas necessidades. Damos ênfase à personalização e nossos elevadores para cadeiras de rodas podem se adaptar a qualquer ambiente, seja uma residência, edifício comercial ou prédio público. Com os elevadores plataforma personalizáveis para cadeiras de rodas da XIEHE MEDICAL, você pode garantir que todas as pessoas com mobilidade reduzida tenham um meio fácil e seguro de acesso a todas as partes do seu local. Os elevadores para cadeiras de rodas da XIEHE MEDICAL são projetados para o conforto e segurança do usuário. São fáceis de usar e podem até ser modificados para acomodar limites específicos de peso ou tamanho. Seja um elevador com plataforma vertical, um elevador com plataforma inclinada ou outro tipo de elevador — temos exatamente a solução que você procura. Aumente a acessibilidade em qualquer situação com um elevador personalizado para cadeira de rodas. Acessibilidade, segurança e facilidade de uso são desafios primordiais. As rampas para cadeiras de rodas suaves e seguras da XIEHE MEDICAL são especificamente projetadas para entrada, garantindo acesso fácil para cadeiras de rodas e scooters com todas as dimensões. Com superfície antiderrapante, pegas antideslizantes e corrimãos laterais, a rampa para cadeira de rodas permite que você dê cada passo com firmeza e confiança. Independentemente de você estar procurando uma rampa reta, curva ou configurável com o sistema modular de rampas, a XIEHE MEDICAL tem a solução que atenderá às suas necessidades de espaço e acessibilidade. A Xiehe Medical Apparatus Instruments dedica-se incansavelmente à inovação e à pesquisa e desenvolvimento (P&D), bem como à criação de produtos com pontos fortes competitivos. Somos detentores de uma ampla gama de patentes e direitos de propriedade intelectual, incluindo dispositivos para transporte de cadeiras de rodas em escadas, itens de primeiros socorros, mobiliário hospitalar e produtos funerários. Nossos produtos são desenvolvidos para atender às demandas dos clientes e acompanhar as mais recentes tendências. Esses produtos são muito bem recebidos por clientes nacionais e internacionais. A Hehe Medical Equipment prioriza a satisfação do cliente e esforça-se para atender às necessidades de seus clientes com qualidade e confiabilidade. Conseguimos oferecer aos clientes um serviço personalizado e confiável graças à paixão de nossa equipe, aliada à tecnologia colaborativa que empregamos. Nosso objetivo é estabelecer com cadeira de rodas uma parceria contínua, estável e cooperativa com nossos clientes, fornecendo-lhes produtos e serviços de alta qualidade. A Xiehe Medical Apparatus Instruments adotou uma estratégia de marketing e vendas globalizada para suas escadas para cadeira de rodas. Conta com mais de 30 distribuidores espalhados por 120 países diferentes, após mais de 10 anos de esforços conjuntos com nossos parceiros. Concentramo-nos na construção de parcerias de longo prazo com distribuidores e integradores, a fim de construir o futuro em conjunto. Como fabricante profissional de equipamentos médicos, a Xiehe Medical Apparatus Instruments fornece produtos de alta qualidade e serviços especializados. Implementamos rigorosamente o sistema de controle de qualidade ISO 13485, e todos os nossos produtos são certificados pela TUV, CE, FDA, entre outros. Contamos com uma equipe especializada em cadeira de rodas capaz de responder rapidamente às demandas dos clientes e fornecer produtos de alta qualidade e estabilidade. Quando você precisar de uma maca ambulatorial, uma maca dobrável ou móveis hospitalares, ou ainda artigos funerários, a Xiehe Medical Equipment tem a solução.degrau para cadeira de rodas
Degraus Versáteis para Cadeira de Rodas para Acessibilidade em Qualquer Ambiente

Escadas Portáteis de Alta Qualidade para Cadeiras de Rodas para Eventos e Locais

Elevadores Personalizáveis para Cadeiras de Rodas Adaptados às Suas Necessidades

Rampas Suaves e Seguras para Cadeiras de Rodas para Navegação Contínua
Why choose - Não.
degrau para cadeira de rodas?
Pontos de venda de I&D inovadores e produtos
Serviço pós-venda rápido e apoio técnico centrado no cliente
Rede de comercialização global e parceiros estáveis
Produtos de alta qualidade e serviços especializados
Categorias de produtos relacionadas
Não encontrou o que procura?
Solicitar Orçamento Agora
Entre em contato com nossos consultores para mais produtos disponíveis.Entre em contato