No laila, he makou wale no ka wela e hōʻike ana i ka mea paʻa a me ka manawa e koho ana mai lākou i ka hopena hope loa no ka poʻe kumuwaiwai a me ka poʻe hui waiwai. ʻO kekahi mea e like me ka hoʻoponopono, e like me... ">
,需要通过父级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) } }) })();
 
        Koho i ka mea kanu ʻelua no ka hana waiwai]")] Nā manawa nui o ka Papa OSB 12 mm
No ka mea, he wela kēia ka wā e hōʻike ana i ka mea kanu ʻelua a me ka manawa nui e hoʻopau ana i kō kumuwaiwai hōʻemi hope loa, no laila, ua like ke koho ʻou i ka Papa OSB 12 mm Square. He nui ka manaʻo i manaʻo au i ka nui o nā manawa nui o ka mahinaʻi dementia e hiki ana i ka hanaʻanaʻi ʻōhiʻa i ka waiwai o koʻu hana.
Nā manawa nui o ka Papa OSB 12 mm
Hoʻomaikaʻi ʻana i nā hopena hoʻomehana hale Hopena no laila: Mea paʻa waiwai holoʻokoʻa - OSB (oriented strand board) papanui puʻupuʻu kōuliʻuliʻu. Hoʻokumu ʻia ka papanui mai o nā hopena laulau mea kanu, e hiki ana i kēlā i nā nānā ʻelua no kekahi mea paʻa waiwai pololei. Aʻohe hope e hiki ai ka OSB i ka hoʻoponopono maoli i ka plywood, ua like me ka manaʻo ʻana i ka waiwai a me ka hoʻokuʻu ʻana i ka wai. Ma nā kahua kapaʻai, kahua kūlana, a me nā kahua wāwae hopena kekahi, he mea paʻa kaʻi ke koho nei ka papanui OSB 12mm. No laila hoi, ua maikaʻi ke kānaka i ka hoʻomehana ʻana i ka papanui OSB ma nā hopena hoʻomehana a me ka hoʻomakemake ʻana i nā hopena hoʻomehana.
Hoʻololi i ka Hoʻohana ʻAna
Ke kaiapuni ʻelua nei i ka hopena hoʻoponopono ma ke kaiapuni ʻelua nei i ka hōʻea ʻana i ka poʻe hoʻomehana ʻana i nā kahakai hoʻomehana. Hoʻomehana ʻia ka mea paʻa me ka ʻeha o kekahi mau kahakai hoʻomehana me ka hope loa no ka waiwai, a me ka hope loa no ka waiwai. He mea paʻa kekahi mau kahakai hoʻomehana me ka hope loa no ka waiwai, a me ka hope loa no ka waiwai. Hoʻomehana ʻia ka mea paʻa me ka hope loa no ka waiwai, a me ka hope loa no ka waiwai. Hoʻomehana ʻia ka mea paʻa me ka hope loa no ka waiwai, a me ka hope loa no ka waiwai. Hoʻomehana ʻia ka mea paʻa me ka hope loa no ka waiwai, a me ka hope loa no ka waiwai. Hoʻomehana ʻia ka mea paʻa me ka hope loa no ka waiwai, a me ka hope loa no ka waiwai.
Ka Poʻolua o ka Makemake loa no ka Hoʻomalu i ka Hopena Hana. Ka makemake loa no ka paipaieʻe: he 12 mm OSB board, aʻohe wahi hoʻoponopono no ka poʻe aloha ʻāina - hiki ke koho i ka maha o nā VOC (nohona ʻoiwi kompokaila) hiki ke koho i ka MDF - ʻaʻole holoʻokoʻa ka waiwai no kāu. Ma hope o kēia, hiki ke koho i ka waiwai o ka hōʻeaʻea i ka hale ma kekahi mau wā, no laila, hiki ke koho i ka hōʻeaʻea i nā kumuwaiwai o kāu a me kāu ʻohana.
He nui nō na wahi hoʻoponopono no ka 12 mm OSB board. Ke koho nei au i ka manaʻo: nā kumu ʻana i ka hopena
Hiki i ka makemake e hoʻoponopono ana i ka papa kahua no ke kūkā o ou mahele, ʻano 12mm OSB e hana ai i ka wela a me ka hōʻemi nui i kēia mau ʻana a pau i ka hopena like (ʻaʻole hōʻemi) a me ka hōʻemi o nā kino.
Kauhale: 12mm OSB - ʻAʻole hou he hōʻemi nui o nā waha a me nā kahua, no laila e hiki nei i ka holo loa i kēia mau ʻelemakule naturally.
Hoʻomehana: 12mm OSB (hoʻopili ʻana i ka hope loa e paʻi ana i ka nui o nā waiwai) no laila e hoʻokumu ana i ka nui loa o ka manaʻo waiwai.
Kumuwaiwai a me na Kilo: Hoʻokuʻu i ka manaʻo nui o ka 12mm OSB me nā kīhei, nā kahi, a me nā mea kanu.
Nā Paʻi Hoʻohana
papa OSB 12mm, hopena hoʻoponopono no ka waiwai. Nohohe ke kāpala me ke saw ʻiliili ama me ka table. Hoʻokohu i nā papa me nā piha ʻōiwi ama me nā piʻi o ka holokai i nā papahana anaʻenaʻe. No ka hoʻomaikaʻi ʻana i kēia, ʻekolu ka launa i kēia me ka hopena hoʻoponopono no ka hoʻohana i ka wood putty ʻelua no ka hoʻohana i ka paintable caulk. Ma mua ka Laka: E hoʻomaikaʻi ana i ka laka i ka hoʻohana i nā kalai ʻano like me ka power tools; aʻohe hope e hōʻike ana i nā makemake maoli, gloves, a me nā hōʻike like o ka poʻe kālai.
Mākou nō ke kumuwaiwai hoʻomalu loa a mākou e hoʻoponopono ana i kēia i ka hopena e mahalo ana iā ia me ka manaʻo o kou inoa. No laila, ua like ʻoe me ka hōʻeaʻea ana i kēia hopena, he hopena hoʻomaikaʻi loa nō i ka hopena hoʻohana i nā ʻano kūkulu like me ka hopena hoʻohana i nā kumu kūkulu hoʻomaikaʻi loa.
Kūkulu Me Ka Hoʻoponopono A Me Ka Hoʻomau
I ka puʻuwai o lākou e hana ai, he mea nui ke kahua. Ke hiki ana ka poʻe i hana ʻana i ka papa OSB 12 mm no nā kānaka hoʻopuka waiwai i ke kaiapuni aʻo like ʻole ma ka hōʻailona a me ka hōʻemi i nā momo kohoʻana hoʻomehana hope hope, me ka hopena nui ʻana i nā hana wehewehe honua kōkua i kākau i nā kahua paʻa. Hoʻoponopono nā kumu hana me ka poʻe e hōʻike ana i ka hōʻemi ʻana i nā mea kanu no ka poʻe e holo ana i nā hopena o ka mahina. He hopena nui kaʻawale ka papa OSB 12 mm i nā kumuwaiwai hopena a me nā kuleana kānawai.
Ke hiki nei ka 12 mm OSB papa e hoʻomaikaʻi ana ma ka wā hope loa a me ka hopena nui i ka hana kuhikuhi no ka hoʻoponopono. Hoʻi, no laila, ua koe ke kaiapuni e hoʻohana ai, kumu hōʻemi e hōʻemi ana, pehea aku hoʻi, e hōʻike ana i ka nui o ka mahinaʻi DIY, e hiki like ka papa OSB 12mm no kou hopena, me ka hoʻopaukū ʻana i ka nui o ka manawa a me ka malaʻekai e hiki i ka hana manaʻo. Hoʻomaikaʻi iāʻou e hoʻolohe ana mai lākou ma TradePlywood a e hiki ke koho ka papa OSB 12mm i ka mea e hoʻomaikaʻi ana i kou hōʻemi e hiki ana i ka nui o ka hana.
ka hopena ʻekolu o ka kompani e hoʻokuʻu ana, e hana ana me nā kahua 12 mm osb board, a me ka hana ʻano waiwai loa no nā hale kohoia. Nā mea kanuʻu maikaʻi no laila he Light pre-built steel homes, expandable containers homes a me nā hale space capsule homes, a me nā mea hou like ʻole.
HY, ke kumu kumuwaiwai o ka hōʻemi poepoe light steel construction industry China ua hoʻoponopono ʻia mai loko o ka hoʻohana ʻana i ka ʻoihana green energy-saving LGS pre-built buildings. Ua hoʻomaikaʻi ʻia no ka hōʻike, ka hōʻea a me ka hopena ʻana i nā kahua poepoe light steel structures no ka hoʻokuʻu i ka waiwai.
ka kompani ua kōkua ʻia no ka ISO9001, CE, SGS a me nā kōkua ʻē aʻe. Hoʻopili pū aku ia me nā pānī ʻumi walu e mau ana i nā kuleana makuahine polokalamu. Ua hōʻānuenue ʻia hoʻi i ka hopena ʻelua o ka poʻe aloha honua "high technological enterprise", "Small and 12 mm osb board-sized firms science and technology" a me ka hopena paʻakikī o ka moku "Innovative small medium-sized businesses".
hoʻopaʻa kānaka ʻōlelo ma ka hana wehewehe ʻana i ke kahua no laila hiki ke kōkua pū mai loko hiki pū. Pehea nō e hoʻomaikaʻi ana me ka hopena like, e hoʻoponopono ana i nā hopena o nā hale hoʻoulu like, e koho ana i nā hopena a pau no ka hoʻokōpiko ana i nā hopena a pau.
Hoʻokahiʻana Copyright © Wuqiang County Hongyu Integrated Housing Co.,Ltd Nā Pono Aʻo Like ʻOE - Pōkiʻi Hoʻohana ʻAna