\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);
}
});
})();
Trong lĩnh vực sản xuất cao cấp cạnh tranh khốc liệt ngày nay—bao gồm ô tô, điện tử và năng lượng mới—các kỹ sư và quản lý mua hàng đòi hỏi độ chính xác tuyệt đối, khả năng mở rộng nhanh chóng và kiểm soát chất lượng vững chắc. Cangzhou Deeplink International Supply Chain Co., Ltd ., một nhà sản xuất hàng đầu với hơn 10 năm kinh nghiệm trong ngành và vốn đăng ký 10 triệu Nhân dân tệ (RMB), đã khẳng định vị thế là nhà lãnh đạo toàn cầu trong Chế tạo kim loại tấm theo yêu cầu tùy chỉnh . Bằng cách tích hợp gia công CNC cao cấp, cắt laser và dập sâu OEM trong một cơ sở được tối ưu hóa toàn diện và đạt chứng nhận ISO (diện tích trên 5.000 mét vuông), Deeplink liên tục đảm bảo "giao hàng nhanh, tay nghề tinh xảo và chất lượng ổn định." Nghiên cứu điển hình toàn diện này khám phá cách đội ngũ kỹ thuật của chúng tôi giải quyết một dự án sản xuất cực kỳ phức tạp, từ phân tích Khả thi sản xuất (DFM) đến sản xuất hàng loạt tự động quy mô lớn một cách liền mạch. Một khách hàng hàng đầu trong lĩnh vực năng lượng mới và điện tử ô tô yêu cầu một giải pháp sản xuất toàn diện cho loạt vỏ kim loại tùy chỉnh và các thành phần cấu trúc bên trong có độ bền cao. Các vật liệu được chỉ định bao gồm thép không gỉ công nghiệp cấp 304, nhôm chắc chắn và tấm kim loại mạ kẽm. Để giải quyết những thách thức phức tạp này, Deeplink đã tận dụng mô hình Dịch vụ trọn gói (One-Stop Service), bao gồm tư vấn kỹ thuật, thiết kế bản vẽ, kiểm tra mẫu, chế tạo máy móc và hỗ trợ sau bán hàng. Đối với các hình dạng phẳng ban đầu và các đặc điểm 3D phức tạp, đội ngũ kỹ sư của chúng tôi đã sử dụng Các bộ phận cắt laser độ chính xác cao kết hợp với gia công CNC tiên tiến. Các hệ thống cắt laser dễ dàng cắt xuyên qua thép không gỉ và nhôm, trong khi các trung tâm CNC của chúng tôi thực hiện các công đoạn phay và khoan thứ cấp nhằm đạt được dung sai ở mức micromet theo yêu cầu. Trước khi sản xuất thực tế bắt đầu, chúng tôi đã thực hiện phân tích DFM (Thiết kế để dễ sản xuất) miễn phí nhằm tối ưu hóa các đường cắt và giảm thiểu phế liệu vật liệu, đảm bảo chu kỳ sản xuất có hiệu quả chi phí cao. Để sản xuất các vỏ ngoài liền mạch, chúng tôi chuyển sang bộ phận Metal stamping parts tiên tiến nhất của mình. Nhờ công nghệ dập khuôn tiến bộ tiên tiến, toàn bộ quy trình tạo hình được tự động hóa. Chuyên môn về kỹ thuật kéo sâu của chúng tôi cho phép kéo giãn tấm kim loại mạ kẽm thành các hình dạng phức tạp và liên tục mà không làm suy giảm cấu trúc. Điều này không chỉ đảm bảo độ bền kéo vượt trội mà còn loại bỏ hoàn toàn nhu cầu hàn phụ trợ trên thân vỏ, từ đó cải thiện đáng kể tính thẩm mỹ và độ nguyên vẹn cấu trúc. Đối với lắp ráp cuối cùng các cấu trúc gồm nhiều bộ phận, chúng tôi sử dụng máy uốn thủy lực CNC để uốn kim loại một cách chính xác. Tiếp theo là quá trình Bộ phận hàn và tán đinh lắp ráp. Việc tích hợp chuỗi cung ứng toàn ngành của chúng tôi có nghĩa là từ công đoạn cắt đầu tiên đến công đoạn hàn cuối cùng, mọi bước đều được giám sát nghiêm ngặt nhằm ngăn ngừa biến dạng, oxy hóa hoặc lệch vị trí. Khả năng đáp ứng nhất quán các yêu cầu khắt khe của khách hàng được hỗ trợ bởi cơ sở hạ tầng cụ thể và các quy trình đã được chứng nhận: Để giúp các chuyên viên mua hàng và kỹ sư đưa ra quyết định sáng suốt, các chuyên gia của chúng tôi trả lời những câu hỏi thường gặp nhất trong ngành gia công kim loại theo yêu cầu: Câu hỏi 1: Gia công CNC so với cắt laser — Làm thế nào để chọn quy trình gia công phù hợp cho các chi tiết kim loại theo yêu cầu? Câu hỏi 2: Dập khuôn tiến bộ mang lại những lợi thế chính nào trong sản xuất ô tô và điện tử? Câu hỏi 3: Phân tích DFM (Thiết kế nhằm thuận tiện cho sản xuất) cải thiện quy trình uốn kim loại tấm như thế nào? Cho dù bạn đang tìm kiếm dịch vụ tạo mẫu tùy chỉnh cho một dự án năng lượng mới hay cần sản xuất hàng loạt tự động quy mô lớn các bộ phận ô tô, Cangzhou Deeplink cung cấp các dịch vụ OEM/ODM cá nhân hóa và đáng tin cậy, được thiết kế riêng theo đúng yêu cầu của bạn. 👉 Khám phá toàn bộ danh mục dịch vụ gia công kim loại tấm của chúng tôi
Nghiên cứu tình huống chuyên sâu: Giải pháp dập sâu độ chính xác cao và gia công CNC cho các chi tiết kim loại tùy chỉnh
▍ Tóm tắt điều hành
▍ Bối cảnh dự án & Các thách thức cốt lõi
▍ Giải pháp kỹ thuật & Quy trình công nghệ
1. Gia công CNC độ chính xác cao & Cắt laser theo yêu cầu

