年文创与科技积淀
+YEARS OF EXPERIENCE
++ 气元科技由深耕文创+科技领域15年的资深团队创立,专注于AI动画、传统CG动画、AI应用产品三大核心业务。 +
+diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index e76fa85..07c25e1 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -34,12 +34,23 @@ jobs: echo "✓ 文件同步完成" + - name: Apply nginx ConfigMap and restart deployment + run: | + scp k8s/nginx-conf.yaml root@118.196.70.19:/tmp/static-sites-nginx-conf.yaml + ssh root@118.196.70.19 " + kubectl apply -f /tmp/static-sites-nginx-conf.yaml + kubectl rollout restart deployment/static-sites + kubectl rollout status deployment/static-sites --timeout=60s + " + echo "✓ nginx 配置已更新" + - name: Auto generate and apply Ingress run: | + # 自动子域名模式的项目(裸域 airlabs-art 由下面特判) PROJECTS="" for dir in */; do case "$dir" in - .gitea/|.git/|k8s/) continue ;; + .gitea/|.git/|k8s/|airlabs-art/) continue ;; esac PROJECTS="$PROJECTS ${dir%/}" done @@ -75,6 +86,22 @@ jobs: printf ' number: 80\n' >> /tmp/ingress.yaml done + # 特判:裸域 + www 走 HTTP only,映射到 airlabs-art/ 目录 + if [ -d airlabs-art ]; then + for host in airlabs.art www.airlabs.art; do + printf ' - host: %s\n' "$host" >> /tmp/ingress.yaml + printf ' http:\n' >> /tmp/ingress.yaml + printf ' paths:\n' >> /tmp/ingress.yaml + printf ' - path: /\n' >> /tmp/ingress.yaml + printf ' pathType: Prefix\n' >> /tmp/ingress.yaml + printf ' backend:\n' >> /tmp/ingress.yaml + printf ' service:\n' >> /tmp/ingress.yaml + printf ' name: static-sites\n' >> /tmp/ingress.yaml + printf ' port:\n' >> /tmp/ingress.yaml + printf ' number: 80\n' >> /tmp/ingress.yaml + done + fi + echo "--- 生成的 Ingress ---" cat /tmp/ingress.yaml diff --git a/airlabs-art/assets/images/aigc-concept.png b/airlabs-art/assets/images/aigc-concept.png new file mode 100644 index 0000000..941a781 Binary files /dev/null and b/airlabs-art/assets/images/aigc-concept.png differ diff --git a/airlabs-art/assets/images/hero-bg.jpeg b/airlabs-art/assets/images/hero-bg.jpeg new file mode 100644 index 0000000..05f7cfc Binary files /dev/null and b/airlabs-art/assets/images/hero-bg.jpeg differ diff --git a/airlabs-art/assets/images/plush-concept.png b/airlabs-art/assets/images/plush-concept.png new file mode 100644 index 0000000..c7dbf67 Binary files /dev/null and b/airlabs-art/assets/images/plush-concept.png differ diff --git a/airlabs-art/css/reset.css b/airlabs-art/css/reset.css new file mode 100644 index 0000000..55b7f4f --- /dev/null +++ b/airlabs-art/css/reset.css @@ -0,0 +1,27 @@ +/* Modern CSS Reset */ +*, *::before, *::after { + box-sizing: border-box; +} + +* { + margin: 0; + padding: 0; + font: inherit; +} + +body { + min-height: 100vh; +} + +img, picture, svg, video { + display: block; + max-width: 100%; +} + +ul, ol { + list-style: none; +} + +html { + scroll-behavior: smooth; +} diff --git a/airlabs-art/css/style.css b/airlabs-art/css/style.css new file mode 100644 index 0000000..1eed713 --- /dev/null +++ b/airlabs-art/css/style.css @@ -0,0 +1,361 @@ +:root { + /* Colors */ + --bg-color: #0a0a0a; + --surface-dark: #121212; + --text-primary: #ffffff; + --text-secondary: #a0a0a0; + --accent-cyan: #00f2ea; + --accent-magenta: #ff0055; + --accent-yellow: #ffdd00; + --gradient-main: linear-gradient(135deg, var(--accent-cyan), var(--accent-magenta)); + + /* Typography */ + --font-main: 'Inter', system-ui, -apple-system, sans-serif; + --font-display: 'Orbitron', 'Inter', sans-serif; + /* Tech feel for headers */ + + /* Spacing */ + --container-width: 1200px; + --header-height: 80px; + --section-padding: 100px 0; +} + +body { + background-color: var(--bg-color); + color: var(--text-primary); + font-family: var(--font-main); + line-height: 1.6; + overflow-x: hidden; +} + +/* Typography Utilities */ +h1, +h2, +h3, +h4 { + font-weight: 700; + line-height: 1.2; + margin-bottom: 1rem; +} + +h1 { + font-size: 3.5rem; + font-family: var(--font-display); + text-transform: uppercase; + letter-spacing: -1px; +} + +h2 { + font-size: 2.5rem; + font-family: var(--font-display); + margin-bottom: 2rem; + background: var(--gradient-main); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + display: inline-block; +} + +p { + font-size: 1.1rem; + color: var(--text-secondary); + margin-bottom: 1.5rem; +} + +/* Layout Utilities */ +.container { + width: 90%; + max-width: var(--container-width); + margin: 0 auto; + padding: 0 20px; +} + +.section { + padding: var(--section-padding); + position: relative; +} + +/* Header */ +.header { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: var(--header-height); + z-index: 1000; + background: rgba(10, 10, 10, 0.8); + backdrop-filter: blur(10px); + border-bottom: 1px solid rgba(255, 255, 255, 0.05); + display: flex; + align-items: center; + transition: all 0.3s ease; +} + +.header .container { + display: flex; + justify-content: space-between; + align-items: center; +} + +.logo { + font-family: var(--font-display); + font-size: 1.5rem; + font-weight: 700; + color: var(--text-primary); + text-decoration: none; + letter-spacing: 2px; +} + +.logo span { + color: var(--accent-cyan); +} + +.nav-links { + display: flex; + gap: 30px; +} + +.nav-links a { + color: var(--text-primary); + text-decoration: none; + font-size: 0.95rem; + font-weight: 500; + transition: color 0.3s ease; + text-transform: uppercase; + letter-spacing: 1px; +} + +.nav-links a:hover { + color: var(--accent-cyan); +} + +/* Hero Section */ +.hero { + height: 100vh; + display: flex; + align-items: center; + position: relative; + overflow: hidden; + padding-top: var(--header-height); +} + +.hero-bg { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + object-fit: cover; + z-index: -1; + opacity: 0.6; +} + +.hero-content { + max-width: 800px; + position: relative; + z-index: 1; +} + +.btn { + display: inline-block; + padding: 15px 35px; + background: var(--gradient-main); + color: white; + text-decoration: none; + border-radius: 50px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 1px; + transition: transform 0.3s ease, box-shadow 0.3s ease; + border: none; + cursor: pointer; +} + +.btn:hover { + transform: translateY(-2px); + box-shadow: 0 10px 20px rgba(0, 242, 234, 0.3); +} + +/* Feature Sections */ +.feature-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 60px; + align-items: center; +} + +.feature-grid.reverse { + direction: rtl; + /* Simple way to reverse visual order */ +} + +.feature-grid.reverse>* { + direction: ltr; + /* Reset text direction */ +} + +.feature-image img { + border-radius: 20px; + box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4); + border: 1px solid rgba(255, 255, 255, 0.1); + transition: transform 0.5s ease; +} + +.feature-image:hover img { + transform: scale(1.02); +} + +.feature-text h3 { + font-size: 2rem; + margin-bottom: 1rem; + color: var(--text-primary); +} + +/* Card Grid for About/Stats */ +.card-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: 30px; + margin-top: 40px; +} + +.card { + background: rgba(255, 255, 255, 0.03); + padding: 30px; + border-radius: 15px; + border: 1px solid rgba(255, 255, 255, 0.05); + transition: transform 0.3s ease, background 0.3s ease; +} + +.card:hover { + transform: translateY(-5px); + background: rgba(255, 255, 255, 0.05); + border-color: var(--accent-cyan); +} + +.card-icon { + font-size: 2rem; + margin-bottom: 20px; + color: var(--accent-magenta); +} + +/* Footer */ +.footer { + background: var(--surface-dark); + padding: 80px 0 40px; + text-align: center; + border-top: 1px solid rgba(255, 255, 255, 0.05); + font-size: 0.95rem; +} + +.footer .logo { + margin-bottom: 10px; + display: inline-block; +} + +.company-name { + color: var(--text-primary); + font-size: 1.1rem; + margin-bottom: 40px; + font-weight: 500; + opacity: 0.9; +} + +.footer-contact { + display: flex; + justify-content: center; + flex-wrap: wrap; + gap: 30px; + margin-bottom: 30px; + color: var(--text-secondary); +} + +.contact-item { + display: flex; + align-items: center; + gap: 8px; +} + +.contact-item span { + color: var(--accent-cyan); + font-weight: 500; +} + +.footer-links { + margin-bottom: 40px; +} + +.footer-links a { + color: var(--text-primary); + text-decoration: none; + font-size: 1rem; + padding-bottom: 2px; + border-bottom: 1px solid transparent; + transition: all 0.3s ease; +} + +.footer-links a:hover { + color: var(--accent-magenta); + border-color: var(--accent-magenta); +} + +.footer-copyright { + opacity: 0.5; + font-size: 0.85rem; + line-height: 1.8; +} + +.footer-copyright a { + color: inherit; + text-decoration: none; + transition: color 0.3s ease; +} + +.footer-copyright a:hover { + color: var(--text-primary); + text-decoration: underline; +} + +@media (max-width: 768px) { + .footer-contact { + flex-direction: column; + gap: 15px; + } +} + +/* Animations */ +.fade-up { + opacity: 0; + transform: translateY(30px); + transition: opacity 0.8s ease, transform 0.8s ease; +} + +.fade-up.visible { + opacity: 1; + transform: translateY(0); +} + +/* Responsive */ +@media (max-width: 768px) { + h1 { + font-size: 2.5rem; + } + + h2 { + font-size: 2rem; + } + + .feature-grid { + grid-template-columns: 1fr; + gap: 40px; + } + + .feature-grid.reverse { + direction: ltr; + } + + .nav-links { + display: none; + } + + /* Simplified for this MVP */ +} \ No newline at end of file diff --git a/airlabs-art/index.html b/airlabs-art/index.html new file mode 100644 index 0000000..db12862 --- /dev/null +++ b/airlabs-art/index.html @@ -0,0 +1,154 @@ + + + +
+ + +
+ 广州气元科技有限公司 (AirLab)
+Pioneering AIGC Short Dramas & Next-Gen Intelligent Plush + Toys.
+ Explore The Future +Pushing the boundaries of what's possible with Generative AI and Smart Hardware.
+Crafting experiences that resonate with the modern, digital-native generation.
+Infusing technology with life, emotion, and interactivity.
+At AirLab, we harness the power of cutting-edge AIGC models to produce stunning, high-fidelity + short dramas. Our pipeline allows for limitless creativity, rapid production, and visual styles + that captivate global audiences.
+
+ Meet our line of smart companions. Combining premium plush materials with advanced AI + interaction, our toys can converse, learn, and grow with you. It's not just a product; it's a + friend with a soul.
+
+ AIRLABS
+科技与文化创意的融合者
+TECHNOLOGY & CREATIVE FUSION
+YEARS OF EXPERIENCE
++ 气元科技由深耕文创+科技领域15年的资深团队创立,专注于AI动画、传统CG动画、AI应用产品三大核心业务。 +
+CORE SERVICES
+ +通过AI辅助提高动画制作效率,创造更具想象力的内容。
+专业的CG动画制作,为客户提供高品质的视觉体验。
+开发前沿AI应用产品,探索科技与文化创意融合的新边界。
+OUR CLIENTS
+ +为中国知名主题公园及旅游度假区提供创意内容服务。
+为国际知名品牌提供定制创意服务。
+FEATURED PROJECTS
+ +已在中国及欧盟20多个国家发行,衍生产品畅销中欧市场的经典案例。
+ +BUSINESS LAYOUT
+ +通过AI辅助提高动画制作效率,创造更具想象力的内容。
+探索AI技术与真人内容结合的创新表现形式。
+利用AI提升广告内容创作效率和个性化定制能力。
+与集卡社合作开发,融合虚拟偶像IP和AI互动体验。
+聚焦用户的智能情感陪伴需求。
+创造独特IP形象与故事世界观。
+结合AI技术提升传统动画制作效率与质量。
+拓展全球市场,实现IP价值最大化。
+打造完整产业闭环,实现多元化变现。
+最后更新日期:2025年06月01日
+ +欢迎访问广州气元科技有限公司(以下简称“AirLab”或“我们”)的官方网站。我们非常重视您的隐私保护。本隐私政策旨在向您说明我们在您访问本网站时如何收集、使用、存储和保护您的个人信息。
+ +当您访问我们的网站时,我们要么不收集您的个人信息,要么仅收集为提供服务所必需的最小化信息:
+我们要合法、正当、必要地使用收集到的信息。主要用途包括:
+我们承诺不会出售、交易或未经授权转让您的个人信息给第三方,除非:
+本网站可能会使用 Cookie 或类似技术来提升用户体验,例如记录您的语言偏好。您可以根据自己的偏好在浏览器设置中管理或拒绝 Cookie,但这可能会影响部分网站功能的正常使用。
+ +我们采取合理的行业标准安全措施(包括技术手段和管理制度)来保护您的信息免受未经授权的访问、披露、使用、修改或损坏。然而,请注意互联网传输并非绝对安全,我们无法保证信息的绝对安全性。
+ +我们的服务主要面向成人。若您是未成年人,建议在监护人指导下访问本网站。我们不会故意收集未成年人的个人信息。
+ +AirLab 保留随时更新本隐私政策的权利。更新后的政策将发布在本页面上,并通过更新顶部的“最后更新日期”以此通知。建议您定期查阅以了解最新信息。
+ +如果您对本隐私政策有任何疑问或建议,请通过以下方式联系我们:
+
+ 广州气元科技有限公司
+ Email: airlabsv001@gmail.com
+ Phone: 132 4483 6848
+ Address: 广东省广州市荔湾区信义会馆-6栋3楼301
+