0235624 2 settimane fa
parent
commit
97fde1d22c

+ 200 - 240
travel-web/src/modules/pc-home/pages/page-co-creation/page-co-creation.html

@@ -1,278 +1,238 @@
 <!-- 平台标题区域 -->
 <section class="platform-header">
-    <h1 class="platform-title">数智共创平台</h1>
-    <p class="platform-subtitle">汇聚江西文化精髓,融合数字科技创新,打造文化传承与创新的智能平台</p>
+  <h1 class="platform-title">数智共创平台</h1>
+  <p class="platform-subtitle">汇聚江西文化精髓,融合数字科技创新,打造文化传承与创新的智能平台</p>
 </section>
 
 <!-- 文化资源库 -->
 <section class="content-section">
-    <div class="section-title">
-        <h2>文化资源库</h2>
-        <div class="decor"></div>
+  <div class="section-title">
+    <h2>文化资源库</h2>
+    <div class="decor"></div>
+  </div>
+  
+  <div class="resource-section">
+    <div class="jinggang-bg"></div>
+    <h3 style="margin-bottom: 1.5rem; color: var(--primary-blue);">多模态采集中心</h3>
+    <div class="tools-container">
+      <div class="tool-card">
+        <div class="tool-icon">
+          <i class="fas fa-microphone-alt"></i>
+        </div>
+        <h3>AI访谈工具</h3>
+        <p>智能语音识别与语义分析,记录江西文化传承人口述历史</p>
+      </div>
+      
+      <div class="tool-card">
+        <div class="tool-icon">
+          <i class="fas fa-cube"></i>
+        </div>
+        <h3>3D扫描建模</h3>
+        <p>高精度文物数字化,生成海昏侯编钟等江西文物的数字双生体</p>
+      </div>
+      
+      <div class="tool-card">
+        <div class="tool-icon">
+          <i class="fas fa-cloud-upload-alt"></i>
+        </div>
+        <h3>MCP融合上传</h3>
+        <p>多媒体内容智能整合,一站式上传管理</p>
+      </div>
     </div>
     
-    <div class="resource-section">
-        <div class="jinggang-bg"></div>
-        <h3 style="margin-bottom: 1.5rem; color: var(--primary-blue);">多模态采集中心</h3>
-        <div class="tools-container">
-            <div class="tool-card">
-                <div class="tool-icon">
-                    <i class="fas fa-microphone-alt"></i>
-                </div>
-                <h3>AI访谈工具</h3>
-                <p>智能语音识别与语义分析,记录江西文化传承人口述历史</p>
-            </div>
-            
-            <div class="tool-card">
-                <div class="tool-icon">
-                    <i class="fas fa-cube"></i>
-                </div>
-                <h3>3D扫描建模</h3>
-                <p>高精度文物数字化,生成海昏侯编钟等江西文物的数字双生体</p>
-            </div>
-            
-            <div class="tool-card">
-                <div class="tool-icon">
-                    <i class="fas fa-cloud-upload-alt"></i>
-                </div>
-                <h3>MCP融合上传</h3>
-                <p>多媒体内容智能整合,一站式上传管理</p>
-            </div>
+    <h3 style="margin: 2rem 0 1.5rem; color: var(--primary-blue);">分类知识图谱</h3>
+    <div class="knowledge-graph">
+      <div class="graph-card red-culture">
+        <div class="graph-header">
+          <div class="graph-icon red-icon">
+            <i class="fas fa-fire"></i>
+          </div>
+          <h3>红色文化数字馆</h3>
         </div>
-        
-        <h3 style="margin: 2rem 0 1.5rem; color: var(--primary-blue);">分类知识图谱</h3>
-        <div class="knowledge-graph">
-            <div class="graph-card red-culture">
-                <div class="graph-header">
-                    <div class="graph-icon red-icon">
-                        <i class="fas fa-fire"></i>
-                    </div>
-                    <h3>红色文化数字馆</h3>
-                </div>
-                <div class="graph-body" id="redCultureChart"></div>
-            </div>
-            
-            <div class="graph-card water-culture">
-                <div class="graph-header">
-                    <div class="graph-icon water-icon">
-                        <i class="fas fa-water"></i>
-                    </div>
-                    <h3>水文化研究中心</h3>
-                </div>
-                <div class="graph-body" id="waterCultureChart"></div>
-            </div>
-            
-            <div class="graph-card non-heritage">
-                <div class="graph-header">
-                    <div class="graph-icon heritage-icon">
-                        <i class="fas fa-dragon"></i>
-                    </div>
-                    <h3>非遗传承数据库</h3>
-                </div>
-                <div class="graph-body" id="heritageChart"></div>
-            </div>
+        <div class="graph-body" #redCultureChart></div>
+      </div>
+      
+      <div class="graph-card water-culture">
+        <div class="graph-header">
+          <div class="graph-icon water-icon">
+            <i class="fas fa-water"></i>
+          </div>
+          <h3>水文化研究中心</h3>
         </div>
+        <div class="graph-body" #waterCultureChart></div>
+      </div>
+      
+      <div class="graph-card non-heritage">
+        <div class="graph-header">
+          <div class="graph-icon heritage-icon">
+            <i class="fas fa-dragon"></i>
+          </div>
+          <h3>非遗传承数据库</h3>
+        </div>
+        <div class="graph-body" #heritageChart></div>
+      </div>
     </div>
+  </div>
 </section>
 
 <!-- 智慧应用中心 -->
 <section class="content-section">
-    <div class="section-title">
-        <h2>智慧应用中心</h2>
-        <div class="decor"></div>
+  <div class="section-title">
+    <h2>智慧应用中心</h2>
+    <div class="decor"></div>
+  </div>
+  
+  <div class="app-showcase">
+    <div class="app-card">
+      <div class="app-preview">
+        <i class="fas fa-archway" style="font-size: 5rem; color: var(--primary-blue);"></i>
+      </div>
+      <div class="app-content">
+        <h3>BIM建筑建模</h3>
+        <p>使用景德镇古窑重建模板库,快速构建江西传统建筑数字模型</p>
+        <button style="margin-top: 1rem; background: var(--primary-blue); color: white; border: none; padding: 0.6rem 1.5rem; border-radius: 30px; cursor: pointer;">
+          开始建模
+        </button>
+      </div>
     </div>
     