2. Dập khuôn tiến bộ và kéo sâu theo tiêu chuẩn OEM

3. Uốn chính xác, hàn và tán đinh

▍ Năng lực và chỉ số sản xuất dựa trên dữ liệu

▍ Thông tin chuyên ngành
A: Việc lựa chọn phụ thuộc rất nhiều vào hình học chi tiết, khối lượng sản xuất và vật liệu. Cắt Laser cắt laser đặc biệt nhanh và hiệu quả về chi phí đối với các profile kim loại tấm phẳng hai chiều (như tấm thép carbon hoặc tấm nhôm). Tuy nhiên, nếu các bộ phận của bạn yêu cầu hình học ba chiều phức tạp, lỗ kín, ren, hoặc dung sai nghiêm ngặt ở mức micromet trên nhiều trục đồng thời, Gia công CNC gia công CNC là lựa chọn bắt buộc. Deeplink thường kết hợp cả hai công nghệ này nhằm cân bằng giữa hiệu quả chi phí và độ chính xác cao.
A: Dập khuôn tiến bộ là giải pháp tối ưu cho sản xuất khối lượng lớn. Bằng cách di chuyển dải kim loại qua một loạt trạm liên tiếp (đục lỗ, dập nổi, uốn và kéo sâu) trong một khuôn duy nhất, phương pháp này đảm bảo chất lượng đồng đều, dung sai cực kỳ chặt chẽ và giảm đáng kể chi phí trên mỗi đơn vị. Đây là lựa chọn lý tưởng để sản xuất các chi tiết phức tạp Metal stamping parts nhanh chóng.
A: Phân tích DFM cho phép kỹ sư của chúng tôi đánh giá bản vẽ CAD của quý khách trước khi sản xuất bắt đầu. Đối với quy trình uốn kim loại tấm bằng máy uốn CNC, DFM giúp chúng tôi xác định các điểm va chạm tiềm ẩn, tính toán chính xác lượng giãn uốn (hệ số K) và lựa chọn dụng cụ phù hợp nhất. Cách tiếp cận chủ động này ngăn ngừa nứt vật liệu, đảm bảo góc uốn chính xác và đẩy nhanh quá trình chuyển từ chế tạo mẫu sang sản xuất hàng loạt. 
▍ Hành động kêu gọi & Quan hệ đối tác OEM/ODM
👉 Liên hệ với chúng tôi ngay hôm nay để nhận phân tích DFM miễn phí và báo giá tùy chỉnh Các sản phẩm đề xuất