commit 71e7e8a3d06a1d9c0060a9aaef2d7891fcf86cd8 Author: 陈思海 <1464576565@qq.com> Date: Wed Jan 21 10:43:20 2026 +0800 修改 diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/.htaccess @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.user.ini b/.user.ini new file mode 100644 index 0000000..033065e --- /dev/null +++ b/.user.ini @@ -0,0 +1 @@ +open_basedir=/www/wwwroot/xk/:/tmp/ \ No newline at end of file diff --git a/.well-known/acme-challenge/mjGWBnFaalmKCj7HR9xnZyKOciTcbhuM9SlqgjRnkmY b/.well-known/acme-challenge/mjGWBnFaalmKCj7HR9xnZyKOciTcbhuM9SlqgjRnkmY new file mode 100644 index 0000000..3b4b821 --- /dev/null +++ b/.well-known/acme-challenge/mjGWBnFaalmKCj7HR9xnZyKOciTcbhuM9SlqgjRnkmY @@ -0,0 +1 @@ +mjGWBnFaalmKCj7HR9xnZyKOciTcbhuM9SlqgjRnkmY.oqvhaHLGW8a5YQtERCruGJmV3w_soHzPw6ceDRd4lF0 \ No newline at end of file diff --git a/404.html b/404.html new file mode 100644 index 0000000..6f17eaf --- /dev/null +++ b/404.html @@ -0,0 +1,7 @@ + +404 Not Found + +

404 Not Found