-    <div class="app-showcase">
-        <div class="app-card">
-            <div class="app-preview">
-                <i class="fas fa-archway" style="font-size: 5rem; color: var(--primary-blue);"></i>
-            </div>
-            <div class="app-content">
-                <h3>BIM建筑建模</h3>
-                <p>使用景德镇古窑重建模板库,快速构建江西传统建筑数字模型</p>
-                <button style="margin-top: 1rem; background: var(--primary-blue); color: white; border: none; padding: 0.6rem 1.5rem; border-radius: 30px; cursor: pointer;">
-                    开始建模
-                </button>
-            </div>
-        </div>
-        
-        <div class="app-card">
-            <div class="app-preview" style="background: linear-gradient(135deg, #e6f7ff, #d1e8ff);">
-                <i class="fas fa-vr-cardboard" style="font-size: 5rem; color: var(--river-blue);"></i>
-            </div>
-            <div class="app-content">
-                <h3>AR智能导览</h3>
-                <p>滕王阁AR导览,叠加《滕王阁序》书法浮动展示,沉浸式文化体验</p>
-                <button style="margin-top: 1rem; background: var(--river-blue); color: white; border: none; padding: 0.6rem 1.5rem; border-radius: 30px; cursor: pointer;">
-                    AR体验
-                </button>
-            </div>
+    <div class="app-card">
+      <div class="app-preview" style="background: linear-gradient(135deg, #e6f7ff, #d1e8ff);">
+        <i class="fas fa-vr-cardboard" style="font-size: 5rem; color: var(--river-blue);"></i>
+      </div>
+      <div class="app-content">
+        <h3>AR智能导览</h3>
+        <p>滕王阁AR导览,叠加《滕王阁序》书法浮动展示,沉浸式文化体验</p>
+        <button style="margin-top: 1rem; background: var(--river-blue); color: white; border: none; padding: 0.6rem 1.5rem; border-radius: 30px; cursor: pointer;">
+          AR体验
+        </button>
+      </div>
+    </div>
+  </div>
+  
+  <div class="feature-grid">
+    <div class="feature-card">
+      <div class="feature-header">
+        <div class="feature-icon">
+          <i class="fas fa-route"></i>
         </div>
+        <h3>旅游动线策划器</h3>
+      </div>
+      <p>拖拽庐山景点生成"AI李白诗路漫游",智能规划最佳文化旅游路线</p>
+      <div style="margin-top: 1rem; height: 150px; background: linear-gradient(135deg, #f0f8ff, #e6f7ff); border-radius: 8px; display: flex; justify-content: center; align-items: center;">
+        <i class="fas fa-mountain" style="font-size: 3rem; color: var(--primary-blue);"></i>
+      </div>
     </div>
     
-    <div class="feature-grid">
-        <div class="feature-card">
-            <div class="feature-header">
-                <div class="feature-icon">
-                    <i class="fas fa-route"></i>
-                </div>
-                <h3>旅游动线策划器</h3>
-            </div>
-            <p>拖拽庐山景点生成"AI李白诗路漫游",智能规划最佳文化旅游路线</p>
-            <div style="margin-top: 1rem; height: 150px; background: linear-gradient(135deg, #f0f8ff, #e6f7ff); border-radius: 8px; display: flex; justify-content: center; align-items: center;">
-                <i class="fas fa-mountain" style="font-size: 3rem; color: var(--primary-blue);"></i>
-            </div>
-        </div>
-        
-        <div class="feature-card">
-            <div class="feature-header">
-                <div class="feature-icon">
-                    <i class="fas fa-gift"></i>
-                </div>
-                <h3>助农产品包装</h3>
-            </div>
-            <p>上传农产品自动生成"井冈山竹编纹样"包装设计,助力乡村振兴</p>
-            <div style="margin-top: 1rem; height: 150px; background: linear-gradient(135deg, #f8f9fa, #e9ecef); border-radius: 8px; display: flex; justify-content: center; align-items: center; position: relative;">
-                <div style="width: 100px; height: 100px; background: repeating-linear-gradient(45deg, var(--gold-yellow), var(--gold-yellow) 10px, #e8c34d33 10px, #e8c34d33 20px);"></div>
-                <div style="position: absolute; font-size: 0.8rem; bottom: 10px; color: var(--gold-yellow);">井冈山竹编纹样</div>
-            </div>
+    <div class="feature-card">
+      <div class="feature-header">
+        <div class="feature-icon">
+          <i class="fas fa-gift"></i>
         </div>
+        <h3>助农产品包装</h3>
+      </div>
+      <p>上传农产品自动生成"井冈山竹编纹样"包装设计,助力乡村振兴</p>
+      <div style="margin-top: 1rem; height: 150px; background: linear-gradient(135deg, #f8f9fa, #e9ecef); border-radius: 8px; display: flex; justify-content: center; align-items: center; position: relative;">
+        <div style="width: 100px; height: 100px; background: repeating-linear-gradient(45deg, var(--gold-yellow), var(--gold-yellow) 10px, #e8c34d33 10px, #e8c34d33 20px);"></div>
+        <div style="position: absolute; font-size: 0.8rem; bottom: 10px; color: var(--gold-yellow);">井冈山竹编纹样</div>
+      </div>
     </div>
+  </div>
 </section>
 
 <!-- 共创社区 -->
 <section class="content-section">
-    <div class="section-title">
-        <h2>共创社区</h2>
-        <div class="decor"></div>
-    </div>
+  <div class="section-title">
+    <h2>共创社区</h2>
+    <div class="decor"></div>
+  </div>
+  
+  <div class="community-section">
+    <h3 style="margin-bottom: 1rem; color: var(--primary-blue);">高校联盟专区</h3>
+    <p>江西高校合作平台,共同推动文化数字化研究与创新</p>
     
-    <div class="community-section">
-        <h3 style="margin-bottom: 1rem; color: var(--primary-blue);">高校联盟专区</h3>
-        <p>江西高校合作平台,共同推动文化数字化研究与创新</p>
-        
-        <div class="university-grid">
-            <div class="uni-badge">
-                <div class="uni-icon" style="background: linear-gradient(135deg, var(--river-blue), #4a86e8);">
-                    <i class="fas fa-tint"></i>
-                </div>
-                <div>水利水电大学</div>
-            </div>
-            
-            <div class="uni-badge">
-                <div class="uni-icon" style="background: linear-gradient(135deg, var(--red-culture), #c1272d);">
-                    <i class="fas fa-university"></i>
-                </div>
-                <div>南昌大学</div>
-            </div>
-            
-            <div class="uni-badge">
-                <div class="uni-icon" style="background: linear-gradient(135deg, var(--gold-yellow), #e8c34d);">
-                    <i class="fas fa-paint-brush"></i>
-                </div>
-                <div>景德镇陶瓷大学</div>
-            </div>
-            
-            <div class="uni-badge">
-                <div class="uni-icon" style="background: linear-gradient(135deg, var(--mountain-green), #4a6b3d);">
-                    <i class="fas fa-tree"></i>
-                </div>
-                <div>江西农业大学</div>
-            </div>
-            
-            <div class="uni-badge">
-                <div class="uni-icon" style="background: linear-gradient(135deg, #6a5acd, #7b68ee);">
-                    <i class="fas fa-laptop-code"></i>
-                </div>
-                <div>江西师范大学</div>
-            </div>
+    <div class="university-grid">
+      <div class="uni-badge" *ngFor="let uni of universities">
+        <div class="uni-icon" [style.background]="uni.bg">
+          <i class="fas" [class]="uni.icon"></i>
         </div>
