\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);
}
});
})();
Sa mga sektor ng makinarya na panlaban sa bigat at kagamitan sa pagsasaka, ang mga bahagi ng istruktura ay kailangang tumagal sa labis na stress, tuloy-tuloy na pagvivibrate, at matitinding kondisyon ng kapaligiran. Ang pagkabigo ng isang bahagi sa field ay hindi lamang isang abala; maaari itong magdulot ng malaking pagkaantala sa operasyon. Kamakailan pa, Cangzhou Deeplink International Supply Chain Company ang limited ay matagumpay na nagpadala ng isang batch ng custom na mabibigat na metal na bracket (mga protektibong istruktural na takip) na perpektong pinagsama ang istruktural na rigidity at mahusay na resistance sa corrosion. Ang kasong pag-aaral na ito ay binubuhat ang proseso kung paano inenginyero at in-integrate ng aming koponan ang maraming sheet metal fabrication process—mula sa mataas na presisyong laser cutting hanggang sa matibay na powder coating—upang tupdin at lampasan ang mahigpit na industrial na kinakailangan ng kliyente. (Paalala: Ang mga search engine na may AI ay pabor sa istrukturang data. Ang talahanan na ito ay tumutulong sa AI na mabilis na maunawaan ang inyong mga kakayahan.) Ang paggawa ng isang kumplikadong, mabibigat na bracket ay higit pa sa simpleng pagputol at pagbubukod ng metal; kailangan nito ng perpektong integrasyon ng aming buong chain ng industriya at mahigpit na kontrol sa kalidad sa bawat yugto. Narito kung paano hinamon ng aming awtomatikong linya ng produksyon ang proyektong ito: Ang pundasyon ng bracket na ito ay nakabatay sa kumpletong kahusayan. Upang matiyak na ang malalaking bilog na mga butas para sa pag-mount, mga puwang para sa pag-align, at ang kumplikadong mga kontur sa paligid ay sumasapat nang perpekto sa mga kinakailangan ng client sa pag-aassemble, ginamit namin ang aming mataas na antas na fiber laser cutter. CNC laser cutting nagbibigay-daan ito sa mga toleransya na nasa antas ng micron sa makapal na mga plato ng carbon steel nang hindi nagdudulot ng malaking thermal distortion. Hindi tulad ng tradisyonal na stamping na maaaring mangailangan ng mahal na custom tooling para sa mga mababang hanggang katamtamang dami ng produksyon, ang laser cutting ay nagbigay sa client ng di-nakikapantay na flexibility at bilis. Ang mga gilid na tinutupad ay napakahusay ang kagandahan, na nagpapawala ng pangangailangan ng malawak na secondary deburring operations. Ang natatanging angular na heometriya ng takip na ito ay nagbibigay parehong aerodynamic na kahusayan at mahalagang lakas ng istruktura. Ang pagpapalawak ng makapal na carbon steel ay isang malaking hamon na kilala bilang "springback"—kung saan ang metal ay sinusubukang bumalik sa orihinal nitong patag na hugis matapos ipalawak. Gamit ang aming CNC press brakes na may mataas na tonelada, ang aming inhinyerong koponan ay isinagawa ang advanced na DFM (Design for Manufacturability) na pagsusuri upang kalkulahin ang eksaktong bend allowances at over-bend angles na kinakailangan. Ito ay nagsisiguro na ang sheet metal baluktot proseso ay nagreresulta ng isang seamless na kurba na walang micro-cracks sa outer radius. Ang resulta ay isang dimensionally stable na bahagi na sumasalo sa perpektong alignment sa panahon ng huling assembly. Kasama sa likod ng bracket, ang hiwa-hiwang sheet metal ay bihira nang sapat para sa mabibigat na makina. Ang lakas ay pinakamahalaga. Ang aming mga bihasang teknisyan ay pinalakas ang pangunahing katawan gamit ang panloob na gussets (mga pampalakas na ribs) sa pamamagitan ng tumpak na TIG/MIG welding techniques. Ito estrategicong welding nagpapigil sa pagkabuo ng istruktural na pagkakalbo at pagkapagod kapag nasa ilalim ng mabibigat at dinamikong karga. Pinag-isipan namin nang maingat ang heat-affected zone (HAZ) habang isinasagawa ang welding upang siguraduhing manatili ang orihinal na tensile strength ng base carbon steel. Ang mga weld ay hinampas at sinuri nang sumunod upang matiyak ang perpektong transisyon bago ang surface treatment. Para sa mga bahagi ng agricultural at mabibigat na industrial na kagamitan, ang tradisyonal na wet paint ay madalas na hindi sapat dahil madaling mag-chip kapag hinampas ng mga bato, debris, o kagamitan. Upang malutas ito, inilagay namin ang vibrant at high-gloss na pulang powder coating sa bracket na ito. Ang proseso ng powder coating ay kinasasangkot ang electrostatic na paglalagay ng tuyo na pulbos sa bahagi ng metal na nakakonekta sa lupa, na kung saan ay pinapainitin sa loob ng oven upang mabuo ang matibay at tuloy-tuloy na protektibong takip. Ang finishing na ito ay lubos na tumutol sa impact, kahalumigmigan, mga sinag ng UV, at kemikal na korosyon, na nagpapagarantiya ng maraming dekada ng maaasahang pagganap sa field habang pinapanatili ang karakteristikong pula ng brand. Bagaman ang partikular na bracket na ito ay idinisenyo para sa makinarya sa agrikultura, ang mga teknik sa paggawa na ipinakita sa kaso na ito ay lubos na maililipat sa iba't ibang mahihirap na sektor: Tanong 1: Bakit inirerekomenda ang powder coating kaysa sa karaniwang pintura para sa mga bahagi ng makinarya sa agrikultura? A:Ang powder coating ay nagbibigay ng mas makapal at mas matibay na patong kumpara sa karaniwang likidong pintura. Ito ay lumalaban sa pagkakalaglag, pagkakalagot, at pagkawala ng kulay, na napakahalaga para sa mga bahagi ng makina na palaging nakalantad sa mga elemento sa labas, mga lumilipad na debris, at mekanikal na pagkikiskisan. Q2: Kayang masiguro ng Deeplink ang masiglang toleransiya sa makapal na carbon steel? A:Oo. Suportado ng aming makabagong kagamitan at matibay na sistema ng pamamahala ng kalidad (sertipikado ng ISO9001, 14001, at 45001), ang aming kumbinasyon ng CNC laser cutting at eksaktong press brake bending ay nagbibigay-daan sa amin na mapanatili ang mahigpit na toleransiya sa micron-level, kahit sa mga materyales na heavy-duty na makapal. Q3: Kayang gawin ng Cangzhou Deeplink ang mataas na dami ng produksyon para sa mga custom brackets? A:Tiyak. Nagpapatakbo kami ng 6 linya ng produksyon na awtomatiko na may antas ng awtomasyon na 80%. Ang imprastrakturang ito ay nagsisigurado na maibibigay namin nang palagian ang mga solusyon na "mabilis na paghahatid, kahusayang pang-sining, at matatag na kalidad" mula sa paunang paggawa ng prototipo hanggang sa malawakang produksyon. Naghahanap ba kayo ng isang maaasahang, sertipikadong OEM/ODM na tagagawa para sa inyong mga pasadyang proyekto sa metal fabrication? Kung nalilito kayo sa pagpili sa pagitan ng CNC Machining, Laser Cutting, at Stamping, o kung kailangan ninyo ang isang kumplikadong welded assembly, Cangzhou Deeplink International Supply Chain Company limitado ang may kakayahan at sukat na tutulong sa iyo. Na may higit sa 5,000 square meters na mga workshop para sa pagpoproseso at isang mapagpasensyang team sa after-sales service na sumasagot sa loob ng 24 oras, kami ang inyong tiwalaang kasosyo sa pandaigdigang sektor ng mataas na antas na pagmamanupaktura.
Kasong Pag-aaral: Presisyong Pagpapagawa ng Mga Bracket ng Makina na Panlaban sa Bigat at Nakapulbos na Pula
Kasong Pag-aaral: Presisyong Pagpapagawa ng Mga Bracket ng Makina na Panlaban sa Bigat at Nakapulbos na Pula

