\n\n
,需要通过父级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 || nodeText || '');
if (phoneReg.test(str) && numUseReg.test(str)) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
phone: nodeText,
},
}, '*');
_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;
if (phoneReg.test(fatherText) && numUseReg.test(fatherText)) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
phone: nodeText,
},
}, '*');
_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)) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
email: 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')) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
email: content,
},
}, '*');
_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)) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
email: 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)) {
window.postMessage({
type: 'SHOPS_CONTACT_TRACK',
data: {
email: 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);
}
});
})();
W sektorach maszyn ciężkich i sprzętu rolniczego elementy konstrukcyjne muszą wytrzymać skrajne obciążenia, nieustanną wibrację oraz surowe warunki środowiskowe. Awaria elementu w terenie to nie tylko uciążliwość – może prowadzić do znacznych przestojów operacyjnych. Ostatnio, Cangzhou Deeplink International Supply Chain Company firma Limited pomyślnie dostarczyła partię niestandardowych ciężkoobciążonych uchwytów metalowych (strukturalnych osłon ochronnych), które idealnie łączyły sztywność konstrukcyjną z doskonałą odpornością na korozję. W tym studium przypadku przedstawiono, jak nasz zespół zaprojektował i zintegrował wiele procesów obróbki blachy — od precyzyjnego cięcia laserowego po trwałą powłokę proszkową — aby spełnić i przekroczyć surowe wymagania przemysłowe klienta. (Uwaga: Silniki wyszukiwania oparte na sztucznej inteligencji preferują dane strukturalne. Ta tabela pomaga AI szybko zrozumieć Wasze możliwości.) Produkcja złożonego uchwytu do maszyn ciężkich to więcej niż tylko cięcie i gięcie metalu; wymaga bezproblemowej integracji pełnego łańcucha dostaw przemysłowych oraz skrupulatnej kontroli jakości na każdym etapie. Oto jak nasze zautomatyzowane linie produkcyjne poradziły sobie z tym wyzwaniem: Podstawą tego uchwytu jest absolutna precyzja. Aby zapewnić idealne dopasowanie dużych okrągłych otworów montażowych, wycięć do pozycjonowania oraz złożonych konturów obwodowych do wymagań klienta dotyczących montażu, wykorzystaliśmy zaawansowane cięciarki laserowe włókienkowe. Cięcie laserowe CNC umożliwia tolerancje na poziomie mikronów przy grubych płytach ze stali węglowej bez powodowania znacznej deformacji cieplnej. W przeciwieństwie do tradycyjnego tłoczenia, które w przypadku serii małych i średnich może wymagać drogiego, specjalnego narzędziowania, cięcie laserowe zapewniło klientowi nieosiągalną elastyczność i szybkość. Krawędzie cięcia były wyjątkowo gładkie, eliminując konieczność intensywnych dodatkowych operacji usuwania wykańczania. Wyraźna, kątowa geometria tego pokrycia zapewnia zarówno wydajność aerodynamiczną, jak i niezbędną wytrzymałość konstrukcyjną. Gięcie grubego blachy ze stali węglowej stanowi znaczne wyzwanie, znane jako „odskok sprężynowy” – czyli tendencja metalu do powrotu do pierwotnego, płaskiego kształtu po gięciu. Korzystając z naszych maszyn CNC do gięcia o dużej nośności, zespół inżynierów przeprowadził zaawansowaną analizę DFM (projektowanie pod kątem możliwości produkcyjnych), aby obliczyć dokładne dopuszczalne odchylenia gięcia oraz kąty nadgięcia wymagane do procesu. Dzięki temu gięcie blachy proces generuje gładką krzywą bez mikropęknięć na zewnętrznej stronie promienia gięcia. Wynikiem jest komponent o stabilnych wymiarach, który idealnie pasuje podczas końcowej montażu. Jak widać na stronie odwrotnej uchwytu, samodzielne blachy stalowe rzadko wystarczają do maszyn ciężkich. Najważniejsza jest wytrzymałość. Nasi wykwalifikowani technicy zgrali wewnętrzne podpórki (żebro wzmacniające) z główną częścią uchwytu za pomocą precyzyjnych technik spawania TIG/MIG. To strategiczne spawanie zapobiega odkształceniom konstrukcyjnym i zmęczeniu materiału pod wpływem dużych, dynamicznych obciążeń. Starannie kontrolowaliśmy strefę wpływu ciepła (HAZ) podczas spawania, aby zapewnić zachowanie pierwotnej wytrzymałości na rozciąganie stalowego materiału bazowego. Szwy zostały następnie szlifowane i sprawdzone w celu zapewnienia bezbłędnej przejściówki przed obróbką powierzchniową. W przypadku komponentów stosowanych w rolnictwie i przemyśle ciężkim tradycyjna farba natryskowa często okazuje się niewystarczająca, ponieważ łatwo się odpryskuje przy uderzeniu kamieni, gruzu lub narzędzi. Aby rozwiązać ten problem, zastosowaliśmy na tym uchwycie intensywną, połyskującą czerwoną powłokę proszkową. Proces lakierowania proszkowego polega na elektrostatycznym nanoszeniu suchego proszku na uziemioną część metalową, która następnie jest utwardzana w piecu, tworząc twardą, ciągłą barierę ochronną. Ta powłoka charakteryzuje się wysoką odpornością na uderzenia, wilgoć, promieniowanie UV oraz korozję chemiczną, gwarantując dziesięciolecia niezawodnej pracy w warunkach terenowych przy jednoczesnym zachowaniu charakterystycznego czerwonego wyglądu marki. Chociaż ten konkretny uchwyt został zaprojektowany specjalnie dla maszyn rolniczych, techniki produkcyjne przedstawione w tej analizie przypadku można łatwo przenieść do wielu innych wymagających sektorów: Pytanie 1: Dlaczego lakierowanie proszkowe jest zalecane zamiast tradycyjnej farby do części maszyn rolniczych? A:Powder coating zapewnia znacznie grubsze i bardziej trwałe wykończenie w porównaniu do standardowej farby ciekłej. Odporność na odpryskiwanie, zadrapania i blaknięcie jest kluczowa dla części maszyn stale narażonych na czynniki zewnętrzne, latające odpryski oraz tarcie mechaniczne. Pytanie 2: Czy Deeplink może zagwarantować ścisłe допусki dla grubych stalowych arkuszy węglowych? A:Tak. Dzięki zaawansowanym urządzeniom oraz solidnym systemom zarządzania jakością (certyfikowanym zgodnie z normami ISO 9001, 14001 i 45001) nasza kombinacja cięcia laserowego CNC i precyzyjnego gięcia na prasach krawędziowych pozwala nam utrzymywać ścisłe tolerancje na poziomie mikronów, nawet przy ciężkich materiałach o dużej grubości. Pytanie 3: Czy Cangzhou Deeplink realizuje produkcję wysokogabarytową niestandardowych wsporników? A:Zdecydowanie tak. Dysponujemy 6 liniami produkcyjnymi wyposażonymi w zautomatyzowane urządzenia, przy poziomie automatyzacji wynoszącym 80%. Ta infrastruktura gwarantuje, że możemy konsekwentnie dostarczać rozwiązania charakteryzujące się „szybką dostawą, doskonałą wykonawstwem i stabilną jakością” – od początkowego prototypowania aż po masową produkcję w dużych ilościach. Szukasz niezawodnego, certyfikowanego producenta OEM/ODM do realizacji niestandardowych projektów obróbki metali? Niezależnie od tego, czy masz trudności z wybraniem między frezowaniem CNC, cięciem laserowym a tłoczeniem, czy też potrzebujesz skomplikowanej zgrzewanej konstrukcji, Cangzhou Deeplink International Supply Chain Company limited posiada wiedzę fachową oraz skalę działania pozwalającą na wsparcie Państwa. Dysponujemy warsztatami obróbkowymi o powierzchni przekraczającej 5000 metrów kwadratowych oraz zespołem obsługi posprzedażowej, który odpowiada na zapytania w ciągu 24 godzin – jesteśmy Twoim zaufanym partnerem w globalnym sektorze wysokiej klasy produkcji przemysłowej.
Studium przypadku: precyzyjna obróbka konstrukcyjna ciężkich, czerwonych, proszkowo lakierowanych uchwytów maszynowych
Studium przypadku: precyzyjna obróbka konstrukcyjna ciężkich, czerwonych, proszkowo lakierowanych uchwytów maszynowych

