tithe sealadacha le linn tógála is réiteach thábhachtach do dhaoine a bhíonn i d’iarracht gairid. Is féidir leis cabhrú le daoine a bhíonn i...">
,需要通过父级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);
}
});
})();
fógartha sealadacha le linn tógála is réiteach thábhachtach do dhaoine a bhíonn i mbun dúshláin gairid. Is féidir leis cabhrú le daoine a ghabháil a dtithe mar gheall ar thimpistí cosúil le tuileanna, tine nó eiseanacha eile. Tá CDPH speisialaithe sa chruthú ar áiseanna sealadacha sláintiúla agus comfhoirteacha, ag cinntiú go bhfuil áit ann chun teacht leis na teaghlaigh agus iad ag athbhuailt a saol. Dearna na háiseanna seo chun bheith éasca le socraíocht agus le scriosadh, agus is iad an rogha is fearr do shituíocháin a ghiobann go tapa. Soláthraíonn siad cosaint ríthábhachtach ón aer agus ón n-uaireacht agus an t-ádh fós a thabhairt don duine i ndiaidh na dtimpistí. Is mór an difríocht a dhéanann áit shábháilte chun codladh, ithe agus cruinniú a dhéanamh do dhaoine a raibh tionchar orthu ón eiseanach. Nuair a bhíonn tú ag lorg áit chomhtháin ar tháirgeadh ar airde, tá roinnt gnéithe tábhachtacha le smaoineamh orthu. Ar dtús, is é sábháilteacht an príomh-thábhacht. Ba chóir an sléibhe a thógáil as ábhair láidre a bheidh in ann aimsiú na gcoinnleach nár mhaith. Ba chóir freisin go mbeadh aeráil cheart agus insileáil ann chun gach duine a choinneáil ag comfhort. Ansin, smaoinigh ar an méid. Ba chóir don sléibhe a bheith leis an spás le haghaidh teaghlaí a bheith in ann a bheith ina gcónaí gan a bheith crua. Is maith freisin má tá ceantair scartha ann do chodladh agus do ghníomhaíochtaí laethúla. Cabhraíonn sé seo le teaghlaí a choinneáil cuid de na gnáth-mhúnlaí i rith amanna stréise. Is é ainmhithe eile ná an easacht a bhaineann leis an gcur chun cinn. Ba chóir go mbeadh tithe naithiúla ardtáirge agus éasca le comhghlacadh agus le scaradh. Tá sé seo tábhachtach chun am freastalaíochta tapa a sholáthar i gcásanna éigeandála. Mar shampla, is féidir tithe CDPH a chur in eagar i roinnt uaireanta amháin, rud a ligann do theaghlaigh bogadh isteach go tapa. Táimid freisin ag fócasú ar dheasghnáithe na dtithe. Ba chóir go mbeidís éasca meáchan agus in-áit, rud a fhágann go bhfuil sé níos éasca iad a thransportáil go dtí áiteanna éagsúla de réir mar is gá. Ar deireadh, smaoinigh ar an gcostas. Cé go bhfuil an cháilíocht tábhachtach, ba chóir go mbeadh sé fós ina bhriseadh ionamh, ionas go mbainfidh níos mó daoine tairbhe as. Tá CDPH ag iarraidh an luach is fearr a thabhairt do theaghlaigh atá i dtar éis. Tá ceann eile de na leideanna ná léamh athbhreithnithe agus tuairiscí ó chustaiméirí eile. Is féidir leis seo cabhrú leat a bheith ar an eolas faoi shaotharlacht an soláthraí agus ar cháilíocht a bhfuil a dtáirgeanna. Is féidir leat freisin nasc a dhéanamh le heagraíochtaí eile a sholáthraíonn áiseanna éigeandála. D’fhéadfadh siad moltaí a thabhairt duit ar sholáthraí a mbíonn go maith leo. Chun breis, déan cinéalú ar an gcabhrach atá ar fáil tar éis d’ordú a chur i gcrích. Is tábhachtach é seo má theastaíonn cabhrach uait le haghaidh na socruithe nó le haghaidh aon fhadhbanna a thagann chun cinn. Tugann CDPH luach ar chomhoibriú le soláthraí oiriúnacha, ag cinntiú go mbíonn na réitigh is fearr ar fáil do chustaiméirí tithe sealadacha ar shuíomhanna tógála . tírghníomhaíocht tháimheach do oibrithe tógála is é áit ina féidir le daoine fanacht nuair a chaithfidh siad fágáil a dhéanamh ar a gcoimeád go tapa. D’fhéadfadh sé seo tarlú mar gheall ar tharlaíochtaí cosúil le tuileanna, tineanna, nó fiachraí móra. Cé go bhfuil na háiteanna seo an-fheidhmiúil, d’fhéadfadh roinnt fadhbanna a bheith ann a dhéanann sé deacair do dhaoine a bheith ag maolú. Is é fadhb coitianta ná an spás. Tá go leor de na haonaid thimpisteacha beaga, agus b’fhéidir go mbaineann teaghlaigh le chéile i seomra amháin. Is deacair é sin, go háirithe nuair a bhíonn gá a gcuid príobháide nó ama ciúin. Fadhb eile ná nach bhfuil gach rud a theastas ón bpobal ar fáil i na háiteanna seo, cosúil le mionnóga cócaireachta nó leatrom go leor leithreas. Nuair a bhíonn teaghlaigh gnách le cistin a gcuid féin a bheith acu, is deacair a bheith ag ithe cuid de na bia. Ina theannta sin, socraítear an t-áit thimpisteach go tapa, mar sin b’fhéidir nach bhfuil sé róthábhachtach nó slán. Tá roinnt daoine imníúil faoi a slándáil, go háirithe má tá siad ag fanacht i áit nach bhfuil aithne acu uirthi. Fadhb eile ná an fhad a chaithimís i dtithe sealadacha. Uaireanta, is féidir leis an am a thógann sé teach a athrú nó áit nua a aimsiú chun a bheith ina chónaí ann a bheith fada. Is féidir seo a dhéanamh deacair do theaghlaigh chun suimiú agus a bhfeeling mar gheall ar an áit. D’fhéadfadh páistí a bheith ag iarraidh a scoileanna agus a gcaraidean, agus d’fhéadfadh daoine fásta a bheith ag stró leis an obair. Ar deireadh, níos lú den scéal, ní iad na roghanna don tí sealadach go léir atá suite i dtíre maith. D’fhéadfadh siad a bheith i bhfad ó scoileanna, ón obair nó ó stóráin. Is féidir seo a dhéanamh deacair do dhaoine chun na rudaí a bhfuil gá acu a fháil. Ag CDPH, tuigimis na dúshláin seo agus oibrímid go dian chun an tí sealadach a fheabhsú. Ba mhaith linn a chinntiú go mbíonn gach duine a úsáideann na spidéil seo sábháilte agus comfhortach agus iad ag fanacht go dtí go dtiocfaidh siad abhaile. Bealach eile chun cothrom a chinntiú ná soláthar na n-airmheán bunúsacha. Cuimsíonn sé sin rudanna ar nós uisce glan, bia, agus táirgeanna glantachta. Nuair a bhíonn na rudaí riachtanacha ag daoine, is féidir leo aird a thabhairt go mó le bheith ina gcónaí go soiléir. Is féidir gníomhaíochtaí do pháistí agus do dhaoine fásta freisin cabhrú leis an spiorad a choimeád airde. D’fhéadfadh sé sin cluichí, leabhair, nó fiú ranganna chun scileanna nua a fhoghlaim. Ar deireadh, tá sé tábhachtach go mbeidh seirbhísí tacaíochta ar fáil do theaghlaigh. D’fhéadfadh sé sin comhairle, oiliúint do phost, nó cabhair le teach sheasmhach a aimsiú. Ag CDPH, creidimid gur féidir linn teaghlaigh a chuidiú le bheith níos mó mar bhaile, fiú i dtreoimh sheasmhacha. Tír chomhsháite nua-aimseartha: cruthaigh spás ina dtuigeann tú go sábháilte agus níos cóngaraí! Úsáideann muid dearadh modúil caighdeánach a léiríonn gach comhpháirt struchtúrtha. Is iad na comhpháirteanna caighdeánacha seo uile curtha le chéile sa bhfoirgneamh. Roghnaigh an méid agus an t-earraí oiriúnach, ionas go mbunófar do spás ina dtuigeann tú de réir do riachtanais. De réir a gcuid riachtanais agus a gcuid roghanna, is féidir modúil éagsúla a chomhcheangal le chéile chun earraí seomra éagsúla a chruthú, mar shampla seomra cónaithe, cistine agus leaba, chun spásanna ina dtuigeann tú ilfheidhmiúla a bheith ann. An guthbhrí is tábhachtaí ná go bhfuil ár dtír chomhsháite simplí le scagadh agus le chur le chéile, le struchtúr daingean, le feidhmíocht ardnua, mar shampla go bhfuil sé ina dhíochlaonach, ina dhíothuathach, ina dhíothréimhseach agus is simplí agus éasca é an próiseas chur le chéile, gan baint le haon eolais teicniúil speisialta. Tá ár dtíreanna comhsháite réamh-mheastartha déanta chun freastal ar do riachtanais, an bhfuil siad le haghaidh tíreolaíochta phríobháideach nó oifigí le haghaidh úsáide tháirge, stóráil, nó aon chúis eile. Tá an t-am anois ann chun seomra comhsháite a fháil agus buntáistí a bhaint as prís íseal agus seirbhís cliantach cuí. Is féidir leat do shaol a éascú trí sheomra comhsháite a cheannach! Tá an teach chomhtháite deartha ag úsáid córas modúil is féidir a chumrú de réir riachtanais do bhaile. Cuireann sé seo ar fáil teach ina gcoimeádán agus déanann sé do bhaile níos sláintiúla, níos stiobhartaí agus níos sláintiúla. Is féidir an seomra a chomhcheangal le seomraí eile chun freastal ar riachtanais éagsúla, rud a chiallaíonn go bhfuil tú in ann a bheith i do chónaí go sásta áit a bheith agus aon am. Díolachán tapa! Soláthraímid seirbhís phacála agus díolacháin thapa freisin. Beidh fhoireann shaineolach phacála againn ag pacáil do sheomra chomhtháite de réir riachtanais an chliant. Beimid ag rianú gach céim den phróiseas díolacháin chun a chinntiú go mbainfidh do mhíreanna leis an mbunáit go sábháilte. An cuid is fearr den scéal ná go bhfuil an seomra chomhtháite éasca le tógáil gan leagadh ar an suíomh, agus soláthraímid treoracha le tógáil chun do phróiseas tógála a dhéanamh níos tapúla agus níos éasca. Má leanann tú gach céim den treoir agus má leanann tú na céimeanna, beidh tú in ann an tógáil a chríochnú ar do theach chomhtháite. Tá an teach roinnte le dearadh sonrach ar an struchtúr agus leis an bpríomhghné seo tá a bheith in ann a sheasmhacht i gcoinne crith talún chun slándáil a achoimriú. Dearadh modúlach, éasca le tógáil agus le hiontú, teach coimeádáin a fholcaítear, is féidir a chustaimiú de réir do rogha pearsanta maidir le stíleanna éagsúla agus cineálacha seomraí. Tá na comphoist uile réamhthógtha agus éasca le suiteáil, gan baint le scileanna speisialta. An bhfuil sé le bheith mar thaoide, oifig, stóráil nó aon úsáid eile, is féidir leis an dtiach roinnte freastal ar do riachtanais. Tá feidhmíocht shléibheach aige, línte glana, agus is féidir é a chustaimiú de réir do bhaol pearsanta chun spás taobh istigh uathúil a chruthú. Is fearr le fáil go bhfuil na tithe roinnte gan bheith ag teagmháil le heochairbhearnaí ar an suíomh, agus cuirimis treoracha leis an bpróiseas suiteála chun do shuiteáil a dhéanamh níos éasca agus níos tapúla. Glac leis na beneifítí a thagann le saol níos sámhlaí agus níos cóngaraí trí theach Chengdong roinnte a roghnú. Cabin Apple, cruth uathúil, taispeáint álainn, a dhéanann do bhaile níos pearsanta. Tairgeann muid raon leathan d’dhathanna agus stíleanna chun do rogha a shatisfá, ó stíl simplí nua-aimseartha go dtí an traidisiúnta. Tá Beijing Chengdong dírithe ar riachtanais agus ar iarratais na úsáideora. Is féidir é a chur in oiriúint chun do riachtanais a shásamh. De réir do mhian agus do rogha féin is féidir leat cruth an tí, an t-eagar, an t-uisci agus an leictreachas a athrú, mar aon le hordú an leictreachais agus an uisce, chun an bhaile idealach uathúil a thógáil duit. Cabhrann an t-ullmhú roimh ré an uisce agus na sreangacha leictreachais linn an próiseas fada a sheachaint de athshocrú na sreangacha tar éis do bhaile a adhmadh, rud a méadaíonn éifeacht agus calaí an adhmaid. Tairgeann muid raon roghanna eagar don isteach atá le fáil, lena n-áirítear an seomra suite, an seomra bia, na seomraí codlata, an cistine, an seomra folctha srl. Is féidir leat an ceann a roghnaíonn tú a roghnú chun baile idealach uathúil a chruthú duit. Apple House – Cáilíocht sa bheatha is fearr! Taobh istigh den tí beag réamhthógáilte Apple House!Tógáil thar a bheith sealadach do shocair éigeandála
Cé chuid eile a chaithfear a bheith ann i dtithe éigeandála ar ardchaighdeán?

Cá bhfuil soláthraitheoirí a mhaolaithe go deonach don tír seo le haghaidh tithe éigeandála?

Cad iad na fadhbanna coitianta le húsáid tithe éigeandála sealadacha?

Conas cinntiú comfhoirt agus slándála i réitigh sealadacha do thithe?
Why choose CDPH
Tógáil thar a bheith sealadach do shocair éigeandála?
Seomra díograis Maith
Folláin ardchaighdeán
Nua-éagsúil teach réadaithe
Stíl Módarnach cabin apple
Catagóirí táirgí gaolmhara
Nach bhfuil tú ag fáil an rud atá uait?
Iarr Luachan Anois
Téigh i dteagmháil lenár gcomhairleoirí le haghaidh tuilleadh táirgí atá ar fáil.Téigh i dTeagmháil