+
nginx
+ + \ No newline at end of file diff --git a/config/card.json b/config/card.json new file mode 100644 index 0000000..77a2aeb --- /dev/null +++ b/config/card.json @@ -0,0 +1,36 @@ +[ + { + "src": "img/card/3D互动展示.png", + "title": "3D互动展示", + "desc": "创建引人入胜的3D互动体验,让您的产品栩栩如生。" + }, + { + "src": "img/card/VR展厅制作.png", + "title": "VR展厅制作", + "desc": "打造虚拟现实展厅,让客户随时随地参观您的展示空间。" + }, + { + "src": "img/card/XR大空间文旅制作-唯有大秦.png", + "title": "XR大空间文旅制作-唯有大秦", + "desc": "西安临潼区兵马俑博物馆唯有大秦线下XR剧情演绎体验店,使用最前沿的
MR技术提供虚实集合沉浸式体验。", + "url":"https://www.bilibili.com/video/BV1vVx4zUEqp/" + }, + { + "src": "img/card/XR开发者教育-SpatialXR社区.png", + "title": "XR开发者教育-SpatialXR社区", + "desc": "提供基础入门、高阶进阶开发者培训教程、开发者交流社区以及产品孵化。", + "url": "https://www.spatialxr.tech/" + }, + { + "src": "img/card/XR应用发行-桌鼓达人.png", + "title": "XR应用发行-桌鼓达人", + "desc": "技术支持、行业资源引入孵化产品《桌鼓达人》:作为Vivo Vision眼镜MR护航体验作品之一。", + "url":"https://www.bilibili.com/video/BV1SfeJzVELc/" + }, + { + "src": "img/card/XR游戏制作-SubspaceHunter.png", + "title": "XR游戏制作-SubspaceHunter", + "desc": "2023年Meta Quest3 MR眼镜现象级人气作品。", + "url": "https://sh.xuking.tech/" + } +] \ No newline at end of file diff --git a/config/partners.json b/config/partners.json new file mode 100644 index 0000000..14bedb8 --- /dev/null +++ b/config/partners.json @@ -0,0 +1,37 @@ +[ + { + "name": "vivo", + "logo": "img/logo/vivo.png", + "url": "" + }, + { + "name": "BOE", + "logo": "img/logo/boe.png", + "url": "" + }, + { + "name": "北京大运河博物馆-首都博物馆东馆", + "logo": "img/logo/bwg.png", + "url": "" + }, + { + "name": "江西日报", + "logo": "img/logo/jxrb.png", + "url": "" + }, + { + "name": "丽江市文化和旅游局", + "logo": "img/logo/ljs.png", + "url": "" + }, + { + "name": "Meta", + "logo": "img/logo/meta.png", + "url": "" + }, + { + "name": "中国文化传媒", + "logo": "img/logo/zgwhcm.png", + "url": "" + } +] diff --git a/config/video.json b/config/video.json new file mode 100644 index 0000000..58e86ec --- /dev/null +++ b/config/video.json @@ -0,0 +1,122 @@ +[ + { + "src": "video/数字企业-MR园区展示制作.mp4", + "title": "数字企业-MR园区展示制作", + "desc": "合作客户案例" + }, + { + "src": "video/智慧文旅-MR大空间制作.mp4", + "title": "智慧文旅-MR大空间制作", + "desc": "合作客户案例" + }, + { + "src": "video/XR游戏-定制游戏制作.mp4", + "title": "XR游戏-定制游戏制作", + "desc": "合作客户案例" + }, + { + "src": "video/房产土地-VR可移动观览制作.mp4", + "title": "房产土地-VR可移动观览制作", + "desc": "合作客户案例" + }, + { + "src": "video/MR古建筑.mp4", + "title": "MR古建筑", + "desc": "合作客户案例" + }, + { + "src": "video/国博MR展示.mp4", + "title": "国博MR展示", + "desc": "合作客户案例" + }, + { + "src": "video/传统复兴-文化传承教育.mp4", + "title": "传统复兴-文化传承教育", + "desc": "合作客户案例" + }, + { + "src": "video/生产制造工农业-展示制作.mp4", + "title": "生产制造工农业-展示制作", + "desc": "合作客户案例" + }, + { + "src": "video/建筑家庭·实景装修制作.mp4", + "title": "建筑家庭·实景装修制作", + "desc": "合作客户案例" + }, + { + "src": "video/Mobile应用移植.mp4", + "title": "Mobile应用移植", + "desc": "合作客户案例" + }, + { + "src": "video/VR博物馆-互动式展示制作.mp4", + "title": "VR博物馆-互动式展示制作", + "desc": "合作客户案例" + }, + { + "src": "video/XR课件-生物课程教学.mp4", + "title": "XR课件-生物课程教学", + "desc": "合作客户案例" + }, + { + "src": "video/游戏定制-XR塔防游戏.mp4", + "title": "游戏定制-XR塔防游戏", + "desc": "合作客户案例" + }, + { + "src": "video/3D数字人-AR全息演绎.mp4", + "title": "3D数字人-AR全息演绎", + "desc": "合作客户案例" + }, + { + "src": "video/AR桌游-线下社交.mp4", + "title": "AR桌游-线下社交", + "desc": "合作客户案例" + }, + { + "src": "video/VIVO-桌鼓达人.mp4", + "title": "VIVO-桌鼓达人", + "desc": "合作客户案例" + }, + { + "src": "video/兵马俑博物馆-青铜车马复原.mp4", + "title": "兵马俑博物馆-青铜车马复原", + "desc": "合作客户案例" + }, + { + "src": "video/大空间侏罗纪-MR虚拟实结合.mp4", + "title": "大空间侏罗纪-MR虚拟实结合", + "desc": "合作客户案例" + }, + { + "src": "video/山海经-灵气复苏.mp4", + "title": "山海经-灵气复苏", + "desc": "合作客户案例" + }, + { + "src": "video/VR大空间-秦始皇陵.mp4", + "title": "大空间-秦始皇陵", + "desc": "合作客户案例" + }, + { + "src": "video/MR丧尸入侵现实.mp4", + "title": "MR丧尸入侵现实", + "desc": "合作客户案例" + }, + { + "src": "video/游船MR-大空间娱乐.mp4", + "title": "游船MR-大空间娱乐", + "desc": "合作客户案例" + }, + { + "src": "video/XR多人互动展览馆.mp4", + "title": "XR多人互动展览馆", + "desc": "XR多人互动展览馆" + }, + { + "src": "video/大空间-中国家风.mp4", + "title": "大空间-传统家风文明化", + "desc": "大空间-传统家风文明化" + } +] \ No newline at end of file diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..02433c7 --- /dev/null +++ b/css/style.css @@ -0,0 +1,639 @@ +@font-face { + font-family: jw; + src: url("../font/fonteditor.ttf"); + font-display: block; +} + +.Cover { + position: relative; + overflow: hidden; + height: 100vh; + width: 100%; +} + +canvas#cover { + left: 0px; + bottom: -10%; + width: auto; + height: 125%; + position: fixed; + z-index: -5; + margin: -35px; +} + +:root { + --primary: #4a3fe0; + --secondary: #6a11cb; + --accent: #8a2be2; + --light: #f8f9fa; + --dark: #212529; + --gray: #6c757d; + --transition: all 0.3s ease; + --shadow: 0 5px 15px rgba(0, 0, 0, 0.1); + --radius: 8px; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; +} + +body { + color: var(--dark); + line-height: 1.6; + background-color: #fff; + overflow-x: hidden; +} + +a { + text-decoration: none; + color: inherit; +} + +ul { + list-style: none; +} + +.container { + width: 100%; + max-width: 1200px; + margin: 0 auto; + padding: 0 20px; +} + +.btn { + display: inline-block; + padding: 12px 28px; + background: linear-gradient(to right, var(--primary), var(--secondary)); + color: white; + border-radius: var(--radius); + font-weight: 600; + transition: var(--transition); + border: none; + cursor: pointer; +} + +.btn:hover { + transform: translateY(-3px); + box-shadow: var(--shadow); +} + +.btn-outline { + background: transparent; + border: 2px solid var(--primary); + color: var(--primary); +} + +.btn-outline:hover { + background: linear-gradient(to right, var(--primary), var(--secondary)); + color: white; +} + +.section { + padding: 80px 0; + background-color: rgba(255, 255, 255, 0.93); +} + +.section-title { + text-align: center; + margin-bottom: 50px; + position: relative; +} + +.section-title h2 { + font-size: 2.5rem; + margin-bottom: 15px; + color: var(--dark); +} + +.section-title::after { + content: ''; + position: absolute; + bottom: -15px; + left: 50%; + transform: translateX(-50%); + width: 80px; + height: 4px; + background: linear-gradient(to right, var(--primary), var(--secondary)); + border-radius: 2px; +} + +/* Header */ +header { + position: fixed; + top: 0; + left: 0; + width: 100%; + z-index: 1000; + background-color: rgb(255 255 255); + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + transition: var(--transition); +} + +header.scrolled { + padding: 10px 0; +} + +.navbar { + display: flex; + justify-content: space-between; + align-items: center; + padding: 20px 0; +} + +.logo img { + height: 50px; + width: auto; +} + +.nav-links { + display: flex; + gap: 30px; +} + +.nav-links a { + font-weight: 500; + transition: var(--transition); +} + +.nav-links a:hover { + color: var(--primary); +} + +.hamburger { + display: none; + cursor: pointer; +} + +/* Hero Section */ +.hero { + min-height: 100vh; + display: flex; + justify-content: center; + align-items: center; + text-align: center; + flex-direction: column; + color: white; + position: relative; + z-index: 1; +} + +.hero-content { + position: relative; + z-index: 2; +} + +.hero-title { + font-size: 2.5rem; + margin-bottom: 10px; + font-weight: bold; +} + +.hero-subtitle { + font-size: 1.2rem; + margin-bottom: 20px; + font-weight: normal; +} + +.slogan-zh { + text-align-last: justify; + transform: matrix(0.97, 0, -0.27, 1, 0, 0); + width: 777px; + font-size: 135px; + height: 81px; + line-height: 80px; + margin-top: 75px; + margin-bottom: 210px; + font-family: jw; + color: rgb(229, 181, 7); + letter-spacing: 10px; + text-shadow: rgba(251, 233, 163, 0.7) 0px 0px 4px; +} + +/* Features */ +.features-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 30px; +} + +.feature-card { + background: white; + border-radius: var(--radius); + padding: 30px; + box-shadow: var(--shadow); + transition: var(--transition); + text-align: center; +} + +.feature-card:hover { + transform: translateY(-10px); +} + +.feature-icon { + font-size: 2.5rem; + margin-bottom: 20px; + color: var(--primary); +} + +.feature-card h3 { + margin-bottom: 15px; + font-size: 1.5rem; +} + +/* Services */ +.services { + background-color: var(--light); +} + +.services-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 30px; +} + +.service-card { + background: white; + border-radius: var(--radius); + overflow: hidden; + box-shadow: var(--shadow); + transition: var(--transition); +} + +.service-card:hover { + transform: translateY(-5px); +} + +.service-card { + border-radius: 16px; + overflow: hidden; + background: #fff; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); +} + +.service-img { + width: 100%; + height: 200px; + overflow: hidden; +} + +.service-img img { + width: 100%; + height: 100%; + object-fit: cover; + display: block; +} + + +.service-content { + padding: 20px; +} + +.service-content h3 { + margin-bottom: 15px; + font-size: 1.3rem; +} + +/* Advantages */ +.advantages-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 30px; +} + +.advantage-card { + display: flex; + align-items: flex-start; + gap: 20px; +} + +.advantage-icon { + font-size: 2rem; + color: var(--primary); + flex-shrink: 0; +} + +/* Partner Logos */ +.partners-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 40px; + align-items: center; + justify-items: center; +} + +.partner-logo { + display: flex; + align-items: center; + justify-content: center; + padding: 20px; + background: white; + border-radius: var(--radius); + box-shadow: var(--shadow); + transition: var(--transition); + width: 100%; + height: 150px; +} + +.partner-logo:hover { + transform: translateY(-5px); + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); +} + +.partner-logo img { + max-width: 100%; + max-height: 100%; + object-fit: contain; + filter: grayscale(100%); + transition: var(--transition); +} + +.partner-logo:hover img { + filter: grayscale(0%); +} + +/* Cases */ +.cases { + background-color: var(--light); +} + +.cases-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 30px; +} + +.case-card { + position: relative; + border-radius: var(--radius); + overflow: hidden; + height: 250px; + box-shadow: var(--shadow); +} + +.case-card video { + width: 100%; + height: 100%; + object-fit: cover; + transition: var(--transition); +} + +.case-card:hover video { + transform: scale(1.1); +} + +.case-preview { + width: 100%; + height: 100%; + object-fit: cover; + display: block; + transition: var(--transition); +} + +.case-card:hover .case-preview { + transform: scale(1.1); +} + + +/* 播放按钮 */ +.play-button { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 10px; + color: white; + background: rgba(0, 0, 0, 0.6); + border-radius: 50%; + padding: 15px; + cursor: pointer; + transition: background 0.3s; + z-index: 2; +} + +.play-button:hover { + background: rgba(0, 0, 0, 0.8); +} + +.video-modal { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.8); + z-index: 1000; + justify-content: center; + align-items: center; +} + +.video-content { + position: relative; + width: 80vw; + max-width: 960px; + aspect-ratio: 16 / 9; + background: #000; + border-radius: 10px; + overflow: hidden; +} + +.video-content video { + width: 100%; + height: 100%; + object-fit: contain; +} + + +.close-btn { + position: absolute; + top: 10px; + right: 15px; + font-size: 30px; + color: white; + cursor: pointer; + z-index: 10; +} + +.case-overlay { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + padding: 20px; + background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent); + color: white; +} + +.about-content { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 50px; + align-items: center; +} + +.about-text h2 { + margin-bottom: 20px; + font-size: 2rem; +} + +.about-stats { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 20px; + margin-top: 30px; +} + +.stat { + text-align: center; +} + +.stat-number { + font-size: 2.5rem; + font-weight: 700; + color: var(--primary); + margin-bottom: 10px; +} + +.about-image img { + width: 100%; + border-radius: var(--radius); + box-shadow: var(--shadow); +} + + +.contact { + background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); + color: white; +} + +.contact .section-title h2 { + color: white; +} + +.contact .section-title::after { + background: white; +} + +.contact-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 50px; +} + +.contact-info { + display: flex; + flex-direction: column; + gap: 20px; +} + +.contact-item { + display: flex; + align-items: center; + gap: 15px; +} + +.contact-icon { + font-size: 1.5rem; +} + +.qr-code img { + width: 200px; + border-radius: var(--radius); + box-shadow: var(--shadow); +} + +.form-group label { + font-weight: 500; +} + + +/* Footer */ +footer { + background-color: var(--dark); + color: white; + padding: 50px 0 20px; +} + +.footer-content { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: 40px; + margin-bottom: 40px; +} + +.footer-column h3 { + margin-bottom: 20px; + font-size: 1.3rem; +} + +.footer-links { + display: flex; + flex-direction: column; + gap: 10px; +} + +.footer-links a { + transition: var(--transition); +} + +.footer-links a:hover { + color: var(--primary); +} + +.social-links { + display: flex; + gap: 15px; + margin-top: 20px; +} + +.social-links a { + display: flex; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + background: rgba(255, 255, 255, 0.1); + border-radius: 50%; + transition: var(--transition); +} + +.social-links a:hover { + background: var(--primary); +} + +.copyright { + text-align: center; + padding-top: 20px; + border-top: 1px solid rgba(255, 255, 255, 0.1); +} + + + + +@media (max-width: 768px) { + .nav-links { + position: fixed; + top: 80px; + left: -100%; + width: 100%; + height: calc(100vh - 80px); + background: white; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 40px; + transition: var(--transition); + } + + .nav-links.active { + left: 0; + } + + .hamburger { + display: block; + } + +} diff --git a/font/fonteditor.ttf b/font/fonteditor.ttf new file mode 100644 index 0000000..e0c564b Binary files /dev/null and b/font/fonteditor.ttf differ diff --git a/img/about.png b/img/about.png new file mode 100644 index 0000000..78e5b59 Binary files /dev/null and b/img/about.png differ diff --git a/img/card/3D互动展示.png b/img/card/3D互动展示.png new file mode 100644 index 0000000..deedd11 Binary files /dev/null and b/img/card/3D互动展示.png differ diff --git a/img/card/VR展厅制作.png b/img/card/VR展厅制作.png new file mode 100644 index 0000000..152a5cc Binary files /dev/null and b/img/card/VR展厅制作.png differ diff --git a/img/card/XR大空间文旅制作-唯有大秦.png b/img/card/XR大空间文旅制作-唯有大秦.png new file mode 100644 index 0000000..df82750 Binary files /dev/null and b/img/card/XR大空间文旅制作-唯有大秦.png differ diff --git a/img/card/XR应用发行-桌鼓达人.png b/img/card/XR应用发行-桌鼓达人.png new file mode 100644 index 0000000..800e1d1 Binary files /dev/null and b/img/card/XR应用发行-桌鼓达人.png differ diff --git a/img/card/XR开发者教育-SpatialXR社区.png b/img/card/XR开发者教育-SpatialXR社区.png new file mode 100644 index 0000000..251c6f5 Binary files /dev/null and b/img/card/XR开发者教育-SpatialXR社区.png differ diff --git a/img/card/XR游戏制作-SubspaceHunter.png b/img/card/XR游戏制作-SubspaceHunter.png new file mode 100644 index 0000000..e18efdc Binary files /dev/null and b/img/card/XR游戏制作-SubspaceHunter.png differ diff --git a/img/ico_logo.ico b/img/ico_logo.ico new file mode 100644 index 0000000..56bc848 Binary files /dev/null and b/img/ico_logo.ico differ diff --git a/img/ico_logo.svg b/img/ico_logo.svg new file mode 100644 index 0000000..0f6b41c --- /dev/null +++ b/img/ico_logo.svg @@ -0,0 +1,960 @@ + + + + diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 0000000..15e6a76 Binary files /dev/null and b/img/logo.png differ diff --git a/img/logo/boe.png b/img/logo/boe.png new file mode 100644 index 0000000..633a8ac Binary files /dev/null and b/img/logo/boe.png differ diff --git a/img/logo/bwg.png b/img/logo/bwg.png new file mode 100644 index 0000000..e3ae7ca Binary files /dev/null and b/img/logo/bwg.png differ diff --git a/img/logo/jxrb.png b/img/logo/jxrb.png new file mode 100644 index 0000000..2ef474e Binary files /dev/null and b/img/logo/jxrb.png differ diff --git a/img/logo/ljs.png b/img/logo/ljs.png new file mode 100644 index 0000000..0183ec7 Binary files /dev/null and b/img/logo/ljs.png differ diff --git a/img/logo/meta.png b/img/logo/meta.png new file mode 100644 index 0000000..be40923 Binary files /dev/null and b/img/logo/meta.png differ diff --git a/img/logo/vivo.png b/img/logo/vivo.png new file mode 100644 index 0000000..6ca9906 Binary files /dev/null and b/img/logo/vivo.png differ diff --git a/img/logo/zgwhcm.png b/img/logo/zgwhcm.png new file mode 100644 index 0000000..5be175b Binary files /dev/null and b/img/logo/zgwhcm.png differ diff --git a/img/preview/3D数字人-AR全息演绎.png b/img/preview/3D数字人-AR全息演绎.png new file mode 100644 index 0000000..47b1e16 Binary files /dev/null and b/img/preview/3D数字人-AR全息演绎.png differ diff --git a/img/preview/AR桌游-线下社交.png b/img/preview/AR桌游-线下社交.png new file mode 100644 index 0000000..923ded1 Binary files /dev/null and b/img/preview/AR桌游-线下社交.png differ diff --git a/img/preview/MR丧尸入侵现实.png b/img/preview/MR丧尸入侵现实.png new file mode 100644 index 0000000..d959990 Binary files /dev/null and b/img/preview/MR丧尸入侵现实.png differ diff --git a/img/preview/MR古建筑.png b/img/preview/MR古建筑.png new file mode 100644 index 0000000..0a51df8 Binary files /dev/null and b/img/preview/MR古建筑.png differ diff --git a/img/preview/Mobile应用移植.png b/img/preview/Mobile应用移植.png new file mode 100644 index 0000000..747c72e Binary files /dev/null and b/img/preview/Mobile应用移植.png differ diff --git a/img/preview/VIVO-桌鼓达人.png b/img/preview/VIVO-桌鼓达人.png new file mode 100644 index 0000000..f091ae9 Binary files /dev/null and b/img/preview/VIVO-桌鼓达人.png differ diff --git a/img/preview/VR博物馆-互动式展示制作.png b/img/preview/VR博物馆-互动式展示制作.png new file mode 100644 index 0000000..c7ba7be Binary files /dev/null and b/img/preview/VR博物馆-互动式展示制作.png differ diff --git a/img/preview/XR多人互动展览馆.png b/img/preview/XR多人互动展览馆.png new file mode 100644 index 0000000..d79f752 Binary files /dev/null and b/img/preview/XR多人互动展览馆.png differ diff --git a/img/preview/XR游戏-定制游戏制作.png b/img/preview/XR游戏-定制游戏制作.png new file mode 100644 index 0000000..a2ba737 Binary files /dev/null and b/img/preview/XR游戏-定制游戏制作.png differ diff --git a/img/preview/XR课件-生物课程教学.png b/img/preview/XR课件-生物课程教学.png new file mode 100644 index 0000000..6d5dfa0 Binary files /dev/null and b/img/preview/XR课件-生物课程教学.png differ diff --git a/img/preview/XR课件.png b/img/preview/XR课件.png new file mode 100644 index 0000000..99c379a Binary files /dev/null and b/img/preview/XR课件.png differ diff --git a/img/preview/传统复兴-文化传承教育.png b/img/preview/传统复兴-文化传承教育.png new file mode 100644 index 0000000..37b30f5 Binary files /dev/null and b/img/preview/传统复兴-文化传承教育.png differ diff --git a/img/preview/兵马俑博物馆-青铜车马复原.png b/img/preview/兵马俑博物馆-青铜车马复原.png new file mode 100644 index 0000000..b698c78 Binary files /dev/null and b/img/preview/兵马俑博物馆-青铜车马复原.png differ diff --git a/img/preview/唯有大秦.png b/img/preview/唯有大秦.png new file mode 100644 index 0000000..bb56bea Binary files /dev/null and b/img/preview/唯有大秦.png differ diff --git a/img/preview/国博MR展示.png b/img/preview/国博MR展示.png new file mode 100644 index 0000000..55895a4 Binary files /dev/null and b/img/preview/国博MR展示.png differ diff --git a/img/preview/大空间-传统家风文明化.png b/img/preview/大空间-传统家风文明化.png new file mode 100644 index 0000000..50976b8 Binary files /dev/null and b/img/preview/大空间-传统家风文明化.png differ diff --git a/img/preview/大空间-秦始皇陵.png b/img/preview/大空间-秦始皇陵.png new file mode 100644 index 0000000..bb56bea Binary files /dev/null and b/img/preview/大空间-秦始皇陵.png differ diff --git a/img/preview/大空间侏罗纪-MR虚拟实结合.png b/img/preview/大空间侏罗纪-MR虚拟实结合.png new file mode 100644 index 0000000..799b431 Binary files /dev/null and b/img/preview/大空间侏罗纪-MR虚拟实结合.png differ diff --git a/img/preview/山海经-灵气复苏.png b/img/preview/山海经-灵气复苏.png new file mode 100644 index 0000000..61f53cf Binary files /dev/null and b/img/preview/山海经-灵气复苏.png differ diff --git a/img/preview/建筑家庭·实景装修制作.png b/img/preview/建筑家庭·实景装修制作.png new file mode 100644 index 0000000..438acbc Binary files /dev/null and b/img/preview/建筑家庭·实景装修制作.png differ diff --git a/img/preview/房产土地-VR可移动观览制作.png b/img/preview/房产土地-VR可移动观览制作.png new file mode 100644 index 0000000..31f6ae7 Binary files /dev/null and b/img/preview/房产土地-VR可移动观览制作.png differ diff --git a/img/preview/数字企业-MR园区展示制作.png b/img/preview/数字企业-MR园区展示制作.png new file mode 100644 index 0000000..4c002f5 Binary files /dev/null and b/img/preview/数字企业-MR园区展示制作.png differ diff --git a/img/preview/智慧文旅-MR大空间制作.png b/img/preview/智慧文旅-MR大空间制作.png new file mode 100644 index 0000000..64903bb Binary files /dev/null and b/img/preview/智慧文旅-MR大空间制作.png differ diff --git a/img/preview/游戏定制-XR塔防游戏.png b/img/preview/游戏定制-XR塔防游戏.png new file mode 100644 index 0000000..e469b4b Binary files /dev/null and b/img/preview/游戏定制-XR塔防游戏.png differ diff --git a/img/preview/游船MR-大空间娱乐.png b/img/preview/游船MR-大空间娱乐.png new file mode 100644 index 0000000..9812576 Binary files /dev/null and b/img/preview/游船MR-大空间娱乐.png differ diff --git a/img/preview/生产制造工农业-展示制作.png b/img/preview/生产制造工农业-展示制作.png new file mode 100644 index 0000000..135efe7 Binary files /dev/null and b/img/preview/生产制造工农业-展示制作.png differ diff --git a/img/vx.png b/img/vx.png new file mode 100644 index 0000000..448b464 Binary files /dev/null and b/img/vx.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..9096f27 --- /dev/null +++ b/index.html @@ -0,0 +1,268 @@ + + + + + + + 虚拟现实与混合现实应用开发 - 广州虚境网络科技 + + + + + + + + +
+
+ +
+
+ + + +
+
+

虚境起源

+

Xuking Origin

+
虚境起源
+
+
+ + + +
+
+
+

我们的核心优势

+
+
+
+
+ +
+

开发周期短

+

开发周期短,保证您的项目按时完成,24小时快速响应。

+
+
+
+ +
+

技术质量保证

+

通过专业的检测技术,保证您的项目在开发过程中随时都能保持高质量。

+
+
+
+ +
+

技术方案完善

+

从方案设计到开发的各个环节都有详细的设计和方案,确保项目顺利进行。

+
+
+
+
+ + +
+
+
+

我们的业务范围

+
+
+ +
+
+
+ + + +
+
+
+

合作伙伴

+
+
+ +
+
+
+ +
+
+
+

行业方案案例

+
+
+ +
+
+
+ + + +
+
+ × + +
+
+ + + +
+
+
+

公司介绍

+
+
+
+

+ 广州市虚境起源科技有限公司 +

我们主要提供虚拟现实与混合现实应用开发技术服务、技术服务、技术人员等服务均具备落地开发能力。

+

成立时间:2023年

+ 已为数十家上市企业提供技术服务,培训虚拟现实开发者上万名。 +

+
+
+
100+
+
成功项目
+
+
+
98%
+
客户满意度
+
+
+
50+
+
专业团队
+
+
+
20+
+
行业经验
+
+
+
+
+ 公司外观 +
+
+
+
+ + +
+
+
+

联系我们

+
+
+
+
+
+ +
+
+

地址

+

广东省广州市黄浦区科学城产业总部港A2栋1008

+
+
+
+
+ +
+
+

电话

+

13368952691

+
+
+
+
+ +
+
+

邮件

+

w858626244@gmail.com

+
+
+
+
+ 微信二维码 +
+
+
+
+ + + + + + \ No newline at end of file diff --git a/js/main.js b/js/main.js new file mode 100644 index 0000000..f89db75 --- /dev/null +++ b/js/main.js @@ -0,0 +1,195 @@ + +async function loadServices() { + try { + const res = await fetch("config/card.json"); + const cards = await res.json(); + + const grid = document.getElementById("servicesGrid"); + + cards.forEach(item => { + const card = document.createElement("div"); + card.className = "service-card"; + + // 判断 src 是图片还是图标 + let content; + if (/\.(png|jpe?g|gif|webp|svg)$/i.test(item.src)) { + content = `${item.title}`; + } else { + content = ``; + } + + card.innerHTML = ` +
${content}
+
+

${item.title}

+

${item.desc}

+
+ `; + + // 如果 url 不为空,整个卡片可点击 + if (item.url && item.url.trim() !== "") { + card.style.cursor = "pointer"; + card.addEventListener("click", () => { + let targetUrl = item.url.trim(); + // 如果不是 http/https 开头,自动补全 + if (!/^https?:\/\//i.test(targetUrl)) { + targetUrl = "https://" + targetUrl; + } + window.open(targetUrl, "_blank"); // 新窗口打开 + }); + } + + grid.appendChild(card); + }); + } catch (err) { + console.error("加载业务卡片失败:", err); + } +} + +async function loadPartners() { + try { + const res = await fetch("config/partners.json"); + const partners = await res.json(); + + const grid = document.getElementById("partnersGrid"); + + partners.forEach(item => { + const partnerCard = document.createElement("div"); + partnerCard.className = "partner-logo"; + + partnerCard.innerHTML = ` + ${item.name} + `; + + // 如果 url 不为空,整个卡片可点击 + if (item.url && item.url.trim() !== "") { + partnerCard.style.cursor = "pointer"; + partnerCard.addEventListener("click", () => { + let targetUrl = item.url.trim(); + // 如果不是 http/https 开头,自动补全 + if (!/^https?:\/\//i.test(targetUrl)) { + targetUrl = "https://" + targetUrl; + } + window.open(targetUrl, "_blank"); // 新窗口打开 + }); + } + + grid.appendChild(partnerCard); + }); + } catch (err) { + console.error("加载合作伙伴失败:", err); + } +} + +document.addEventListener("DOMContentLoaded", () => { + loadCases(); + loadServices(); + loadPartners(); +}); + + + + +async function loadCases() { + try { + // 读取 config/video.json + const res = await fetch("config/video.json"); + const cases = await res.json(); + + const grid = document.getElementById("casesGrid"); + + cases.forEach(item => { + const card = document.createElement("div"); + card.className = "case-card"; + card.setAttribute("data-video", item.src); + const previewPath = "img/preview/" + item.title + ".png"; + // 用 preview 图片当封面 + card.innerHTML = ` + ${item.title} +
+
+

${item.title}

+

${item.desc}

+
+ `; + + grid.appendChild(card); + }); + + // 加载完成后绑定点击播放逻辑 + bindVideoModal(); + } catch (err) { + console.error("加载案例失败:", err); + } +} + +function bindVideoModal() { + const modal = document.getElementById("videoModal"); + const modalVideo = document.getElementById("modalVideo"); + const closeBtn = modal.querySelector(".close-btn"); + + // 点击卡片播放 + document.querySelectorAll(".case-card .play-button").forEach(button => { + button.addEventListener("click", () => { + const videoSrc = button.parentElement.getAttribute("data-video"); + modal.style.display = "flex"; + modalVideo.src = videoSrc; + modalVideo.play(); + }); + }); + + // 关闭按钮 + closeBtn.addEventListener("click", () => { + modal.style.display = "none"; + modalVideo.pause(); + modalVideo.src = ""; + }); + + // 点击遮罩层关闭 + modal.addEventListener("click", (e) => { + if (e.target === modal) { + modal.style.display = "none"; + modalVideo.pause(); + modalVideo.src = ""; + } + }); +} + + + + +// const hamburger = document.querySelector('.hamburger'); +const navLinks = document.querySelector('.nav-links'); + +// hamburger.addEventListener('click', () => { +// navLinks.classList.toggle('active'); +// }); + +window.addEventListener('scroll', () => { + const header = document.querySelector('header'); + if (window.scrollY > 100) { + header.classList.add('scrolled'); + } else { + header.classList.remove('scrolled'); + } +}); + +document.querySelectorAll('a[href^="#"]').forEach(anchor => { + anchor.addEventListener('click', function (e) { + e.preventDefault(); + + const targetId = this.getAttribute('href'); + if (targetId === '#') return; + + const targetElement = document.querySelector(targetId); + if (targetElement) { + navLinks.classList.remove('active'); + + window.scrollTo({ + top: targetElement.offsetTop - 80, + behavior: 'smooth' + }); + } + }); +}); + diff --git a/video/3D数字人-AR全息演绎.mp4 b/video/3D数字人-AR全息演绎.mp4 new file mode 100644 index 0000000..7777626 Binary files /dev/null and b/video/3D数字人-AR全息演绎.mp4 differ diff --git a/video/AR桌游-线下社交.mp4 b/video/AR桌游-线下社交.mp4 new file mode 100644 index 0000000..5e5e1ce Binary files /dev/null and b/video/AR桌游-线下社交.mp4 differ diff --git a/video/MR丧尸入侵现实.mp4 b/video/MR丧尸入侵现实.mp4 new file mode 100644 index 0000000..d056f4b Binary files /dev/null and b/video/MR丧尸入侵现实.mp4 differ diff --git a/video/MR古建筑.mp4 b/video/MR古建筑.mp4 new file mode 100644 index 0000000..f2d151e Binary files /dev/null and b/video/MR古建筑.mp4 differ diff --git a/video/Mobile应用移植.mp4 b/video/Mobile应用移植.mp4 new file mode 100644 index 0000000..fcc9b85 Binary files /dev/null and b/video/Mobile应用移植.mp4 differ diff --git a/video/VIVO-桌鼓达人.mp4 b/video/VIVO-桌鼓达人.mp4 new file mode 100644 index 0000000..d613a67 Binary files /dev/null and b/video/VIVO-桌鼓达人.mp4 differ diff --git a/video/VR博物馆-互动式展示制作.mp4 b/video/VR博物馆-互动式展示制作.mp4 new file mode 100644 index 0000000..a2cc744 Binary files /dev/null and b/video/VR博物馆-互动式展示制作.mp4 differ diff --git a/video/VR大空间-秦始皇陵.mp4 b/video/VR大空间-秦始皇陵.mp4 new file mode 100644 index 0000000..564cbf3 Binary files /dev/null and b/video/VR大空间-秦始皇陵.mp4 differ diff --git a/video/XR多人互动展览馆.mp4 b/video/XR多人互动展览馆.mp4 new file mode 100644 index 0000000..db560df Binary files /dev/null and b/video/XR多人互动展览馆.mp4 differ diff --git a/video/XR游戏-定制游戏制作.mp4 b/video/XR游戏-定制游戏制作.mp4 new file mode 100644 index 0000000..ba3abc7 Binary files /dev/null and b/video/XR游戏-定制游戏制作.mp4 differ diff --git a/video/XR课件-生物课程教学.mp4 b/video/XR课件-生物课程教学.mp4 new file mode 100644 index 0000000..aa5c552 Binary files /dev/null and b/video/XR课件-生物课程教学.mp4 differ diff --git a/video/传统复兴-文化传承教育.mp4 b/video/传统复兴-文化传承教育.mp4 new file mode 100644 index 0000000..4062465 Binary files /dev/null and b/video/传统复兴-文化传承教育.mp4 differ diff --git a/video/兵马俑博物馆-青铜车马复原.mp4 b/video/兵马俑博物馆-青铜车马复原.mp4 new file mode 100644 index 0000000..b1aa1c1 Binary files /dev/null and b/video/兵马俑博物馆-青铜车马复原.mp4 differ diff --git a/video/国博MR展示.mp4 b/video/国博MR展示.mp4 new file mode 100644 index 0000000..f6658c9 Binary files /dev/null and b/video/国博MR展示.mp4 differ diff --git a/video/大空间-中国家风.mp4 b/video/大空间-中国家风.mp4 new file mode 100644 index 0000000..0ffb10e Binary files /dev/null and b/video/大空间-中国家风.mp4 differ diff --git a/video/大空间侏罗纪-MR虚拟实结合.mp4 b/video/大空间侏罗纪-MR虚拟实结合.mp4 new file mode 100644 index 0000000..1dcfc64 Binary files /dev/null and b/video/大空间侏罗纪-MR虚拟实结合.mp4 differ diff --git a/video/山海经-灵气复苏.mp4 b/video/山海经-灵气复苏.mp4 new file mode 100644 index 0000000..e9624f3 Binary files /dev/null and b/video/山海经-灵气复苏.mp4 differ diff --git a/video/建筑家庭·实景装修制作.mp4 b/video/建筑家庭·实景装修制作.mp4 new file mode 100644 index 0000000..3c38b5a Binary files /dev/null and b/video/建筑家庭·实景装修制作.mp4 differ diff --git a/video/房产土地-VR可移动观览制作.mp4 b/video/房产土地-VR可移动观览制作.mp4 new file mode 100644 index 0000000..b006d1c Binary files /dev/null and b/video/房产土地-VR可移动观览制作.mp4 differ diff --git a/video/数字企业-MR园区展示制作.mp4 b/video/数字企业-MR园区展示制作.mp4 new file mode 100644 index 0000000..788334f Binary files /dev/null and b/video/数字企业-MR园区展示制作.mp4 differ diff --git a/video/智慧文旅-MR大空间制作.mp4 b/video/智慧文旅-MR大空间制作.mp4 new file mode 100644 index 0000000..7e0ae7b Binary files /dev/null and b/video/智慧文旅-MR大空间制作.mp4 differ diff --git a/video/游戏定制-XR塔防游戏.mp4 b/video/游戏定制-XR塔防游戏.mp4 new file mode 100644 index 0000000..8ee88f8 Binary files /dev/null and b/video/游戏定制-XR塔防游戏.mp4 differ diff --git a/video/游船MR-大空间娱乐.mp4 b/video/游船MR-大空间娱乐.mp4 new file mode 100644 index 0000000..0e9e6fc Binary files /dev/null and b/video/游船MR-大空间娱乐.mp4 differ diff --git a/video/生产制造工农业-展示制作.mp4 b/video/生产制造工农业-展示制作.mp4 new file mode 100644 index 0000000..5ca4e42 Binary files /dev/null and b/video/生产制造工农业-展示制作.mp4 differ