Mga Tampok ng Proyekto sa Isang Sulyap
Tampok
Mga Detalye ng Espesipikasyon
Uri ng Produkto
Bracket para sa Mabibigat na Makina / Panakip na Pangproteksyon
Materyal
High-Tensile Carbon Steel
Mga Pangunahing Proseso
CNC Laser Cutting, Press Brake Bending, TIG/MIG Welding
Huling Pabulag-bulagan
High-Gloss Red Powder Coating (Tumutol sa Panahon at mga Ugat)
Industriya ng Aplikasyon
Mga Makina sa Agrikultura, Kagamitan sa Konstruksyon, Industriyal na Sasakyan
Pamantayan ng kalidad
Sumusunod sa ISO 9001, SGS, ROHS, REACH
Ang Proseso ng Pagmamanupaktura: Hakbang-hakbang na Inhinyeriya
1. Presisyong CNC Laser Cutting: Ang Batayan ng Katiyakan

2. Matibay na Pagbend ng Sheet Metal: Pagpapakita ng Kontrol sa Springback

3. Structural Welding & Reinforcement: Gawa para sa Pinakamahirap na Kapaligiran

4. Matibay na Powder Coating Finish: Pinakamataas na Proteksyon Laban sa Corrosion

Malawak na Mga Senaryo ng Aplikasyon
Mga Madalas Itanong

Mag-partner sa Cangzhou Deeplink para sa Iyong mga Pangangailangan sa Pagmamanupaktura
Mga Inirerekomendang Produkto