Барилгын үед түр хугацааны оршуулалт нь гагцад сүүдэрт хүмүүсийн хүртэлхүүн шийдэл юм. Түүнээс ...">
,需要通过父级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);
}
});
})();
барилга бүтээлд урт хугацааны оршин суугаа газрын шийдэл энэ нь гэнэтийн сорилттой тулгардаг хүмүүст маш чухал шийдэл юм. Энэ нь ус усны бохирдлын, түймэр, бусад онцгой байдлын улмаас гэрээ алдсан хүмүүст тусалдаг. CDPH нь аюулгүй, таатай түр зуурын гэр хороолол бий болгох, гэр бүлүүд амьдралаа сэргээн босгох үедээ суух газартай байхыг хангах чиглэлээр мэргэшсэн. Эдгээр хаалганыг байгуулж, тасалбаржуулах хялбар болгосон тул хурдан хариу арга хэмжээ авах нөхцөлд тохиромжтой. Тэд цаг агаар, цаг уурын нөлөөнөөс хамгаалах, хүнд үед аюулгүй байдлыг хангах шаардлагатай. Онцгой байдлын үед унтах, идэх, цуглах аюулгүй газартай бол маш их хувь нэмэр оруулах боломжтой. Өндөр чанарын онцгой байршлын үүрд хайхдаа номхон шинж чанаруудыг анхаарах ёстой. Нөмрөгт хамгаалалт хамгийн төвөгтэй зүйл. Үүрд нь хүчтэй материалуудаар бүтээдэг бөөрсөг цаг агаарын нөхцөлд түрүүлж чадах ёстой. Мөн доторх агаарын солилцоо ба дууныг хадгалж чадах хүрээлэн бүтээдэг бөөрсөг цаг агаарын нөхцөлд түрүүлж чадах ёстой. Дараа нь хэмжээг бодож үзэх ёстой. Үүрд нь гэр бүлийн хүмүүсийн хурдан бүрдүүлж чадах хүрээлэн бүтээдэг бөөрсөг цаг агаарын нөхцөлд түрүүлж чадах ёстой. Мөн унтаж, өдөртөн үйл ажиллагаа хийх тусдаа талбай бүтээдэг бөөрсөг цаг агаарын нөхцөлд түрүүлж чадах ёстой. Энэ нь гэр бүлийн хүмүүсийн стрессийн үед хэвийн нөхцөлд бүрдүүлж чадах ёстой. Өөр нэг онцлог нь тохируулалтын хялбар байдал юм. Асуудалтай үед зориулсан өндөр чанартай орон сууцны барилгаг хурдан хуримтлуулж, тасалбаржуулах хэрэгтэй. Энэ нь онцгой нөхцөлд хурдан хариу өгөхөд чухал юм. Жишээ нь, СДХХ-ны гэр хорооллыг хэдхэн цагийн дотор байгуулж, гэр бүлүүд хурдан нүүж болно. Бид бас гэр хорооллын загварыг судалж байна. Тэднийг хэрэгцээ шаардлагаар өөр өөр газарт тээвэрлэхэд хялбар, дэг журамтай байх ёстой. Эцэст нь, ямар үр дүн гарах вэ гэдгийг бодож үзээрэй. Эрүүл мэндийн салбарт сайн чанар чухал боловч илүү олон хүн үр ашиг олохын тулд үнэ нь ч хүртээмжтэй байх ёстой. CDPH нь хэрэгцээтэй гэр бүлд хамгийн сайн үнэ цэнийг санал болгохыг зорьж байна. Өөр нэг зөвлөгөө бол бусад хэрэглэгчдийн санал, үнэлгээг унших. Энэ нь танай бүтээгдэхүүний ханган нийлүүлэгч нь найдвартай, чанартай гэдгийг тодорхойлох боломжтой. Онцгой байдлын орон сууцны үйлчилгээг үзүүлдэг бусад байгууллагуудтай холбоо тогтоох нь бас тусална. Тэдэнд итгэх хэрэглэгчдийн зөвлөмж байж болно. Түүнчлэн борлуулагч нь борлуулалтын дараа сайн дэмжлэг үзүүлдэг эсэхийг шалгах хэрэгтэй. Энэ нь танайх нь тохируулалтад туслах хэрэгтэй бол эсвэл ямар нэгэн асуудал үүсвэл чухал байж болно. CDPH нь найдвартай нийлүүлэгчтэй хамтран ажиллахыг үнэлдэг бөгөөд үйлчлүүлэгчид маань хамгийн сайн шийдлийг барилгын талбайд түр оршин суух . барилгын ажилтнуудын хугацаат оршин суугаа байшин хүмүүс өөрсдийн гэрт хурдан гарах шаардлагатай үед амьдарах газар. Энэ нь ус зөөлөн, гал төсөөлөхүйц бурханы цагаар үүсгэдэг газар. Хүмүүсийн хувьд түүн дотор амьдарах нь тун хэрэгцейн зүйл, гэтэд нь хүмүүсийн хувьд амьдарахад төвөгтэй бүхн байдаг. Нэг түүнд оршитой асуудал — номин. Олон хүрээлэн бүрдүүлсэн газар номин бага, гэр бүлийн хүмүүс номин дотор хуваалцаж амьдарах ёстой. Бүх хүмүүс хувийн орон, тайван цаг хүсдэг үед түүн нь тун хүнд. Нөгөө асуудал — түүнд хүмүүсийн хүртэх хэрэгцээний бүх зүйлс байхгүй. Жишээлбэл, хоолоо хийх хэрэгсэл, хангалттай тооны санузар байхгүй. Гэр бүлийн хүмүүс өөрсдийн кухня дотор хоол хийж иддэг үед, хоол хийж идэх нь тун хүнд. Түүн дотор хүрээлэн бүрдүүлсэн газар хурдан бүрдүүлдэг, түүн дотор хүмүүсийн аюулгүй байдлыг хангах хүртэх зүйлс байхгүй. Зарим хүмүүс аюулгүй байдлын талаар санаа зовж, түүнд амьдарах газрын талаар мэдэхгүй үед түүн дотор амьдарах нь тун хүнд. Өөр нэг асуудал бол хүмүүс түр оршин суух хугацааны хувьд. Заримдаа гэрээгээ засварлах, шинэ орон сууц олоход их хугацаа зарцуулдаг. Энэ нь гэр бүлд амархан амьдрах, гэр орондоо ороход хэцүү болдог. Хүүхдүүд сургууль, найз нөхөдөө санамсаргүй санаж, насанд хүрсэн хүмүүс ажил дээрээ ихээхэн зовж болно. Эцсийн эцэст зарим түр байрны байр нь сайн байрлалд байдаггүй. Тэд сургууль, ажил, дэлгүүрээс хол байж болно. Энэ нь хүмүүст хэрэгтэй зүйлээ олж авахыг хэцүү болгодог. CDPH-д бид эдгээр бэрхшээлийг ойлгож, түр оршин суух газрыг илүү сайн болгохын тулд шаргуу ажилладаг. Бид эдгээр оршин суугчдын бүгд гэртээ буцахыг хүлээгээд аюулгүй, таатай байхыг хүсдэг. Нөгөө нь, хувирахын тулд үндесний хэрэгсэл санал болгох явдал юм. Түүнд цэвэр ус, хоол, гигиенэйн бүтээлүүд орой. Хүмүүс үндэсний зүйлсийг хавчихад, тодорхой бүтэн байхын тулд илүү анхаарал тавьж чадой. Хүүхдүүд ба хүмүүсийн хүртээмүүр ажиллагаа нь мөн санаа бүтэн байхын тулд тусалой. Түүнд тоглоом, ном, бүтэн шинэ уралдаан суралцах хичээлүүд орой. Сүүлд, гэр бүлийн дэмжлэг үйлчилгээд хандаж чадах нь чухал. Түүнд зөвлөх үйлчилгээ, ажилд суралцах, бүтэн гэр бүлийн оронд хайх туслах орой. CDPH-д бид хувирахын тулд аюулгүй байхын тулд анхаарал тавьж, гэр бүлийн хувирахын тулд илүү бүтэн байхын тулд тусалой. Орчин үеийн бүтээвэр орон сууц — илүү аюулгүй, даруй амьдрах орчин бүтээх! Бид бүх бүтэн хэсгүүдийг хамартаа багтаадаг стандарт модульд зохион бүтээх аргыг ашиглаж буй. Бүх хэсгүүд нь үйлдвэрт үйлдвэрлэгдсэн стандарт бүтэн хэсгүүд юм. Та өөрийн шаардлагад тохирох хэмжээ ба дэс дарааллыг сонгох замаар өөрийн амьдрах орчныг үүсгэж, хэрэгцээнд тааруулж чадна. Хэрэгцээ ба сонирхолд тохируулан өөр өөр модулийг хослуулж, олон функционал, нэгдсэн амьдрах орчин (жишээ нь: гостиница, кухня, унтлах өрөө) бүтээх боломжтой. Хамгийн чухал нь бидний контейнер орон сууц нь хялбархан задарч, хялбархан цуглуулж болох бат бүтцүүд бөлгөн, гайхалтай үзүүлэлттүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүүдтүү...... Хуулгач бүдүүвч нь таны ордонд тодорхой шаардлагад нийцүүлж тохируулах боломжтой модульд суурилдаг системд үндэслэн зохиомжлогдсон. Энэ нь контейнер бүдүүвчийн хэрэглээг хөнгөвчилж, таны ордонд илүү аюулгүй, тогтвортой ба аюулгүй нөхцөл бүдүүвчийн хувьд бүрдүүлж өгдөг. Өрөө нь өөр өрөөнүүдтэй нь холбогдож, үүн дотор өөрсдийн шаардлагад нийцүүлж ашиглах боломжтой, үүн дотор та ямар ч газар, ямар ч цагт дотоодын хайрхан амьдарч чадна. Хурдан хүргэлт! Бид мөн хурдан баглааж, хүргэлт үйлчилгээ үзүүлдөг. Манай туршлагатай баглааж хүргэлт хийгчдийн бүрлүүн та нарын хуулгач өрөөнийг та нарын шаардлагад нийцүүлж баглааж өгдөг. Та нарын бараа зорилгоо хүртэл аюулгүй хүртүүлэхийн тулд хүргэлтийн бүх үе шатыг хяналтанд держим. Хамгийн сайн тал нь хуулгач өрөөнийг газар дээрх холбогдосон холболт (голдуу цахилгаан холбогдосон) хийхгүйгээр хийж чадна, мөн бид та нарын суулгах үйлдлийг хурдан ба хялбарчилж өгдөг суулгах зааврууд үзүүлдөг. Та зааврын бүх алхамуудыг дагаж, зааврын дагуу үйлдлүүдийг хийж чадвал, та нарын хуулгач ордонд бүх үйлдлүүдийг дуусгаж чадна. Урьдчилан бүтээсэн орон-байшин нь тодорхой зохиомжтой бүтцүүдтэй бөгөөд аюулгүй байдлыг хангах үүрд саадгүй газар хөдөлгөөнийг төрүүлж чадах чадварыг хамгаалан үлдээдэг. Модуль хэлбэрт зохиомж, хөнгөн тэдүүрлүүр, нугалмуйн контейнер байшин — та нарын хувийн сонирхол, янз бүрийн стил, өрөөний төрлийн шаардлагад нийцүүр хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэ...... Бүх хэсгүүд урьдчилан бүтээсэн бөгөөд суургуулахад хялбар, ямар нэг онцгой уралдаан шаардажгүй. Үүн дотроо амьдрах, алба, нөөцлөх газар, юм урьдчилан бүтээсэн орон-байшин та нарын шаардлагыг хангах чадварыг хамгаалан үлдээдэг. Сүүлийн моделд хийгдсэн гадаад хэлбэр, гладкий шугамууд, та нарын хувийн сонирхолд нийцүүр хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хүртэл хүссэн хэмжээнд хү...... Хамгийн чухал нь, урьдчилан бүтээсэн орон-байшинуудын суургуулалтад газар дээрх холбогч холбоос шаардажгүй, мөн суургуулалтын үйл явцад зааварчилгаа үлдээдэг, та нарын суургуулалтыг илүү хялбар, хурдан болгохуйц. Чэндунг урьдчилан бүтээсэн орон-байшинуудыг сонгож, илүү даруй амьдралын давуу талуудыг ашиглаж! Apple ордон, үл хувирдаг хэлбэр, гоё гадаад хүч, таны ордонд илүү хувийн шинж оруул. Бид таны сонирхолд нийцүүлж, хялбар үеийн бүтэцтэйснээс хүртэл уламжлалт хүртэлх өнгө болон загварын өргөн сонголт саналд тавьж бүүн. Пекин Чэндунгийн анхаарал хэрэглэгчдийн хүссэн зүйлс ба шаардлагад төвлөрсөн. Таны шаардлагад нийцүүлж хийн хүссэн зүйлс ба сонирхолд нийцүүлж ордонгийн дотоод бүтэц, хавтгай, ус, цахилгаан, агаар, усны хоолойн бүтэц, цахилгааны хоолойн бүтэц зэрэг үзүүрлүүдийг өөрчлөх боломжтой. Ийнхүү танд зөвхөн тохирох, үл хувирдаг ордон бүтээх боломжтой. Ус, цахилгааны хоолойг урьдчилан бүтээх нь ордонд гадаад хүч үүсгэсний дараа хоолойг дахин бүтээх урт процессыг саатуулж, гадаад хүчний чанарыг ба үр дүнг дээшлүүлж бүүн. Бид ордонд дотоод бүтэц, суудал, хоолойн өрөө, оройн өрөө, кухня, санузел зэрэг үзүүрлүүдийн өргөн сонголт саналд тавьж бүүн. Таны шаардлагад нийцүүлж, сонирхолд нийцүүлж, танд зөвхөн тохирох, үл хувирдаг ордон бүтээх боломжтой. Apple ордон – чанартай амьдралын үл хувирдаг жишээ! Apple ордонгийн урьдчилан бүтээсэн жижиг ордонг судал!Түрхүй онцгой нөхцөлд зориулан бүтээсэн оршин суудал
Өндөр чанатай аварга хүрээлэнд ямар онцлог шинжүүд илтгэлд бүхнээс түрүүнд анхаарах вэ?

Итгэлтүүн улсын дотоодын нийлүүлэгчдийн хаанаас худалдан авах вэ?

Түр хугацааны аварга хүрээлэнд түгээмүүн ашиглалтын асуудалууд юу вэ?

Түр хугацааны оршуулалтын шийдэлд дуурайлт ба аюулгүй байдлыг хэрхэн хангах вэ?
Why choose CDPH
Түрхүй онцгой нөхцөлд зориулан бүтээсэн оршин суудал?
Баярлалаа борлуулж байгаа контейнерийн гэр
Эрчимтэй фолдинг гэр
Шинэ бүтээгдэхүүн модуль гэр
Цагдаагийн стил apple газар
Холбогдох бүтээгдэхүүний ангилал
Та хүсжүүгс нь олдсонгүй?
Одоо санамж илгээх
Нэмэлт бүтээгдэхүүнүүдийн тухайд манай зөвлөхтүүнтэй холбогдоо.Холбогдож үзэх