feat: 添加猜歌页面及相关资源文件

新增猜歌页面(guess.html)及配套CSS/LESS文件
添加多个SVG图片资源用于页面展示
优化song-request-station页面标题和图标
移除song-request-station页面无用样式和图片
This commit is contained in:
DESKTOP-RQ919RC\Pc
2025-09-22 18:54:03 +08:00
parent 4087c429fa
commit 5d67675772
12 changed files with 628 additions and 98 deletions

241
static/css/guess.css Normal file
View File

@@ -0,0 +1,241 @@
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.container {
width: 100%;
background-color: #333333;
}
.container .flexflex {
display: flex;
}
.container .flexcenter {
display: flex;
justify-content: center;
align-items: center;
}
.container .flexjcenter {
display: flex;
justify-content: center;
}
.container .flexacenter {
display: flex;
align-items: center;
}
.container .flex1 {
flex: 1;
}
.container .flexcolumn {
display: flex;
flex-direction: column;
}
.container .mar1200 {
width: 1200px;
margin: 0 auto;
}
.container .container-box {
padding-top: 24px;
height: 100vh;
display: flex;
flex-direction: column;
}
.container .container-box .logo {
width: 121px;
height: 24px;
margin-bottom: 31px;
}
.container .container-box .header {
position: relative;
width: 1200px;
height: 280px;
border-radius: 20px;
margin-bottom: 20px;
}
.container .container-box .header::after {
content: "";
width: 1200px;
height: 280px;
background: linear-gradient(180deg, #7d4bf8 0%, #5241b0 100%);
border-radius: 20px;
position: absolute;
top: 0;
left: 0;
}
.container .container-box .header .halo {
width: 240px;
height: 214px;
position: absolute;
top: -71px;
left: -59px;
}
.container .container-box .header .star-icon {
position: absolute;
top: 46px;
left: 51px;
width: 56px;
height: 56px;
z-index: 1;
}
.container .container-box .header .love-little {
position: absolute;
top: 120px;
left: -9px;
width: 173px;
height: 148px;
transform: rotate(315deg);
z-index: 1;
}
.container .container-box .header .bj-2 {
width: 360px;
height: 128px;
position: absolute;
left: 25px;
bottom: 0;
z-index: 1;
}
.container .container-box .header .music-icon {
width: 34px;
height: 37px;
position: absolute;
top: 194px;
left: 40px;
transform: rotate(345deg);
z-index: 1;
}
.container .container-box .header .bj {
position: absolute;
bottom: 0;
right: 0;
width: 1064px;
height: 280px;
z-index: 1;
}
.container .container-box .header .love-big {
width: 298px;
height: 256px;
display: flex;
transform: rotate(44deg);
position: absolute;
top: 22px;
left: 64px;
z-index: 1;
}
.container .container-box .header .music-score {
width: 240px;
height: 240px;
position: absolute;
top: 20px;
left: 197px;
z-index: 1;
}
.container .container-box .header .question {
width: 289px;
height: 280px;
position: absolute;
top: 0;
left: 668px;
z-index: 1;
}
.container .container-box .header .text {
width: 243px;
height: 210px;
position: absolute;
top: 50px;
left: 423px;
z-index: 1;
}
.container .container-box .header .face {
width: 83px;
height: 83px;
position: absolute;
top: -27px;
left: 1080px;
z-index: 1;
}
.container .container-box .header .star-icon-2 {
width: 110px;
height: 110px;
position: absolute;
left: 979px;
top: 70px;
z-index: 1;
}
.container .container-box .header .ai-music {
width: 81px;
height: 28px;
position: absolute;
top: 240px;
left: 1106px;
z-index: 1;
}
.container .container-box .header .record-black {
width: 191px;
height: 199px;
position: absolute;
bottom: 0;
right: -1px;
z-index: 1;
}
.container .container-box .header .record-circle {
position: absolute;
top: 132px;
left: 1063px;
background-color: #72db86;
width: 94px;
height: 94px;
border-radius: 50%;
z-index: 1;
}
.container .container-box .header .record-circle::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: block;
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #fff;
}
.container .container-box .header .green-glow {
width: 306px;
height: 62px;
position: absolute;
top: 245px;
left: 217px;
}
.container .container-box .header .shadow {
width: 240px;
height: 165px;
position: absolute;
top: 151px;
left: 997px;
}
.container .container-box .details {
height: 500px;
width: 1200px;
border-radius: 20px;
background-color: rgba(255, 255, 255, 0.1);
position: relative;
z-index: 1;
padding: 3px;
}
.container .container-box .details::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: calc(100% - 6px);
height: calc(100% - 6px);
background-color: #7d4bf8;
z-index: -1;
border-radius: 18px;
}
.container .container-box .details .start-box {
width: 100%;
height: 100%;
position: relative;
}