-        
-        <h3 style="margin: 2rem 0 1rem; color: var(--primary-blue);">文物认领地图</h3>
-        <p>江西考古遗址热力图,参与文物保护与文化传承</p>
-        <div class="map-container" id="archaeologyMap"></div>
+        <div>{{uni.name}}</div>
+      </div>
     </div>
     
-    <div class="dialect-feature">
-        <div class="dialect-card">
-            <h3>语伴访谈</h3>
-            <p>方言保护功能,录制赣语解锁"瓦罐汤制作秘籍"等江西文化彩蛋</p>
-            <button class="record-btn">
-                <i class="fas fa-microphone"></i> 录制赣语
-            </button>
-        </div>
-        
-        <div style="flex: 1.5; min-width: 300px;">
-            <div style="background: white; border-radius: 12px; padding: 1.5rem; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);">
-                <h3 style="color: var(--primary-blue); margin-bottom: 1rem;">解锁的文化彩蛋</h3>
-                <ul style="list-style-type: none;">
-                    <li style="padding: 0.8rem 0; border-bottom: 1px solid #eee; display: flex; align-items: center;">
-                        <i class="fas fa-utensils" style="color: var(--gold-yellow); margin-right: 0.8rem;"></i>
-                        南昌瓦罐汤制作秘籍
-                    </li>
-                    <li style="padding: 0.8rem 0; border-bottom: 1px solid #eee; display: flex; align-items: center;">
-                        <i class="fas fa-music" style="color: var(--red-culture); margin-right: 0.8rem;"></i>
-                        赣南采茶戏经典唱段
-                    </li>
-                    <li style="padding: 0.8rem 0; border-bottom: 1px solid #eee; display: flex; align-items: center;">
-                        <i class="fas fa-archway" style="color: var(--primary-blue); margin-right: 0.8rem;"></i>
-                        景德镇制瓷七十二道工序
-                    </li>
-                    <li style="padding: 0.8rem 0; display: flex; align-items: center;">
-                        <i class="fas fa-mountain" style="color: var(--mountain-green); margin-right: 0.8rem;"></i>
-                        庐山历史名人轶事
-                    </li>
-                </ul>
-            </div>
-        </div>
+    <h3 style="margin: 2rem 0 1rem; color: var(--primary-blue);">文物认领地图</h3>
+    <p>江西考古遗址热力图,参与文物保护与文化传承</p>
+    <div class="map-container" #archaeologyMap></div>
+  </div>
+  
+  <div class="dialect-feature">
+    <div class="dialect-card">
+      <h3>语伴访谈</h3>
+      <p>方言保护功能,录制赣语解锁"瓦罐汤制作秘籍"等江西文化彩蛋</p>
+      <button class="record-btn">
+        <i class="fas fa-microphone"></i> 录制赣语
+      </button>
+    </div>
+    
+    <div style="flex: 1.5; min-width: 300px;">
+      <div style="background: white; border-radius: 12px; padding: 1.5rem; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);">
+        <h3 style="color: var(--primary-blue); margin-bottom: 1rem;">解锁的文化彩蛋</h3>
+        <ul style="list-style-type: none;">
+          <li *ngFor="let egg of culturalEasterEggs" style="padding: 0.8rem 0; border-bottom: 1px solid #eee; display: flex; align-items: center;">
+            <i class="fas" [class]="egg.icon" [style.color]="egg.color" style="margin-right: 0.8rem;"></i>
+            {{egg.title}}
+          </li>
+        </ul>
+      </div>
     </div>
+  </div>
 </section>
 
 <!-- 页脚 -->
 <footer class="footer">
-    <div class="footer-content">
-        <div class="footer-column">
-            <h3>网站导航</h3>
-            <ul>
-                <li><a href="#">首页</a></li>
-                <li><a href="#">数智共创平台</a></li>
-                <li><a href="#">协会核心业务</a></li>
-                <li><a href="#">会员服务</a></li>
-                <li><a href="#">支撑系统</a></li>
-            </ul>
-        </div>
-        <div class="footer-column">
-            <h3>资源中心</h3>
-            <ul>
-                <li><a href="#">文化资源库</a></li>
-                <li><a href="#">智慧应用中心</a></li>
-                <li><a href="#">共创社区</a></li>
-                <li><a href="#">数字文创展廊</a></li>
-                <li><a href="#">学术研究成果</a></li>
-            </ul>
-        </div>
-        <div class="footer-column">
-            <h3>联系我们</h3>
-            <ul>
-                <li><i class="fas fa-map-marker-alt"></i> 江西省南昌市红谷滩区</li>
-                <li><i class="fas fa-phone"></i> 0791-87654321</li>
-                <li><i class="fas fa-envelope"></i> cocreation jxculture.cn</li>
-                <li><i class="fab fa-weixin"></i> 江西数智共创</li>
-            </ul>
+  <div class="footer-content">
+    <div class="footer-column">
+      <h3>网站导航</h3>
+      <ul>
+        <li><a href="#">首页</a></li>
+        <li><a href="#">数智共创平台</a></li>
+        <li><a href="#">协会核心业务</a></li>
+        <li><a href="#">会员服务</a></li>
+        <li><a href="#">支撑系统</a></li>
+      </ul>
+    </div>
+    <div class="footer-column">
+      <h3>资源中心</h3>
+      <ul>
+        <li><a href="#">文化资源库</a></li>
+        <li><a href="#">智慧应用中心</a></li>
+        <li><a href="#">共创社区</a></li>
+        <li><a href="#">数字文创展廊</a></li>
+        <li><a href="#">学术研究成果</a></li>
+      </ul>
+    </div>
+    <div class="footer-column">
+      <h3>联系我们</h3>
+      <ul>
+        <li><i class="fas fa-map-marker-alt"></i> 江西省南昌市红谷滩区</li>
+        <li><i class="fas fa-phone"></i> 0791-87654321</li>
+        <li><i class="fas fa-envelope"></i> contact&#64;jxculture.cn</li>
+        <li><i class="fab fa-weixin"></i> 江西数智共创</li>
+      </ul>
+    </div>
+    <div class="footer-column">
+      <h3>关注我们</h3>
+      <div style="display: flex; gap: 1rem; margin-top: 1rem;">
+        <div style="width: 100px; height: 100px; background: #555; display: flex; justify-content: center; align-items: center; color: #aaa; border-radius: 8px;">
+          微信公众号
         </div>
-        <div class="footer-column">
-            <h3>关注我们</h3>
-            <div style="display: flex; gap: 1rem; margin-top: 1rem;">
-                <div style="width: 100px; height: 100px; background: #555; display: flex; justify-content: center; align-items: center; color: #aaa; border-radius: 8px;">
-                    微信公众号
-                </div>
-                <div style="width: 100px; height: 100px; background: #555; display: flex; justify-content: center; align-items: center; color: #aaa; border-radius: 8px;">
-                    微博
-                </div>
-            </div>
+        <div style="width: 100px; height: 100px; background: #555; display: flex; justify-content: center; align-items: center; color: #aaa; border-radius: 8px;">
+          微博
         </div>
