">
,需要通过父级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);
}
});
})();
Vitesse, efficacité et précision élevées de la production : Lorsque vous souhaitez augmenter la production dans le domaine manufacturier, Nadun presse hydraulique automatique machine à haute efficacité et précision ne peut être surpassée. Cette technologie unique permet un lien de fabrication intégré, assurant un fonctionnement fluide et continu, ce qui se traduit par un produit final de haute qualité. La précision intégrée de la machine économise du temps, réduit les erreurs et les déchets, garantissant ainsi que l'imprimante soit l'une des plus fiables sur le marché pour simplifier les opérations. La presse hydraulique automatique de Nadun est une nouvelle technologie qui pousse la productivité à son maximum. Équipée de commandes automatisées et de surveillance en temps réel, la machine de presse hydraulique automatique maximise la production et réduit les temps d'arrêt. Cette méthode augmente à la fois la production et maintient une qualité constante parmi toutes les livrables. Et grâce à une technologie de pointe, les entreprises peuvent agir plus rapidement que leurs concurrents sur un marché en évolution rapide. Il y a plusieurs éléments qui distinguent la machine de presse hydraulique automatique de Nadun, dont sa qualité et sa durabilité. Conçue pour un usage continu, la plus lourde presse hydraulique est fabriquée avec un travail de qualité garantissant fiabilité et résistance lors d'une utilisation intensive et est facile à nettoyer. La conception robuste de la machine lui assure des années de service sans problème et constitue un investissement économique pour une entreprise en croissance souhaitant être plus productive avec le même équipement. Étant donné que nous savons tous que deux processus de fabrication ne peuvent pas être identiques, nous avons conçu cette presse hydraulique automatique avec de nombreuses options de personnalisation afin de répondre aux exigences variées des différents producteurs. Grâce à des paramètres de pression ajustables et à des outillages spécialisés, la machine peut être adaptée aux besoins spécifiques de l'entreprise. Ce niveau élevé de personnalisation assure une précision et une régularité maximales lors de chaque découpe, réduisant ainsi les déchets et augmentant la productivité. Elle offre également une grande flexibilité en matière de conception. La machine de Nadun convient à la plupart types de fabrication. Dans ce contexte concurrentiel actuel, les entreprises à travers le monde envisagent tous les moyens possibles pour augmenter la production et réduire les dépenses. La machine à presse hydraulique automatique de Nadun propose une solution économique visant à maintenir les entreprises sur cette trajectoire. Grâce à la réduction de la main-d'œuvre et des processus, la production est nettement plus élevée avec moins d'efforts. Cela entraîne non seulement une économie de coûts, mais aussi une efficacité globale et une rentabilité améliorées. Avec la machine à presse hydraulique automatique de Nadun, les entreprises peuvent facilement bénéficier d'une croissance durable et rester à l'avant-garde dans le monde dynamique de la fabrication. Nadun Machinery est un fabricant et exportateur leader de machines pour le traitement des métaux avec plus de 17 ans d'expérience. Nous nous concentrons sur les presses hydrauliques, les presses poinçonnières, les cisailles, les machines de cintrage et les tours verticaux. Nous desservons divers secteurs industriels tels que l'aérospatiale, la fabrication automobile, la construction, le génie mécanique et la métallurgie. Nos produits, presse hydraulique automatique, sont présents dans plus de 150 pays à travers le monde, établissant de nouvelles normes en matière de machines industrielles. Les produits Nadun Machinery sont réputés pour leur qualité, leurs performances exceptionnelles et leur longévité. Nadun Machinery dispose d’une équipe de recherche et développement composée de plus de dix employés, chacun possédant en moyenne plus de dix ans d’expérience dans ce domaine. Ils innove constamment et développent nos produits, notamment des presses hydrauliques automatiques, afin de répondre aux besoins changeants du marché. Notre entreprise fabrique chaque année 500 à 600 ensembles (sets) de divers produits. Nous fournissons également l’installation et la mise en service de machines presse hydraulique automatique à plus de 400 clients chaque année. Nos produits sont certifiés ISO, CE, SGS, ainsi que par d’autres certifications. Notre engagement en faveur de l’excellence se reflète dans le nombre important de brevets d’innovation produit que nous détenons, ainsi que dans les diplômes d’honneur que nous avons reçus. Pour répondre à la forte demande du marché en articles de refroidissement, les marques Dragon and Tiger et Temple of Heaven proposent une variété de produits pouvant être adaptés à de nombreux types d’utilisateurs et de consommateurs. L’engagement de l’entreprise à devenir un leader industriel dans le domaine de la santé repose sur le développement de gammes de produits de marque, de machines presse hydraulique automatique et de l’expérience utilisateur. Les presses hydrauliques Nadun sont des unités de qualité. Fiables : suffisamment robustes pour accomplir facilement des tâches lourdes. Cela entraîne moins d'arrêts pour réparations et entretien – autrement dit, la chaîne de production continue de fonctionner. Si vous travaillez avec des machines industrielles, disposer d'une machine fiable est essentiel pour rester conforme à votre planning de production, ce qui est important pour respecter les délais et satisfaire vos clients. Attendez-vous à de la rapidité et de l'efficacité en choisissant une presse hydraulique Nadun à ajouter à votre parc. Nous concevons nos machines pour fonctionner rapidement et produire une grande quantité en peu de temps. C'est une excellente solution pour les entreprises souhaitant augmenter rapidement leur production sans compromettre la qualité des produits. Plus vous produisez en un temps réduit, plus le potentiel de chiffre d'affaires et de profit augmente. Les presses hydrauliques Nadun sont non seulement rapides et durables, mais aussi efficaces. Elles permettent de traiter une grande variété de matériaux et d'effectuer un moulage complexe que d'autres machines ne peuvent pas réaliser. C'est la flexibilité optimale, et constituent un atout précieux pour n'importe quelle chaîne de production. Que vous travailliez avec des métaux, des plastiques ou des matériaux composites, nos machines offrent le fini précis dont vous avez besoin. Droits d'auteur © Nadun Machinery Manufacture Co., Ltd. Tous droits réservés
-
Politique de confidentialité
Nadun Machinery Manufacture Co., Ltd.
Machine presse hydraulique automatique
Technologie innovante pour une productivité maximale :

Le produit résistera à l'épreuve du temps et restera fonctionnel et esthétique comme le jour de son installation.

Configurations flexibles pour s'adapter à une grande variété de besoins en fabrication :

Une alternative économique pour augmenter la production et réduire les coûts de main-d'œuvre :
Why choose Nadun
Machine presse hydraulique automatique?
Expertise de l'entreprise et présence mondiale :
Qualité et Performance Exceptionnelles :
Qualité de produit fiable
Une variété de produits
Catégories de produits connexes
Machines de presse hydraulique de haute qualité pour une production efficace
Choisissez nos machines de presse hydraulique pour des performances supérieures
Obtenez la meilleure valeur pour votre argent grâce à nos machines de presse hydrauliques automatiques
Vous ne trouvez pas ce que vous cherchez ?
Demander un devis maintenant
Contactez nos consultants pour connaître les produits disponibles.Contactez-nous