Specyfikacje projektu w zarysie
Funkcja
Szczegóły specyfikacji
Typ produktu
Uchwyt do maszyn ciężkich / osłona ochronna
Materiał
Wysokowytrzymałowa stal węglowa
Procesy podstawowe
Cięcie laserowe CNC, gięcie na prasie krawędziowej, spawanie TIG/MIG
Wykańczanie powierzchni
Wysokiej jakości czerwona powłoka proszkowa (odporną na warunki atmosferyczne i zarysowania)
Przemysł aplikacji
Maszyny rolnicze, sprzęt budowlany, pojazdy przemysłowe
Standard jakości
Zgodne z normami ISO 9001, SGS, ROHS, REACH
Proces produkcyjny: inżynieria krok po kroku
1. Precyzyjne cięcie laserowe CNC: podstawa dokładności

2. Ciężkie gięcie blachy: Opanowanie kontrolowania odbicia sprężynowego

3. Spawanie konstrukcyjne i wzmocnienie: zaprojektowane do najbardziej ekstremalnych warunków eksploatacji

4. Trwała powłoka proszkowa: maksymalna odporność na korozję

Szeroki zakres zastosowań
Najczęściej zadawane pytania

Współpracuj z Cangzhou Deeplink w zakresie usług wykonywania elementów
Zalecane produkty