269
static/css/guess.less Normal file
View File

@@ -0,0 +1,269 @@
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.container {
.flexflex {
display: flex;
}
.flexcenter {
display: flex;
justify-content: center;
align-items: center;
}
.flexjcenter {
display: flex;
justify-content: center;
}
.flexacenter {
display: flex;
align-items: center;
}
.flex1 {
flex: 1;
}
.flexcolumn {
display: flex;
flex-direction: column;
}
.mar1200 {
width: 1200px;
margin: 0 auto;
}
width: 100%;
background-color: rgba(51, 51, 51, 1);
.container-box {
padding-top: 24px;
height: 100vh;
display: flex;
flex-direction: column;
.logo {
width: 121px;
height: 24px;
margin-bottom: 31px;
}
.header {
position: relative;
width: 1200px;
height: 280px;
// background: linear-gradient(180deg, #7d4bf8 0%, #5241b0 100%);
border-radius: 20px;
margin-bottom: 20px;
&::after {
content: "";
width: 1200px;
height: 280px;
background: linear-gradient(180deg, rgba(125, 75, 248, 1) 0%, rgba(82, 65, 176, 1) 100%);
border-radius: 20px;
position: absolute;
top: 0;
left: 0;
}
.halo {
width: 240px;
height: 214px;
position: absolute;
top: -71px;
left: -59px;
}
.star-icon {
position: absolute;
top: 46px;
left: 51px;
width: 56px;
height: 56px;
z-index: 1;
}
.love-little {
position: absolute;
top: 120px;
left: -9px;
width: 173px;
height: 148px;
transform: rotate(315deg);
z-index: 1;
}
.bj-2 {
width: 360px;
height: 128px;
position: absolute;
left: 25px;
bottom: 0;
z-index: 1;
}
.music-icon {
width: 34px;
height: 37px;
position: absolute;
top: 194px;
left: 40px;
transform: rotate(345deg);
z-index: 1;
}
.bj {
position: absolute;
bottom: 0;
right: 0;
width: 1064px;
height: 280px;
z-index: 1;
}
.love-big {
width: 298px;
height: 256px;
display: flex;
transform: rotate(44deg);
position: absolute;
top: 22px;
left: 64px;
z-index: 1;
}
.music-score {
width: 240px;
height: 240px;
position: absolute;
top: 20px;
left: 197px;
z-index: 1;
}
.question {
width: 289px;
height: 280px;
position: absolute;
top: 0;
left: 668px;
z-index: 1;
}
.text {
width: 243px;
height: 210px;
position: absolute;
top: 50px;
left: 423px;
z-index: 1;
}
.face {
width: 83px;
height: 83px;
position: absolute;
top: -27px;
left: 1080px;
z-index: 1;
}
.star-icon-2 {
width: 110px;
height: 110px;
position: absolute;
left: 979px;
top: 70px;
z-index: 1;
}
.ai-music {
width: 81px;
height: 28px;
position: absolute;
top: 240px;
left: 1106px;
z-index: 1;
}
.record-black {
width: 191px;
height: 199px;
position: absolute;
bottom: 0;
right: -1px;
z-index: 1;
}
.record-circle {
position: absolute;
top: 132px;
left: 1063px;
background-color: rgb(114, 219, 134);
width: 94px;
height: 94px;
border-radius: 50%;
z-index: 1;
&::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: block;
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #fff;
}
}
.green-glow {
width: 306px;
height: 62px;
position: absolute;
top: 245px;
left: 217px;
}
.shadow {
width: 240px;
height: 165px;
position: absolute;
top: 151px;
left: 997px;
}
}
.details {
height: 500px;
width: 1200px;
border-radius: 20px;
background-color: rgba(255, 255, 255, 0.1);
position: relative;
z-index: 1;
padding: 3px;
&::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: calc(100% - 6px);
height: calc(100% - 6px);
background-color: #7d4bf8;
z-index: -1;
border-radius: 18px;
}
.start-box {
width: 100%;
height: 100%;
position: relative;
}
}
}
}

View File

