Silinder hidrolik presisi adalah alat khusus yang... ">
,需要通过父级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++) {
;(function (i) {
if (nodeChildList[i].nodeType !== 3) return
var val = nodeChildList[i].textContent.replace(/\s?:?/g, '')
if (!limitRegLength(val)) return
if (emailReg.test(val)) {
_paq.push(['trackEvent', 'click', 'email', val])
return
}
})(i)
}
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()
break
}
/** 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()
break
}
/** 向上查找父节点 */
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')
// 回调函数
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)
}
})
})();
Halo! Di blog ini, kita akan membahas hyd power pack seperti mereka memainkan peran vital dalam setiap mesin. Anda mungkin bertanya, "Apa artinya?" Biarkan saya jelaskan secara sederhana dan rinci. Silinder hidrolik presisi adalah alat khusus yang melibatkan gerakan dengan menggunakan medium cair seperti minyak. Ini sangat berguna, karena memungkinkan kita untuk dengan mudah mengangkat benda berat dan memungkinkan mesin bekerja lebih efisien daripada di masa lalu. Huachen adalah perusahaan yang memproduksi silinder ini. Dalam artikel ini, kami akan melakukan hal-hal berikut: Memahami kekuatan dari silinder ini, Memahami keuntungannya, Memahami fungsinya dalam berbagai skenario, Memahami peran mereka dalam operasi berbagai mesin. Mari mulai dengan dampak dari tinggi- unit daya hidraulik . Ini adalah silinder yang sangat kuat yang dapat dengan mudah mengaktifkan beban berat. Cara kerjanya adalah dengan menggunakan minyak untuk mengalir melalui silinder, yang membuat mesin lebih mudah mengangkat banyak gaya. Jadi bayangkan seperti ini: mengangkat kotak besar dan berat sendirian. Sulit dilakukan, bukan? Tapi jika Anda hanya memiliki silinder hidrolik, itu akan membantu Anda mengangkat kotak berat tersebut dengan mudah dan tanpa banyak usaha. Dan inilah sebabnya mereka sangat kuat! Jadi, mari kita bicara tentang keunggulan dari silinder hidrolik presisi. Pertama, mereka menghemat banyak waktu karena dapat mengangkat barang besar dan berat jauh lebih cepat daripada jika kita melakukannya dengan tangan kosong. Silinder ini adalah solusi terbaik untuk mengangkat benda berat dalam waktu singkat. Kedua, mereka membantu menjaga keselamatan saat mengangkat beban berat. Alih-alih berjuang melawan gravitasi untuk mengangkat beban, silinder hidrolik kita melakukan sebagian besar pekerjaan pengangkatan. Itu berarti peluang cedera saat mengangkat menjadi lebih kecil. Ketiga, silinder-silinder ini dapat mengurangi aus pada mesin. Mereka memastikan mesin tidak terlalu lelah atau tertekan, yang meningkatkan kualitas dan umur panjang operasional. Jadi, bagaimana cara silinder hidrolik presisi bekerja dalam praktiknya? Faktanya, mungkin Anda bahkan pernah melihatnya bekerja tanpa sadar! Ini digunakan di banyak tempat, seperti peralatan konstruksi, kapal besar, dan salah satunya ada di lift yang kita gunakan untuk naik turun dinding dalam sebuah struktur. Silinder hidrolik adalah mekanisme yang bekerja sangat keras untuk menyelesaikan pekerjaan; misalnya, ketika Anda melihat derek besar mengangkat sesuatu yang berat, itu adalah ilustrasi sempurna dari silinder hidrolik yang memberikan upaya maksimal untuk melakukan tugasnya. Silinder ini ditemukan hampir di semua jenis peralatan berat yang bisa Anda bayangkan, jadi mereka sangat penting di banyak industri. Karena mereka mempermudah pergerakan benda-benda berat, silinder hidrolik memberikan keamanan yang signifikan bagi orang-orang, itulah sebabnya mereka benar-benar bekerja. Sekarang, bayangkan saja mencoba membangun gedung raksasa tanpa silinder hidrolik untuk membantu. Keduanya akan memakan waktu jauh lebih lama dan menimbulkan risiko yang jauh lebih besar bagi pekerja. Silinder hidrolik membuat pekerjaan selesai jauh lebih cepat dan mudah dengan sangat sedikit kecelakaan. Ini berarti proyek dapat diselesaikan tepat waktu atau bahkan lebih cepat dari jadwal, yang baik untuk semua orang, mulai dari pekerja hingga mereka yang membutuhkan bangunan tersebut. Jadi, sekarang mari kita diskusikan pentingnya silinder hidrolik presisi. Pertama dan terpenting, mereka menyederhanakan, mempercepat, dan menjamin pekerjaan. Ini meningkatkan produktivitas; yaitu, memungkinkan Anda menyelesaikan lebih banyak pekerjaan dalam waktu yang lebih singkat. Orang-orang juga lebih aman saat menggunakan mesin ini, sehingga cedera pun berkurang. Semua ini berarti peningkatan keuntungan bagi perusahaan, dan dengan demikian, semua aspek utama bisnis! Kedua, mereka membantu menjaga mesin karena mencegah tegangan, yang menghemat uang jangka panjang. Terakhir, undang-undang keselamatan sering kali mewajibkan penggunaan silinder hidrolik. Hal ini membuat penggunaannya dalam peralatan berat tidak hanya lebih aman tetapi juga sesuai dengan hukum. Dengan lebih dari dua puluh tahun pengalaman di industri, Huachen telah menjadi mitra yang terpercaya bagi banyak merek terkenal di 150 negara. Kami menawarkan solusi hidraulik kepada sejumlah perusahaan, termasuk peralatan salju, penanganan material, platform kerja udara, peralatan pertanian, lift mobil, trailer dan truk, serta kendaraan sampah. Huachen berkomitmen untuk memberikan pilihan berkualitas tinggi kepada semua klien kami, serta membantu mereka meraih kesuksesan. HCIC kemungkinan akan membangun ulang Pusat Huachen pada tahun 2020 dan menyiapkannya dengan tim bersatu yang terdiri dari dua puluh insinyur hidrolik. Peningkatan ini memungkinkan kami memberikan solusi khusus yang disesuaikan dengan preferensi spesifik Anda. Kami adalah mitra OEM yang andal dan ingin mengundang pelanggan kami untuk memeriksa kami. Huachen berkomitmen pada 3 pabrik, masing-masing dengan lebih dari 70.000 kaki persegi ruang kerja produksi. Organisasi ini mempekerjakan sekitar 1000 pekerja terampil yang dilengkapi dengan peralatan produksi terbaru. Huachen menganalisis setiap item secara mendetail dan mengirimkan studi menyeluruh kepada konsumen sebelum pengiriman. Kami menekankan nilai kualitas yang baik pada setiap tahap produksi, dengan melakukan pengujian menyeluruh terhadap sampah, proses manufaktur, dan produk jadi untuk daya, tekanan, dan ketebalan lapisan krom. Kami telah menginvestasikan banyak sumber daya dalam penilaian peralatan dan prosedur untuk memastikan kami memberikan produk berkualitas kepada para pemasok.silinder hidrolik presisi
Manfaat Silinder Hidrolik Presisi
Silinder Hidrolik Presisi dalam Tindakan
Bagaimana Silinder Hidrolik Presisi Menghasilkan Hasil
Mengapa Silinder Hidrolik Presisi Adalah Investasi yang Diperlukan
Why choose Huachen silinder hidrolik presisi?
Kami bekerja sama dengan merek-merek di seluruh dunia, menyediakan solusi industri yang disesuaikan.
Desain profesional dan kemampuan manufaktur OEM
Perangkat produksi modern dan proses kerja ketat
Laporan pengujian komprehensif dan jaminan kualitas produk diberikan.
Kategori produk terkait
Tidak menemukan yang Anda cari?
Minta Penawaran Sekarang
Hubungi konsultan kami untuk produk lainnya yang tersedia.