Showing source for: https://iamcuteegirl.pixnet.net/blog/posts/17346491535
Duration: 2.010654s
Server: nginx/1.24.0 (Ubuntu)
<!doctype html>
<html lang="zh-TW">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="fb:app_id" content="101730233200171">
<title>[éä½å]å¦ä½æ¾æ¿å±ç¿»ä¿®å¸«å
䏿¡é·!20使³¥ä½å¸«å
親èªåè¨´ä½ | iamcuteegirlçé¨è½æ ¼ | ä¸è¨åé¡å享 | çå®¢é¦ | PIXNET</title>
<meta name="title" content="[éä½å]å¦ä½æ¾æ¿å±ç¿»ä¿®å¸«å
䏿¡é·!20使³¥ä½å¸«å
親èªåè¨´ä½ | iamcuteegirlçé¨è½æ ¼ | ä¸è¨åé¡å享 | çå®¢é¦ | PIXNET">
<meta name="description" content="[éä½å]å¦ä½æ¾æ¿å±ç¿»ä¿®å¸«å
䏿¡é·!20使³¥ä½å¸«å
親èªåè¨´ä½ å±æ±æ¿å±ç¿»ä¿® 屿±æ¿å±ç¿»ä¿®å ä¸å®è¦åçäº æ³è¦å¨å±æ±è³¼è²·æ°å®¶ï¼ä½å¤§æ¨æ¿å¹ä¸æ·å±¢åµæ°é«ï¼è®è¨±å¤å¹´è¼å®¶åºæä¹å»æ¥ï¼ 許å¤é¦æ¬¡è³¼æ¿ç屿±å±
æ°ï¼éèèæ
®è³¼è²·æ³æå±ãèæ¿åæä¸å¤å±ï¼ ç¶èï¼è³¼è²·äºææ¿å±é²è¡æ¿å±ç¿»ä¿®ï¼ä¹éè¦ä¸çé¾å¤§è³éï¼è²»æè²»åä¸é·é±å¾å¤ï¼ è...">
<meta name="author" content="iamcuteegirlçé¨è½æ ¼">
<meta name="article:author" content="iamcuteegirlçé¨è½æ ¼">
<meta name="robots" content="index, follow, max-image-preview:large, max-video-preview:-1, max-snippet:-1">
<meta property="og:title" content="[éä½å]å¦ä½æ¾æ¿å±ç¿»ä¿®å¸«å
䏿¡é·!20使³¥ä½å¸«å
親èªåè¨´ä½ | iamcuteegirlçé¨è½æ ¼ | ä¸è¨åé¡å享 | çå®¢é¦ | PIXNET">
<meta property="og:description" content="[éä½å]å¦ä½æ¾æ¿å±ç¿»ä¿®å¸«å
䏿¡é·!20使³¥ä½å¸«å
親èªåè¨´ä½ å±æ±æ¿å±ç¿»ä¿® 屿±æ¿å±ç¿»ä¿®å ä¸å®è¦åçäº æ³è¦å¨å±æ±è³¼è²·æ°å®¶ï¼ä½å¤§æ¨æ¿å¹ä¸æ·å±¢åµæ°é«ï¼è®è¨±å¤å¹´è¼å®¶åºæä¹å»æ¥ï¼ 許å¤é¦æ¬¡è³¼æ¿ç屿±å±
æ°ï¼éèèæ
®è³¼è²·æ³æå±ãèæ¿åæä¸å¤å±ï¼ ç¶èï¼è³¼è²·äºææ¿å±é²è¡æ¿å±ç¿»ä¿®ï¼ä¹éè¦ä¸çé¾å¤§è³éï¼è²»æè²»åä¸é·é±å¾å¤ï¼ è...">
<meta property="og:image" content="https://fushi.yida-design.com.tw/serv1-1.webp">
<meta property="og:type" content="article">
<meta property="og:url" content="https://iamcuteegirl.pixnet.net/blog/posts/17346491535">
<meta property="og:article:published_time" content="2024-11-12T19:32:03+08:00">
<meta property="og:article:modified_time" content="2025-04-17T14:57:31+08:00">
<meta property="og:site_name" content="iamcuteegirlçé¨è½æ ¼">
<meta property="og:locale" content="zh_TW">
<meta property="og:image:alt" content="[éä½å]å¦ä½æ¾æ¿å±ç¿»ä¿®å¸«å
䏿¡é·!20使³¥ä½å¸«å
親èªåè¨´ä½ ">
<meta property="og:updated_time" content="2025-04-17T14:57:31+08:00">
<meta property="twitter:title" content="[éä½å]å¦ä½æ¾æ¿å±ç¿»ä¿®å¸«å
䏿¡é·!20使³¥ä½å¸«å
親èªåè¨´ä½ | iamcuteegirlçé¨è½æ ¼ | ä¸è¨åé¡å享 | çå®¢é¦ | PIXNET">
<meta property="twitter:description" content="[éä½å]å¦ä½æ¾æ¿å±ç¿»ä¿®å¸«å
䏿¡é·!20使³¥ä½å¸«å
親èªåè¨´ä½ å±æ±æ¿å±ç¿»ä¿® 屿±æ¿å±ç¿»ä¿®å ä¸å®è¦åçäº æ³è¦å¨å±æ±è³¼è²·æ°å®¶ï¼ä½å¤§æ¨æ¿å¹ä¸æ·å±¢åµæ°é«ï¼è®è¨±å¤å¹´è¼å®¶åºæä¹å»æ¥ï¼ 許å¤é¦æ¬¡è³¼æ¿ç屿±å±
æ°ï¼éèèæ
®è³¼è²·æ³æå±ãèæ¿åæä¸å¤å±ï¼ ç¶èï¼è³¼è²·äºææ¿å±é²è¡æ¿å±ç¿»ä¿®ï¼ä¹éè¦ä¸çé¾å¤§è³éï¼è²»æè²»åä¸é·é±å¾å¤ï¼ è...">
<meta property="twitter:card" content="summary_large_image">
<meta property="twitter:image" content="https://fushi.yida-design.com.tw/serv1-1.webp">
<link rel="canonical" href="https://iamcuteegirl.pixnet.net/blog/posts/17346491535">
<link rel="alternate" type="application/rss+xml" href="https://iamcuteegirl.pixnet.net/feed.rss">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"@id": "https://iamcuteegirl.pixnet.net/blog/posts/17346491535#article",
"url": "https://iamcuteegirl.pixnet.net/blog/posts/17346491535",
"about": {
"@type": "Thing",
"name": "è£æ½¢è¨è¨",
"url": "https://www.pixnet.net/channel/interior-design"
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://iamcuteegirl.pixnet.net/blog/posts/17346491535"
},
"headline": "[éä½å]å¦ä½æ¾æ¿å±ç¿»ä¿®å¸«å
䏿¡é·!20使³¥ä½å¸«å
親èªåè¨´ä½ ",
"description": "[éä½å]å¦ä½æ¾æ¿å±ç¿»ä¿®å¸«å
䏿¡é·!20使³¥ä½å¸«å
親èªåè¨´ä½ å±æ±æ¿å±ç¿»ä¿® 屿±æ¿å±ç¿»ä¿®å ä¸å®è¦åçäº æ³è¦å¨å±æ±è³¼è²·æ°å®¶ï¼ä½å¤§æ¨æ¿å¹ä¸æ·å±¢åµæ°é«ï¼è®è¨±å¤å¹´è¼å®¶åºæä¹å»æ¥ï¼ 許å¤é¦æ¬¡è³¼æ¿ç屿±å±
æ°ï¼éèèæ
®è³¼è²·æ³æå±ãèæ¿åæä¸å¤å±ï¼ ç¶èï¼è³¼è²·äºææ¿å±é²è¡æ¿å±ç¿»ä¿®ï¼ä¹éè¦ä¸çé¾å¤§è³éï¼è²»æè²»åä¸é·é±å¾å¤ï¼ è...",
"articleBody": "[éä½å]å¦ä½æ¾æ¿å±ç¿»ä¿®å¸«å
䏿¡é·!20使³¥ä½å¸«å
親èªåè¨´ä½ å±æ±æ¿å±ç¿»ä¿® 屿±æ¿å±ç¿»ä¿®å ä¸å®è¦åçäº æ³è¦å¨å±æ±è³¼è²·æ°å®¶ï¼ä½å¤§æ¨æ¿å¹ä¸æ·å±¢åµæ°é«ï¼è®è¨±å¤å¹´è¼å®¶åºæä¹å»æ¥ï¼ 許å¤é¦æ¬¡è³¼æ¿ç屿±å±
æ°ï¼éèèæ
®è³¼è²·æ³æå±ãèæ¿åæä¸å¤å±ï¼ ç¶èï¼è³¼è²·äºææ¿å±é²è¡æ¿å±ç¿»ä¿®ï¼ä¹éè¦ä¸çé¾å¤§è³éï¼è²»æè²»åä¸é·é±å¾å¤ï¼ èæ¿åç¡å¯é¿å
çæ¬èº«æåå¨ä¸äºåé¡ï¼è妿¿å±åºç¤çµæ§ãé»ç·èèãæµ´å®¤æ¼æ°´ï¼æè
åå±ä¸»å¿è¨éç¥åæ
æé±ççï¼ éäºåé¡é½æå¢å æ¿å±ç¿»ä¿®çé£åº¦ï¼å æ¤å¨å±æ±æ¿å±ç¿»ä¿®åå¿
é ææ¿å±å
¨é¢æª¢æ¥ä¸¦ä¸æ¬¡æ§è§£æ±ºï¼ å¦å幾年å¾ç¿»ä¿®å¾çæ¿å±è¥æåºç¾åé¡ï¼å¾èéè¦éæ°è£ä¿®ï¼ é æå·¨å¤§çæå¤±ã 20ä½å¸«å
,å¹«ä½ æå®æ¿å±ç¿»ä¿®å¤§å°äº æåæ¯ç¾¤æ
é·æ¿å±ç¿»ä¿®çµ±å
çè師å
ï¼ åéå
§æ20ä½ä¸åå°æ¥ç師å
ï¼ å¯ä»¥çµ±å
ææçæ¿å±ç¿»ä¿®å·¥ç¨ï¼ ç¡è«æ¯ç¿»ä¿®åçæ¿å±æª¢æ¥ï¼ ææ¯ç¿»ä¿®æéçæ³è¦å許å¯èã 空éè¨è¨è¦åãçµæé©æ¶çï¼ä»»ä½å·¥ç¨é½ä¸æ¢é¾å®æï¼ä¸ç¨ææéå¤å
å
¶ä»å¸«å
ï¼ å®¢æ¶é ç®åªæç´æ¥è±å¨å¸«å
çå·¥é¢åæ¿å±ææè²»ï¼ ç¨æå°é ç®å¾å°ææ»¿æççµæï¼ å¦ææ¨ææ¿å±ç¿»ä¿®çéæ±ï¼æ¡è¿åæåè¯çµ¡. å¦ä½æ¾å°çæ¿å±ç¿»ä¿®åé? ç¬¬ä¸æ¬¡é²è¡æ¿å±ç¿»ä¿®ï¼æè©²è¦æ¾èª°å¢? ç®åå¾å¤å±æ±æ¿å±ç¿»ä¿®çå·¥ç¨ï¼é½æ¯æ°´é»å¸«å
æéµç®å±å¸«å
ï¼çºäºè³ºæ´å¤é¢ï¼åè·¯åºå®¶å»åçï¼é å°±å¾å¤å質ä¸è¯çå·¥ç¨ï¼éè¦æåå»åå¾ï¼å
¶å¯¦æ³¥ä½å¸«å
ææ¯æ¿å±ç¿»ä¿®çæä¸»è¦æ ¸å¿ï¼å çºæ´åæ¿å±ç¿»ä¿®å·¥ç¨ï¼æ³¥ä½æ¯æè±æéçï¼å¹¾ä¹ä½äºæ´çé ç®ç60-70%ï¼ æªä¸å¾å¤æ°´é»å¸«å
æ¥å°æ¡ä»¶ï¼æ¨ä¸å¾å¤å
給泥ä½å¸«å
å»è³ºäºï¼ åèè¦èªå·±å»é²è¡. 䏿³¥ä½å稱åç¾è§å·¥ç¨ï¼å°æ´é«ç¿»ä¿®çç´°ç¯åè³ªå½±é¿æå¤§ï¼åªæé¸å°å¸«å
ï¼æè½é å°±åºç´°è©ä¸ä¸åºé¯ç翻修å質. ç¦åæ³¥ä½æ10ä½ä»¥ä¸çæ³¥ä½å¸«å
ï¼ä»¥åå種ä¸åå°æ¥ç人å¡ï¼å½¼æ¤é½æå¤å¹´é
åçé»å¥åç¶é©ï¼ è½æå¤§ç¨åº¦å»æ§å¶ä¸¦é使´åå·¥ç¨çé ç®ï¼æ¸å°æéï¼çºç¿»ä¿®åæç´°è©ç調æ´ï¼ç¨æå°çé ç®åæéï¼ çºå®¢æ¶æé åºæå¥½ç夢æ³å±
å®¶. 屿±æåå°å 屿±å¸ æ½®å· æ±æ¸¯ è¬ä¸¹ é·æ²» éºæ´ ä¹å¦ é¹½å å
§å ä¸å°é ææ¥ 鿏¯ 髿¨¹ è¬å· ç«¹ç° æ°å¤ æ°å å´é æé åå· ä½³å¬ çç è»å æå±± æå¯® é§å° çªå®¶ æ³°æ¦ ä¾ç¾© æ¥æ¥ ç
å ç¡ä¸¹ 滿洲 éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿® æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿® 奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®...",
"image": [
{
"@type": "ImageObject",
"url": "https://fushi.yida-design.com.tw/serv1-1.webp"
}
],
"author": {
"@id": "https://iamcuteegirl.pixnet.net#person"
},
"publisher": {
"@type": "Organization",
"name": "PIXNET",
"url": "https://www.pixnet.net",
"logo": {
"@type": "ImageObject",
"url": "https://static.1px.tw/pixnet-next/_next/static/media/pixnet-logo.692e9b3e.svg"
}
},
"datePublished": "2024-11-12T19:32:03+08:00",
"dateModified": "2025-04-17T14:57:31+08:00",
"inLanguage": "zh-TW",
"articleSection": "ç¦åæ³¥ä½-ç¶²ç«æç« ",
"keywords": [],
"isPartOf": {
"@type": "Blog",
"@id": "https://iamcuteegirl.pixnet.net/blog#blog"
}
}</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"@id": "https://iamcuteegirl.pixnet.net/blog/posts/17346491535#BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "é¦é ",
"item": "https://iamcuteegirl.pixnet.net/blog"
},
{
"@type": "ListItem",
"position": 2,
"name": "ç¦åæ³¥ä½-ç¶²ç«æç« ",
"item": "https://iamcuteegirl.pixnet.net/blog/categories/17003882277"
},
{
"@type": "ListItem",
"position": 3,
"name": "[éä½å]å¦ä½æ¾æ¿å±ç¿»ä¿®å¸«å
䏿¡é·!20使³¥ä½å¸«å
親èªåè¨´ä½ ",
"item": "https://iamcuteegirl.pixnet.net/blog/posts/17346491535"
}
]
}</script>
<script type="text/javascript" id="pixnet-vars">
window.PIXNET = {
"post_id": "17346491535",
"name": "iamcuteegirl",
"user_id": "0",
"blog_id": "7202835",
"display_ads": true,
"comscore_name": "Home",
"part": 18,
"options": {
"AdultWarning": false,
"DisplayAds": true,
"BusinessTheme": false,
"Label": "none"
},
"ad_options": {
"chictrip": false
}
};
</script>
<link href="https://static.1px.tw/blog/v1p2/css/fix.css?v=1788288265" rel="stylesheet" type="text/css" />
<link href="https://static.1px.tw/blog/v1p2/css/theme/style.min.css?v=1788288265" rel="stylesheet" type="text/css" />
<link href="https://static.1px.tw/blog/v1p2/css/theme/main.min.css?v=1788288265" rel="stylesheet" type="text/css" />
<link href="https://static.1px.tw/blog/v1p2/css/desktop.min.css?v=1788288265" rel="stylesheet" type="text/css" />
<link href="https://static.1px.tw/blog/v1p2/css/components/desktop-navbar.min.css?v=1788288265" rel="stylesheet" type="text/css" />
<link href="https://static.1px.tw/blog/v1p2/css/components/adult-warning.min.css?v=1788288265" rel="stylesheet" type="text/css" />
<link href="https://static.1px.tw/blog/v1p2/css/components/post-comment.min.css?v=1788288265" rel="stylesheet" type="text/css" />
<link href="https://static.1px.tw/blog/v1p2/css/components/post-recommend.min.css?v=1788288265" rel="stylesheet" type="text/css" />
<!-- begin custom style -->
<link href="https://pimg.1px.tw/iamcuteegirl/assets/iamcuteegirl.css" rel="stylesheet" type="text/css" />
<!-- end custom style -->
<link href="https://static.1px.tw/blog/v1p2/css/theme/author-info.css?v=1788288265" rel="stylesheet" type="text/css" />
<link rel="icon" href="https://static.1px.tw/blog/v1p2/img/favicon.ico?v=1788288265"/>
<script type="text/javascript" src="https://static.1px.tw/blog/v1p2/js/pixsdk.min.js?v=1788288265"></script>
<script async type="text/javascript" src="https://static.1px.tw/blog/v1p2/lib/jquery-latest.min.js?v=1788288265"></script>
<script type="text/javascript" src="https://static.1px.tw/blog/v1p2/lib/glightbox/js/glightbox.min.js?v=1788288265"></script>
<link href="https://static.1px.tw/blog/v1p2/lib/glightbox/css/glightbox.min.css?v=1788288265" rel="stylesheet" type="text/css" />
<script src="https://static.1px.tw/blog/v1p2/lib/alpinejs.min.js?v=1788288265" defer></script>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-TRLQMPKX');</script>
<!-- End Google Tag Manager -->
</head>
<body id="article-main">
<div id="pix-navbar" class="navbar" x-data="pixNavbar()" x-init="init()" @keydown.escape.window="closeMenu">
<!-- NAVBAR -->
<nav class="pixnavbar">
<div class="navbar-inner">
<a href="https://www.pixnet.net">
<img
alt="PIXNET Logo"
src="https://static.1px.tw/blog-next/public/logo_pixnet_ch.svg"
/>
</a>
<!-- LOGIN -->
<a
x-cloak
x-show="!user"
class="login-link"
:href="loginUrl"
rel="nofollow"
>
ç»å
¥
</a>
<!-- AVATAR -->
<span
x-cloak
x-show="user"
class="avatar sidebar-trigger"
@click="toggleMenu"
>
<img class="avatar-image" :src="avatar" />
</span>
</div>
</nav>
<!-- OVERLAY -->
<div
class="menu-overlay"
x-show="menuOpen"
x-transition.opacity
@click="closeMenu"
></div>
<!-- SIDEBAR -->
<div
id="menu-container"
class="menu-wrapper"
:class="{ active: menuOpen }"
>
<div class="menu-header">
<span class="avatar">
<img class="avatar-image" :src="avatar" />
</span>
<div class="profile">
<span class="profile-title" x-text="user?.display_name"></span>
<span class="profile-subtitle" x-text="user?.id"></span>
</div>
</div>
<div class="menu-content">
<!-- card -->
<div class="menu-card">
<a class="menu-item" :href="blogUrl">
<span class="menu-item-label">æçé¨è½æ ¼</span>
<span class="menu-arrow"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></span>
</a>
<a class="menu-item" href="https://panel.pixnet.tw/" rel="nofollow">
<span class="menu-item-label">æçé¨è½æ ¼å¾å°</span>
<span class="menu-arrow"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></span>
</a>
<a class="menu-item" href="https://account.pixnet.tw/" rel="nofollow">
<span class="menu-item-label">æç帳è</span>
<span class="menu-arrow"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></span>
</a>
</div>
</div>
<!-- logout bottom -->
<div class="menu-footer">
<a class="menu-item logout" :href="logoutUrl" rel="nofollow">
<span class="menu-item-label">ç»åº</span>
<span class="menu-arrow"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></span>
</a>
</div>
</div>
</div>
<script>
document.addEventListener('alpine:init', () => {
Alpine.data('pixNavbar', () => ({
menuOpen: false,
user: null,
get avatar() {
return this.user?.avatar
|| 'https://static.1px.tw/blog-next/public/default_avatar.png'
},
get blogUrl() {
return this.user?.blog?.url || '/blog'
},
get loginUrl() {
return '/auth/authorize?redirect_uri=' + encodeURIComponent(location.href)
},
get logoutUrl() {
return '/auth/logout?redirect_uri=' + encodeURIComponent(location.href)
},
toggleMenu() {
this.menuOpen = !this.menuOpen
this.toggleScroll()
},
closeMenu() {
this.menuOpen = false
this.toggleScroll()
},
toggleScroll(){
document.body.style.overflow =
this.menuOpen ? 'hidden' : ''
},
async init(){
const user = await PIXNET.init()
if (user) {
this.user = user
}
document.addEventListener("pixnet:user-ready",(e)=>{
this.user = e.detail
})
}
}))
})
</script>
<!-- end of navbar -->
<div class="main-container">
<div id="pixnet-ad-before_header" class="pixnet-ad-placement"></div>
<div id="body-div">
<div id="container">
<div id="container2">
<div id="container3">
<div id="header">
<div id="banner">
<h1>
<a href="https://iamcuteegirl.pixnet.net/blog" title="iamcuteegirlçé¨è½æ ¼ çé¨è½æ ¼">
iamcuteegirlçé¨è½æ ¼
</a>
</h1>
<p class="skiplink">
<a href="#article-area" title="skip the page header to the main content">
è·³å°ä¸»æ
</a>
</p>
<h2>
æ¡è¿å
è¨iamcuteegirlå¨ç客é¦çå°å¤©å°
</h2>
<p id="blog-category">
é¨è½æ ¼å
¨ç«åé¡ï¼
<a href="#" target="_blank">
ä¸è¨åé¡
</a>
</p>
</div>
<ul id="navigation">
<li class="navigation-links" id="link-album">
<a href="https://iamcuteegirl.pixnet.net/albums" title="iamcuteegirlçé¨è½æ ¼ çç¸ç°¿">
ç¸ç°¿
</a>
</li>
<li class="navigation-links" id="link-blog">
<a href="https://iamcuteegirl.pixnet.net/blog" title="iamcuteegirlçé¨è½æ ¼ çé¨è½æ ¼">
é¨è½æ ¼
</a>
</li>
<li class="navigation-links" id="link-guestbook" style="display: none;">
<a id="guestbook" data-msg="å°æªå®è£çè¨æ¿ï¼ç¡æ³é²è¡çè¨" data-action="none" href="#"
title="go to guestbook page of this user">
çè¨
</a>
</li>
<li class="navigation-links" id="link-profile">
<a href="https://www.pixnet.net/pcard/iamcuteegirl" title="iamcuteegirlçé¨è½æ ¼ çåç">
åç
</a>
</li>
</ul>
</div>
<div id="main">
<div id="content">
<div id="spotlight">
</div>
<div id="article-area">
<div id="article-box">
<div class="article">
<!-- title -->
<ul class="article-head">
<li class="publish">
<span class="month">Nov</span>
<span class="date">12</span>
<span class="day">Tue</span>
<span class="year">2024</span>
<span class="time">19:32</span>
</li>
<li class="title">
<h2>
<a href="https://iamcuteegirl.pixnet.net/blog/posts/17346491535">[éä½å]å¦ä½æ¾æ¿å±ç¿»ä¿®å¸«å
䏿¡é·!20使³¥ä½å¸«å
親èªåè¨´ä½ </a>
</h2>
</li>
</ul>
<!-- content -->
<div class="article-body">
<div class="article-content">
<div class="article-content-inner" id="article-content-inner">
<h1>[éä½å]å¦ä½æ¾æ¿å±ç¿»ä¿®å¸«å
䏿¡é·!20使³¥ä½å¸«å
親èªåè¨´ä½ </h1>
<p><a rel="index,follow" href="https://www.fushi.com.tw/renovation1.htm">屿±æ¿å±ç¿»ä¿®</a></p>
<div class="divtext">
<h2>屿±æ¿å±ç¿»ä¿®å ä¸å®è¦åçäº</h2>
<p>æ³è¦å¨å±æ±è³¼è²·æ°å®¶ï¼ä½å¤§æ¨æ¿å¹ä¸æ·å±¢åµæ°é«ï¼è®è¨±å¤å¹´è¼å®¶åºæä¹å»æ¥ï¼ 許å¤é¦æ¬¡è³¼æ¿ç屿±å±
æ°ï¼éèèæ
®è³¼è²·æ³æå±ãèæ¿åæä¸å¤å±ï¼ ç¶èï¼è³¼è²·äºææ¿å±é²è¡æ¿å±ç¿»ä¿®ï¼ä¹éè¦ä¸çé¾å¤§è³éï¼è²»æè²»åä¸é·é±å¾å¤ï¼ èæ¿åç¡å¯é¿å
çæ¬èº«æåå¨ä¸äºåé¡ï¼è妿¿å±åºç¤çµæ§ãé»ç·èèãæµ´å®¤æ¼æ°´ï¼æè
åå±ä¸»å¿è¨éç¥åæ
æé±ççï¼ éäºåé¡é½æå¢å æ¿å±ç¿»ä¿®çé£åº¦ï¼<strong>å æ¤å¨å±æ±æ¿å±ç¿»ä¿®åå¿
é ææ¿å±å
¨é¢æª¢æ¥ä¸¦ä¸æ¬¡æ§è§£æ±º</strong>ï¼ å¦å幾年å¾ç¿»ä¿®å¾çæ¿å±è¥æåºç¾åé¡ï¼å¾èéè¦éæ°è£ä¿®ï¼ é æå·¨å¤§çæå¤±ã</p>
<div class="divspace_r1"> </div>
<h3>20ä½å¸«å
,å¹«ä½ æå®æ¿å±ç¿»ä¿®å¤§å°äº</h3>
<p>æåæ¯ç¾¤æ
é·æ¿å±ç¿»ä¿®çµ±å
çè師å
ï¼ <strong>åéå
§æ20ä½ä¸åå°æ¥ç師å
ï¼ å¯ä»¥çµ±å
ææçæ¿å±ç¿»ä¿®å·¥ç¨ï¼</strong> ç¡è«æ¯ç¿»ä¿®åçæ¿å±æª¢æ¥ï¼ ææ¯ç¿»ä¿®æéçæ³è¦å許å¯èã 空éè¨è¨è¦åãçµæé©æ¶çï¼ä»»ä½å·¥ç¨é½ä¸æ¢é¾å®æï¼ä¸ç¨ææéå¤å
å
¶ä»å¸«å
ï¼ <strong>客æ¶é ç®åªæç´æ¥è±å¨å¸«å
çå·¥é¢åæ¿å±ææè²»ï¼</strong> ç¨æå°é ç®å¾å°ææ»¿æççµæï¼ å¦ææ¨ææ¿å±ç¿»ä¿®çéæ±ï¼æ¡è¿åæåè¯çµ¡.</p>
<div class="divspace_r1"> </div>
<img alt="æ¿å±ç¿»ä¿®æµç¨" src="https://fushi.yida-design.com.tw/serv1-1.webp" title="æ¿å±ç¿»ä¿®æµç¨">
<div class="divspace_r1"> </div>
<h2>å¦ä½æ¾å°çæ¿å±ç¿»ä¿®åé?</h2>
<p>ç¬¬ä¸æ¬¡é²è¡æ¿å±ç¿»ä¿®ï¼æè©²è¦æ¾èª°å¢? ç®åå¾å¤å±æ±æ¿å±ç¿»ä¿®çå·¥ç¨ï¼é½æ¯æ°´é»å¸«å
æéµç®å±å¸«å
ï¼çºäºè³ºæ´å¤é¢ï¼åè·¯åºå®¶å»åçï¼é å°±å¾å¤å質ä¸è¯çå·¥ç¨ï¼éè¦æåå»åå¾ï¼å
¶å¯¦æ³¥ä½å¸«å
ææ¯æ¿å±ç¿»ä¿®çæä¸»è¦æ ¸å¿ï¼å çºæ´åæ¿å±ç¿»ä¿®å·¥ç¨ï¼<strong>æ³¥ä½æ¯æè±æéçï¼å¹¾ä¹ä½äºæ´çé ç®ç60-70%ï¼ æªä¸å¾å¤æ°´é»å¸«å
æ¥å°æ¡ä»¶ï¼æ¨ä¸å¾å¤å
給泥ä½å¸«å
å»è³ºäº</strong>ï¼ åèè¦èªå·±å»é²è¡. 䏿³¥ä½å稱åç¾è§å·¥ç¨ï¼å°æ´é«ç¿»ä¿®çç´°ç¯åè³ªå½±é¿æå¤§ï¼åªæé¸å°å¸«å
ï¼æè½é å°±åºç´°è©ä¸ä¸åºé¯ç翻修å質.<br>
<br>
ç¦åæ³¥ä½æ10ä½ä»¥ä¸çæ³¥ä½å¸«å
ï¼ä»¥åå種ä¸åå°æ¥ç人å¡ï¼å½¼æ¤é½æå¤å¹´é
åçé»å¥åç¶é©ï¼ è½æå¤§ç¨åº¦å»æ§å¶ä¸¦é使´åå·¥ç¨çé ç®ï¼æ¸å°æéï¼çºç¿»ä¿®åæç´°è©ç調æ´ï¼ç¨æå°çé ç®åæéï¼ çºå®¢æ¶æé åºæå¥½ç夢æ³å±
å®¶.</p>
<div class="divspace_r1"> </div>
<img alt="æ¿å±ç¿»ä¿®æµç¨" src="https://fushi.yida-design.com.tw/serv1-2.webp?n1" title="æ¿å±ç¿»ä¿®æµç¨">
<div class="divspace_r1"> </div>
<h2>屿±æåå°å</h2>
<span class="spr1">屿±å¸</span> <span class="spr1">æ½®å·</span> <span class="spr1">æ±æ¸¯</span> <span class="spr1">è¬ä¸¹</span> <span class="spr1">é·æ²»</span> <span class="spr1">éºæ´</span> <span class="spr1">ä¹å¦</span> <span class="spr1">é¹½å</span> <span class="spr1">å
§å</span> <span class="spr1">ä¸å°é</span> <span class="spr1">ææ¥</span> <span class="spr1">鿏¯</span> <span class="spr1">髿¨¹</span> <span class="spr1">è¬å·</span> <span class="spr1">竹ç°</span> <span class="spr1">æ°å¤</span> <span class="spr1">æ°å</span> <span class="spr1">å´é </span> <span class="spr1">æé</span> <span class="spr1">åå·</span> <span class="spr1">ä½³å¬</span> <span class="spr1">çç</span> <span class="spr1">è»å</span> <span class="spr1">æå±±</span> <span class="spr1">æå¯®</span> <span class="spr1">é§å°</span> <span class="spr1">çªå®¶</span> <span class="spr1">æ³°æ¦</span> <span class="spr1">ä¾ç¾©</span> <span class="spr1">æ¥æ¥</span> <span class="spr1">ç
å</span> <span class="spr1">ç¡ä¸¹</span> <span class="spr1">滿洲</span>
<div class="divspace_r1"> </div>
</div>
<figure>
<figcaption class="pimg">éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®</figcaption>
<div class="divimg_rec">
<div class="divimg"><img alt="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/c/file6467872b7953c.webp?n1=1" title="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/2/file6467872b98db2.webp?n1=1" title="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/e/file6467872b2d32e.webp?n1=1" title="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/c/file64675a3d0360c.webp?n1=1" title="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/d/file6467872ac0c4d.webp?n1=1" title="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/f/file64675a3c5913f.webp?n1=1" title="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/b/file64675a3b8168b.webp?n1=1" title="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/7/file64675a3bbb4d7.webp?n1=1" title="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/0/file64675a3be6060.webp?n1=1" title="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/3/file64675a3c13da3.webp?n1=1" title="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/1/file64675a3c38bc1.webp?n1=1" title="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/2/file64675a3c73762.webp?n1=1" title="éå¤©è£æ½¢è¨è¨-大廳翻修-系統å»å
·-屿±æ¿å±ç¿»ä¿®"></div>
<div class="br1"> </div>
</div>
</figure>
<figure>
<figcaption class="pimg">æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®</figcaption>
<div class="divimg_rec">
<div class="divimg"><img alt="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/1/file64675b4bbbda1.webp?n1=1" title="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/e/file64675b4c39bfe.webp?n1=1" title="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/8/file64675b4c17758.webp?n1=1" title="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/5/file64675b4b70125.webp?n1=1" title="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/b/file64675b4b4516b.webp?n1=1" title="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/a/file64675b4b93eba.webp?n1=1" title="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/9/file64675b4b04359.webp?n1=1" title="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/7/file64675b4b27667.webp?n1=1" title="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/c/file64675b4bea87c.webp?n1=1" title="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/6/file64675b4c687a6.webp?n1=1" title="æ
館浴室翻修-乾溼åé¢-屿±æ¿å±ç¿»ä¿®"></div>
<div class="br1"> </div>
</div>
</figure>
<figure>
<figcaption class="pimg">奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®</figcaption>
<div class="divimg_rec">
<div class="divimg"><img alt="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/7/file646759b242f57.webp?n1=1" title="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/4/file646759b1db954.webp?n1=1" title="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/6/file646759b294046.webp?n1=1" title="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/8/file646759b100958.webp?n1=1" title="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/b/file646759b12682b.webp?n1=1" title="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/e/file646759b147b6e.webp?n1=1" title="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/2/file646759b1b1302.webp?n1=1" title="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/1/file646759b216041.webp?n1=1" title="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/d/file646759b2702ad.webp?n1=1" title="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®"></div>
<div class="divimg"><img alt="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®" src="https://fushi.yida-design.com.tw/7/file646759b2caa07.webp?n1=1" title="奿¿ç¿»æ°è£æ½¢-å®¢è£½åæ«¥æ«-屿±æ¿å±ç¿»ä¿®"></div>
<div class="br1"> </div>
</div>
</figure>
</div>
<!-- /.article-content-inner -->
<div class="tag-container-parent">
<div class="tag-container article-keyword" data-version="a">
</div>
</div>
<!-- /.tag-container-parent -->
<div class="author-profile">
<div class="author-profile__header">åµä½è
ä»ç´¹</div>
<div class="author-profile__main" id="mixpanel-author-box">
<a>
<img class="author-profile__avatar" src="https://s3.1px.tw/blog/common/avatar/blog_cover_dark.jpg" alt="åµä½è
iamcuteegirlçé¨è½æ ¼ çé å" loading="lazy" />
</a>
<div class="author-profile__content">
<a href="https://www.pixnet.net/pcard/iamcuteegirl" class="author-profile__name">iamcuteegirl</a>
<p class="author-profile__info">iamcuteegirlçé¨è½æ ¼</p>
</div>
<div class="author-profile__subscribe hoverable">
<button data-follow-state="éæ³¨" class="subscribe-btn member"></button>
</div>
</div>
</div>
<!-- /.author-profile -->
</div>
<!-- /.article-content -->
<p class="author">
iamcuteegirl ç¼è¡¨å¨
<a href="https://www.pixnet.net">ç客é¦</a>
<a href="#comments">çè¨</a>(0)
<span class="author-views">人氣(
<span id="BlogArticleCount" data-stats="single" data-post-id="17346491535">
343
</span>
)
</span>
</p>
<!-- /.author -->
<div id="pixnet-ad-content-left-right-wrapper">
<div class="left"></div>
<div class="right"></div>
</div>
<!-- /#pixnet-ad-content-left-right-wrapper -->
<div class="article-footer">
<ul class="refer">
<li>
å
¨ç«åé¡ï¼ <a href="https://www.pixnet.net/channel/interior-design">è£æ½¢è¨è¨</a>
</li>
<li>
å人åé¡ï¼ <a href="https://iamcuteegirl.pixnet.net/blog/categories/17003882277">ç¦åæ³¥ä½-ç¶²ç«æç« </a>
</li>
</ul>
<div class="back-to-top">
<a href="#top" title="back to the top of the page">â²top</a>
</div>
<div id="post-comment" class="comment-container" x-data="commentComponent({postId: '17346491535', blog_id: '7202835', allowComment: true})" x-init="init()">
<div class="post-comment__header">
<span x-text="meta.totalCount + ' åçè¨'"></span>
</div>
<div class="post-comment__body">
<ol class="post-comment__list">
<template x-for="comment in comments" :key="comment.id">
<li class="post-comment__item">
<div class="comment-card">
<a href="#" class="comment-card__avatar-link" :aria-label="'æ¥ç ' + comment.commenter.display_name + ' çå人é '">
<img class="comment-card__avatar" :src="comment.commenter.avatar" :alt="comment.commenter.display_name" loading="lazy" />
</a>
<div class="comment-card__main">
<div class="comment-card__bubble">
<div class="comment-card__author-row">
<a href="#" class="comment-card__author" x-text="comment.commenter.display_name"></a>
<span class="comment-card__badge comment-card__badge--author" x-show="comment.commenter.is_author">ä½è
</span>
</div>
<div class="comment-card__content" x-html="comment.content"></div>
</div>
<!-- /.comment-card__bubble -->
<div class="comment-card__meta">
<time class="comment-card__time" :datetime="comment.datetime" x-text="comment.human_time"></time>
<a href="#" class="comment-card__action" x-show="isOwner()" @click.prevent="toggleReply(comment.id)">åè¦</a>
<a href="#" class="comment-card__action" x-show="isOwner()" :class="{ 'comment-card__action--active': comment.visibility == 1 }" @click.prevent="changeCommentVisibility(comment.id, 'show')">顯示</a>
<a href="#" class="comment-card__action" x-show="isOwner()" :class="{ 'comment-card__action--active': comment.visibility == 2 }" @click.prevent="changeCommentVisibility(comment.id, 'hide')">é±è</a>
<a href="#" class="comment-card__action" x-show="isOwner()" @click.prevent="deleteComment(comment.id)">åªé¤</a>
</div>
<!-- /.comment-card__meta -->
<div class="comment-card__replies">
<ol class="reply-list">
<template x-for="reply in comment.replies">
<li class="reply-list__item">
<div class="comment-card comment-card--reply" :class="{'comment-card--hidden': reply.visibility == 2 && isOwner()}">
<a href="#" class="comment-card__avatar-link" aria-label="æ¥ç Eric çå人é ">
<img class="comment-card__avatar" :src="reply.replyer.avatar" :alt="reply.replyer.display_name" loading="lazy" />
</a>
<div class="comment-card__main">
<div class="comment-card__bubble">
<div class="comment-card__author-row">
<a :href="reply.replyer.card_url" class="comment-card__author" x-text="reply.replyer.display_name"></a>
<span class="comment-card__badge comment-card__badge--author" x-show="reply.replyer.is_author">ä½è
</span>
</div>
<div class="comment-card__content" x-html="reply.content"></div>
</div>
<div class="comment-card__meta">
<time class="comment-card__time" :datetime="reply.datetime" x-text="reply.human_time"></time>
<a href="#" class="comment-card__action" x-show="isOwner()" :class="{ 'comment-card__action--active': reply.visibility == 1 }" @click.prevent="changeReplyVisibility(comment.id, reply.id, 'show')">顯示</a>
<a href="#" class="comment-card__action" x-show="isOwner()" :class="{ 'comment-card__action--active': reply.visibility == 2 }" @click.prevent="changeReplyVisibility(comment.id, reply.id, 'hide')">é±è</a>
<a href="#" class="comment-card__action" x-show="isOwner()" @click.prevent="deleteReply(comment.id, reply.id)">åªé¤</a>
</div>
<!-- /.comment-card__meta -->
</div>
</div>
</li>
</template>
</ol>
</div>
<!-- /.comment-card__replies -->
<div class="comment-card__reply-editor" x-show="replyingTo === comment.id && isOwner()">
<div class="reply-editor">
<div class="reply-editor__avatar">
<img src="https://i.pravatar.cc/48?img=5">
</div>
<form class="reply-editor__form">
<div class="reply-editor__input-wrap">
<textarea class="reply-editor__textarea" placeholder="寫ä¸ä½ çåè¦..." x-model="replyDraft[comment.id].content"></textarea>
</div>
<div class="reply-editor__footer">
<div class="reply-editor__visibility">
<label>
<input type="radio" name="reply_visibility" value="1" x-model="replyDraft[comment.id].visibility" checked>
å
¬éåè¦
</label>
<label>
<input type="radio" name="reply_visibility" value="2" x-model="replyDraft[comment.id].visibility">
ç§å¯åè¦
</label>
</div>
<div class="reply-editor__actions">
<button type="button" class="reply-editor__cancel" @click="replyingTo = null">åæ¶</button>
<button type="submit" class="reply-editor__submit" @click.prevent="submitReply(comment.id)">åè¦</button>
</div>
</div>
</form>
</div>
</div>
<!-- /.comment-card__reply-editor -->
</div>
<!-- /.comment-card__main -->
</div>
</li>
</template>
<template x-if="comments.length === 0">
<li class="post-comment__item" style="text-align: center; color: #888; padding: 2rem 0;">
æ²æçè¨ï¼å¿«ä¾æ¶æ²ç¼å§ï¼
</li>
</template>
</ol>
<button class="btn-more" x-show="meta.page < meta.pageCount" @click="loadMore">è¼å
¥æ´å¤</button>
</div>
<!-- /.post-comment__body -->
<div class="post-comment__footer" x-show="allowComment">
<div class="comment-editor" x-show="isLoggedIn">
<a href="#" class="comment-editor__avatar-link" aria-label="æçå人é ">
<img class="comment-editor__avatar" :src="user?.avatar" :alt="user?.display_name" loading="lazy" />
</a>
<form class="comment-editor__form" action="" method="post">
<label for="comment-message" class="comment-editor__label" x-text="'以 ' + user?.display_name + ' 身份ç¼è¡¨çè¨'"></label>
<div class="comment-editor__input-wrap">
<textarea id="comment-message" name="comment" class="comment-editor__textarea" rows="3" placeholder="寫ä¸ä½ ççè¨..." x-model="newComment.content"></textarea>
</div>
<div class="comment-editor__footer">
<div class="comment-editor__visibility">
<label class="comment-editor__visibility-option">
<input type="radio" name="visibility" value="1" x-model="newComment.visibility" checked>
<span>å
¬éçè¨</span>
</label>
<label class="comment-editor__visibility-option">
<input type="radio" name="visibility" value="2" x-model="newComment.visibility">
<span>ç§å¯çè¨</span>
</label>
</div>
<div class="comment-editor__actions">
<button type="submit" class="comment-editor__button comment-editor__button--primary" @click.prevent="submitComment()">
ç¼ä½çè¨
</button>
</div>
</div>
</form>
</div>
<div x-show="!isLoggedIn" style="text-align: center; padding: 2rem 0;">
<p style="color: #555;">è«å
<a :href="loginUrl" style="color: #007bff; text-decoration: underline;">ç»å
¥</a> 以ç¼è¡¨çè¨ã</p>
</div>
</div>
<!-- /.post-comment__footer -->
</div>
<script type="text/javascript">
function commentComponent({ postId, blog_id, allowComment }) {
return {
postId,
blog_id,
allowComment,
/* -------------------------
state
-------------------------- */
user: null,
isLoggedIn: false,
isOwner() {
return this.isLoggedIn && this.user.is_blogger && this.user.blog.id === this.blog_id
},
comments: [],
meta: {
page: 1,
pageSize: 10,
pageCount: 1,
totalCount: 0
},
loading: false,
replyingTo: null,
newComment: {
content: "",
visibility: 1
},
replyDraft: {},
guest: {
name: "",
contact: ""
},
get loginUrl() {
return '/auth/authorize?redirect_uri=' + encodeURIComponent(location.href)
},
/* -------------------------
init
-------------------------- */
async init() {
await this.fetchUser()
await this.fetchComments()
},
/* -------------------------
user
-------------------------- */
async fetchUser() {
try {
const res = await fetch("/auth/me")
if (res.status === 401) {
this.isLoggedIn = false
return
}
const user = await res.json()
this.user = user
this.isLoggedIn = true
} catch (e) {
console.error("auth error", e)
}
},
/* -------------------------
comments
-------------------------- */
async fetchComments(page = 1) {
this.loading = true
const res = await fetch(
`/blog/get-comments?postId=${this.postId}&page=${page}`
)
const json = await res.json()
this.comments = json.data
this.meta = json.meta
this.comments.forEach(comment => {
if (!this.replyDraft[comment.id]) {
this.replyDraft[comment.id] = {
content: "",
visibility: "1"
}
}
})
this.loading = false
},
async loadMore() {
if (this.meta.page >= this.meta.pageCount) return
const nextPage = this.meta.page + 1
const res = await fetch(
`/blog/get-comments?postId=${this.postId}&page=${nextPage}`
)
const json = await res.json()
this.comments = [...this.comments, ...json.data]
this.meta = json.meta
},
/* -------------------------
reply editor
-------------------------- */
toggleReply(commentId) {
if (this.replyingTo === commentId) {
this.replyingTo = null
} else {
this.replyingTo = commentId
if (!this.replyDraft[commentId]) {
this.replyDraft[commentId] = {
content: "",
visibility: "public"
}
}
}
},
/* -------------------------
submit comment
-------------------------- */
async submitComment() {
if (!this.newComment.content.trim()) return
const payload = {
postId: this.postId,
content: this.newComment.content,
visibility: this.newComment.visibility,
commenter: this.isLoggedIn ? this.user.display_name : this.guest.name,
contact: this.isLoggedIn ? null : this.guest.contact
}
const res = await fetch("/blog/post-comment", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(payload)
})
if (!res.ok) {
const errorData = await res.json()
alert(errorData.message || "çè¨å¤±æï¼è«ç¨å¾å試")
return
}
const comment = await res.json()
this.comments.push(comment)
this.newComment.content = ""
},
/* -------------------------
submit reply
-------------------------- */
async submitReply(commentId) {
if (!this.isOwner()) return
const draft = this.replyDraft[commentId]
if (!draft || !draft.content.trim()) return
const payload = {
commentId: commentId,
content: draft.content,
visibility: draft.visibility
}
try {
const res = await fetch("/blog/post-reply", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(payload)
})
if (!res.ok) {
const errorData = await res.json()
alert(errorData.message || "åè¦å¤±æï¼è«ç¨å¾å試")
return
}
const reply = await res.json();
const comment = this.comments.find(c => c.id === commentId)
if (!comment.replies) {
comment.replies = []
}
comment.replies.push(reply)
draft.content = ""
this.replyingTo = null
} catch (e) {
console.error("reply error", e)
}
},
async changeCommentVisibility(commentId, visibility) {
try {
const res = await fetch("/blog/comments/visibility", {
method: "PATCH",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({ commentId, visibility: visibility == 'show' ? 1 : 2})
})
const data = await res.json()
if (!res.ok) {
alert(data.message || "æä½å¤±æ")
return
}
const comment = this.comments.find(c => c.id === commentId)
if (comment) {
comment.visibility = visibility == 'show' ? 1 : 2;
}
} catch (e) {
alert("系統é¯èª¤ï¼è«ç¨å¾å試")
console.error("show comment error", e)
}
},
async deleteComment(commentId) {
if (!confirm("確å®è¦åªé¤æ¤çè¨åï¼")) return
try {
const res = await fetch(`/blog/comments/${commentId}`, {
method: "DELETE"
})
const data = await res.json()
if (!res.ok) {
alert(data.message || "æä½å¤±æ")
return
}
this.comments = this.comments.filter(c => c.id !== commentId)
} catch (e) {
console.error("delete comment error", e)
}
},
async changeReplyVisibility(commentId, replyId, visibility) {
try {
const res = await fetch("/blog/replies/visibility", {
method: "PATCH",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({ commentId, replyId, visibility: visibility == 'show' ? 1 : 2 })
})
const data = await res.json()
if (!res.ok) {
alert(data.message || "æä½å¤±æ")
return
}
const comment = this.comments.find(c => c.id === commentId)
const reply = comment.replies.find(r => r.id === replyId)
if (reply) {
reply.visibility = visibility == 'show' ? 1 : 2;
}
} catch (e) {
console.error("change reply visibility error", e)
}
},
async deleteReply(commentId, replyId) {
if (!confirm("確å®è¦åªé¤æ¤åè¦åï¼")) return
try {
const res = await fetch(`/blog/comments/${commentId}/replies/${replyId}`, {
method: "DELETE"
})
const data = await res.json()
if (!res.ok) {
alert(data.message || "æä½å¤±æ")
return
}
const comment = this.comments.find(c => c.id === commentId)
comment.replies = comment.replies.filter(r => r.id !== replyId)
} catch (e) {
console.error("delete reply error", e)
}
},
/* -------------------------
guest avatar
-------------------------- */
guestAvatar() {
const name = this.guest.name || "Guest"
return `https://ui-avatars.com/api/?name=${encodeURIComponent(name)}`
}
}
}
</script>
<section
class="rcmd-related-posts"
x-data="pixPostRecommendWidget({
postId: '17346491535',
limit: 3,
})"
>
<div class="rcmd-related-posts__inner">
<div class="rcmd-related-posts__header">
<div class="rcmd-related-posts__title-wrap">
<span class="rcmd-related-posts__eyebrow">Recommended</span>
<h2 class="rcmd-related-posts__title">ä½ å¯è½ä¹åæ¡</h2>
<p class="rcmd-related-posts__desc">çºä½ ç²¾é¸ 3 ç¯å¼å¾å»¶ä¼¸é±è®çå
§å®¹</p>
</div>
</div>
<!-- loading -->
<div class="rcmd-related-posts__state" x-show="loading" x-cloak>
<div class="rcmd-related-posts__loading">è¼å
¥æ¨è¦æç« ä¸...</div>
</div>
<!-- error -->
<div class="rcmd-related-posts__state" x-show="!loading && error" x-cloak>
<div class="rcmd-related-posts__error" x-text="error"></div>
</div>
<!-- empty -->
<div class="rcmd-related-posts__state" x-show="!loading && !error && posts.length === 0" x-cloak>
<div class="rcmd-related-posts__empty">ç®åæ²ææ¨è¦æç« </div>
</div>
<!-- list -->
<div class="rcmd-related-posts__grid" x-show="!loading && !error && posts.length > 0" x-cloak>
<template x-for="post in posts" :key="post.id">
<article class="rcmd-post-card">
<a class="rcmd-post-card__link" :href="post.url">
<div class="rcmd-post-card__image-wrap">
<img
class="rcmd-post-card__image"
:src="getImage(post)"
:alt="post.title"
loading="lazy"
>
</div>
<div class="rcmd-post-card__body">
<div class="rcmd-post-card__meta">
<time :datetime="post.date" x-text="formatDate(post)"></time>
</div>
<h3 class="rcmd-post-card__title" x-text="post.title"></h3>
<p
class="rcmd-post-card__summary"
x-show="post.summary"
x-text="post.summary"
></p>
<div class="rcmd-post-card__footer">
<span class="rcmd-post-card__readmore">é±è®æç« </span>
</div>
</div>
</a>
</article>
</template>
</div>
</div>
</section>
<script>
function pixPostRecommendWidget(config = {}) {
return {
postId: config.postId || '',
limit: Number(config.limit || 6),
endpoint: '/blog/get-widget-data?name=pixPostRecommend&postId=',
loading: false,
error: '',
posts: [],
fallbackImage: 'https://picsum.photos/seed/pixpostrecommend/800/500',
async init() {
if (!this.postId) {
this.error = 'ç¼ºå° postId';
return;
}
this.loading = true;
this.error = '';
try {
const response = await fetch(`${this.endpoint}${encodeURIComponent(this.postId)}`, {
method: 'GET',
headers: {
'Accept': 'application/json'
}
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
const result = await response.json();
if (!result || Number(result.code) !== 0 || !Array.isArray(result.data)) {
throw new Error('API å峿 ¼å¼ä¸æ£ç¢º');
}
this.posts = result.data
.slice(0, this.limit)
.map(item => ({
id: item.id,
title: item.title || '',
url: item.url || '#',
published_at: item.published_at || '',
date: item.date || '',
time: item.time || '',
timestamp: item.timestamp || 0,
views: item.views || '',
feature_image: item.feature_image || null,
summary: item.summary || '',
}));
} catch (err) {
console.error('[pixPostRecommendWidget]', err);
this.error = 'æ¨è¦æç« è¼å
¥å¤±æ';
} finally {
this.loading = false;
}
},
getImage(post) {
return post.feature_image || this.fallbackImage;
},
formatDate(post) {
if (post.date) {
return post.date.replace(/-/g, '/');
}
return post.published_at || '';
}
};
}
</script>
<div id="pixnet-ad-after-footer"></div>
</div>
<!-- /.article-footer -->
</div>
</div>
</div>
</div>
</div>
<div id="links">
<div id="sidebar__inner">
<div id="links-row-1">
<div id="user-info" class="hslice box">
<h4 class="box-title entry-title"></h4>
<div class="box-text entry-content">
<a class="user-img" href="#">
<img
src="https://s3.1px.tw/blog/common/avatar/blog_cover_dark.jpg"
alt=""
loading="lazy"
style="width: 90px; height: 90px;"
/>
</a>
<div class="user-action hoverable">
<button
data-follow-state="éæ³¨"
class="subscribe-btn member"
></button>
</div>
<dl>
<dt>æ±ç¨±ï¼</dt>
<dd>iamcuteegirl</dd>
<dt>åé¡ï¼</dt>
<dd>
<a href="#">ä¸è¨åé¡</a>
</dd>
<dt>好åï¼</dt>
<dd>
ç´¯ç©ä¸
<!-- å
±75ä½{" "}
<a href="#" id="user-info-open-friends-iframe">
(çå
¨é¨)
</a> -->
</dd>
<dt>å°åï¼</dt>
<dd> </dd>
</dl>
</div>
</div>
<div class="hslice box" data-identifier="pixHotArticle" id="hot-article">
<h4 class="box-title entry-title"></h4>
<div class="box-text entry-content">
<ul id="hotArtUl">
</ul>
</div>
<script>
(function () {
async function loadHotArticle() {
const box = document.querySelector('.box[data-identifier="pixHotArticle"]');
if (!box) return;
const ul = box.querySelector("#hotArtUl");
if (!ul) return;
if (ul.dataset.loaded) return;
ul.dataset.loaded = "1";
try {
const res = await fetch("/blog/get-widget-data?name=pixHotArticle", {
method: "GET",
headers: {
"Accept": "application/json"
}
});
const json = await res.json();
if (json.code !== 0 || !Array.isArray(json.data)) return;
const data = json.data;
const fragment = document.createDocumentFragment();
data.forEach(item => {
const li = document.createElement("li");
const a = document.createElement("a");
a.href = item.url;
const span = document.createElement("span");
span.textContent = "(" + item.views + ") ";
a.appendChild(span);
a.appendChild(document.createTextNode(item.title));
li.appendChild(a);
fragment.appendChild(li);
});
ul.appendChild(fragment);
} catch (err) {
console.error("pixHotArticle load failed", err);
}
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", loadHotArticle);
} else {
loadHotArticle();
}
})();
</script>
</div>
<div class="hslice box" data-identifier="pixCategory" id="category">
<h4 class="box-title entry-title">
</h4>
<div class="box-text entry-content">
<div class="box-more"></div>
</div>
<script type="text/javascript">
(function () {
function formatNumber(num) {
return new Intl.NumberFormat().format(num || 0);
}
function renderFolder(item) {
const wrapper = document.createElement("div");
wrapper.className = "inner-box";
const h6 = document.createElement("h6");
h6.style.cursor = "pointer";
const img = document.createElement("img");
img.src = "//pixfs.1px.tw/blog/images/choc/plus.gif";
img.width = 11;
img.height = 11;
img.alt = "toggle";
const ul = document.createElement("ul");
ul.className = "category-" + item.id;
ul.style.display = "none";
h6.appendChild(img);
h6.appendChild(document.createTextNode(" " + item.name + " (" + (item.children?.length || 0) + ")"));
h6.addEventListener("click", function () {
const isHidden = ul.style.display === "none";
ul.style.display = isHidden ? "block" : "none";
img.src = isHidden
? "//pixfs.1px.tw/blog/images/choc/minus.gif"
: "//pixfs.1px.tw/blog/images/choc/plus.gif";
});
(item.children || []).forEach(child => {
const li = document.createElement("li");
const a = document.createElement("a");
a.href = child.url;
a.textContent = child.name + " (" + formatNumber(child.post_count) + ")";
li.appendChild(a);
ul.appendChild(li);
});
wrapper.appendChild(h6);
wrapper.appendChild(ul);
return wrapper;
}
function renderCategoryList(data) {
const ul = document.createElement("ul");
data
.filter(item => item.type === "category")
.forEach(item => {
const li = document.createElement("li");
const a = document.createElement("a");
a.href = item.url;
a.textContent = item.name + " (" + formatNumber(item.post_count) + ")";
li.appendChild(a);
ul.appendChild(li);
});
return ul;
}
async function loadPixCategory() {
const box = document.querySelector('.box[data-identifier="pixCategory"]');
if (!box) return;
const content = box.querySelector(".box-text.entry-content");
try {
const res = await fetch("/blog/get-widget-data?name=pixCategory");
const json = await res.json();
if (json.code !== 0) return;
const data = json.data;
data.forEach(item => {
if (item.type === "folder") {
content.appendChild(renderFolder(item));
}
});
const categoryList = renderCategoryList(data);
content.appendChild(categoryList);
} catch (err) {
console.error("pixCategory load failed", err);
}
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", loadPixCategory);
} else {
loadPixCategory();
}
})();
</script>
</div>
<div class="hslice box" data-identifier="pixLatestArticle" id="latest-article">
<h4 class="box-title entry-title">
</h4>
<div class="box-text entry-content">
<ul id="last-article-box">
</ul>
</div>
<script>
(function () {
async function loadLatestArticle() {
const box = document.querySelector('.box[data-identifier="pixLatestArticle"]');
if (!box) return;
const ul = box.querySelector("#last-article-box");
if (!ul) return;
try {
const res = await fetch("/blog/get-widget-data?name=pixLatestArticle", {
method: "GET",
headers: {
"Accept": "application/json"
}
});
const json = await res.json();
if (json.code !== 0 || !Array.isArray(json.data)) return;
const data = json.data;
const fragment = document.createDocumentFragment();
data.forEach(item => {
const li = document.createElement("li");
const a = document.createElement("a");
a.href = item.url;
a.textContent = item.title;
li.appendChild(a);
fragment.appendChild(li);
});
ul.appendChild(fragment);
} catch (err) {
console.error("pixLatestArticle load failed", err);
}
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", loadLatestArticle);
} else {
loadLatestArticle();
}
})();
</script>
</div>
<div class="hslice box" data-identifier="pixLatestComment" id="last-comment">
<h4 class="box-title entry-title">
</h4>
<div class="box-text entry-content">
<div class="box-more"></div>
<ul id="last-comment-box">
</ul>
</div>
<script>
(function () {
function truncate(str, len = 30) {
if (!str) return "";
return str.length > len ? str.slice(0, len) + "..." : str;
}
async function loadLatestComment() {
const box = document.querySelector('.box[data-identifier="pixLatestComment"]');
if (!box) return;
const ul = box.querySelector("#last-comment-box");
if (!ul) return;
if (ul.dataset.loaded) return;
ul.dataset.loaded = "1";
try {
const res = await fetch("/blog/get-widget-data?name=pixLatestComment");
const json = await res.json();
if (json.code !== 0 || !Array.isArray(json.data)) return;
const fragment = document.createDocumentFragment();
json.data.forEach(item => {
const li = document.createElement("li");
const a = document.createElement("a");
a.href = item.url;
const title = truncate(item.post_title, 25);
a.textContent =
`[${item.time}] ${item.commenter} æ¼æç« ã${title}ã`;
li.appendChild(a);
if (item.visibility === "public") {
li.appendChild(document.createTextNode("çè¨ï¼"));
const br = document.createElement("br");
li.appendChild(br);
li.appendChild(document.createTextNode(item.content));
} else {
li.appendChild(
document.createTextNode("ç¼è¡¨äºä¸åç§å¯çè¨")
);
}
fragment.appendChild(li);
});
ul.appendChild(fragment);
} catch (err) {
console.error("pixLatestComment load failed", err);
}
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", loadLatestComment);
} else {
loadLatestComment();
}
})();
</script>
</div>
<div class="hslice box" data-identifier="pixHits" id="counter">
<h4 class="box-title entry-title">åè§äººæ°£</h4>
<div class="box-text entry-content">
<ul>
<li>æ¬æ¥äººæ°£ï¼<span id="blog_hit_daily"></span></li>
<li>ç´¯ç©äººæ°£ï¼<span id="blog_hit_total"></span></li>
</ul>
</div>
<script>
(function () {
async function loadPixHits() {
const box = document.querySelector("#counter");
if (!box) return;
const dailyEl = box.querySelector("#blog_hit_daily");
const totalEl = box.querySelector("#blog_hit_total");
if (!dailyEl || !totalEl) return;
// é¿å
éè¤è¼å
¥
if (box.dataset.loaded) return;
box.dataset.loaded = "1";
try {
const res = await fetch("/blog/get-widget-data?name=pixHits", {
method: "GET",
headers: {
"Accept": "application/json"
}
});
const json = await res.json();
if (json.code !== 0 || !json.data) return;
const data = json.data;
dailyEl.textContent = data.views_today ?? "0";
totalEl.textContent = data.views_total ?? "0";
} catch (err) {
console.error("pixHits load failed", err);
}
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", loadPixHits);
} else {
loadPixHits();
}
})();
</script>
</div>
</div>
<div id="links-row-2">
<div id="sticky-sidebar-ad"></div>
</div>
</div>
</div>
</div>
<div id="footer">
</div>
<img src="/api/track/pv?postId=17346491535" alt="Blog Stats" width="1" height="1" style="display:none;" />
<script type="text/javascript" async src="https://static.1px.tw/blog/v1p2/js/stats.min.js?v=1788288265"></script>
</div>
<div id="extradiv11"></div>
<div id="extradiv10"></div>
<div id="extradiv9"></div>
<div id="extradiv8"></div>
</div>
<div id="extradiv7"></div>
<div id="extradiv6"></div>
<div id="extradiv5"></div>
<div id="extradiv4"></div>
</div>
<div id="extradiv3"></div>
<div id="extradiv2"></div>
<div id="extradiv1"></div>
<div id="extradiv0"></div>
</div>
</div>
<footer
style="
padding: 16px;
color: #777;
font-size: 13px;
line-height: 1.6;
text-align: center;
"
>
<span>© 2026 <a href="https://www.pixnet.net" style="color: inherit; text-decoration: none;">PIXNET</a></span>
<span aria-hidden="true">ï½</span>
<span>æç« èåçæ¬å©å±¬åä½è
ææ</span>
<span aria-hidden="true">ï½</span>
<a href="https://account.pixnet.tw/privacy" style="color: inherit; text-decoration: none;">é±ç§æ¬æ¿ç</a>
<span aria-hidden="true">ï½</span>
<a href="https://account.pixnet.tw/regulation" style="color: inherit; text-decoration: none;">æåè²æ</a>
</footer>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TRLQMPKX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<!-- Pixnet SDK -->
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function () {
// datalayer push event
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'hydration_complete'
})
});
</script>
<!-- End Pixnet SDK -->
<div
x-data="adultWarning()"
x-init="init()"
x-show="visible"
x-cloak
class="aw-overlay"
:class="{ 'mobile': isMobile }"
>
<div class="aw-modal">
<div class="aw-icon">
â ï¸
</div>
<h2 class="aw-title">æäººå
§å®¹æé</h2>
<p class="aw-desc">
æ¬é¨è½æ ¼å
§å®¹å
é年滿åå
«æ²è
ç覽ã<br>
è¥æ¨æªæ»¿åå
«æ²ï¼è«ç«å³é¢éã
</p>
<p class="aw-sub">
已滿åå
«æ²è
ï¼äº¦è«å¿å°å
§å®¹æä¾çµ¦æªæå¹´äººå£«ã
</p>
<div class="aw-actions">
<button class="aw-btn primary" @click="accept()">æå·²æ»¿18æ²</button>
<button class="aw-btn secondary" @click="decline()">é¢é</button>
</div>
</div>
</div>
<script>
document.addEventListener('alpine:init', () => {
Alpine.data('adultWarning', () => ({
visible: false,
isMobile: false,
storageKey: 'adult_warning_accepted_at',
init() {
this.isMobile = window.innerWidth < 768;
if (!window.PIXNET?.options?.AdultWarning) return;
const ts = localStorage.getItem(this.storageKey);
if (ts && Date.now() - parseInt(ts) < 4 * 60 * 60 * 1000) return;
this.visible = true;
// ð 鲿¢èæ¯æ»¾å
document.body.classList.add('modal-open');
},
accept() {
localStorage.setItem(this.storageKey, Date.now().toString());
this.close();
},
decline() {
window.location.href = 'https://www.pixnet.net/'; // æå
¶ä»å®å
¨çç¶²ç«
},
close() {
this.visible = false;
document.body.classList.remove('modal-open');
}
}))
})
</script>
<!-- end of adult warning -->
<!-- PIXNET Tracking -->
<script async type="text/javascript" src="https://static.1px.tw/blog/v1p2/lib/tracking.min.js?v=1788288265"></script>
<!-- End PIXNET Tracking -->
</body>
</html>
| # |
Url |
Url |
Source |
Date |
| 1 |
https://iamcuteegirl.pixnet.net/bl… |
|
2026-10-19 11:29:33 |
| 2 |
https://www.texarkanatwins.com/%25… |
|
2026-10-19 11:29:32 |
| 3 |
https://www.texarkanatwins.com/%25… |
|
2026-10-19 11:29:31 |
| 4 |
https://www.lysegarden.se/errorpag… |
|
2026-10-19 11:29:29 |
| 5 |
https://www.texarkanatwins.com/%25… |
|
2026-10-19 11:29:28 |
| 6 |
https://www.thebolditalic.com/?gi=… |
|
2026-10-19 11:29:26 |
| 7 |
https://auth.mediacorp.sg/u/login?… |
|
2026-10-19 11:29:26 |
| 8 |
https://www.texarkanatwins.com/%25… |
|
2026-10-19 11:29:26 |
| 9 |
https://www.texarkanatwins.com/%25… |
|
2026-10-19 11:29:25 |
| 10 |
https://auth.acog.org/OAuth/SignIn… |
|
2026-10-19 11:29:25 |
| 11 |
https://www.thebolditalic.com/?gi=… |
|
2026-10-19 11:29:25 |
| 12 |
https://www.texarkanatwins.com/%25… |
|
2026-10-19 11:29:25 |
| 13 |
https://www.thebolditalic.com/?gi=… |
|
2026-10-19 11:29:24 |
| 14 |
https://www.texarkanatwins.com/%25… |
|
2026-10-19 11:29:24 |
| 15 |
https://www.texarkanatwins.com/%25… |
|
2026-10-19 11:29:23 |
| 16 |
https://www.texarkanatwins.com/%25… |
|
2026-10-19 11:29:22 |
| 17 |
https://auth.mediacorp.sg/u/login?… |
|
2026-10-19 11:29:22 |
| 18 |
https://www.texarkanatwins.com/%25… |
|
2026-10-19 11:29:20 |
| 19 |
https://www.texarkanatwins.com/%25… |
|
2026-10-19 11:29:19 |
| 20 |
https://www.texarkanatwins.com/%25… |
|
2026-10-19 11:29:18 |