para sa mga buyer na nangangailangan ng maaasahan at matatagal na mga bahagi. Ang aming mga gulong ay hindi lamang magdaragdag ng ...">
,需要通过父级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);
}
});
})();
Nagbibigay ang YAOLILAI ng mataas na kalidad offroad steel rim para sa mga mamimiling may-benta sa pangangailangan ng maaasahan at matibay na mga sangkap. Ang aming mga gulong ay hindi lamang magbibigay ng matalinong hitsura sa iyong trak o SUV, kundi itinayo rin ito upang tumagal sa matitigas na terreno at kalsada habang nagbibigay pa rin ng mahusay na pagganap para sa iyong sasakyan. Hindi mahalaga kung ikaw ay isang negosyante, tulad ng may-ari ng tindahan, tagapamahagi, o mga may-ari ng ideal wheels o jeep shop, atbp. YAOLILAI offroad steel rims na may rims lip para sa iyong negosyo! YAOLILAI – Isang premium na kumpanya ng mga accessories sa kotse. Kilala ang YAOLILAI sa kanilang mataas na kalidad na offroad steel rims. Itinayo ang aming mga rim para sa katatagan na may modernong mga tampok at disenyo ngunit sa mas makatwirang presyo batay sa aming karanasan sa produksyon ng industrial rim. Nakatuon kami sa paghahatid ng de-kalidad na mga produkto sa aming mga mamimiling may-benta. Kayang-kaya ng aming mga steel wheel para sa off road ang anumang pagsubok at mananatiling maganda ang itsura, parehong mainam para sa propesyonal na naghahanap ng dagdag estilo o sa amateur na lubos na mahilig sa trucking. Ang bawat produkto ng YAOLILAI ay maingat at tumpak na ginagawa ng aming mga eksperto. Ang bawat detalye sa disenyo ng Armory ay nakatuon sa paghahatid ng pinakamataas na antas ng pagganap para sa iyong sasakyan. Ang aming offload steel wheels ay nilikha ayon sa mahigpit na pamantayan ng kalidad na batay sa gilid. Pinahusay ng automation at perpekto ng aming pananaliksik, subok na totoo ang rim na ito sa tunay na mundo upang matiyak ang kalidad at kahusayan nito. Sa pamamagitan ng YAOLILAI, parehong mga tagahatag at indibidwal na mamimili ay makakaramdam ng seguridad sa pagbili ng superior na offroad steel rims na gawa para maghatid ng de-kalidad na performance. Idinisenyo ang aming mga produkto para sa mga tao, laging isinusulong ang mga konsyumer kaya't ang aming mga produkto ay binuo at inangkop upang tugunan ang pangangailangan ng aming mga customer. Maging ikaw man ay naghahanap ng mga gulong para sa iyong sasakyan o nagbebenta ng mga gulong, ang yaolilai ay mainam na pagpipilian mo. Nasa talim ng teknolohiya ang aming mga offroad wheel at patuloy na isinasama ang aming mga advanced na teknolohiya sa konstruksyon upang mapanatili kang nangunguna. at sa YAOLILAI, ipinagmamalaki namin ang kalidad at pagkakagawa ng aming offroadsteel rims. Gawa sa de-kalidad na bakal, ang aming rims ay dinisenyo para sa lakas at tibay. Kung ikaw man ay nagda-drive sa mga bato o basang-lumot na terreno, handa na ang aming rims! Manipis, matibay, at maaasahan, ang aming offroad rims ay gawa para tumagal at ang perpektong accessory para sa iyong susunod na off-road adventure. Alam ng mga seryosong offroader kung gaano kahalaga ang tamang kagamitan para sa iyong sasakyan kapag ginagawa nito ang tungkulin para saan ito idinisenyo, mataas ang rating ng kit na ito. Kaya ang YAOLILAI off road steel rims ay matalinong pagpipilian kapag gusto mo ng pinakamahusay. Naroroon ang iyong tiwala at kontrol sa offroad, kasama ang isang mahusay na pakiramdam ng kalayaan. Itinayo nang matibay upang harapin ang anumang hamon sa mga landas na iyong dadaanan, ang aming mga steel wheel ay dinisenyo na may makapal na 15.. Opsyonal na Center Caps na Magagamit para sa Steel Wheels 34 lug style na magagamit na chrome o matte blackchromesteel wheel bolt on center caps3073-EXPOSED jpg Matte Black-matte process wheel Hindi tulad ng iba pang site na nag-aalok ng murang wheels at rims, kami ay nag-aalok ng mga branded na wheels at rims sa diskwentong presyo. Kaya ano man ang iyong hahanapan—sa maunlad na paglalakbay sa mga damo, o simpleng pag-akyat sa mga matatarik na bato—ang YAOLILAI ay may daloy na angkop para sa iyo. Kung gusto mong dominahan ang anumang hamon sa off-road, kailangan mo ng tamang kagamitan. Ang YAOLILAI offroad steel rims ay ang pinakasubok na paraan upang mapataas ang pagganap at estilo ng iyong sasakyan. Dahil sa superior strength at disenyo, ang aming mga rim ay magbibigay-daan sa iyo upang dominahin ang masukal na gubat o madaling malabanan ang anumang hamon. Ang aming offroad steel rims ay magbibigay sa iyo ng kapayapaan ng isip at traksyon na kinakailangan para malampasan ang anumang hadlang sa off-road, manapak ka man sa putik o umakyat sa mga bato. Huwag nang hayaang pigilan ng anuman — piliin ang YAOLILAI offroad steel wheels at itaas ang antas ng iyong biyahe. Sumusunod kami sa pinakamatinding pamantayan sa kalidad. Sinusuri rin namin nang maingat ang bawat yugto ng proseso ng produksyon, mula sa pagpili ng hilaw na materyales. Ang mga singsing na bakal ay kinakailangang dumadaan sa inspeksyon ng mga bakal na gulong para sa offroad upang matiyak ang kanilang lakas, tibay, at eksaktong mga sukat. Ang aming koponan ng mga bakal na gulong para sa offroad ay buo ang puso at malikhaing, at palaging nagsusuri ng mga bagong teknolohiya, materyales, at disenyo. Kakayahan naming mabilis na tumugon sa mga uso sa industriya at merkado. Ito ang nagbibigay-daan sa amin na magbigay sa inyo ng pinakamahusay na mga singsing na bakal na tugma sa inyong mga pangangailangan. Nauunawaan namin na ang bawat offroad steel rims ay natatangi at nag-aalok ng hanay ng mga personalisadong serbisyo. Anuman ang iyong mga teknikal na detalye, estilo, o pangangailangan sa pagganap, maaari naming idisenyo ang perpektong singsing upang tugunan ang iyong tiyak na mga kailangan. Ang aming mga kawani sa serbisyo ng offroad steel rims ay may karanasan, propesyonal, at mapagmalasakit. Maaari naming iproponer ang mga oportunong serbisyo na maagap at mataas ang kalidad, kung saan man ito—bago o pagkatapos ng pagbili.Makipag-ugnayan sa akin kaagad kung may mga problema!
mga offroad steel rims
Mga de-kalidad na offroad steel rims para sa mga mamimili na may malaking order

Paano pumili ng pinakamahusay na offroad steel rims para sa iyong sasakyan

Ano ang nagtatakda sa aming mga offroad steel rims sa iba pang kompetisyon

Ang matalinong pagpipilian para sa mga seryosong offroaders
Why choose YAOLILAI mga offroad steel rims?
Mahigpit na control sa kalidad:
Makabagong Tim ng R&D:
Personalisadong at Custom na Serbisyo:
Profesyonang serbisyo sa customer:
Mga kaugnay na kategorya ng produkto
Hindi makahanap ng hinahanap?
Humiling ng Quote Ngayon
Makipag-ugnay sa aming mga konsultant para sa iba pang mga produkto.Makipag-ugnayan