瀏覽代碼

fix ios appstore url

guoziyun 11 月之前
父節點
當前提交
8494a85d54
共有 9 個文件被更改,包括 903 次插入808 次删除
  1. 1 1
      routes/v2/share.js
  2. 75 52
      routes/v2/subscribe.ejs
  3. 126 126
      views/info.ejs
  4. 423 378
      views/v2/about.ejs
  5. 274 247
      views/v2/app.ejs
  6. 1 1
      views/v2/detail.ejs
  7. 1 1
      views/v2/faq.ejs
  8. 1 1
      views/v2/how-to-color-online.ejs
  9. 1 1
      views/v2/index.ejs

+ 1 - 1
routes/v2/share.js

@@ -21,7 +21,7 @@ router.get('/:id', function (req, res, next) {
     if (userAgent) {
       const ua = userAgent.toLowerCase();
       if (ua.includes('iphone') || ua.includes('ipad') || ua.includes('ipod')) {
-        downlink = 'itms-apps://itunes.apple.com/app/id1575480118?action=write-review';
+        downlink = 'itms-apps://itunes.apple.com/app/id1575480118';
       } else if (ua.includes('android')) {
         downlink = 'https://play.google.com/store/apps/details?id=com.pcoloring.art.puzzle.color.by.number&pcampaignid=web_share';
       }

+ 75 - 52
routes/v2/subscribe.ejs

@@ -1,5 +1,6 @@
 <!DOCTYPE html>
 <html lang="en">
+
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -17,7 +18,7 @@
         a {
             text-decoration: none;
         }
-        
+
         body {
             font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
             line-height: 1.6;
@@ -26,7 +27,7 @@
             margin: 0;
             padding: 0;
         }
-        
+
         .email-container {
             max-width: 600px;
             margin: 0 auto;
@@ -35,56 +36,56 @@
             overflow: hidden;
             box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
         }
-        
+
         .header {
             background-color: var(--primary-color);
             color: white;
             text-align: center;
             padding: 30px 20px;
         }
-        
+
         .header h1 {
             margin: 0;
             font-size: 1.8rem;
         }
-        
+
         .content {
             padding: 30px 20px;
         }
-        
+
         .welcome-message {
             margin-bottom: 30px;
         }
-        
+
         .welcome-message h2 {
             color: var(--secondary-color);
             margin-bottom: 15px;
         }
-        
+
         .coloring-pages-grid {
             display: grid;
             grid-template-columns: repeat(2, 1fr);
             gap: 15px;
             margin: 30px 0;
         }
-        
+
         .coloring-page {
             border-radius: 8px;
             overflow: hidden;
             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
             transition: transform 0.3s ease;
         }
-        
+
         .coloring-page:hover {
             transform: translateY(-5px);
         }
-        
+
         .coloring-page img {
             width: 100%;
             height: 200px;
             object-fit: cover;
         }
-        
+
         .coloring-page h4 {
             background-color: var(--secondary-color);
             color: white;
@@ -93,7 +94,7 @@
             margin: 0;
             font-size: 0.9rem;
         }
-        
+
         .cta-buttons {
             display: flex;
             flex-wrap: wrap;
@@ -101,7 +102,7 @@
             justify-content: center;
             margin: 30px 0;
         }
-        
+
         .cta-button {
             background-color: var(--accent-color);
             color: var(--text-color);
@@ -112,11 +113,11 @@
             display: inline-block;
             transition: background-color 0.3s ease;
         }
-        
+
         .cta-button:hover {
             background-color: #ffc14d;
         }
-        
+
         .app-button {
             background-color: var(--secondary-color);
             color: white;
@@ -130,16 +131,16 @@
             min-width: 200px;
             transition: background-color 0.3s ease;
         }
-        
+
         .app-button:hover {
             background-color: #3aa39c;
         }
-        
+
         .app-button svg {
             width: 20px;
             height: 20px;
         }
-        
+
         .footer {
             background-color: var(--text-color);
             color: white;
@@ -147,16 +148,16 @@
             padding: 20px;
             font-size: 0.9rem;
         }
-        
+
         .footer p {
             margin: 5px 0;
         }
-        
+
         @media (max-width: 480px) {
             .coloring-pages-grid {
                 grid-template-columns: 1fr;
             }
-            
+
             .cta-buttons {
                 flex-direction: column;
                 align-items: center;
@@ -164,83 +165,105 @@
         }
     </style>
 </head>
+
 <body>
     <div class="email-container">
         <div class="header">
             <h1>Welcome to Art Number Coloring!</h1>
         </div>
-        
+
         <div class="content">
             <div class="welcome-message">
                 <h2>Hello from our coloring community!</h2>
-                <p>Thank you for subscribing to Art Number Coloring! We're excited to have you join our creative community.</p>
-                <p>As a welcome gift, here's your free 18-page Eclectic Coloring Book with themes like architecture and kawaii.</p>
+                <p>Thank you for subscribing to Art Number Coloring! We're excited to have you join our creative
+                    community.</p>
+                <p>As a welcome gift, here's your free 18-page Eclectic Coloring Book with themes like architecture and
+                    kawaii.</p>
                 <p>Click the button below to download your coloring book:</p>
                 <a href="https://art.pcoloring.com/art-coloring-book.pdf" class="cta-button">Download Coloring Book</a>
             </div>
-            
+
             <div>
                 <h3>Explore Our Favorite Coloring Pages</h3>
-                <p>Here are some of our most popular coloring pages for you to enjoy. Click on any image to download and start coloring!</p>
-                
+                <p>Here are some of our most popular coloring pages for you to enjoy. Click on any image to download and
+                    start coloring!</p>
+
                 <div class="coloring-pages-grid">
-                    <a href="https://art.pcoloring.com/coloring-page/685ba37c2fb65d38d9aeea9a" class="coloring-page" target="_blank">
-                        <img src="https://d2mb6s2cy1zg97.cloudfront.net/thumbs/coloring-page/page/480/685ba37c2fb65d38d9aeea9a.webp" alt="Couple Coloring Page">
+                    <a href="https://art.pcoloring.com/coloring-page/685ba37c2fb65d38d9aeea9a" class="coloring-page"
+                        target="_blank">
+                        <img src="https://d2mb6s2cy1zg97.cloudfront.net/thumbs/coloring-page/page/480/685ba37c2fb65d38d9aeea9a.webp"
+                            alt="Couple Coloring Page">
                         <h4>Sweet Couple</h4>
                     </a>
-                    <a href="https://art.pcoloring.com/coloring-page/685417b1e6830677ae9d7e22" class="coloring-page" target="_blank">
-                        <img src="https://d2mb6s2cy1zg97.cloudfront.net/thumbs/coloring-page/page/480/685417b1e6830677ae9d7e22.webp" alt="Flower Coloring Page">
+                    <a href="https://art.pcoloring.com/coloring-page/685417b1e6830677ae9d7e22" class="coloring-page"
+                        target="_blank">
+                        <img src="https://d2mb6s2cy1zg97.cloudfront.net/thumbs/coloring-page/page/480/685417b1e6830677ae9d7e22.webp"
+                            alt="Flower Coloring Page">
                         <h4>Flower</h4>
                     </a>
-                    <a href="https://art.pcoloring.com/coloring-page/62b85f0f79dbae3f38eee1e2" class="coloring-page" target="_blank">
-                        <img src="https://d2mb6s2cy1zg97.cloudfront.net/thumbs/coloring-page/page/480/62b85f0f79dbae3f38eee1e2.webp" alt="Tiger Coloring Page">
+                    <a href="https://art.pcoloring.com/coloring-page/62b85f0f79dbae3f38eee1e2" class="coloring-page"
+                        target="_blank">
+                        <img src="https://d2mb6s2cy1zg97.cloudfront.net/thumbs/coloring-page/page/480/62b85f0f79dbae3f38eee1e2.webp"
+                            alt="Tiger Coloring Page">
                         <h4>King of Forest</h4>
                     </a>
-                    <a href="https://art.pcoloring.com/coloring-page/6850e5351908c1750d297cae" class="coloring-page" target="_blank">
-                        <img src="https://d2mb6s2cy1zg97.cloudfront.net/thumbs/coloring-page/page/480/6850e5351908c1750d297cae.webp" alt="Icecream Coloring Page">
+                    <a href="https://art.pcoloring.com/coloring-page/6850e5351908c1750d297cae" class="coloring-page"
+                        target="_blank">
+                        <img src="https://d2mb6s2cy1zg97.cloudfront.net/thumbs/coloring-page/page/480/6850e5351908c1750d297cae.webp"
+                            alt="Icecream Coloring Page">
                         <h4>Icecream</h4>
                     </a>
-                    <a href="https://art.pcoloring.com/coloring-page/67ca444f5f45a930454abd61" class="coloring-page" target="_blank">
-                        <img src="https://d2mb6s2cy1zg97.cloudfront.net/thumbs/coloring-page/page/480/67ca444f5f45a930454abd61.webp" alt="Fantasy Coloring Page">
+                    <a href="https://art.pcoloring.com/coloring-page/67ca444f5f45a930454abd61" class="coloring-page"
+                        target="_blank">
+                        <img src="https://d2mb6s2cy1zg97.cloudfront.net/thumbs/coloring-page/page/480/67ca444f5f45a930454abd61.webp"
+                            alt="Fantasy Coloring Page">
                         <h4>Dryad</h4>
                     </a>
-                    <a href="https://art.pcoloring.com/coloring-page/67d106b75f45a930454d2307" class="coloring-page" target="_blank">
-                        <img src="https://d2mb6s2cy1zg97.cloudfront.net/thumbs/coloring-page/page/480/67d106b75f45a930454d2307.webp" alt="Zentangle Coloring Page">
+                    <a href="https://art.pcoloring.com/coloring-page/67d106b75f45a930454d2307" class="coloring-page"
+                        target="_blank">
+                        <img src="https://d2mb6s2cy1zg97.cloudfront.net/thumbs/coloring-page/page/480/67d106b75f45a930454d2307.webp"
+                            alt="Zentangle Coloring Page">
                         <h4>Fish Zentangle</h4>
                     </a>
                 </div>
             </div>
-            
+
             <div>
                 <h3>Download Our App</h3>
-                <p>Take your coloring experience to the next level with our mobile app. Available for both iOS and Android devices.</p>
-                
+                <p>Take your coloring experience to the next level with our mobile app. Available for both iOS and
+                    Android devices.</p>
+
                 <div class="cta-buttons">
-                    <a href="itms-apps://itunes.apple.com/app/id1575480118?action=write-review" class="app-button" target="_blank">
+                    <a href="itms-apps://itunes.apple.com/app/id1575480118" class="app-button" target="_blank">
                         <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white">
-                            <path d="M18.41 16.24c-.34-.48-.79-.91-1.22-1.32-.43-.42-.86-.83-1.29-1.22-.44-.39-.88-.78-1.3-1.18-.43-.4-.87-.78-1.31-1.17-.44-.39-.89-.77-1.33-1.14-.44-.38-.88-.76-1.33-1.13-.45-.37-.9-.74-1.35-1.11-.45-.37-.91-.74-1.36-1.11C6.9 7.31 6.46 7 6 7c-.41 0-.81.11-1.18.33-.37.22-.68.53-.93.91-.25.38-.44.8-.57 1.26-.13.46-.2 1.04-.2 1.75v2.8c0 .71.07 1.29.2 1.75.13.46.32.88.57 1.26.25.38.56.69.93.91.37.22.77.33 1.18.33.46 0 .9-.12 1.32-.35.42-.23.85-.49 1.28-.77.43-.28.87-.58 1.31-.9.44-.32.88-.65 1.32-.99.44-.34.87-.69 1.3-1.05.43-.36.87-.72 1.3-1.09.44-.37.89-.73 1.34-1.09.45-.36.9-.73 1.36-1.09.45-.36.9-.73 1.35-1.09.44-.36.89-.72 1.33-1.08zm-6.41 5.76c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6z"/>
+                            <path
+                                d="M18.41 16.24c-.34-.48-.79-.91-1.22-1.32-.43-.42-.86-.83-1.29-1.22-.44-.39-.88-.78-1.3-1.18-.43-.4-.87-.78-1.31-1.17-.44-.39-.89-.77-1.33-1.14-.44-.38-.88-.76-1.33-1.13-.45-.37-.9-.74-1.35-1.11-.45-.37-.91-.74-1.36-1.11C6.9 7.31 6.46 7 6 7c-.41 0-.81.11-1.18.33-.37.22-.68.53-.93.91-.25.38-.44.8-.57 1.26-.13.46-.2 1.04-.2 1.75v2.8c0 .71.07 1.29.2 1.75.13.46.32.88.57 1.26.25.38.56.69.93.91.37.22.77.33 1.18.33.46 0 .9-.12 1.32-.35.42-.23.85-.49 1.28-.77.43-.28.87-.58 1.31-.9.44-.32.88-.65 1.32-.99.44-.34.87-.69 1.3-1.05.43-.36.87-.72 1.3-1.09.44-.37.89-.73 1.34-1.09.45-.36.9-.73 1.36-1.09.45-.36.9-.73 1.35-1.09.44-.36.89-.72 1.33-1.08zm-6.41 5.76c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6z" />
                         </svg>
                         <span>Download on the App Store</span>
                     </a>
-                    
-                    <a href="https://play.google.com/store/apps/details?id=com.pcoloring.art.puzzle.color.by.number&pcampaignid=web_share" class="app-button" target="_blank">
+
+                    <a href="https://play.google.com/store/apps/details?id=com.pcoloring.art.puzzle.color.by.number&pcampaignid=web_share"
+                        class="app-button" target="_blank">
                         <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white">
-                            <path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/>
-                            <path d="M7.5 14.5V9.5l6 3z"/>
+                            <path
+                                d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z" />
+                            <path d="M7.5 14.5V9.5l6 3z" />
                         </svg>
                         <span>Get it on Google Play</span>
                     </a>
                 </div>
             </div>
-            
-            <p>We'll be sending you regular updates with new coloring pages, tips, and exclusive offers. If you have any questions, feel free to reply to this email.</p>
+
+            <p>We'll be sending you regular updates with new coloring pages, tips, and exclusive offers. If you have any
+                questions, feel free to reply to this email.</p>
             <p>Happy coloring!</p>
             <p>The Art Number Coloring Team</p>
         </div>
-        
+
         <div class="footer">
             <p>© 2025 Art Number Coloring. All rights reserved.</p>
         </div>
     </div>
 </body>
+
 </html>

+ 126 - 126
views/info.ejs

@@ -23,148 +23,148 @@
 
 <body>
   <%- include('header') %>
-  <section id="about" class="full-screen about-container">
-    <div class="about-content">
-      <div class="section-title">
-        <%= translate.aboutX[lang] %>
-      </div>
-      <div class="company-info" style="padding-bottom: 40px;">
-        <%= translate.companyIntroduction[lang] %>
-      </div>
-      <div class="slideshow-container">
-
-        <div class="mySlides fade">
-          <img src="/assets/icon/color-by-number.webp" alt="color-by-number app"
-            style="width:100%; border-radius: 16px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);">
+    <section id="about" class="full-screen about-container">
+      <div class="about-content">
+        <div class="section-title">
+          <%= translate.aboutX[lang] %>
         </div>
-
-        <div class="mySlides fade">
-          <img src="/assets/icon/jigsaw-puzzle.webp" alt="jigsaw-puzzle app"
-            style="width:100%; border-radius: 16px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);">
+        <div class="company-info" style="padding-bottom: 40px;">
+          <%= translate.companyIntroduction[lang] %>
         </div>
+        <div class="slideshow-container">
 
-        <div class="mySlides fade">
-          <img src="/assets/icon/art-puzzle.webp" alt="art-puzzle app"
-            style="width:100%; border-radius: 16px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);">
-        </div>
+          <div class="mySlides fade">
+            <img src="/assets/icon/color-by-number.webp" alt="color-by-number app"
+              style="width:100%; border-radius: 16px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);">
+          </div>
 
-        <div class="mySlides fade">
-          <img src="/assets/icon/find-difference.webp" alt="find-difference app"
-            style="width:100%; border-radius: 16px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);">
-        </div>
+          <div class="mySlides fade">
+            <img src="/assets/icon/jigsaw-puzzle.webp" alt="jigsaw-puzzle app"
+              style="width:100%; border-radius: 16px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);">
+          </div>
 
-        <div class="mySlides fade">
-          <img src="/assets/icon/soduko.webp" alt="soduko app"
-            style="width:100%; border-radius: 16px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);">
-        </div>
+          <div class="mySlides fade">
+            <img src="/assets/icon/art-puzzle.webp" alt="art-puzzle app"
+              style="width:100%; border-radius: 16px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);">
+          </div>
 
-      </div>
+          <div class="mySlides fade">
+            <img src="/assets/icon/find-difference.webp" alt="find-difference app"
+              style="width:100%; border-radius: 16px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);">
+          </div>
 
-      <div>
-  </section>
-
-
-  <section id="app" class="full-screen app-container">
-    <div class="left">
-      <div style="display: flex;">
-        <img class="app-icon" src="/assets/icon/logo_640x640.webp" alt="app icon">
-        <ul style="font-size: 18px;">
-          <li>
-            <%= translate.goodExperience[lang] %>
-          </li>
-          <li>
-            <%= translate.massivePictures[lang] %>
-          </li>
-          <li>
-            <%= translate.dailyUpdate[lang] %>
-          </li>
-          <li>
-            <%= translate.easyShare[lang] %>
-          </li>
-          <li>
-            <%= translate.offlineColoring[lang] %>
-          </li>
-        </ul>
-      </div>
-      <div class="app-name">Art Number Coloring</div>
-      <p class="app-description">
-        <%= translate.appIntroduction[lang] %>
-      </p>
-
-      <a class="app-download-btn" href="itms-apps://itunes.apple.com/app/id1575480118?action=write-review"><img
-          src="/assets/icon/icon-app-store.svg" alt="app store icon"></a>
-      <a class="app-download-btn"
-        href="https://play.google.com/store/apps/details?id=com.pcoloring.art.puzzle.color.by.number&pcampaignid=web_share"><img
-          src="/assets/icon/icon-google-play.svg" alt="google play icon"></a>
-    </div>
-    <div class="right">
-      <div id="lottie" style="width: 80%"></div>
-    </div>
-  </section>
-
-
-
-  <section id="contact" class="full-screen contact-container">
-    <div class="contact-content">
-      <div class="section-title" style="padding: 0px 0px 60px 0px;">
-        <%= translate.contactX[lang] %>
-      </div>
-      <div style="font-size: 20px;">
-        <%= translate.questionAndPartnership[lang] %>
+          <div class="mySlides fade">
+            <img src="/assets/icon/soduko.webp" alt="soduko app"
+              style="width:100%; border-radius: 16px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);">
+          </div>
+
+        </div>
+
+        <div>
+    </section>
+
+
+    <section id="app" class="full-screen app-container">
+      <div class="left">
+        <div style="display: flex;">
+          <img class="app-icon" src="/assets/icon/logo_640x640.webp" alt="app icon">
+          <ul style="font-size: 18px;">
+            <li>
+              <%= translate.goodExperience[lang] %>
+            </li>
+            <li>
+              <%= translate.massivePictures[lang] %>
+            </li>
+            <li>
+              <%= translate.dailyUpdate[lang] %>
+            </li>
+            <li>
+              <%= translate.easyShare[lang] %>
+            </li>
+            <li>
+              <%= translate.offlineColoring[lang] %>
+            </li>
+          </ul>
+        </div>
+        <div class="app-name">Art Number Coloring</div>
+        <p class="app-description">
+          <%= translate.appIntroduction[lang] %>
+        </p>
+
+        <a class="app-download-btn" href="itms-apps://itunes.apple.com/app/id1575480118"><img
+            src="/assets/icon/icon-app-store.svg" alt="app store icon"></a>
+        <a class="app-download-btn"
+          href="https://play.google.com/store/apps/details?id=com.pcoloring.art.puzzle.color.by.number&pcampaignid=web_share"><img
+            src="/assets/icon/icon-google-play.svg" alt="google play icon"></a>
       </div>
-      <p style="font-size: 20px;">
-        <%= translate.happyToHear[lang] %>
-      </p>
-      <div style="display: flex;">
-        <img width="32px" src="/assets/svg/email.svg" alt="email">
-        <a href="mailto:icolor_support@jccy-tech.com">
-          <%= translate.supportOrFeedback[lang] %>
-        </a>
+      <div class="right">
+        <div id="lottie" style="width: 80%"></div>
       </div>
+    </section>
+
+
+
+    <section id="contact" class="full-screen contact-container">
+      <div class="contact-content">
+        <div class="section-title" style="padding: 0px 0px 60px 0px;">
+          <%= translate.contactX[lang] %>
+        </div>
+        <div style="font-size: 20px;">
+          <%= translate.questionAndPartnership[lang] %>
+        </div>
+        <p style="font-size: 20px;">
+          <%= translate.happyToHear[lang] %>
+        </p>
+        <div style="display: flex;">
+          <img width="32px" src="/assets/svg/email.svg" alt="email">
+          <a href="mailto:icolor_support@jccy-tech.com">
+            <%= translate.supportOrFeedback[lang] %>
+          </a>
+        </div>
 
-      <div style="display: flex; padding-top: 40px;">
-        <img width="28px" src="/assets/svg/location.svg" alt="location">
-        <div style="font-size: 24px; font-weight: bold; padding-left: 10px;">
-          <%= translate.beijing[lang] %>
+        <div style="display: flex; padding-top: 40px;">
+          <img width="28px" src="/assets/svg/location.svg" alt="location">
+          <div style="font-size: 24px; font-weight: bold; padding-left: 10px;">
+            <%= translate.beijing[lang] %>
+          </div>
         </div>
+        <p>
+          <%= translate.addr[lang] %>
+        </p>
       </div>
-      <p>
-        <%= translate.addr[lang] %>
-      </p>
-    </div>
-  </section>
-
-
-
-  <script>
-    // 当页面加载完成后执行
-    document.addEventListener('DOMContentLoaded', function () {
-      // 加载 Lottie 动画
-      lottie.loadAnimation({
-        container: document.getElementById('lottie'),
-        renderer: 'svg',
-        loop: true,
-        autoplay: true,
-        path: '/assets/lottie/splash/data.json'
-      });
-    });
+    </section>
 
-    let slideIndex = 0;
-    showSlides();
 
-    function showSlides() {
-      let i;
-      let slides = document.getElementsByClassName("mySlides");
-      for (i = 0; i < slides.length; i++) {
-        slides[i].style.display = "none";
+
+    <script>
+      // 当页面加载完成后执行
+      document.addEventListener('DOMContentLoaded', function () {
+        // 加载 Lottie 动画
+        lottie.loadAnimation({
+          container: document.getElementById('lottie'),
+          renderer: 'svg',
+          loop: true,
+          autoplay: true,
+          path: '/assets/lottie/splash/data.json'
+        });
+      });
+
+      let slideIndex = 0;
+      showSlides();
+
+      function showSlides() {
+        let i;
+        let slides = document.getElementsByClassName("mySlides");
+        for (i = 0; i < slides.length; i++) {
+          slides[i].style.display = "none";
+        }
+        slideIndex++;
+        if (slideIndex > slides.length) { slideIndex = 1 }
+        slides[slideIndex - 1].style.display = "block";
+        setTimeout(showSlides, 3000); // 更改图片间隔时间
       }
-      slideIndex++;
-      if (slideIndex > slides.length) { slideIndex = 1 }
-      slides[slideIndex - 1].style.display = "block";
-      setTimeout(showSlides, 3000); // 更改图片间隔时间
-    }
 
-  </script>
+    </script>
 
 
 </body>

+ 423 - 378
views/v2/about.ejs

@@ -1,35 +1,37 @@
 <!DOCTYPE html>
 <html lang="en">
+
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>About - Art Number Coloring</title>
     <link rel="icon" href="/assets/icon/favicon.ico" type="image/x-icon">
     <link rel="stylesheet" href="/stylesheets/v2/styles.css">
-    <style>        
+    <style>
         :root {
-            --art-color: #ff9f1c; /* 用于Art Number Coloring相关的高亮颜色 */
-        }
-
-      .about-grid {
-          display: grid;
-          grid-template-columns: 1fr 1fr;
-          gap: 40px;
-          margin-top: 30px;
-      }
-      
-      .about-item {
-          background-color: var(--background-color);
-          border-radius: 10px;
-          padding: 25px;
-          transition: all 0.3s ease;
-      }
-      
-      .about-item:hover {
-          transform: translateY(-5px);
-          box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
-      }
-        
+            --art-color: #ff9f1c;
+            /* 用于Art Number Coloring相关的高亮颜色 */
+        }
+
+        .about-grid {
+            display: grid;
+            grid-template-columns: 1fr 1fr;
+            gap: 40px;
+            margin-top: 30px;
+        }
+
+        .about-item {
+            background-color: var(--background-color);
+            border-radius: 10px;
+            padding: 25px;
+            transition: all 0.3s ease;
+        }
+
+        .about-item:hover {
+            transform: translateY(-5px);
+            box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
+        }
+
         .brand-image {
             margin: 30px 0;
             border-radius: 10px;
@@ -37,153 +39,153 @@
             box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
             transition: transform 0.3s ease;
         }
-        
+
         .brand-image:hover {
             transform: scale(1.02);
         }
-        
+
         .brand-image img {
             width: 100%;
             height: auto;
             max-height: 400px;
             object-fit: cover;
         }
-      
-      .timeline {
-          position: relative;
-          margin: 50px 0;
-      }
-      
-      .timeline::before {
-          content: '';
-          position: absolute;
-          top: 0;
-          bottom: 0;
-          left: 50%;
-          width: 2px;
-          background-color: var(--secondary-color);
-          transform: translateX(-50%);
-      }
-      
-      .timeline-item {
-          position: relative;
-          margin-bottom: 40px;
-          padding: 20px;
-          width: 50%;
-      }
-      
-      .timeline-item:nth-child(even) {
-          left: 50%;
-          padding-left: 40px;
-      }
-      
-      .timeline-item:nth-child(odd) {
-          padding-right: 40px;
-          text-align: right;
-      }
-      
-      .timeline-item::after {
-          content: '';
-          position: absolute;
-          top: 20px;
-          width: 20px;
-          height: 20px;
-          border-radius: 50%;
-          background-color: var(--primary-color);
-          z-index: 1;
-      }
-      
-      .timeline-item:nth-child(even)::after {
-          left: -10px;
-      }
-      
-      .timeline-item:nth-child(odd)::after {
-          right: -10px;
-      }
+
+        .timeline {
+            position: relative;
+            margin: 50px 0;
+        }
+
+        .timeline::before {
+            content: '';
+            position: absolute;
+            top: 0;
+            bottom: 0;
+            left: 50%;
+            width: 2px;
+            background-color: var(--secondary-color);
+            transform: translateX(-50%);
+        }
+
+        .timeline-item {
+            position: relative;
+            margin-bottom: 40px;
+            padding: 20px;
+            width: 50%;
+        }
+
+        .timeline-item:nth-child(even) {
+            left: 50%;
+            padding-left: 40px;
+        }
+
+        .timeline-item:nth-child(odd) {
+            padding-right: 40px;
+            text-align: right;
+        }
+
+        .timeline-item::after {
+            content: '';
+            position: absolute;
+            top: 20px;
+            width: 20px;
+            height: 20px;
+            border-radius: 50%;
+            background-color: var(--primary-color);
+            z-index: 1;
+        }
+
+        .timeline-item:nth-child(even)::after {
+            left: -10px;
+        }
+
+        .timeline-item:nth-child(odd)::after {
+            right: -10px;
+        }
 
         /* Art Number Coloring相关里程碑的特殊样式 */
         .timeline-item.art-related::after {
             background-color: var(--art-color);
             transform: scale(1.3);
         }
-        
+
         .timeline-item.art-related .timeline-year {
             color: var(--art-color);
         }
-      
-      .timeline-year {
-          font-size: 1.2rem;
-          font-weight: 700;
-          color: var(--primary-color);
-          margin-bottom: 10px;
-      }
+
+        .timeline-year {
+            font-size: 1.2rem;
+            font-weight: 700;
+            color: var(--primary-color);
+            margin-bottom: 10px;
+        }
 
         .timeline-metric {
             font-weight: 600;
             color: var(--secondary-color);
         }
-        
+
         .timeline-item.art-related .timeline-metric {
             color: var(--art-color);
         }
-      
-      .games-grid {
-          display: grid;
-          grid-template-columns: 1fr 1fr;
-          gap: 30px;
-          margin-top: 30px;
-      }
-      
-      .game-card {
-          background-color: var(--background-color);
-          border-radius: 10px;
-          overflow: hidden;
-          transition: all 0.3s ease;
-      }
-      
-      .game-card:hover {
-          transform: translateY(-5px);
-          box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
-      }
-      
-      .game-image {
-          height: 260px;
-          background-color: #f0f0f0;
-          overflow: hidden;
-      }
-      
-      .game-image img {
-          width: 100%;
-          height: 100%;
-          object-fit: cover;
-          transition: transform 0.5s ease;
-      }
-      
-      .game-card:hover .game-image img {
-          transform: scale(1.05);
-      }
-      
-      .game-content {
-          padding: 20px;
-      }
-      
-      .game-title {
-          font-weight: 600;
-          margin-bottom: 5px;
-          color: var(--text-color);
-      }
-      
-      .game-desc {
-          font-size: 0.9rem;
-          color: var(--light-text);
-      }
-
-       .game-badge-container {
+
+        .games-grid {
+            display: grid;
+            grid-template-columns: 1fr 1fr;
+            gap: 30px;
+            margin-top: 30px;
+        }
+
+        .game-card {
+            background-color: var(--background-color);
+            border-radius: 10px;
+            overflow: hidden;
+            transition: all 0.3s ease;
+        }
+
+        .game-card:hover {
+            transform: translateY(-5px);
+            box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
+        }
+
+        .game-image {
+            height: 260px;
+            background-color: #f0f0f0;
+            overflow: hidden;
+        }
+
+        .game-image img {
+            width: 100%;
+            height: 100%;
+            object-fit: cover;
+            transition: transform 0.5s ease;
+        }
+
+        .game-card:hover .game-image img {
+            transform: scale(1.05);
+        }
+
+        .game-content {
+            padding: 20px;
+        }
+
+        .game-title {
+            font-weight: 600;
+            margin-bottom: 5px;
+            color: var(--text-color);
+        }
+
+        .game-desc {
+            font-size: 0.9rem;
+            color: var(--light-text);
+        }
+
+        .game-badge-container {
             display: flex;
             justify-content: start;
             gap: 20px;
         }
-        
+
         .game-badge {
             display: flex;
             justify-content: center;
@@ -195,34 +197,34 @@
             margin: 10px 0 0 0;
             transition: transform 0.3s ease;
         }
-        
+
         .game-badge:hover {
             transform: translateY(-5px);
         }
-      
+
         .contact-info {
             text-align: start;
             margin: 30px 0;
         }
-        
+
         .contact-email {
             display: flex;
             align-items: center;
             margin-bottom: 20px;
         }
-        
+
         .contact-email a {
             color: var(--secondary-color);
             text-decoration: none;
             font-weight: 500;
             transition: all 0.3s ease;
         }
-        
+
         .contact-email a:hover {
             color: var(--primary-color);
             text-decoration: underline;
         }
-        
+
         .contact-address {
             font-size: 0.9rem;
             color: var(--light-text);
@@ -233,249 +235,292 @@
             font-weight: bold;
             color: var(--text-color);
         }
-      
-      @media (max-width: 768px) {
-          h1 {
-              font-size: 1.8rem;
-          }
-          
-          h2 {
-              font-size: 1.5rem;
-          }
-          
-          section {
-              padding: 20px;
-          }
-          
-          .about-grid {
-              grid-template-columns: 1fr;
-          }
-
-          .games-grid {
-              grid-template-columns: 1fr;
-          }
-          
-          .timeline::before {
-              left: 20px;
-          }
-          
-          .timeline-item {
-              width: 100%;
-              padding-left: 50px;
-              padding-right: 0;
-              text-align: left;
-          }
-          
-          .timeline-item:nth-child(even) {
-              left: 0;
-          }
-          
-          .timeline-item:nth-child(odd)::after,
-          .timeline-item:nth-child(even)::after {
-              left: 10px;
-          }
-      }
+
+        @media (max-width: 768px) {
+            h1 {
+                font-size: 1.8rem;
+            }
+
+            h2 {
+                font-size: 1.5rem;
+            }
+
+            section {
+                padding: 20px;
+            }
+
+            .about-grid {
+                grid-template-columns: 1fr;
+            }
+
+            .games-grid {
+                grid-template-columns: 1fr;
+            }
+
+            .timeline::before {
+                left: 20px;
+            }
+
+            .timeline-item {
+                width: 100%;
+                padding-left: 50px;
+                padding-right: 0;
+                text-align: left;
+            }
+
+            .timeline-item:nth-child(even) {
+                left: 0;
+            }
+
+            .timeline-item:nth-child(odd)::after,
+            .timeline-item:nth-child(even)::after {
+                left: 10px;
+            }
+        }
     </style>
 </head>
 
 <!-- Google tag (gtag.js) -->
 <script async src="https://www.googletagmanager.com/gtag/js?id=G-JBGGVGLHTP"></script>
 <script>
-  window.dataLayer = window.dataLayer || [];
-  function gtag() { dataLayer.push(arguments); }
-  gtag('js', new Date());
+    window.dataLayer = window.dataLayer || [];
+    function gtag() { dataLayer.push(arguments); }
+    gtag('js', new Date());
 
-  gtag('config', 'G-JBGGVGLHTP');
+    gtag('config', 'G-JBGGVGLHTP');
 </script>
 
 
 <body>
-  <%- include('header') %>
-    
-  <main class="container">
-    <section>
-      <h1>About Us</h1>
-      <p>Welcome to Art Number Coloring, your go-to destination for high-quality, free printable coloring pages and digital coloring experiences. We're passionate about bringing creativity and joy to people of all ages through the art of coloring.</p>
-            
-        <!-- 新增品牌理念图片 -->
-        <div class="brand-image">
-            <img src="/assets/images/brand.webp" alt="People enjoying coloring together">
-        </div>
-      
-      <div class="about-grid">
-          <div class="about-item">
-              <h3>Our Mission</h3>
-              <p>At Art Number Coloring, our mission is to provide a diverse collection of coloring pages that inspire imagination, reduce stress, and promote relaxation, aiming to onboard 1 million new artists to our platform by 2035. We believe that coloring is not just for kids—it's a therapeutic activity that can bring out the artist in everyone.</p>
-          </div>
-          
-          <div class="about-item">
-              <h3>Our Vision</h3>
-              <p>We envision a world where everyone has access to creative outlets that promote mental well-being and artistic expression. Through our platform, we aim to connect people with beautiful, engaging coloring content that sparks joy and creativity.</p>
-          </div>
-      </div>
-    </section>
-    
-    <section>
-      <h2>About JCCY</h2>
-      <p>JCCY is a company founded in 2015 that specializes in the development of casual entertainment games. Several of our games have been well received by users. Among them, "Coloring Book by Numbers" is one of the most popular coloring by number apps in the world and the most successful ad-driven app, gaining wide recognition.</p>
-      
-      <div class="timeline">
-          <div class="timeline-item">
-              <div class="timeline-year">2015</div>
-              <p>JCCY is founded with a vision to create engaging casual games that bring joy to players worldwide.</p>
-          </div>
-          
-          <div class="timeline-item art-related">
-              <div class="timeline-year">2016</div>
-              <p>Develops and releases "Coloring Book by Numbers", which becomes a global sensation, <span class="timeline-metric">reaching 10 million downloads</span> within two years and winning <span class="timeline-metric">5 international awards</span> for Best Casual Game.</p>
-          </div>
-          
-          <div class="timeline-item">
-              <div class="timeline-year">2020</div>
-              <p>Launched the "Jigsaw Puzzle", a puzzle - based casual puzzle game, which has been highly praised.</p>
-          </div>
-          
-          <div class="timeline-item">
-              <div class="timeline-year">2022</div>
-              <p>Launched "Art Puzzle", a casual art puzzle game, to further expand the product line.</p>
-          </div>
-
-          <div class="timeline-item">
-              <div class="timeline-year">2023</div>
-              <p>Launched "Sudoku" puzzle-solving game and "Find Differences" game, making the product line start to diversify.</p>
-          </div>
-
-          <div class="timeline-item art-related">
-              <div class="timeline-year">2024</div>
-              <p>Introduces premium features to "Coloring Book by Numbers", enhancing the user experience while maintaining free access, resulting in <span class="timeline-metric">a 300% increase in user engagement</span>.</p>
-          </div>
-          
-          <div class="timeline-item art-related">
-              <div class="timeline-year">2025</div>
-              <p>Launches the web version of "Art Number Coloring", bringing high-quality coloring content to a wider audience.</p>
-          </div>
-          
-      </div>
-    </section>
-    
-    <section>
-      <h2>Our Games & Apps</h2>
-      <p>Over the years, JCCY has developed several successful games and apps that have captured the hearts of users worldwide. Here are some of our most popular creations:</p>
-      
-      <div class="games-grid">
-          <div class="game-card">
-              <div class="game-image">
-                  <img src="/assets/icon/color-by-number.webp" alt="Coloring Book by Numbers">
-              </div>
-              <div class="game-content">
-                  <div class="game-title">Coloring Book by Numbers</div>
-                  <div class="game-desc">A popular coloring app that combines the fun of coloring with the challenge of numbers. Available on iOS and Android.</div>
-                  <div class="game-badge-container">
-                    <a href="itms-apps://itunes.apple.com/app/id1575480118?action=write-review" target="_blank" class="game-badge">
-                        <img src="/assets/icon/icon-app-store.svg" alt="Download on the App Store" style="width:100%">
-                    </a>
-                    <a href="https://play.google.com/store/apps/details?id=com.pcoloring.art.puzzle.color.by.number&pcampaignid=web_share" target="_blank" class="game-badge">
-                        <img src="/assets/icon/icon-google-play.svg" alt="Get it on Google Play" style="width:100%">
-                    </a>
-                  </div>
-              </div>
-          </div>
-          
-          <div class="game-card">
-              <div class="game-image">
-                  <img src="/assets/icon/jigsaw-puzzle.webp" alt="Jigaw Puzzle">
-              </div>
-              <div class="game-content">
-                  <div class="game-title">Jigsaw Puzzle</div>
-                  <div class="game-desc">A online jigsaw puzzle games with over 10,000 high-quality images and different difficulty levels are a boon for puzzle enthusiasts.</div>
-                  <div class="game-badge-container">
-                    <a href="https://apps.apple.com/us/app/jigsaw-puzzle-hd-game/id6453471674" target="_blank" class="game-badge">
-                        <img src="/assets/icon/icon-app-store.svg" alt="Download on the App Store" style="width:100%">
-                    </a>
-                    <a href="https://play.google.com/store/apps/details?id=com.pcoloring.puzzle.jigsaw" target="_blank" class="game-badge">
-                        <img src="/assets/icon/icon-google-play.svg" alt="Get it on Google Play" style="width:100%">
-                    </a>
-                  </div>
-              </div>
-          </div>
-
-          <div class="game-card">
-              <div class="game-image">
-                  <img src="/assets/icon/art-puzzle.webp" alt="Art Puzzle">
-              </div>
-              <div class="game-content">
-                  <div class="game-title">Art Puzzle</div>
-                  <div class="game-desc">A brand-new type of art game that combines classic coloring games and jigsaw puzzle games.</div>
-                  <div class="game-badge-container">
-                    <a href="https://apps.apple.com/us/app/jigsaw-art-puzzle-game/id6499138123" target="_blank" class="game-badge">
-                        <img src="/assets/icon/icon-app-store.svg" alt="Download on the App Store" style="width:100%">
-                    </a>
-                    <a href="https://play.google.com/store/apps/details?id=com.pcoloring.jigsaw.art.puzzle" target="_blank" class="game-badge">
-                        <img src="/assets/icon/icon-google-play.svg" alt="Get it on Google Play" style="width:100%">
-                    </a>
-                  </div>
-              </div>
-          </div>
-          
-          <div class="game-card">
-              <div class="game-image">
-                  <img src="/assets/icon/find-difference.webp" alt="Find Difference">
-              </div>
-              <div class="game-content">
-                  <div class="game-title">Find Difference</div>
-                  <div class="game-desc">An interesting and challenging puzzle game that tests your observation skills.</div>
-                   <div class="game-badge-container">
-                    <a href="https://play.google.com/store/apps/details?id=com.find.differences.spot.puzzle" target="_blank" class="game-badge">
-                        <img src="/assets/icon/icon-google-play.svg" alt="Get it on Google Play" style="width:100%">
-                    </a>
-                  </div>
-              </div>
-          </div>
-
-          <div class="game-card">
-              <div class="game-image">
-                  <img src="/assets/icon/soduko.webp" alt="Sudoku Puzzle - Brain Puzzle">
-              </div>
-              <div class="game-content">
-                  <div class="game-title">Sudoku Puzzle</div>
-                  <div class="game-desc">A logic-based number game that trains your brain.</div>
-                  <div class="game-badge-container">
-                    <a href="https://play.google.com/store/apps/details?id=puzzle.sudoku.free.brain.game" target="_blank" class="game-badge">
-                        <img src="/assets/icon/icon-google-play.svg" alt="Get it on Google Play" style="width:100%">
-                    </a>
-                  </div>
-              </div>
-          </div>
-      </div>
-    </section>
-
-    <section>
-      <a href="/contact"><h2>Contact Us</h2></a>
-      <div class="contact-info">
-        <h3>Questions? Partnership?</h3>
-        <p>We'd love to hear from you!</p>
-        
-
-        <div class="contact-email">
-          <img width="32px" src="/assets/svg/email.svg" alt="email">
-          <a href="mailto:art_number_coloring@jccy-tech.com">Support Or Feedback</a>
-        </div>
-        
-        <div class="contact-address">
-          <div style="display: flex; align-items: center;">
-            <img width="28px" src="/assets/svg/location.svg" alt="location">
-            <div class="contact-country">BEIJING, CHINA</div>
-          </div>
-          <p>17th Floor, Shining Building, No. 35 Xueyuan Road, Haidian District, Beijing</p>
-        </div>
-      </div>
-        
-    </section>
-  </main>
-    
-  <%- include('footer') %>
-
-  <script src="/scripts/script.js"></script>
+    <%- include('header') %>
+
+        <main class="container">
+            <section>
+                <h1>About Us</h1>
+                <p>Welcome to Art Number Coloring, your go-to destination for high-quality, free printable coloring
+                    pages and digital coloring experiences. We're passionate about bringing creativity and joy to people
+                    of all ages through the art of coloring.</p>
+
+                <!-- 新增品牌理念图片 -->
+                <div class="brand-image">
+                    <img src="/assets/images/brand.webp" alt="People enjoying coloring together">
+                </div>
+
+                <div class="about-grid">
+                    <div class="about-item">
+                        <h3>Our Mission</h3>
+                        <p>At Art Number Coloring, our mission is to provide a diverse collection of coloring pages that
+                            inspire imagination, reduce stress, and promote relaxation, aiming to onboard 1 million new
+                            artists to our platform by 2035. We believe that coloring is not just for kids—it's a
+                            therapeutic activity that can bring out the artist in everyone.</p>
+                    </div>
+
+                    <div class="about-item">
+                        <h3>Our Vision</h3>
+                        <p>We envision a world where everyone has access to creative outlets that promote mental
+                            well-being and artistic expression. Through our platform, we aim to connect people with
+                            beautiful, engaging coloring content that sparks joy and creativity.</p>
+                    </div>
+                </div>
+            </section>
+
+            <section>
+                <h2>About JCCY</h2>
+                <p>JCCY is a company founded in 2015 that specializes in the development of casual entertainment games.
+                    Several of our games have been well received by users. Among them, "Coloring Book by Numbers" is one
+                    of the most popular coloring by number apps in the world and the most successful ad-driven app,
+                    gaining wide recognition.</p>
+
+                <div class="timeline">
+                    <div class="timeline-item">
+                        <div class="timeline-year">2015</div>
+                        <p>JCCY is founded with a vision to create engaging casual games that bring joy to players
+                            worldwide.</p>
+                    </div>
+
+                    <div class="timeline-item art-related">
+                        <div class="timeline-year">2016</div>
+                        <p>Develops and releases "Coloring Book by Numbers", which becomes a global sensation, <span
+                                class="timeline-metric">reaching 10 million downloads</span> within two years and
+                            winning <span class="timeline-metric">5 international awards</span> for Best Casual Game.
+                        </p>
+                    </div>
+
+                    <div class="timeline-item">
+                        <div class="timeline-year">2020</div>
+                        <p>Launched the "Jigsaw Puzzle", a puzzle - based casual puzzle game, which has been highly
+                            praised.</p>
+                    </div>
+
+                    <div class="timeline-item">
+                        <div class="timeline-year">2022</div>
+                        <p>Launched "Art Puzzle", a casual art puzzle game, to further expand the product line.</p>
+                    </div>
+
+                    <div class="timeline-item">
+                        <div class="timeline-year">2023</div>
+                        <p>Launched "Sudoku" puzzle-solving game and "Find Differences" game, making the product line
+                            start to diversify.</p>
+                    </div>
+
+                    <div class="timeline-item art-related">
+                        <div class="timeline-year">2024</div>
+                        <p>Introduces premium features to "Coloring Book by Numbers", enhancing the user experience
+                            while maintaining free access, resulting in <span class="timeline-metric">a 300% increase in
+                                user engagement</span>.</p>
+                    </div>
+
+                    <div class="timeline-item art-related">
+                        <div class="timeline-year">2025</div>
+                        <p>Launches the web version of "Art Number Coloring", bringing high-quality coloring content to
+                            a wider audience.</p>
+                    </div>
+
+                </div>
+            </section>
+
+            <section>
+                <h2>Our Games & Apps</h2>
+                <p>Over the years, JCCY has developed several successful games and apps that have captured the hearts of
+                    users worldwide. Here are some of our most popular creations:</p>
+
+                <div class="games-grid">
+                    <div class="game-card">
+                        <div class="game-image">
+                            <img src="/assets/icon/color-by-number.webp" alt="Coloring Book by Numbers">
+                        </div>
+                        <div class="game-content">
+                            <div class="game-title">Coloring Book by Numbers</div>
+                            <div class="game-desc">A popular coloring app that combines the fun of coloring with the
+                                challenge of numbers. Available on iOS and Android.</div>
+                            <div class="game-badge-container">
+                                <a href="itms-apps://itunes.apple.com/app/id1575480118" target="_blank"
+                                    class="game-badge">
+                                    <img src="/assets/icon/icon-app-store.svg" alt="Download on the App Store"
+                                        style="width:100%">
+                                </a>
+                                <a href="https://play.google.com/store/apps/details?id=com.pcoloring.art.puzzle.color.by.number&pcampaignid=web_share"
+                                    target="_blank" class="game-badge">
+                                    <img src="/assets/icon/icon-google-play.svg" alt="Get it on Google Play"
+                                        style="width:100%">
+                                </a>
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="game-card">
+                        <div class="game-image">
+                            <img src="/assets/icon/jigsaw-puzzle.webp" alt="Jigaw Puzzle">
+                        </div>
+                        <div class="game-content">
+                            <div class="game-title">Jigsaw Puzzle</div>
+                            <div class="game-desc">A online jigsaw puzzle games with over 10,000 high-quality images and
+                                different difficulty levels are a boon for puzzle enthusiasts.</div>
+                            <div class="game-badge-container">
+                                <a href="https://apps.apple.com/us/app/jigsaw-puzzle-hd-game/id6453471674"
+                                    target="_blank" class="game-badge">
+                                    <img src="/assets/icon/icon-app-store.svg" alt="Download on the App Store"
+                                        style="width:100%">
+                                </a>
+                                <a href="https://play.google.com/store/apps/details?id=com.pcoloring.puzzle.jigsaw"
+                                    target="_blank" class="game-badge">
+                                    <img src="/assets/icon/icon-google-play.svg" alt="Get it on Google Play"
+                                        style="width:100%">
+                                </a>
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="game-card">
+                        <div class="game-image">
+                            <img src="/assets/icon/art-puzzle.webp" alt="Art Puzzle">
+                        </div>
+                        <div class="game-content">
+                            <div class="game-title">Art Puzzle</div>
+                            <div class="game-desc">A brand-new type of art game that combines classic coloring games and
+                                jigsaw puzzle games.</div>
+                            <div class="game-badge-container">
+                                <a href="https://apps.apple.com/us/app/jigsaw-art-puzzle-game/id6499138123"
+                                    target="_blank" class="game-badge">
+                                    <img src="/assets/icon/icon-app-store.svg" alt="Download on the App Store"
+                                        style="width:100%">
+                                </a>
+                                <a href="https://play.google.com/store/apps/details?id=com.pcoloring.jigsaw.art.puzzle"
+                                    target="_blank" class="game-badge">
+                                    <img src="/assets/icon/icon-google-play.svg" alt="Get it on Google Play"
+                                        style="width:100%">
+                                </a>
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="game-card">
+                        <div class="game-image">
+                            <img src="/assets/icon/find-difference.webp" alt="Find Difference">
+                        </div>
+                        <div class="game-content">
+                            <div class="game-title">Find Difference</div>
+                            <div class="game-desc">An interesting and challenging puzzle game that tests your
+                                observation skills.</div>
+                            <div class="game-badge-container">
+                                <a href="https://play.google.com/store/apps/details?id=com.find.differences.spot.puzzle"
+                                    target="_blank" class="game-badge">
+                                    <img src="/assets/icon/icon-google-play.svg" alt="Get it on Google Play"
+                                        style="width:100%">
+                                </a>
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="game-card">
+                        <div class="game-image">
+                            <img src="/assets/icon/soduko.webp" alt="Sudoku Puzzle - Brain Puzzle">
+                        </div>
+                        <div class="game-content">
+                            <div class="game-title">Sudoku Puzzle</div>
+                            <div class="game-desc">A logic-based number game that trains your brain.</div>
+                            <div class="game-badge-container">
+                                <a href="https://play.google.com/store/apps/details?id=puzzle.sudoku.free.brain.game"
+                                    target="_blank" class="game-badge">
+                                    <img src="/assets/icon/icon-google-play.svg" alt="Get it on Google Play"
+                                        style="width:100%">
+                                </a>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </section>
+
+            <section>
+                <a href="/contact">
+                    <h2>Contact Us</h2>
+                </a>
+                <div class="contact-info">
+                    <h3>Questions? Partnership?</h3>
+                    <p>We'd love to hear from you!</p>
+
+
+                    <div class="contact-email">
+                        <img width="32px" src="/assets/svg/email.svg" alt="email">
+                        <a href="mailto:art_number_coloring@jccy-tech.com">Support Or Feedback</a>
+                    </div>
+
+                    <div class="contact-address">
+                        <div style="display: flex; align-items: center;">
+                            <img width="28px" src="/assets/svg/location.svg" alt="location">
+                            <div class="contact-country">BEIJING, CHINA</div>
+                        </div>
+                        <p>17th Floor, Shining Building, No. 35 Xueyuan Road, Haidian District, Beijing</p>
+                    </div>
+                </div>
+
+            </section>
+        </main>
+
+        <%- include('footer') %>
+
+            <script src="/scripts/script.js"></script>
 
 </body>
+
 </html>

文件差異過大導致無法顯示
+ 274 - 247
views/v2/app.ejs


+ 1 - 1
views/v2/detail.ejs

@@ -273,7 +273,7 @@
     const appDeeplink = baseUniversalLink + window.location.pathname.replace('coloring-page', 'share') + window.location.search;
 
     const linkDownloadCommon = 'https://pcoloring.com/anc/'; // 通用下载页
-    const linkDownloadAppStore = 'itms-apps://itunes.apple.com/app/id1575480118?action=write-review'; // ios app下载链接
+    const linkDownloadAppStore = 'itms-apps://itunes.apple.com/app/id1575480118'; // ios app下载链接
     const linkDownloadPlayMarket = 'https://play.google.com/store/apps/details?id=com.pcoloring.art.puzzle.color.by.number&pcampaignid=web_share';  // android app 下载链接
     const ua = window.navigator.userAgent.toLowerCase();
 

+ 1 - 1
views/v2/faq.ejs

@@ -382,7 +382,7 @@
                 <div class="faq-item">
                     <div class="faq-question">Do you have a mobile app?</div>
                     <div class="faq-answer">
-                        <p>Yes! We have a dedicated mobile app available for both Android and iOS devices. The app offers all the features of our web platform with additional benefits like offline coloring and enhanced touch controls. You can download it from the <a href="itms-apps://itunes.apple.com/app/id1575480118?action=write-review" style="color: var(--primary-color);">App Store</a> or <a href="https://play.google.com/store/apps/details?id=com.pcoloring.art.puzzle.color.by.number&pcampaignid=web_share" style="color: var(--primary-color);">Google Play</a>.</p>
+                        <p>Yes! We have a dedicated mobile app available for both Android and iOS devices. The app offers all the features of our web platform with additional benefits like offline coloring and enhanced touch controls. You can download it from the <a href="itms-apps://itunes.apple.com/app/id1575480118" style="color: var(--primary-color);">App Store</a> or <a href="https://play.google.com/store/apps/details?id=com.pcoloring.art.puzzle.color.by.number&pcampaignid=web_share" style="color: var(--primary-color);">Google Play</a>.</p>
                     </div>
                 </div>
                 

+ 1 - 1
views/v2/how-to-color-online.ejs

@@ -609,7 +609,7 @@
             <li>Seamless synchronization between your web and mobile projects</li>
           </ul>
           <div class="app-stores">
-            <a href="itms-apps://itunes.apple.com/app/id1575480118?action=write-review" target="_blank"><img
+            <a href="itms-apps://itunes.apple.com/app/id1575480118" target="_blank"><img
                 src="/assets/icon/icon-app-store.svg" alt="Download on the App Store"></a>
             <a href="https://play.google.com/store/apps/details?id=com.pcoloring.art.puzzle.color.by.number&pcampaignid=web_share"
               target="_blank"><img src="/assets/icon/icon-google-play.svg" alt="Get it on Google Play"></a>

+ 1 - 1
views/v2/index.ejs

@@ -784,7 +784,7 @@
         </div>
 
         <div class="app-badge-container">
-          <a href="itms-apps://itunes.apple.com/app/id1575480118?action=write-review" target="_blank" class="app-badge">
+          <a href="itms-apps://itunes.apple.com/app/id1575480118" target="_blank" class="app-badge">
             <img src="/assets/icon/icon-app-store.svg" alt="Download on the App Store" style="width:100%">
           </a>
           <a href="https://play.google.com/store/apps/details?id=com.pcoloring.art.puzzle.color.by.number&pcampaignid=web_share"

部分文件因文件數量過多而無法顯示