230 lines
13 KiB
HTML
230 lines
13 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>朴见潮音官网</title>
|
||
<script src="./static/js/vue.global.js"></script>
|
||
<script src="./static/js/artplayer.js"></script>
|
||
<link rel="stylesheet" href="./static/css/index.css" />
|
||
<style>
|
||
[v-cloak] {
|
||
display: none;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="content" id="appIndex" v-cloak>
|
||
<!-- 原生audio标签(隐藏) -->
|
||
<audio ref="audioPlayer" preload="none" loop></audio>
|
||
|
||
<div class="sidebar flexflex">
|
||
<div class="pointer">
|
||
<div class="item" :class="{'active': pointerState === 'introduce'}" :data-index="'01'" @click="changePointer('introduce')"></div>
|
||
<div class="item" :class="{'active': pointerState === 'works'}" :data-index="'02'" @click="changePointer('works')"></div>
|
||
<div class="item" :class="{'active': pointerState === 'custom'}" :data-index="'03'" @click="changePointer('custom')"></div>
|
||
<div class="item" :class="{'active': pointerState === 'student'}" :data-index="'04'" @click="changePointer('student')"></div>
|
||
</div>
|
||
|
||
<div class="arrow">
|
||
<!-- 向上按钮:不是介绍页时显示 -->
|
||
<img v-if="pointerState !== 'introduce'" class="item top orange" src="./static/img/arrow-orange.svg" @click="scrollToPrevious" />
|
||
<img v-else class="item top" src="./static/img/arrow-white.svg" />
|
||
|
||
<!-- 向下按钮:不是学生页时显示 -->
|
||
<img v-if="pointerState !== 'student'" class="item bottom orange" src="./static/img/arrow-orange.svg" @click="scrollToNext" />
|
||
<img v-else class="item bottom white" src="./static/img/arrow-white.svg" />
|
||
</div>
|
||
</div>
|
||
<div class="introduce" ref="introduceRef">
|
||
<div class="head flexacenter">
|
||
<div class="logo mar1200">
|
||
<img class="icon" src="./static/img/logo.png" />
|
||
</div>
|
||
</div>
|
||
<div class="box flexflex mar1200">
|
||
<div class="info">
|
||
<div class="brand flexacenter">
|
||
<div class="fill"></div>
|
||
<div class="text flexflex">
|
||
<span>AI music</span>
|
||
<span>Pioneering brand</span>
|
||
</div>
|
||
</div>
|
||
<div class="award flexflex">
|
||
<img class="title" src="./static/img/award-winning-works.png" />
|
||
<img class="name" src="./static/img/gushi.png" />
|
||
<div class="explain">
|
||
<div>中国AIGC产业联盟(AIGCxChina)</div>
|
||
<div>温州市社科联</div>
|
||
<div>温州市新闻媒体中心</div>
|
||
<div>第一届AI音乐春晚 正选节目</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="album">
|
||
<img class="bj bj1" src="./static/img/album-bj1.svg" />
|
||
<img class="bj bj2" src="./static/img/album-bj2.svg" />
|
||
<img class="img" src="./static/img/album-img.svg" />
|
||
<img class="bj bj3" src="./static/img/album-bj3.svg" />
|
||
<img class="bj bj4" src="./static/img/album-bj4.png" />
|
||
<img class="bj bj5" src="./static/img/album-bj5.svg" />
|
||
<img v-if="!audioHeadState" class="play" @click="manageAudio('./mp3/1.MP3','head')" src="./static/img/play-white-icon.svg" />
|
||
<img v-else class="play" @click="closeAll()" src="./static/img/pause-white-icon.svg" />
|
||
</div>
|
||
</div>
|
||
<div class="trait flexflex mar1200">
|
||
<div class="item flexflex flex1" v-for="(item, index) in trait" :key="index">
|
||
<img class="icon" :src="item.icon" />
|
||
<div class="title">{{ item.title }}</div>
|
||
<div class="text">{{ item.text }}</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="works flexacenter" ref="worksRef">
|
||
<img class="bj1" src="./static/img/works-bj1.png" />
|
||
<div class="name-box">
|
||
<img class="bj" src="./static/img/works-title-bj.svg" />
|
||
<img class="title" src="./static/img/works-title.png" />
|
||
<img class="line line-1" src="./static/img/works-line-1.svg" />
|
||
<img class="line line-2" src="./static/img/works-line-2.svg" />
|
||
<img class="line line-3" src="./static/img/works-line-3.svg" />
|
||
<img class="line line-4" src="./static/img/works-line-4.svg" />
|
||
<img class="line line-5" src="./static/img/works-line-5.svg" />
|
||
<img class="line line-6" src="./static/img/works-line-6.svg" />
|
||
</div>
|
||
<div class="mv-box mar1200">
|
||
<div class="item flexflex" v-for="(item, index) in 6" :key="index">
|
||
<img class="serial-icon" src="./static/img/serial-icon.png" />
|
||
<div class="serial">{{ index + 1}}</div>
|
||
<div class="title">深港双城故事</div>
|
||
<div class="text">{{ text }}</div>
|
||
<div class="time">2024.12</div>
|
||
<div class="media" @click="openPreview(index)">
|
||
<img class="img" src="./static/img/mv-1.svg" />
|
||
<img class="play" src="./static/img/play-white-icon.svg" />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="audio-box mar1200 flexflex">
|
||
<div class="item" v-for="(item, index) in audioList" :key="index">
|
||
<img class="serial-icon" src="./static/img/serial-icon.png" />
|
||
<div class="serial">{{ index + 1 }}</div>
|
||
<div class="content flexflex">
|
||
<div class="album">
|
||
<img class="img" src="./static/img/audio-img.png" />
|
||
<img class="icon" src="./static/img/record-icon.png" />
|
||
</div>
|
||
<div class="info flexflex">
|
||
<div class="name">画Remix</div>
|
||
<div class="subtitle">AI音乐榜冠军</div>
|
||
<div class="time">2024.3</div>
|
||
<div class="progress-bar flexacenter">
|
||
<div class="bar white" :style="{ width: item.progress + '%' }"></div>
|
||
<div class="circle"></div>
|
||
<div class="bar black flex1"></div>
|
||
</div>
|
||
<div class="operate flexcenter">
|
||
<img class="speed left" src="./static/img/speed-left.png" @click="fastForward('slow', item.url, 'works')" />
|
||
<img v-if="item.state" class="play" @click="closeAll()" src="./static/img/pause-black-icon.svg" />
|
||
<img v-else class="play" @click="manageAudio(item.url, 'works')" src="./static/img/play-black-icon.svg" />
|
||
<img class="speed right" src="./static/img/speed-right.png" @click="fastForward('fast', item.url, 'works')" />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<img class="bj2" src="./static/img/works-bj2.png" />
|
||
</div>
|
||
|
||
<div class="custom" ref="customRef">
|
||
<div class="custom-box mar1200 flexflex">
|
||
<img class="title" src="./static/img/custom-title.png" />
|
||
<div class="subtitle">往事可成追忆,把你的故事谱成歌</div>
|
||
<div class="list flexflex mar1200">
|
||
<div class="item flexacenter" v-for="(item, index) in customList" :key="index">
|
||
<div class="info flexflex">
|
||
<div class="name">画Remix</div>
|
||
<div class="lyric">走过的路汇成星河,脚下的路更辽阔</div>
|
||
<div class="progress-bar flexacenter">
|
||
<div class="bar white" :style="{ width: item.progress + '%' }"></div>
|
||
<div class="circle"></div>
|
||
<div class="bar black flex1"></div>
|
||
</div>
|
||
<div class="operate flexcenter">
|
||
<img class="speed left" @click="fastForward('slow', item.src, 'custom')" src="./static/img/speed-left.png" />
|
||
<img v-if="item.state" class="play" @click="closeAll()" src="./static/img/pause-black-icon.svg" />
|
||
<img v-else class="play" @click="manageAudio(item.src, 'custom')" src="./static/img/play-black-icon.svg" />
|
||
<img class="speed right" @click="fastForward('fast', item.src, 'custom')" src="./static/img/speed-right.png" />
|
||
</div>
|
||
</div>
|
||
|
||
<img class="info-img" src="./static/img/custom-img.png" />
|
||
</div>
|
||
</div>
|
||
<div class="bottom flexcenter">
|
||
<img class="bj" src="./static/img/custom-bj-1.svg" />
|
||
<img class="bj" src="./static/img/custom-bj-2.svg" />
|
||
<img class="bj" src="./static/img/custom-bj-1.svg" />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="student" ref="studentRef">
|
||
<div class="student-box flexflex">
|
||
<img class="title" src="./static/img/student-title.png" alt="" />
|
||
<div class="list flexacenter">
|
||
<img class="img" :class="[`img${ item.serial }`]" v-for="(item,index) in studentList" :src="item.img" :key="item.serial" @click="cutStudent(index)" />
|
||
</div>
|
||
<div class="name">《听风少年的梦幻之城》</div>
|
||
<div class="info flexacenter">
|
||
<img class="icon" src="./static/img/student-icon.svg" />
|
||
林林林 | 7岁 | 广州
|
||
</div>
|
||
|
||
<div class="progress-bar flexacenter">
|
||
<div class="bar white" :style="{ width: progress + '%' }"></div>
|
||
<div class="circle"></div>
|
||
<div class="bar black" :style="{ width: (100 - progress) + '%' }"></div>
|
||
</div>
|
||
<!-- <div class="time-display">
|
||
<span>{{ formatTime(currentTime) }}</span>
|
||
<span>/</span>
|
||
<span>{{ formatTime(duration) }}</span>
|
||
</div> -->
|
||
|
||
<div class="operate flexcenter">
|
||
<img class="cut left" src="./static/img/cut-left.svg" />
|
||
<img class="speed left" src="./static/img/speed-white-left.png" />
|
||
<img class="play" src="./static/img/play-white-icon.svg" />
|
||
<img class="speed right" src="./static/img/speed-white-right.png" />
|
||
<img class="cut right" src="./static/img/cut-right.svg" />
|
||
</div>
|
||
</div>
|
||
<div class="contact flexflex mar1200">
|
||
<img class="title" src="./static/img/contact-title.png" />
|
||
<div class="hint">我们可以为你提供AI音乐定制服务,谱写你独有的人生歌曲</div>
|
||
<div class="hint">我们可以为你提供AI音乐教学培训服务,让你拥有独立完成音乐作品的能力</div>
|
||
<img class="arrows" src="./static/img/arrows-yellow.svg" />
|
||
<img class="WeChat" src="./static/img/WeChat-img.jpg" />
|
||
<img class="logo" src="./static/img/logo-black.png" />
|
||
</div>
|
||
</div>
|
||
|
||
<div class="footer flexcenter">
|
||
<img class="logo" src="./static/img/ai-title.png" />
|
||
<div class="text">广州九微科技有限公司 | Copyright 2001-2025 GTER All Rights Reserved | 粤ICP备14050432号</div>
|
||
</div>
|
||
|
||
<div v-if="previewState" class="preview flexcenter">
|
||
<img class="close" @click="closePreview()" src="./static/img/close.svg" />
|
||
<div class="artplayer-app"></div>
|
||
</div>
|
||
</div>
|
||
|
||
<script src="./static/js/index.js"></script>
|
||
</body>
|
||
</html>
|