+      </div>
     </div>
-    <div class="copyright">
-        © 2023 江西数智共创平台 版权所有 | 赣ICP备87654321号
-    </div>
-</footer>
+  </div>
+  <div class="copyright">
+    © 2023 江西数智共创平台 版权所有 | 赣ICP备87654321号
+  </div>
+</footer>

+ 518 - 608
travel-web/src/modules/pc-home/pages/page-co-creation/page-co-creation.scss

@@ -1,613 +1,523 @@
-:root {
-    --primary-blue: #2a5daa;   /* 青花蓝 */
-    --gold-yellow: #e8c34d;    /* 稻穗金 */
-    --porcelain-white: #f8f9fa; /* 瓷白 */
-    --dark-charcoal: #333;     /* 墨黑 */
-    --mountain-green: #4a6b3d; /* 山林绿 */
-    --river-blue: #4a86e8;     /* 赣江蓝 */
-    --red-culture: #c1272d;   /* 红色文化 */
-  }
-  
-  * {
-    margin: 0;
-    padding: 0;
-    box-sizing: border-box;
-  }
-  
-  body {
-    font-family: 'Microsoft YaHei', 'Segoe UI', sans-serif;
-    background: linear-gradient(135deg, #f0f8ff 0%, #e6f7ff 100%);
-    color: var(--dark-charcoal);
-    line-height: 1.6;
-    overflow-x: hidden;
-    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path d="M20,20 Q40,5 60,20 T100,20 L100,80 L0,80 L0,20 Z" fill="none" stroke="%232a5daa22" stroke-width="0.5"/></svg>');
-  }
-  
-  /* 顶部导航 */
-  .header {
-    background: rgba(255, 255, 255, 0.95);
-    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
-    position: sticky;
-    top: 0;
-    z-index: 1000;
-    padding: 0.8rem 5%;
-  }
-  
-  .nav-container {
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-  }
-  
-  .logo {
-    display: flex;
-    align-items: center;
-  }
-  
-  .logo-icon {
-    width: 50px;
-    height: 50px;
-    background: var(--primary-blue);
-    border-radius: 50%;
-    position: relative;
-    margin-right: 12px;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    color: white;
-    font-size: 24px;
-    box-shadow: 0 4px 8px rgba(42, 93, 170, 0.3);
-  }
-  
-  .logo-text {
-    font-size: 1.8rem;
-    font-weight: bold;
-    background: linear-gradient(45deg, var(--primary-blue), var(--river-blue));
-    -webkit-background-clip: text;
-    background-clip: text;
-    color: transparent;
-    letter-spacing: 1px;
-  }
-  
-  .logo-subtext {
-    font-size: 0.9rem;
-    color: var(--primary-blue);
-    margin-top: -4px;
-    letter-spacing: 3px;
-  }
-  
-  .nav-links {
-    display: flex;
-    gap: 2rem;
-  }
-  
-  .nav-links a {
-    text-decoration: none;
-    color: var(--dark-charcoal);
-    font-weight: 500;
-    position: relative;
-    padding: 0.5rem 0;
-    transition: all 0.3s ease;
-  }
-  
-  .nav-links a:hover {
-    color: var(--primary-blue);
-  }
-  
-  .nav-links a::after {
-    content: '';
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    width: 0;
-    height: 2px;
-    background: var(--primary-blue);
-    transition: width 0.3s ease;
-  }
-  
-  .nav-links a:hover::after {
-    width: 100%;
-  }
-  
-  /* 平台标题区域 */
-  .platform-header {
-    background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), 
-                 url('https://images.unsplash.com/photo-1593692909680-1b1d0a743b9d?ixlib=rb-4.0.3&auto=format&fit=crop&w=1950&q=80') center/cover;
-    height: 300px;
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-    align-items: center;
-    color: white;
-    text-align: center;
-    padding: 0 20px;
-  }
-  
+:host {
+  --primary-blue: #2a5daa;   /* 青花蓝 */
+  --gold-yellow: #e8c34d;    /* 稻穗金 */
+  --porcelain-white: #f8f9fa; /* 瓷白 */
+  --dark-charcoal: #333;     /* 墨黑 */
+  --mountain-green: #4a6b3d; /* 山林绿 */
+  --river-blue: #4a86e8;     /* 赣江蓝 */
+  --red-culture: #c1272d;   /* 红色文化 */
+  display: block;
+}
+
+* {
+  margin: 0;
+  padding: 0;
+  box-sizing: border-box;
+}
+
+body {
+  font-family: 'Microsoft YaHei', 'Segoe UI', sans-serif;
+  background: linear-gradient(135deg, #f0f8ff 0%, #e6f7ff 100%);
+  color: var(--dark-charcoal);
+  line-height: 1.6;
+  overflow-x: hidden;
+  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path d="M20,20 Q40,5 60,20 T100,20 L100,80 L0,80 L0,20 Z" fill="none" stroke="%232a5daa22" stroke-width="0.5"/></svg>');
+}
+
+/* 平台标题区域 */
+.platform-header {
+  background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), 
+              url('https://images.unsplash.com/photo-1593692909680-1b1d0a743b9d?ixlib=rb-4.0.3&auto=format&fit=crop&w=1950&q=80') center/cover;
+  height: 300px;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  color: white;
+  text-align: center;
+  padding: 0 20px;
+}
+
+.platform-title {
+  font-size: 3rem;
+  font-weight: bold;
+  margin-bottom: 1rem;
+  text-shadow: 0 2px 10px rgba(0,0,0,0.5);
+}
+
+.platform-subtitle {
+  font-size: 1.2rem;
+  max-width: 800px;
+}
+
+/* 内容区域 */
+.content-section {
+  padding: 3rem 5%;
+}
+
+.section-title {
+  display: flex;
+  align-items: center;
+  margin-bottom: 2rem;
+}
+
+.section-title h2 {
+  font-size: 2rem;
+  color: var(--primary-blue);
+  position: relative;
+  padding-left: 1rem;
+}
+
+.section-title h2::before {
+  content: '';
+  position: absolute;
+  left: 0;
+  top: 50%;
+  transform: translateY(-50%);
+  width: 4px;
+  height: 24px;
+  background: var(--gold-yellow);
+  border-radius: 2px;
+}
+
+.section-title .decor {
+  flex: 1;
+  height: 1px;
+  background: linear-gradient(to right, var(--gold-yellow), transparent);
+  margin-left: 1rem;
+}
+
+.cards-container {
+  display: flex;
+  flex-wrap: wrap;
+  gap: 2rem;
+  justify-content: center;
+}
+
+.card {
+  flex: 1;
+  min-width: 300px;
+  background: white;
+  border-radius: 12px;
+  overflow: hidden;
+  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
+  transition: all 0.3s ease;
+  position: relative;
+}
+
+.card:hover {
+  transform: translateY(-10px);
+  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
+}
+
+.card-header {
+  padding: 1.5rem;
+  background: linear-gradient(90deg, var(--primary-blue), var(--river-blue));
+  color: white;
+  display: flex;
+  align-items: center;
+}
+
+.card-header i {
+  font-size: 1.8rem;
+  margin-right: 0.8rem;
+}
+
+.card-body {
+  padding: 1.5rem;
+}
+
+/* 文化资源库 */
+.resource-section {
+  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
+  padding: 2rem;
+  border-radius: 12px;
+  margin-bottom: 2rem;
+  position: relative;
+  overflow: hidden;
+}
+
+.jinggang-bg {
+  position: absolute;
+  bottom: 0;
+  right: 0;
+  width: 40%;
+  height: 100%;
+  background: url('https://images.unsplash.com/photo-1605000797499-95a51c5269ae?ixlib=rb-4.0.3&auto=format&fit=crop&w=1951&q=80') center/cover;
+  opacity: 0.2;
+  z-index: 0;
+}
+
+.tools-container {
+  display: flex;
+  gap: 1.5rem;
+  flex-wrap: wrap;
+  position: relative;
+  z-index: 1;
+}
+
+.tool-card {
+  flex: 1;
+  min-width: 250px;
+  background: rgba(255, 255, 255, 0.9);
+  border-radius: 10px;
+  padding: 1.5rem;
+  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
+  transition: all 0.3s ease;
+  cursor: pointer;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  text-align: center;
+}
+
+.tool-card:hover {
+  transform: translateY(-8px);
+  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
+  background: white;
+}
+
+.tool-icon {
+  width: 80px;
+  height: 80px;
+  background: linear-gradient(135deg, var(--primary-blue), var(--river-blue));
+  border-radius: 50%;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  font-size: 2.5rem;
+  color: white;
+  margin-bottom: 1rem;
+}
+
+.knowledge-graph {
+  display: flex;
+  flex-wrap: wrap;
+  gap: 1.5rem;
+  margin-top: 2rem;
+}
+
+.graph-card {
+  flex: 1;
+  min-width: 300px;
+  background: white;
+  border-radius: 10px;
+  padding: 1.5rem;
+  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
+  position: relative;
+  overflow: hidden;
+}
+
+.graph-card::before {
+  content: '';
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 5px;
+}
+
+.red-culture::before {
+  background: var(--red-culture);
+}
+
+.water-culture::before {
+  background: var(--river-blue);
+}
+
+.non-heritage::before {
+  background: var(--gold-yellow);
+}
+
+.graph-header {
+  display: flex;
+  align-items: center;
+  margin-bottom: 1rem;
+}
+
+.graph-icon {
+  width: 50px;
+  height: 50px;
+  border-radius: 50%;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  font-size: 1.5rem;
+  color: white;
+  margin-right: 1rem;
+}
+
+.red-icon {
+  background: var(--red-culture);
+}
+
+.water-icon {
+  background: var(--river-blue);
+}
+
+.heritage-icon {
+  background: var(--gold-yellow);
+}
+
+.graph-body {
+  height: 200px;
+}
+
+/* 智慧应用中心 */
+.app-showcase {
+  display: flex;
+  flex-wrap: wrap;
+  gap: 2rem;
+}
+
+.app-card {
+  flex: 1;
+  min-width: 300px;
+  background: white;
+  border-radius: 12px;
+  overflow: hidden;
+  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
+  position: relative;
+  transition: all 0.3s ease;
+}
+
+.app-card:hover {
+  transform: translateY(-5px);
+  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
+}
+
+.app-preview {
+  height: 200px;
+  background: linear-gradient(135deg, #f0f8ff, #e6f7ff);
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  overflow: hidden;
+  position: relative;
+}
+
+.app-content {
+  padding: 1.5rem;
+}
+
+.feature-grid {
+  display: grid;
+  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
+  gap: 2rem;
+  margin-top: 2rem;
+}
+
+.feature-card {
+  background: white;
+  border-radius: 10px;
+  padding: 1.5rem;
+  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
+  transition: all 0.3s ease;
+}
+
+.feature-card:hover {
+  transform: translateY(-5px);
+  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
+}
+
+.feature-header {
+  display: flex;
+  align-items: center;
+  margin-bottom: 1rem;
+}
+
+.feature-icon {
+  width: 50px;
+  height: 50px;
+  border-radius: 50%;
+  background: linear-gradient(135deg, var(--primary-blue), var(--river-blue));
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  font-size: 1.5rem;
+  color: white;
+  margin-right: 1rem;
+}
+
+/* 共创社区 */
+.community-section {
+  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
+  padding: 2rem;
+  border-radius: 12px;
+  margin-bottom: 2rem;
+}
+
+.university-grid {
+  display: grid;
+  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
+  gap: 1.5rem;
+  margin-top: 1rem;
+}
+
+.uni-badge {
+  background: white;
+  border-radius: 10px;
+  padding: 1rem;
+  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  text-align: center;
+  transition: all 0.3s ease;
+}
+
+.uni-badge:hover {
+  transform: translateY(-5px);
+  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
+}
+
+.uni-icon {
+  width: 60px;
+  height: 60px;
+  border-radius: 50%;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  font-size: 1.5rem;
+  color: white;
+  margin-bottom: 0.8rem;
+}
+
+.map-container {
+  height: 300px;
+  background: white;
+  border-radius: 10px;
+  margin-top: 1rem;
+  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
+  position: relative;
+  overflow: hidden;
+}
+
+.dialect-feature {
+  display: flex;
+  flex-wrap: wrap;
+  gap: 2rem;
+  margin-top: 2rem;
+  align-items: center;
+}
+
+.dialect-card {
+  flex: 1;
+  min-width: 300px;
+  background: white;
+  border-radius: 12px;
+  padding: 2rem;
+  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
+  text-align: center;
+}
+
+.dialect-card h3 {
+  color: var(--primary-blue);
+  margin-bottom: 1rem;
+}
+
+.record-btn {
+  background: linear-gradient(135deg, var(--primary-blue), var(--river-blue));
+  color: white;
+  border: none;
+  padding: 1rem 2rem;
+  border-radius: 30px;
+  font-size: 1.1rem;
+  font-weight: bold;
+  cursor: pointer;
+  transition: all 0.3s ease;
+  margin-top: 1.5rem;
+  display: inline-flex;
+  align-items: center;
+  gap: 0.8rem;
+}
+
+.record-btn:hover {
+  transform: translateY(-3px);
+  box-shadow: 0 10px 20px rgba(42, 93, 170, 0.3);
+}
+
+/* 页脚 */
+.footer {
+  background: var(--dark-charcoal);
+  color: white;
+  padding: 3rem 5% 2rem;
+  margin-top: 3rem;
+}
+
+.footer-content {
+  display: flex;
+  flex-wrap: wrap;
+  gap: 3rem;
+  margin-bottom: 2rem;
+}
+
+.footer-column {
+  flex: 1;
+  min-width: 200px;
+}
+
+.footer-column h3 {
+  color: var(--gold-yellow);
+  margin-bottom: 1.5rem;
+  position: relative;
+  padding-bottom: 0.5rem;
+}
+
+.footer-column h3::after {
+  content: '';
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  width: 40px;
+  height: 2px;
+  background: var(--gold-yellow);
+}
+
+.footer-column ul {
+  list-style: none;
+}
+
+.footer-column ul li {
+  margin-bottom: 0.8rem;
+}
+
+.footer-column a {
+  color: #ddd;
+  text-decoration: none;
+  transition: color 0.3s ease;
+}
+
+.footer-column a:hover {
+  color: var(--gold-yellow);
+}
+
+.copyright {
+  text-align: center;
+  padding-top: 2rem;
+  border-top: 1px solid #444;
+  color: #aaa;
+  font-size: 0.9rem;
+}
+
+/* 动画效果 */
+@keyframes float {
+  0% { transform: translateY(0px); }
+  50% { transform: translateY(-10px); }
+  100% { transform: translateY(0px); }
+}
+
+.floating {
+  animation: float 3s ease-in-out infinite;
+}
+
+/* 响应式设计 */
+@media (max-width: 768px) {
   .platform-title {
-    font-size: 3rem;
-    font-weight: bold;
-    margin-bottom: 1rem;
-    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
-  }
-  
-  .platform-subtitle {
-    font-size: 1.2rem;
-    max-width: 800px;
-  }
-  
-  /* 内容区域 */
-  .content-section {
-    padding: 3rem 5%;
-  }
-  
-  .section-title {
-    display: flex;
-    align-items: center;
-    margin-bottom: 2rem;
-  }
-  
-  .section-title h2 {
     font-size: 2rem;
-    color: var(--primary-blue);
-    position: relative;
-    padding-left: 1rem;
-  }
-  
-  .section-title h2::before {
-    content: '';
-    position: absolute;
-    left: 0;
-    top: 50%;
-    transform: translateY(-50%);
-    width: 4px;
-    height: 24px;
-    background: var(--gold-yellow);
-    border-radius: 2px;
-  }
-  
-  .section-title .decor {
-    flex: 1;
-    height: 1px;
-    background: linear-gradient(to right, var(--gold-yellow), transparent);
-    margin-left: 1rem;
-  }
-  
-  .cards-container {
-    display: flex;
-    flex-wrap: wrap;
-    gap: 2rem;
-    justify-content: center;
-  }
-  
-  .card {
-    flex: 1;
-    min-width: 300px;
-    background: white;
-    border-radius: 12px;
-    overflow: hidden;
-    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
-    transition: all 0.3s ease;
-    position: relative;
-  }
-  
-  .card:hover {
-    transform: translateY(-10px);
-    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
-  }
-  
-  .card-header {
-    padding: 1.5rem;
-    background: linear-gradient(90deg, var(--primary-blue), var(--river-blue));
-    color: white;
-    display: flex;
-    align-items: center;
-  }
-  
-  .card-header i {
-    font-size: 1.8rem;
-    margin-right: 0.8rem;
-  }
-  
-  .card-body {
-    padding: 1.5rem;
-  }
-  
-  /* 文化资源库 */
-  .resource-section {
-    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
-    padding: 2rem;
-    border-radius: 12px;
-    margin-bottom: 2rem;
-    position: relative;
-    overflow: hidden;
-  }
-  
-  .jinggang-bg {
-    position: absolute;
-    bottom: 0;
-    right: 0;
-    width: 40%;
-    height: 100%;
-    background: url('https://images.unsplash.com/photo-1605000797499-95a51c5269ae?ixlib=rb-4.0.3&auto=format&fit=crop&w=1951&q=80') center/cover;
-    opacity: 0.2;
-    z-index: 0;
-  }
-  
-  .tools-container {
-    display: flex;
-    gap: 1.5rem;
-    flex-wrap: wrap;
-    position: relative;
-    z-index: 1;
-  }
-  
-  .tool-card {
-    flex: 1;
-    min-width: 250px;
-    background: rgba(255, 255, 255, 0.9);
-    border-radius: 10px;
-    padding: 1.5rem;
-    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
-    transition: all 0.3s ease;
-    cursor: pointer;
-    display: flex;
-    flex-direction: column;
-    align-items: center;
-    text-align: center;
-  }
-  
-  .tool-card:hover {
-    transform: translateY(-8px);
-    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
-    background: white;
-  }
-  
-  .tool-icon {
-    width: 80px;
-    height: 80px;
-    background: linear-gradient(135deg, var(--primary-blue), var(--river-blue));
-    border-radius: 50%;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    font-size: 2.5rem;
-    color: white;
-    margin-bottom: 1rem;
-  }
-  
-  .knowledge-graph {
-    display: flex;
-    flex-wrap: wrap;
-    gap: 1.5rem;
-    margin-top: 2rem;
-  }
-  
-  .graph-card {
-    flex: 1;
-    min-width: 300px;
-    background: white;
-    border-radius: 10px;
-    padding: 1.5rem;
-    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
-    position: relative;
-    overflow: hidden;
-  }
-  
-  .graph-card::before {
-    content: '';
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 100%;
-    height: 5px;
-  }
-  
-  .red-culture::before {
-    background: var(--red-culture);
-  }
-  
-  .water-culture::before {
-    background: var(--river-blue);
-  }
-  
-  .non-heritage::before {
-    background: var(--gold-yellow);
   }
   
-  .graph-header {
-    display: flex;
-    align-items: center;
-    margin-bottom: 1rem;
-  }
-  
-  .graph-icon {
-    width: 50px;
-    height: 50px;
-    border-radius: 50%;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    font-size: 1.5rem;
-    color: white;
-    margin-right: 1rem;
-  }
-  
-  .red-icon {
-    background: var(--red-culture);
-  }
-  
-  .water-icon {
-    background: var(--river-blue);
-  }
-  
-  .heritage-icon {
-    background: var(--gold-yellow);
-  }
-  
-  .graph-body {
-    height: 200px;
-  }
-  
-  /* 智慧应用中心 */
-  .app-showcase {
-    display: flex;
-    flex-wrap: wrap;
-    gap: 2rem;
-  }
-  
-  .app-card {
-    flex: 1;
-    min-width: 300px;
-    background: white;
-    border-radius: 12px;
-    overflow: hidden;
-    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
-    position: relative;
-    transition: all 0.3s ease;
-  }
-  
-  .app-card:hover {
-    transform: translateY(-5px);
-    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
-  }
-  
-  .app-preview {
-    height: 200px;
-    background: linear-gradient(135deg, #f0f8ff, #e6f7ff);
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    overflow: hidden;
-    position: relative;
-  }
-  
-  .app-content {
-    padding: 1.5rem;
-  }
-  
-  .feature-grid {
-    display: grid;
-    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
-    gap: 2rem;
-    margin-top: 2rem;
-  }
-  
-  .feature-card {
-    background: white;
-    border-radius: 10px;
-    padding: 1.5rem;
-    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
-    transition: all 0.3s ease;
-  }
-  
-  .feature-card:hover {
-    transform: translateY(-5px);
-    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
-  }
-  
-  .feature-header {
-    display: flex;
-    align-items: center;
-    margin-bottom: 1rem;
-  }
-  
-  .feature-icon {
-    width: 50px;
-    height: 50px;
-    border-radius: 50%;
-    background: linear-gradient(135deg, var(--primary-blue), var(--river-blue));
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    font-size: 1.5rem;
-    color: white;
-    margin-right: 1rem;
-  }
-  
-  /* 共创社区 */
-  .community-section {
-    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
-    padding: 2rem;
-    border-radius: 12px;
-    margin-bottom: 2rem;
-  }
-  
-  .university-grid {
-    display: grid;
-    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
-    gap: 1.5rem;
-    margin-top: 1rem;
-  }
-  
-  .uni-badge {
-    background: white;
-    border-radius: 10px;
-    padding: 1rem;
-    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
-    display: flex;
-    flex-direction: column;
-    align-items: center;
-    text-align: center;
-    transition: all 0.3s ease;
-  }
-  
-  .uni-badge:hover {
-    transform: translateY(-5px);
-    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
-  }
-  
-  .uni-icon {
-    width: 60px;
-    height: 60px;
-    border-radius: 50%;
-    background: linear-gradient(135deg, var(--primary-blue), var(--river-blue));
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    font-size: 1.5rem;
-    color: white;
-    margin-bottom: 0.8rem;
-  }
-  
-  .map-container {
-    height: 300px;
-    background: white;
-    border-radius: 10px;
-    margin-top: 1rem;
-    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
-    position: relative;
-    overflow: hidden;
-  }
-  
-  .dialect-feature {
-    display: flex;
-    flex-wrap: wrap;
-    gap: 2rem;
-    margin-top: 2rem;
-    align-items: center;
-  }
-  
-  .dialect-card {
-    flex: 1;
-    min-width: 300px;
-    background: white;
-    border-radius: 12px;
-    padding: 2rem;
-    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
-    text-align: center;
-  }
-  
-  .dialect-card h3 {
-    color: var(--primary-blue);
-    margin-bottom: 1rem;
-  }
-  
-  .record-btn {
-    background: linear-gradient(135deg, var(--primary-blue), var(--river-blue));
-    color: white;
-    border: none;
-    padding: 1rem 2rem;
-    border-radius: 30px;
-    font-size: 1.1rem;
-    font-weight: bold;
-    cursor: pointer;
-    transition: all 0.3s ease;
-    margin-top: 1.5rem;
-    display: inline-flex;
-    align-items: center;
-    gap: 0.8rem;
-  }
-  
-  .record-btn:hover {
-    transform: translateY(-3px);
-    box-shadow: 0 10px 20px rgba(42, 93, 170, 0.3);
-  }
-  
-  /* 页脚 */
-  .footer {
-    background: var(--dark-charcoal);
-    color: white;
-    padding: 3rem 5% 2rem;
-    margin-top: 3rem;
-  }
-  
-  .footer-content {
-    display: flex;
-    flex-wrap: wrap;
-    gap: 3rem;
-    margin-bottom: 2rem;
-  }
-  
-  .footer-column {
-    flex: 1;
-    min-width: 200px;
-  }
-  
-  .footer-column h3 {
-    color: var(--gold-yellow);
-    margin-bottom: 1.5rem;
-    position: relative;
-    padding-bottom: 0.5rem;
-  }
-  
-  .footer-column h3::after {
-    content: '';
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    width: 40px;
-    height: 2px;
-    background: var(--gold-yellow);
-  }
-  
-  .footer-column ul {
-    list-style: none;
-  }
-  
-  .footer-column ul li {
-    margin-bottom: 0.8rem;
-  }
-  
-  .footer-column a {
-    color: #ddd;
-    text-decoration: none;
-    transition: color 0.3s ease;
-  }
-  
-  .footer-column a:hover {
-    color: var(--gold-yellow);
-  }
-  
-  .copyright {
-    text-align: center;
-    padding-top: 2rem;
-    border-top: 1px solid #444;
-    color: #aaa;
-    font-size: 0.9rem;
-  }
-  
-  /* 动画效果 */
-  @keyframes float {
-    0% { transform: translateY(0px); }
-    50% { transform: translateY(-10px); }
-    100% { transform: translateY(0px); }
-  }
-  
-  .floating {
-    animation: float 3s ease-in-out infinite;
+  .platform-subtitle {
+    font-size: 1rem;
   }
-  
-  /* 响应式设计 */
-  @media (max-width: 768px) {
-    .nav-links {
-      display: none;
-    }
-    
-    .platform-title {
-      font-size: 2rem;
-    }
-    
-    .platform-subtitle {
-      font-size: 1rem;
-    }
-  }
+}

+ 178 - 6
travel-web/src/modules/pc-home/pages/page-co-creation/page-co-creation.ts

@@ -1,11 +1,183 @@
-import { Component } from '@angular/core';
+import { Component, AfterViewInit, ElementRef, ViewChild } from '@angular/core';
+import * as echarts from 'echarts';
 
 @Component({
   selector: 'app-page-co-creation',
-   imports: [],
+  standalone: true,
   templateUrl: './page-co-creation.html',
-  styleUrl: './page-co-creation.scss'
+  styleUrls: ['./page-co-creation.scss']
 })
-export class PageCoCreation {
-  
-}
+export class PageCoCreation implements AfterViewInit {
+  @ViewChild('redCultureChart') redCultureChart!: ElementRef;
+  @ViewChild('waterCultureChart') waterCultureChart!: ElementRef;
+  @ViewChild('heritageChart') heritageChart!: ElementRef;
+  @ViewChild('archaeologyMap') archaeologyMap!: ElementRef;
+
+  // 解锁的文化彩蛋数据
+  culturalEasterEggs = [
+    { icon: 'fa-utensils', color: '#e8c34d', title: '南昌瓦罐汤制作秘籍' },
+    { icon: 'fa-music', color: '#c1272d', title: '赣南采茶戏经典唱段' },
+    { icon: 'fa-archway', color: '#2a5daa', title: '景德镇制瓷七十二道工序' },
+    { icon: 'fa-mountain', color: '#4a6b3d', title: '庐山历史名人轶事' }
+  ];
+
+  // 高校联盟数据
+  universities = [
+    { name: '水利水电大学', icon: 'fa-tint', bg: 'linear-gradient(135deg, #4a86e8, #4a86e8)' },
+    { name: '南昌大学', icon: 'fa-university', bg: 'linear-gradient(135deg, #c1272d, #c1272d)' },
+    { name: '景德镇陶瓷大学', icon: 'fa-paint-brush', bg: 'linear-gradient(135deg, #e8c34d, #e8c34d)' },
+    { name: '江西农业大学', icon: 'fa-tree', bg: 'linear-gradient(135deg, #4a6b3d, #4a6b3d)' },
+    { name: '江西师范大学', icon: 'fa-laptop-code', bg: 'linear-gradient(135deg, #6a5acd, #7b68ee)' }
+  ];
+
+  ngAfterViewInit(): void {
+    this.initRedCultureChart();
+    this.initWaterCultureChart();
+    this.initHeritageChart();
+    this.initArchaeologyMap();
+
+    window.addEventListener('resize', () => {
+      this.resizeCharts();
+    });
+  }
+
+  private initRedCultureChart(): void {
+    const chart = echarts.init(this.redCultureChart.nativeElement);
+    chart.setOption({
+      tooltip: { trigger: 'item', triggerOn: 'mousemove' },
+      series: [{
+        type: 'graph',
+        layout: 'force',
+        symbolSize: 50,
+        roam: true,
+        label: { show: true },
+        force: { repulsion: 150 },
+        data: [
+          { name: '南昌起义', value: 10, symbol: 'circle', itemStyle: { color: '#c1272d' } },
+          { name: '井冈山', value: 8, symbol: 'circle', itemStyle: { color: '#e74c3c' } },
+          { name: '瑞金', value: 7, symbol: 'circle', itemStyle: { color: '#e67e22' } },
+          { name: '方志敏', value: 6, symbol: 'circle', itemStyle: { color: '#d35400' } },
+          { name: '安源路矿', value: 5, symbol: 'circle', itemStyle: { color: '#c0392b' } }
+        ],
+        links: [
+          { source: '南昌起义', target: '井冈山' },
+          { source: '南昌起义', target: '瑞金' },
+          { source: '井冈山', target: '瑞金' },
+          { source: '井冈山', target: '方志敏' },
+          { source: '瑞金', target: '方志敏' },
+          { source: '方志敏', target: '安源路矿' }
+        ],
+        lineStyle: { color: 'source', curveness: 0.3 }
+      }]
+    });
+  }
+
+  private initWaterCultureChart(): void {
+    const chart = echarts.init(this.waterCultureChart.nativeElement);
+    chart.setOption({
+      tooltip: { trigger: 'item', triggerOn: 'mousemove' },
+      series: [{
+        type: 'graph',
+        layout: 'force',
+        symbolSize: 50,
+        roam: true,
+        label: { show: true },
+        force: { repulsion: 150 },
+        data: [
+          { name: '赣江', value: 10, symbol: 'circle', itemStyle: { color: '#3498db' } },
+          { name: '鄱阳湖', value: 9, symbol: 'circle', itemStyle: { color: '#2980b9' } },
+          { name: '水利工程', value: 8, symbol: 'circle', itemStyle: { color: '#1abc9c' } },
+          { name: '水运文化', value: 7, symbol: 'circle', itemStyle: { color: '#16a085' } },
+          { name: '水资源保护', value: 6, symbol: 'circle', itemStyle: { color: '#27ae60' } }
+        ],
+        links: [
+          { source: '赣江', target: '鄱阳湖' },
+          { source: '赣江', target: '水利工程' },
+          { source: '赣江', target: '水运文化' },
+          { source: '鄱阳湖', target: '水资源保护' },
+          { source: '水利工程', target: '水资源保护' },
+          { source: '水运文化', target: '水资源保护' }
+        ],
+        lineStyle: { color: 'source', curveness: 0.3 }
+      }]
+    });
+  }
+
+  private initHeritageChart(): void {
+    const chart = echarts.init(this.heritageChart.nativeElement);
+    chart.setOption({
+      tooltip: { trigger: 'item', triggerOn: 'mousemove' },
+      series: [{
+        type: 'graph',
+        layout: 'force',
+        symbolSize: 50,
+        roam: true,
+        label: { show: true },
+        force: { repulsion: 150 },
+        data: [
+          { name: '景德镇陶瓷', value: 10, symbol: 'circle', itemStyle: { color: '#e8c34d' } },
+          { name: '赣南采茶戏', value: 9, symbol: 'circle', itemStyle: { color: '#f39c12' } },
+          { name: '婺源徽派建筑', value: 8, symbol: 'circle', itemStyle: { color: '#d35400' } },
+          { name: '铅山连四纸', value: 7, symbol: 'circle', itemStyle: { color: '#e67e22' } },
+          { name: '瑞昌剪纸', value: 6, symbol: 'circle', itemStyle: { color: '#f1c40f' } }
+        ],
+        links: [
+          { source: '景德镇陶瓷', target: '赣南采茶戏' },
+          { source: '景德镇陶瓷', target: '婺源徽派建筑' },
+          { source: '赣南采茶戏', target: '铅山连四纸' },
+          { source: '婺源徽派建筑', target: '瑞昌剪纸' },
+          { source: '铅山连四纸', target: '瑞昌剪纸' }
+        ],
+        lineStyle: { color: 'source', curveness: 0.3 }
+      }]
+    });
+  }
+
+  private initArchaeologyMap(): void {
+    const chart = echarts.init(this.archaeologyMap.nativeElement);
+    chart.setOption({
+      tooltip: { trigger: 'item' },
+      visualMap: {
+        min: 0,
+        max: 100,
+        calculable: true,
+        inRange: { color: ['#f6efa6', '#d88273', '#bf444c'] }
+      },
+      series: [{
+        name: '考古遗址',
+        type: 'map',
+        map: 'china',
+        roam: true,
+        zoom: 7,
+        center: [115.8, 28.5], // 江西中心坐标
+        label: { show: true },
+        data: [
+          { name: '樟树市', value: 95 },
+          { name: '南昌市', value: 85 },
+          { name: '九江市', value: 78 },
+          { name: '景德镇市', value: 90 },
+          { name: '鹰潭市', value: 65 },
+          { name: '新余市', value: 50 },
+          { name: '萍乡市', value: 60 },
+          { name: '赣州市', value: 82 },
+          { name: '吉安市', value: 75 },
+          { name: '宜春市', value: 70 },
+          { name: '抚州市', value: 68 },
+          { name: '上饶市', value: 80 }
+        ],
+        emphasis: { label: { show: true } }
+      }]
+    });
+  }
+
+  private resizeCharts(): void {
+    [this.redCultureChart, this.waterCultureChart, this.heritageChart, this.archaeologyMap].forEach(chart => {
+      if (chart) {
+        const instance = echarts.getInstanceByDom(chart.nativeElement);
+        if (instance) {
+          instance.resize();
+        }
+      }
+    });
+  }
+}