@@ -6,7 +6,6 @@
.container {
width: 100%;
background-color: #333333;
/* 气泡浮动动画 */
}
.container .flexflex {
display: flex;
@@ -40,44 +39,6 @@
padding: 0;
box-sizing: border-box;
}
.container body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
overflow: hidden;
}
.container .bubble-tag {
position: absolute;
padding: 8px 18px;
border-radius: 25px;
background-color: rgba(255, 255, 255, 0.9);
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
font-size: 14px;
cursor: pointer;
transition: transform 0.3s ease;
user-select: none;
z-index: 1;
}
.container .bubble-tag:hover {
transform: scale(1.15);
z-index: 10;
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}
@keyframes float {
0%,
100% {
transform: translateY(0) translateX(0) rotate(0deg);
}
25% {
transform: translateY(-15px) translateX(10px) rotate(1deg);
}
50% {
transform: translateY(-30px) translateX(5px) rotate(0deg);
}
75% {
transform: translateY(-15px) translateX(-10px) rotate(-1deg);
}
}
.container .container-box {
padding-top: 24px;
height: 100vh;

View File

@@ -43,61 +43,6 @@
box-sizing: border-box;
}
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
overflow: hidden;
}
.bubble-tag {
position: absolute;
padding: 8px 18px;
border-radius: 25px;
background-color: rgba(255, 255, 255, 0.9);
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
font-size: 14px;
cursor: pointer;
transition: transform 0.3s ease;
user-select: none;
z-index: 1;
}
.bubble-tag:hover {
transform: scale(1.15);
z-index: 10;
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}
/* 气泡浮动动画 */
@keyframes float {
0%,
100% {
transform: translateY(0) translateX(0) rotate(0deg);
}
25% {
transform: translateY(-15px) translateX(10px) rotate(1deg);
}
50% {
transform: translateY(-30px) translateX(5px) rotate(0deg);
}
75% {
transform: translateY(-15px) translateX(-10px) rotate(-1deg);
}
}
// /* 呼吸效果动画 */
// @keyframes pulse {
// 0% {
// opacity: 0.8;
// box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
// }
// 100% {
// opacity: 1;
// box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
// }
// }
.container-box {
padding-top: 24px;
height: 100vh;

12
static/img/guess-bj-2.svg Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="360px" height="128px" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient gradientUnits="userSpaceOnUse" x1="181" y1="128" x2="292" y2="128" id="LinearGradient289">
<stop id="Stop290" stop-color="#9f2c39" offset="0" />
<stop id="Stop291" stop-color="#be3946" offset="1" />
</linearGradient>
</defs>
<g transform="matrix(1 0 0 1 -385 -1255 )">
<path d="M 151 128 L 0 97 L 347 0 L 360 128 L 151 128 Z " fill-rule="nonzero" fill="url(#LinearGradient289)" stroke="none" transform="matrix(1 0 0 1 385 1255 )" />
</g>
</svg>

12
static/img/guess-bj.svg Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="1064px" height="280px" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient gradientUnits="userSpaceOnUse" x1="115" y1="0" x2="1064" y2="280" id="LinearGradient295">
<stop id="Stop296" stop-color="#f3974a" offset="0" />
<stop id="Stop297" stop-color="#d73942" offset="1" />
</linearGradient>
</defs>
<g transform="matrix(1 0 0 1 -496 -1103 )">
<path d="M 184 280 L 0 237.125 L 104 0 L 1064 215.125 L 1064 262.5 C 1064 272.3 1055.2 280 1044 280 L 184 280 Z " fill-rule="nonzero" fill="url(#LinearGradient295)" stroke="none" transform="matrix(1 0 0 1 496 1103 )" />
</g>
</svg>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="298px" height="256px" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient gradientUnits="userSpaceOnUse" x1="271.334774788104" y1="21.570942662449" x2="0" y2="256" id="LinearGradient298">
<stop id="Stop299" stop-color="#c3454c" offset="0" />
<stop id="Stop300" stop-color="#eea058" offset="1" />
</linearGradient>
</defs>
<g transform="matrix(1 0 0 1 -424 -1125 )">
<path d="M 156.316964285714 253 C 154.321428571429 255 151.88244047619 256 149 256 C 146.11755952381 256 143.678571428571 255 141.683035714286 253 L 37.9151785714286 152.666666666667 C 36.8065476190476 151.777777777778 35.2821800595238 150.333333333333 33.3420758928571 148.333333333333 C 31.4019717261905 146.333333333333 28.3255208333333 142.694444444444 24.1127232142857 137.416666666667 C 19.8999255952381 132.138888888889 16.1305803571429 126.722222222222 12.8046875 121.166666666667 C 9.47879464285714 115.611111111111 6.5132068452381 108.888888888889 3.90792410714286 101 C 1.30264136904762 93.1111111111111 0 85.4444444444444 0 78 C 0 53.5555555555555 7.03980654761905 34.4444444444444 21.1194196428571 20.6666666666667 C 35.1990327380952 6.88888888888889 54.6555059523809 0 79.4888392857143 0 C 86.3623511904762 0 93.3744419642857 1.19444444444443 100.525111607143 3.58333333333334 C 107.67578125 5.9722222222222 114.327566964286 9.19444444444443 120.48046875 13.25 C 126.633370535714 17.3055555555555 131.927083333333 21.1111111111111 136.361607142857 24.6666666666667 C 140.796130952381 28.2222222222222 145.008928571429 32 149 36 C 152.991071428571 32 157.203869047619 28.2222222222222 161.638392857143 24.6666666666667 C 166.072916666667 21.1111111111111 171.366629464286 17.3055555555555 177.51953125 13.25 C 183.672433035714 9.19444444444443 190.32421875 5.9722222222222 197.474888392857 3.58333333333334 C 204.625558035714 1.19444444444443 211.637648809524 0 218.511160714286 0 C 243.344494047619 0 262.800967261905 6.88888888888889 276.880580357143 20.6666666666667 C 290.960193452381 34.4444444444444 298 53.5555555555555 298 78 C 298 102.555555555556 285.306175595238 127.555555555556 259.918526785714 153 L 156.316964285714 253 Z " fill-rule="nonzero" fill="url(#LinearGradient298)" stroke="none" transform="matrix(1 0 0 1 424 1125 )" />
</g>
</svg>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="173px" height="148px" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient gradientUnits="userSpaceOnUse" x1="45.5970992552194" y1="109.588769917092" x2="167.736885267016" y2="22.4597723935139" id="LinearGradient292">
<stop id="Stop293" stop-color="#c03c49" offset="0" />
<stop id="Stop294" stop-color="#eed680" offset="1" />
</linearGradient>
</defs>
<g transform="matrix(1 0 0 1 -351 -1223 )">
<path d="M 90.7477678571428 146.265625 C 89.5892857142857 147.421875 88.1733630952381 148 86.5 148 C 84.8266369047619 148 83.4107142857143 147.421875 82.2522321428571 146.265625 L 22.0111607142857 88.2604166666667 C 21.3675595238095 87.7465277777778 20.4826078869048 86.9114583333333 19.3563058035714 85.7552083333333 C 18.2300037202381 84.5989583333333 16.4440104166667 82.4952256944445 13.9983258928571 79.4440104166667 C 11.5526413690476 76.3927951388889 9.36439732142857 73.2612847222222 7.43359375 70.0494791666667 C 5.50279017857143 66.8376736111111 3.78115699404762 62.9513888888889 2.26869419642857 58.390625 C 0.756231398809524 53.8298611111111 0 49.3975694444444 0 45.09375 C 0 30.9618055555556 4.08686755952381 19.9131944444444 12.2606026785714 11.9479166666667 C 20.4343377976191 3.98263888888889 31.7295386904762 0 46.1462053571429 0 C 50.1365327380952 0 54.2073102678571 0.690538194444435 58.3585379464286 2.07161458333334 C 62.509765625 3.45269097222221 66.3713727678571 5.31553819444444 69.943359375 7.66015625 C 73.5153459821429 10.0047743055555 76.5885416666667 12.2048611111111 79.1629464285714 14.2604166666667 C 81.7373511904762 16.3159722222222 84.1830357142857 18.5 86.5 20.8125 C 88.8169642857143 18.5 91.2626488095238 16.3159722222222 93.8370535714286 14.2604166666667 C 96.4114583333333 12.2048611111111 99.4846540178572 10.0047743055555 103.056640625 7.66015625 C 106.628627232143 5.31553819444444 110.490234375 3.45269097222221 114.641462053571 2.07161458333334 C 118.792689732143 0.690538194444435 122.863467261905 0 126.853794642857 0 C 141.270461309524 0 152.565662202381 3.98263888888889 160.739397321429 11.9479166666667 C 168.913132440476 19.9131944444444 173 30.9618055555556 173 45.09375 C 173 59.2899305555556 165.630766369048 73.7430555555555 150.892299107143 88.453125 L 90.7477678571428 146.265625 Z " fill-rule="nonzero" fill="url(#LinearGradient292)" stroke="none" transform="matrix(1 0 0 1 351 1223 )" />
</g>
</svg>

18
static/img/guess-text.svg Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB