9 Commits

Author SHA1 Message Date
Dragon
e78ee47012 新增白色情人节 2024-03-12 11:32:10 +08:00
Dragon
7120ef5197 新增女神节 2024-03-04 15:15:19 +08:00
Dragon
dcd7da696d 替换二维码 2024-02-28 20:10:51 +08:00
Dragon
7a7e65d421 调整文案 2024-02-27 22:03:08 +08:00
Dragon
9b09374128 优化样式 2024-02-27 21:56:58 +08:00
Dragon
df6210b2ae 修改样式 2024-02-27 21:52:45 +08:00
Dragon
4037c534ca 清规则缓存 2024-02-13 00:58:31 +08:00
Dragon
389bccabe7 修改规则 2024-02-13 00:19:27 +08:00
Dragon
1dc4207ff9 修改活动时间 2024-02-12 13:20:19 +08:00
92 changed files with 5752 additions and 72 deletions

View File

@@ -0,0 +1,498 @@
html,
body {
width: 100%;
background: #FBABAD;
}
.back {
position: fixed;
top: 0.93333rem;
left: 0.45333rem;
z-index: 99;
width: 0.82667rem;
height: 0.82667rem;
}
.back img {
width: 100%;
height: 100%;
}
.back p {
color: #fff;
font-size: 0.42667rem;
position: absolute;
width: 9rem;
left: 0;
top: 0;
height: 100%;
text-align: center;
line-height: 0.82667rem;
}
.header {
width: 10rem;
height: 14.56rem;
background: url(../images/header.png) no-repeat;
background-size: 100% 100%;
position: relative;
margin: 0 auto 0.24rem;
}
.header .rule_icon {
width: 1.14667rem;
height: 3.4rem;
position: absolute;
right: 0rem;
top: 6.25333rem;
}
.tabBox {
width: 7.66667rem;
height: 1.13333rem;
margin: 0 auto 0.22667rem;
display: flex;
justify-content: space-between;
}
.tabBox div {
width: 3.58667rem;
}
.tabBox .tab1 {
background: url(../images/tab1.png) no-repeat;
background-size: 100% 100%;
}
.tabBox .tab2 {
background: url(../images/tab2.png) no-repeat;
background-size: 100% 100%;
}
.tabBox .tabAct1 {
background: url(../images/tabAct1.png) no-repeat;
background-size: 100% 100%;
}
.tabBox .tabAct2 {
background: url(../images/tabAct2.png) no-repeat;
background-size: 100% 100%;
}
.page1 {
width: 9.44rem;
height: 18.6rem;
margin: 0 auto 0.34667rem;
background: url(../images/page1Bg.png) no-repeat;
background-size: 100% 100%;
}
.page2 {
display: none;
width: 9.44rem;
height: 18.42667rem;
background: url(../images/page2Bg.png) no-repeat;
background-size: 100% 100%;
margin: 0 auto 2.06667rem;
overflow: hidden;
}
.page2 .tablist {
width: 4.90667rem;
height: 0.70667rem;
display: flex;
justify-content: space-between;
margin: 0.50667rem auto 0.93333rem;
background: url(../images/tabListBg.png) no-repeat;
background-size: 100% 100%;
}
.page2 .tablist div {
width: 2.45333rem;
height: 0.70667rem;
line-height: 0.70667rem;
color: #FFFFFF;
font-size: 0.38667rem;
font-weight: 500;
text-align: center;
}
.page2 .tablist .act {
background: url(../images/tabListAct.png) no-repeat;
background-size: 100% 100%;
}
.page2 .top3Box {
width: 8.33333rem;
height: 3.13333rem;
position: relative;
margin: 0 auto 0.33333rem;
}
.page2 .top3Box .no1 {
width: 2.73333rem;
height: 3.49333rem;
background: url(../images/no1Bg.png) no-repeat;
background-size: 100% 100%;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 0;
}
.page2 .top3Box .no1 .ts {
width: 1.56rem;
height: 1.58667rem;
z-index: 2;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 1.96rem;
}
.page2 .top3Box .no1 .tx {
width: 1.21333rem;
height: 1.21333rem;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 2.10667rem;
border-radius: 50%;
}
.page2 .top3Box .no1 .name {
width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: #AE3E4E;
font-size: 0.30667rem;
font-weight: 500;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 1.38667rem;
text-align: center;
}
.page2 .top3Box .no1 p {
width: 100%;
color: #AE3E4E;
font-size: 0.26667rem;
font-weight: 400;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 0.70667rem;
text-align: center;
}
.page2 .top3Box .no1 .score {
width: 100%;
color: #fff;
font-size: 0.26667rem;
font-weight: 400;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 0.24rem;
text-align: center;
}
.page2 .top3Box .no2 {
width: 2.73333rem;
height: 3.13333rem;
background: url(../images/no23Bg.png) no-repeat;
background-size: 100% 100%;
position: absolute;
left: 0%;
bottom: 0;
}
.page2 .top3Box .no2 .ts {
width: 1.56rem;
height: 1.58667rem;
z-index: 2;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 1.72rem;
}
.page2 .top3Box .no2 .tx {
width: 1.21333rem;
height: 1.21333rem;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 1.89333rem;
border-radius: 50%;
}
.page2 .top3Box .no2 .name {
width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: #AE3E4E;
font-size: 0.30667rem;
font-weight: 500;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 1.26667rem;
text-align: center;
}
.page2 .top3Box .no2 p {
width: 100%;
color: #AE3E4E;
font-size: 0.26667rem;
font-weight: 400;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 0.72rem;
text-align: center;
}
.page2 .top3Box .no2 .score {
width: 100%;
color: #fff;
font-size: 0.26667rem;
font-weight: 400;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 0.26667rem;
text-align: center;
}
.page2 .top3Box .no3 {
width: 2.73333rem;
height: 3.13333rem;
background: url(../images/no23Bg.png) no-repeat;
background-size: 100% 100%;
position: absolute;
right: 0%;
bottom: 0;
}
.page2 .top3Box .no3 .ts {
width: 1.56rem;
height: 1.58667rem;
z-index: 2;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 1.72rem;
}
.page2 .top3Box .no3 .tx {
width: 1.21333rem;
height: 1.21333rem;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 1.89333rem;
border-radius: 50%;
}
.page2 .top3Box .no3 .name {
width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: #AE3E4E;
font-size: 0.30667rem;
font-weight: 500;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 1.26667rem;
text-align: center;
}
.page2 .top3Box .no3 p {
width: 100%;
color: #AE3E4E;
font-size: 0.26667rem;
font-weight: 400;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 0.72rem;
text-align: center;
}
.page2 .top3Box .no3 .score {
width: 100%;
color: #fff;
font-size: 0.26667rem;
font-weight: 400;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 0.26667rem;
text-align: center;
}
.page2 ul {
width: 9.26667rem;
height: 12.6rem;
overflow-y: scroll;
margin: 0 auto 0;
}
.page2 ul::-webkit-scrollbar {
display: none;
}
.page2 ul li {
width: 100%;
height: 1.53333rem;
background: url(../images/liBg.png) no-repeat;
background-size: 100% 100%;
margin-bottom: 0.02667rem;
}
.page2 ul li .num {
width: 0.46667rem;
height: 1.53333rem;
line-height: 1.53333rem;
color: #AE3E4E;
font-size: 0.4rem;
font-weight: 400;
margin-left: 0.38667rem;
text-align: center;
margin-right: 0.6rem;
float: left;
}
.page2 ul li .tx {
width: 1.16rem;
height: 1.16rem;
border-radius: 50%;
border: 0.02667rem solid #AE3E4E;
margin-top: 0.2rem;
margin-right: 0.37333rem;
display: block;
float: left;
}
.page2 ul li .name {
width: 3rem;
height: 1.53333rem;
line-height: 1.53333rem;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: #AE3E4E;
font-size: 0.36rem;
float: left;
}
.page2 ul li .score {
float: right;
height: 1.53333rem;
line-height: 1.53333rem;
color: #AE3E4E;
font-weight: 400;
margin-right: 0.56rem;
}
.page2 .my {
position: fixed;
width: 10rem;
height: 2.06667rem;
background: url(../images/my.png) no-repeat;
background-size: 100% 100%;
margin-bottom: 0.02667rem;
left: 50%;
transform: translateX(-50%);
bottom: 0;
}
.page2 .my .num {
width: 1.33333rem;
height: 2.06667rem;
line-height: 2.06667rem;
color: #AE3E4E;
font-size: 0.4rem;
font-weight: 400;
margin-left: 0.38667rem;
text-align: center;
margin-right: 0.25333rem;
float: left;
}
.page2 .my .tx {
width: 1.16rem;
height: 1.16rem;
border-radius: 50%;
border: 0.02667rem solid #AE3E4E;
margin-top: 0.42667rem;
margin-right: 0.37333rem;
display: block;
float: left;
}
.page2 .my .name {
width: 3rem;
height: 2.06667rem;
line-height: 2.06667rem;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: #AE3E4E;
font-size: 0.36rem;
float: left;
}
.page2 .my .score {
float: right;
height: 2.06667rem;
line-height: 2.06667rem;
color: #AE3E4E;
font-weight: 400;
margin-right: 0.56rem;
}
.rule {
display: none;
position: fixed;
left: 0;
top: 0;
bottom: 0;
right: 0;
z-index: 999;
background: rgba(0, 0, 0, 0.6);
}
.rule .rule_in {
width: 8.76rem;
height: 13.13333rem;
background: url(../images/ruleBg.png) no-repeat;
background-size: 100% 100%;
overflow: hidden;
position: relative;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.rule .rule_in .rulebox {
width: 8.06667rem;
height: 11.5rem;
margin: 1.38667rem auto 0;
overflow-y: scroll;
}
.rule .rule_in .rulebox::-webkit-scrollbar {
display: none;
}
.rule .rule_in .rulebox img {
display: block;
width: 100%;
}

View File

@@ -0,0 +1,507 @@
@function px2rem($px) {
@return $px / 75+rem;
}
html,
body {
width: 100%;
background: #FBABAD;
}
// 返回按钮
.back {
position: fixed;
top: px2rem(70);
left: px2rem(34);
z-index: 99;
width: px2rem(62);
height: px2rem(62);
img {
width: 100%;
height: 100%;
}
p {
color: #fff;
font-size: px2rem(32);
position: absolute;
width: 9rem;
left: 0;
top: 0;
height: 100%;
text-align: center;
line-height: px2rem(62);
}
}
.header {
width: px2rem(750);
height: px2rem(1092);
background: url(../images/header.png) no-repeat;
background-size: 100% 100%;
position: relative;
margin: 0 auto px2rem(18);
.rule_icon {
width: px2rem(86);
height: px2rem(255);
position: absolute;
right: px2rem(0);
top: px2rem(469);
}
}
.tabBox {
width: px2rem(575);
height: px2rem(85);
margin: 0 auto px2rem(17);
display: flex;
justify-content: space-between;
div {
width: px2rem(269);
}
.tab1 {
background: url(../images/tab1.png) no-repeat;
background-size: 100% 100%;
}
.tab2 {
background: url(../images/tab2.png) no-repeat;
background-size: 100% 100%;
}
.tabAct1 {
background: url(../images/tabAct1.png) no-repeat;
background-size: 100% 100%;
}
.tabAct2 {
background: url(../images/tabAct2.png) no-repeat;
background-size: 100% 100%;
}
}
.page1 {
// display: none;
width: px2rem(708);
height: px2rem(1395);
margin: 0 auto px2rem(26);
background: url(../images/page1Bg.png) no-repeat;
background-size: 100% 100%;
}
.page2 {
display: none;
width: px2rem(708);
height: px2rem(1382);
background: url(../images/page2Bg.png) no-repeat;
background-size: 100% 100%;
margin: 0 auto px2rem(155);
overflow: hidden;
.tablist {
width: px2rem(368);
height: px2rem(53);
display: flex;
justify-content: space-between;
margin: px2rem(38) auto px2rem(70);
background: url(../images/tabListBg.png) no-repeat;
background-size: 100% 100%;
div {
width: px2rem(184);
height: px2rem(53);
line-height: px2rem(53);
color: #FFFFFF;
font-size: px2rem(29);
font-weight: 500;
text-align: center;
}
.act {
background: url(../images/tabListAct.png) no-repeat;
background-size: 100% 100%;
}
}
.top3Box {
width: px2rem(625);
height: px2rem(235);
position: relative;
margin: 0 auto px2rem(25);
.no1 {
width: px2rem(205);
height: px2rem(262);
background: url(../images/no1Bg.png) no-repeat;
background-size: 100% 100%;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 0;
.ts {
width: px2rem(117);
height: px2rem(119);
z-index: 2;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: px2rem(147);
}
.tx {
width: px2rem(91);
height: px2rem(91);
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: px2rem(158);
border-radius: 50%;
}
.name {
width: 100%;
//超出省略号
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: #AE3E4E;
font-size: px2rem(23);
font-weight: 500;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: px2rem(104);
text-align: center;
}
p {
width: 100%;
color: #AE3E4E;
font-size: px2rem(20);
font-weight: 400;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: px2rem(53);
text-align: center;
}
.score {
width: 100%;
color: #fff;
font-size: px2rem(20);
font-weight: 400;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: px2rem(18);
text-align: center;
}
}
.no2 {
width: px2rem(205);
height: px2rem(235);
background: url(../images/no23Bg.png) no-repeat;
background-size: 100% 100%;
position: absolute;
left: 0%;
bottom: 0;
.ts {
width: px2rem(117);
height: px2rem(119);
z-index: 2;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: px2rem(129);
}
.tx {
width: px2rem(91);
height: px2rem(91);
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: px2rem(142);
border-radius: 50%;
}
.name {
width: 100%;
//超出省略号
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: #AE3E4E;
font-size: px2rem(23);
font-weight: 500;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: px2rem(95);
text-align: center;
}
p {
width: 100%;
color: #AE3E4E;
font-size: px2rem(20);
font-weight: 400;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: px2rem(54);
text-align: center;
}
.score {
width: 100%;
color: #fff;
font-size: px2rem(20);
font-weight: 400;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: px2rem(20);
text-align: center;
}
}
.no3 {
width: px2rem(205);
height: px2rem(235);
background: url(../images/no23Bg.png) no-repeat;
background-size: 100% 100%;
position: absolute;
right: 0%;
bottom: 0;
.ts {
width: px2rem(117);
height: px2rem(119);
z-index: 2;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: px2rem(129);
}
.tx {
width: px2rem(91);
height: px2rem(91);
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: px2rem(142);
border-radius: 50%;
}
.name {
width: 100%;
//超出省略号
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: #AE3E4E;
font-size: px2rem(23);
font-weight: 500;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: px2rem(95);
text-align: center;
}
p {
width: 100%;
color: #AE3E4E;
font-size: px2rem(20);
font-weight: 400;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: px2rem(54);
text-align: center;
}
.score {
width: 100%;
color: #fff;
font-size: px2rem(20);
font-weight: 400;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: px2rem(20);
text-align: center;
}
}
}
ul {
width: px2rem(695);
height: 12.6rem;
overflow-y: scroll;
margin: 0 auto 0;
&::-webkit-scrollbar {
display: none;
}
li {
width: 100%;
height: px2rem(115);
background: url(../images/liBg.png) no-repeat;
background-size: 100% 100%;
margin-bottom: px2rem(2);
.num {
width: px2rem(35);
height: px2rem(115);
line-height: px2rem(115);
color: #AE3E4E;
font-size: px2rem(30);
font-weight: 400;
margin-left: px2rem(29);
text-align: center;
margin-right: px2rem(45);
float: left;
}
.tx {
width: px2rem(87);
height: px2rem(87);
border-radius: 50%;
border: px2rem(2) solid #AE3E4E;
margin-top: px2rem(15);
margin-right: px2rem(28);
display: block;
float: left;
}
.name {
width: 3rem;
height: px2rem(115);
line-height: px2rem(115);
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: #AE3E4E;
font-size: px2rem(27);
float: left;
}
.score {
float: right;
height: px2rem(115);
line-height: px2rem(115);
color: #AE3E4E;
font-weight: 400;
margin-right: px2rem(42);
}
}
}
.my {
position: fixed;
width: px2rem(750);
height: px2rem(155);
background: url(../images/my.png) no-repeat;
background-size: 100% 100%;
margin-bottom: px2rem(2);
left: 50%;
transform: translateX(-50%);
bottom: 0;
.num {
width: px2rem(100);
height: px2rem(155);
line-height: px2rem(155);
color: #AE3E4E;
font-size: px2rem(30);
font-weight: 400;
margin-left: px2rem(29);
text-align: center;
margin-right: px2rem(19);
float: left;
}
.tx {
width: px2rem(87);
height: px2rem(87);
border-radius: 50%;
border: px2rem(2) solid #AE3E4E;
margin-top: px2rem(32);
margin-right: px2rem(28);
display: block;
float: left;
}
.name {
width: 3rem;
height: px2rem(155);
line-height: px2rem(155);
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: #AE3E4E;
font-size: px2rem(27);
float: left;
}
.score {
float: right;
height: px2rem(155);
line-height: px2rem(155);
color: #AE3E4E;
font-weight: 400;
margin-right: px2rem(42);
}
}
}
.rule {
display: none;
position: fixed;
left: 0;
top: 0;
bottom: 0;
right: 0;
z-index: 999;
background: rgba(0, 0, 0, .6);
.rule_in {
width: px2rem(657);
height: px2rem(985);
background: url(../images/ruleBg.png) no-repeat;
background-size: 100% 100%;
overflow: hidden;
position: relative;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
.rulebox {
width: px2rem(605);
height: 11.5rem;
margin: px2rem(104) auto 0;
overflow-y: scroll;
&::-webkit-scrollbar {
display: none;
}
img {
display: block;
width: 100%;
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -0,0 +1,101 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>女神请就位</title>
<link rel="stylesheet" href="../../common/css/reset.css">
<link rel="stylesheet" href="./css/index.css">
</head>
<body>
<!-- 顶部返回 -->
<div class="back">
<img src="./images/travel/back.png" alt="">
</div>
<!-- header -->
<div class="header">
<img src="./images/rule_icon.png" alt="" class="rule_icon">
</div>
<!-- tab -->
<div class="tabBox">
<div class="tab1 tabAct1"></div>
<div class="tab2"></div>
</div>
<!-- page1 -->
<div class="page1"></div>
<!-- page2 -->
<div class="page2">
<!-- tab -->
<div class="tablist">
<div class="act">守护榜</div>
<div>女神榜</div>
</div>
<!-- 前三 -->
<div class="top3Box">
<div class="no1">
<img src="./images/no1.png" alt="" class="ts">
<img src="./images/logo.png" alt="" class="tx">
<div class="name">用户昵称</div>
<p>守护榜</p>
<div class="score">0</div>
</div>
<div class="no2">
<img src="./images/no2.png" alt="" class="ts">
<img src="./images/logo.png" alt="" class="tx">
<div class="name">用户昵称</div>
<p>守护榜</p>
<div class="score">0</div>
</div>
<div class="no3">
<img src="./images/no3.png" alt="" class="ts">
<img src="./images/logo.png" alt="" class="tx">
<div class="name">用户昵称</div>
<p>守护榜</p>
<div class="score">0</div>
</div>
</div>
<!-- 非前三 -->
<ul>
<li>
<div class="num">04</div>
<img src="./images/logo.png" alt="" class="tx">
<div class="name">用户昵称</div>
<div class="score">守护榜:0</div>
</li>
</ul>
<!-- 我自己 -->
<div class="my">
<div class="num">未上榜</div>
<img src="./images/logo.png" alt="" class="tx">
<div class="name">用户昵称</div>
<div class="score">守护榜:0</div>
</div>
</div>
<!-- 活动规则 -->
<div class="rule">
<div class="rule_in">
<div class="rulebox">
<img src="./images/rule.png" alt="">
</div>
</div>
</div>
</body>
<script src="../../common/js/flexible.js"></script>
<script src="../../common/js/jquery-3.2.1.min.js"></script>
<script src="../../common/js/common2.js"></script>
<script src="../../common/js/layer.js"></script>
<script src="../../common/js/vconsole.min.js"></script>
<script src="../../common/js/route-constant.js"></script>
<script src="./js/index.js"></script>
</html>

View File

@@ -0,0 +1,140 @@
let urlPrefix = getUrlPrefix()
let browser = checkVersion()
let env = EnvCheck();
if (env == 'test') {
new VConsole();
}
// 封装layer消息提醒框
let layerIndex
const showLoading = (content = '加载中...') => {
layer.open({
type: 2,
shadeClose: false,
content,
success (e) {
layerIndex = $(e).attr('index')
}
})
}
const hideLoading = (index) => {
layer.close(index)
}
const toastMsg = (content = '操作完成', time = 2) => {
layer.open({
content,
time,
skin: 'msg'
})
}
var rankType = 2;
// 初始化函数
$(function () {
getInfoFromClient()
setTimeout(function () {
// 页面全屏
if (browser.app) {
if (browser.android) {
window.androidJsObj.initShowNav(false)
} else {
window.webkit.messageHandlers.initShowNav.postMessage(0)
}
};
// 顶部返回事件
$('.back').click(() => {
if (browser.android) {
window.androidJsObj.closeWebView()
} else {
window.webkit.messageHandlers.closeWebView.postMessage(null)
}
})
}, 100)
})
// 获取榜单接口
function getRank () {
showLoading()
networkRequest({
type: 'get',
url: urlPrefix + '/act/special/gift/getRank',
data: {
rankType,
pageSize: 30
},
success (res) {
if (res.code === 200) {
// 处理前叁
var top3 = res.data.rankList.slice(0, 3);
var notTop3 = res.data.rankList.slice(3);
if (top3.length < 3) {
let arr = new Array(3 - top3.length).fill({
avatar: './images/logo.png',
nick: '虚位以待',
score: "0",
})
top3.push(...arr)
}
top3.forEach((res, i) => {
$(`.page2 .top3Box .no${i + 1} .tx`).attr('src', res.avatar);
$(`.page2 .top3Box .no${i + 1} .name`).text(res.nick);
$(`.page2 .top3Box .no${i + 1} p`).text(`${rankType == 2 ? "守护值" : "女神值"}`);
$(`.page2 .top3Box .no${i + 1} .score`).text(unitProcessing(res.score, 10000, 1, 'w'));
})
// 非前叁
$('.page2 ul li').remove();
var str = '';
notTop3.forEach((res, i) => {
str += `
<li>
<div class="num">${res.ranking}</div>
<img src="${res.avatar}" alt="" class="tx">
<div class="name">${res.nick}</div>
<div class="score">${rankType == 2 ? "守护值" : "女神值"}:${unitProcessing(res.score, 10000, 1, 'w')}</div>
</li>
`
});
$('.page2 ul').append(str);
// 处理自己榜单
$('.page2 .my .num').text(res.data.meRank.ranking == 0 ? '未上榜' : res.data.meRank.ranking);
$('.page2 .my .tx').attr('src', res.data.meRank.avatar);
$('.page2 .my .name').text(res.data.meRank.nick);
$('.page2 .my .score').text(`${rankType == 2 ? "守护值:" : "女神值:"}${unitProcessing(res.data.meRank.score, 10000, 1, 'w')}`);
} else {
toastMsg(res.message)
}
hideLoading(layerIndex)
},
error (err) {
hideLoading(layerIndex)
toastMsg('网路错误,请退出重进')
}
})
}
// tab切换
$('.tabBox div').click(function () {
var i = $(this).index() + 1;
$('.tabBox div').removeClass('tabAct1').removeClass('tabAct2');
$(this).addClass(`tabAct${i}`);
$('.page1,.page2').hide();
$(`.page${i}`).show();
if (i == 2) {
getRank();
}
})
$('.page2 .tablist div').click(function () {
var i = $(this).index() + 1;
$(this).addClass('act').siblings().removeClass('act');
rankType = i == 1 ? 2 : 4;
getRank();
})
// 打开规则
$('.header .rule_icon').click(function () {
$('.rule').show();
bodyScroolFun(true);
})
// 关闭规则
$('.rule').click(function () {
$('.rule').hide();
bodyScroolFun(false);
})

View File

@@ -306,10 +306,10 @@
<li>2. 甜蜜升温</li> <li>2. 甜蜜升温</li>
<li> a. 活动期间,超珍稀礼物直购限时开放,赠送礼物每达指定价值即可解锁直购</li> <li> a. 活动期间,超珍稀礼物直购限时开放,赠送礼物每达指定价值即可解锁直购</li>
<li>b. 赠送礼物价值每满52000钻即可购买【心动一刹13140钻】</li> <li>b. 赠送礼物价值每满52000钻即可购买【心动一刹13140钻】</li>
<li>c. 赠送礼物价值每满1314520即可购买【绝对宠溺33440钻】</li> <li>c. 赠送礼物价值每满131452钻即可购买【绝对宠溺33440钻】 </li>
<li>d. 购买的礼物将直接放入背包当中</li> <li>d. 购买的礼物将直接放入背包当中</li>
<li>3. 热恋时刻</li> <li>3. 热恋时刻</li>
<li>a. 活动时间2月14日0:00:00—2月14日23:59:59</li> <li>a. 活动时间2月14日0:00:00—2月15日00:00:00</li>
<li>b. 活动时间内比拼热恋值收到1钻=1热恋值</li> <li>b. 活动时间内比拼热恋值收到1钻=1热恋值</li>
<li>c. 活动时间内热恋值满13140可获得24H【糖果恋人】头像框奖励热恋值满33440可获得24H【糖果恋人】气泡奖励</li> <li>c. 活动时间内热恋值满13140可获得24H【糖果恋人】头像框奖励热恋值满33440可获得24H【糖果恋人】气泡奖励</li>
<li>d. 大头号牌照房房主和家族长不可以组成CP不参与榜单活动排名</li> <li>d. 大头号牌照房房主和家族长不可以组成CP不参与榜单活动排名</li>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -0,0 +1,269 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>热恋情人节</title>
<link rel="stylesheet" href="../../common/css/reset.css">
<link rel="stylesheet" href="./css/index.css">
</head>
<body>
<!-- 顶部返回 -->
<div class="back">
<img src="./images/travel/back.png" alt="">
</div>
<!-- 头部 -->
<div class="header">
<div class="rule_icon"></div>
</div>
<!-- tab切换 -->
<div class="tab">
<div class="act">告白攻略</div>
<div>甜蜜升温</div>
<div>热恋时刻</div>
</div>
<!-- 页面1 -->
<div class="page1">
<div class="page1Bg"></div>
</div>
<!-- 页面2 -->
<div class="page2">
<div class="box">
<!-- 标题 -->
<img src="./images/page2Title.png" alt="" class="title">
<!-- 购买记录icon -->
<img src="./images/page2Buy_icon.png" alt="" class="page2Buy_icon">
<!-- 文案 -->
<i class="i1">剩余时间:00天12时12分</i>
<i class="i2">活动期间送礼到达指定任务值,可解锁超珍稀限时礼物直购权</i>
<i class="i3">1钻石送礼=1礼物值</i>
<!-- 任务 -->
<div class="tasks tasks1 taskss">
<div class="giftBox">
<div class="qp"></div>
<img src="./images/tasks1.png" alt="" class="gift">
<div class="giftName">心动一刹</div>
<div class="giftVAlue">13140钻</div>
</div>
<p class="p1">每达到52000礼物值可解锁1次直购权</p>
<p class="p2">礼物值</p>
<p class="p3">当前可购买: X个</p>
<div class="line">
<span></span>
<i class="i">0/1000</i>
</div>
<div class="buy">
<img src="./images/diamond.png" alt="" class="diamond">
1314购买
</div>
</div>
<div class="tasks2 taskss">
<div class="giftBox">
<div class="qp"></div>
<img src="./images/tasks2.png" alt="" class="gift">
<div class="giftName">绝对宠溺</div>
<div class="giftVAlue">33440钻</div>
</div>
<p class="p1">每达到1314520礼物值可解锁1次直购权</p>
<p class="p2">礼物值</p>
<p class="p3">当前可购买: X个</p>
<div class="line">
<span></span>
<i class="i">0/2000</i>
</div>
<div class="buy">
<img src="./images/diamond.png" alt="" class="diamond">
3344购买
</div>
</div>
</div>
</div>
<!-- 页面3 -->
<div class="page3">
<!-- 前三 -->
<div class="top3">
<!-- 标题 -->
<div class="title">热恋榜单</div>
<!-- 榜单奖励 -->
<img src="./images/page3Rule_icon.png" alt="" class="rule_icon">
<!-- 前三列表 -->
<div class="no1">
<img src="./images/page3Top1.png" alt="" class="ts">
<img src="./images/logo.png" alt="" class="leftlogo">
<img src="./images/logo.png" alt="" class="rightlogo">
<div class="name">我是男用户6...<i> & </i>我是女用户6...</div>
<span class="score">9999热恋值</span>
</div>
<div class="no2">
<img src="./images/page3Top2.png" alt="" class="ts">
<img src="./images/logo.png" alt="" class="leftlogo">
<img src="./images/logo.png" alt="" class="rightlogo">
<div class="name">我是男用户6...<i> & </i>我是女用户6...</div>
<span class="score">9999热恋值</span>
</div>
<div class="no3">
<img src="./images/page3Top3.png" alt="" class="ts">
<img src="./images/logo.png" alt="" class="leftlogo">
<img src="./images/logo.png" alt="" class="rightlogo">
<div class="name">我是男用户6...<i> & </i>我是女用户6...</div>
<span class="score">9999热恋值</span>
</div>
</div>
<!-- 非前三 -->
<ul>
<li>
<div class="num">4</div>
<img src="./images/logo.png" alt="" class="leftTx">
<img src="./images/logo.png" alt="" class="rightTx">
<div class="leftName">我是男用户的...</div>
<div class="rightName">我是男用户的...</div>
<div class="score">0</div>
</li>
</ul>
<!-- 自己组合 -->
<div class="my">
<img src="./images/top.png" alt="" class="icon">
<div class="scroll">
<div class="myBox">
<div class="num">4</div>
<img src="./images/logo.png" alt="" class="leftTx">
<img src="./images/logo.png" alt="" class="rightTx">
<div class="leftName">1我是男用户的...</div>
<div class="rightName">1我是男用户的...</div>
<div class="score">0</div>
</div>
</div>
</div>
</div>
<!-- 购买记录弹窗 -->
<div class="buyRecords">
<div class="buyRecords_in">
<!-- 标题 -->
<img src="./images/page2RuleTitle.png" alt="" class="title">
<!-- 列表 -->
<ul>
<li class="liTitle">
<div>购买时间</div>
<div>购买礼物</div>
</li>
<li>
<div class="left">
<p>2024/2/1</p>
<span>00:00:00</span>
</div>
<div>xxxx礼物*1个</div>
</li>
<li class="null">
<div>暂无购买记录~</div>
</li>
</ul>
</div>
</div>
<!-- 活动规则弹窗 -->
<div class="rule">
<div class="rule_in">
<!-- 标题 -->
<img src="./images/ruleTitle.png" alt="" class="title">
<!-- 列表 -->
<ul>
<li>一、活动时间:</li>
<li>2024年3月13日11:00:00-3月16日23:59:59</li>
<li>二、活动规则</li>
<li>1.告白攻略</li>
<li>a.活动期间礼物栏限时上新白色情人节限定礼物;</li>
<li>b.活动期间送/收到白色情人节限定全套礼物可获得一套铭牌、头饰、气泡装扮根据送礼方or收礼方赠对应装扮款式</li>
<li>c.每送齐或收齐一次全套,所获得的装扮赠礼天数会累加;</li>
<li>2.甜蜜升温</li>
<li>a.活动期间,超珍稀礼物直购限时开放,赠送礼物每达指定价值即可解锁直购;</li>
<li>b.赠送礼物价值每满13140钻即可购买【心动一刹13140钻】赠送礼物价值每满33440钻即可购买【绝对宠溺33440钻】</li>
<li>c.购买的礼物将直接放入背包当中;</li>
<li>3.热恋时刻</li>
<li>a.活动期间,比拼热恋值;</li>
<li>b.详细榜单规则与奖励可见榜单说明;</li>
<li> 三、特别说明</li>
<li>1.靓号持有者需要在活动结束后2周内确认靓号否则将自动过期无法使用</li>
<li>2.本活动以及奖励与苹果公司无关。</li>
</ul>
</div>
</div>
<!-- 活动结束弹窗 -->
<div class="end">
<div class="end_in">
<img src="./images/endTitle.png" alt="" class="title">
<div class="but">查看榜单</div>
</div>
</div>
<!-- 购买失败弹窗 -->
<div class="failureBuy">
<div class="failureBuy_in">
<img src="./images/failureBuyTitle.png" alt="" class="title">
<div class="text">钻石余额不足</div>
<div class="but close">关闭</div>
<div class="but ok">前往充值</div>
</div>
</div>
<!-- 购买成功弹窗 -->
<div class="success">
<div class="success_in">
<img src="./images/buyTitle.png" alt="" class="title">
<div class="giftListSuccess">
<div class="qp"></div>
<img src="./images/logo.png" alt="" class="gift">
<div class="giftName">礼物名称</div>
<div class="giftVAlue">0钻</div>
</div>
<div class="text">xxxx礼物名*1已发放至「我的背包」</div>
<div class="but">知道了</div>
</div>
</div>
<!-- 二次确认购买弹窗 -->
<div class="sure">
<div class="sure_in">
<img src="./images/sureTitle.png" alt="" class="title">
<div class="text">购买成功后将自动发放至「我的背包」</div>
<div class="giftListSuccess">
<div class="qp"></div>
<img src="./images/logo.png" alt="" class="gift">
<div class="giftName">礼物名称</div>
<div class="giftVAlue">0钻</div>
</div>
<div class="but close">下次再说</div>
<div class="but ok">立即购买</div>
</div>
</div>
<!-- 榜单奖励弹窗 -->
<div class="page3Rule">
<div class="page3Rule_in">
<img src="./images/page3Title.png" alt="" class="title">
<div class="box">
<img src="./images/page3Rule_inBg.png" alt="">
</div>
</div>
</div>
</body>
</html>
<script src="../../common/js/flexible.js"></script>
<script src="../../common/js/jquery-3.2.1.min.js"></script>
<script src="../../common/js/common2.js"></script>
<script src="../../common/js/layer.js"></script>
<script src="../../common/js/vconsole.min.js"></script>
<script src="../../common/js/route-constant.js"></script>
<script src="./js/index.js"></script>

View File

@@ -0,0 +1,500 @@
let urlPrefix = getUrlPrefix()
let browser = checkVersion()
let env = EnvCheck();
if (env == 'test') {
new VConsole();
}
// 封装layer消息提醒框
let layerIndex
const showLoading = (content = '加载中...') => {
layer.open({
type: 2,
shadeClose: false,
content,
success (e) {
layerIndex = $(e).attr('index')
}
})
}
const hideLoading = (index) => {
layer.close(index)
}
const toastMsg = (content = '操作完成', time = 2) => {
layer.open({
content,
time,
skin: 'msg'
})
}
var activityCode1;
var activityCode2;
var activityCode;
var diamondNum;
var taskCode;
var taskIcon;
var taskName;
var showValue;
var countupTime;
// 初始化函数
$(function () {
getInfoFromClient()
setTimeout(function () {
// 页面全屏
if (browser.app) {
if (browser.android) {
window.androidJsObj.initShowNav(false)
} else {
window.webkit.messageHandlers.initShowNav.postMessage(0)
}
};
// 顶部返回事件
$('.back').click(() => {
if (browser.android) {
window.androidJsObj.closeWebView()
} else {
window.webkit.messageHandlers.closeWebView.postMessage(null)
}
})
getTask_MENG_DONG_HUA_HE();
getTask_TIAN_MI_SHENG_WEN();
getRank();
}, 100)
})
// 获取榜单接口
function getRank () {
showLoading()
networkRequest({
type: 'get',
url: urlPrefix + '/act/2024Valentines/cpRank/getRank',
success (res) {
if (res.code === 200) {
// 处理前叁
var top3 = res.data.rankList.slice(0, 3);
var notTop3 = res.data.rankList.slice(3);
if (top3.length < 3) {
let arr = new Array(3 - top3.length).fill({
leftAvatar: './images/logo.png',
rightAvatar: './images/logo.png',
leftNick: '虚位以待',
rightNick: '虚位以待',
score: "0"
})
top3.push(...arr)
}
top3.forEach((res, i) => {
$(`.page3 .top3 .no${i + 1} .leftlogo`).attr('src', res.leftAvatar);
$(`.page3 .top3 .no${i + 1} .rightlogo`).attr('src', res.rightAvatar);
$(`.page3 .top3 .no${i + 1} .name`).html(`${res.leftNick.length > 6 ? res.leftNick.slice(0, 6) + '...' : res.leftNick}<i> & </i>${res.rightNick.length > 6 ? res.rightNick.slice(0, 6) + '...' : res.rightNick}`);
$(`.page3 .top3 .no${i + 1} .score`).text(unitProcessing(res.score, 10000, 1, 'w') + '热恋值')
})
// 非前叁
var str = '';
$('.page3 ul li').remove();
notTop3.forEach((res, i) => {
str += `
<li>
<div class="num">${res.ranking}</div>
<img src="${res.leftAvatar}" alt="" class="leftTx">
<img src="${res.rightAvatar}" alt="" class="rightTx">
<div class="leftName">${res.leftNick}</div>
<div class="rightName">${res.rightNick}</div>
<div class="score">${unitProcessing(res.score, 10000, 1, 'w')}</div>
</li>
`
})
$('.page3 ul').append(str);
// 处理自己榜单排名
$('.page3 .my .myBox').remove();
var strMy = '';
res.data.meRankList.forEach((res, i) => {
strMy += `
<div class="myBox">
<div class="num">${res.ranking == 0 ? '未上榜' : res.ranking}</div>
<img src="${res.leftAvatar}" alt="" class="leftTx">
<img src="${res.rightAvatar}" alt="" class="rightTx">
<div class="leftName">${res.leftNick}</div>
<div class="rightName">${res.rightNick}</div>
<div class="score">${unitProcessing(res.score, 10000, 1, 'w')}</div>
</div>
`
})
$('.page3 .my .scroll').append(strMy)
} else {
toastMsg(res.message)
}
hideLoading(layerIndex)
},
error (err) {
hideLoading(layerIndex)
toastMsg('网路错误,请退出重进')
}
})
}
// 获取萌动礼盒点亮任务接口
function activityInfo () {
showLoading()
networkRequest({
type: 'get',
url: urlPrefix + '/activity/info',
data: { activityCode: activityCode2 },
success (res) {
if (res.code === 200) {
if (res.data.endTime - res.timestamp > 0) {
countup(res.data.endTime - res.timestamp);
} else {
$('.end').show();
bodyScroolFun(true);
}
} else {
toastMsg(res.message)
}
hideLoading(layerIndex)
},
error (err) {
hideLoading(layerIndex)
toastMsg('网路错误,请退出重进')
}
})
}
// 倒计时
function countup (leftTime) {
clearTimeout(countupTime)
//获取当前时间
// var now = nowTime;
var d = 0;
var h = 0;
var m = 0;
var s = 0;
//定义变数 d,h,m,s保存倒计时的时间
var d, h, m, s;
//递归每秒调⽤countTime⽅法显⽰动态时间效果
if (leftTime > 0) {
d = getzf(Math.floor(leftTime / 1000 / 60 / 60 / 24));
h = getzf(Math.floor(leftTime / 1000 / 60 / 60 % 24));
m = getzf(Math.floor(leftTime / 1000 / 60 % 60));
s = getzf(Math.floor(leftTime / 1000 % 60));
//将倒计时赋值到div中
$('.page2 .box .i1').text(`剩余时间:${d}${h}${m}${s}`);
} else {
$('.page2 .box .i1').text(`剩余时间:已结束`);
}
if (leftTime > 0) {
leftTime = leftTime - 1000;
}
countupTime = setTimeout(function () {
countup(leftTime);
}, 1000);
}
// 获取萌动礼盒点亮任务接口
function getTask_MENG_DONG_HUA_HE () {
showLoading()
networkRequest({
type: 'get',
url: urlPrefix + '/activity/task/user',
data: { componentCode: "MENG_DONG_HUA_HE" },
success (res) {
if (res.code === 200) {
// 渲染合成列表
$('.page1 .bg1 .giftListBox .giftList').remove();
var str = '';
res.data[0].children.forEach((res, i) => {
str += `
<div class="giftList giftList${i + 1} ${res.completed ? '' : 'filter'}">
<div class="qp"></div>
<img src="${res.taskIcon}" alt="" class="gift">
<div class="giftName">${res.taskName}</div>
<div class="giftVAlue">${res.taskValue}钻</div>
</div>
`
});
$('.page1 .bg1 .giftListBox').append(str);
activityCode1 = 'ACT_2024_WHITE_VALENTINES_DAY';
recordPage(activityCode1, 'MENG_DONG_HUA_HE',);
if (res.data[0].reward.granted) {
$('.page1 .bg1 .p3').show();
} else {
$('.page1 .bg1 .p3').hide();
}
} else {
toastMsg(res.message)
}
hideLoading(layerIndex)
},
error (err) {
hideLoading(layerIndex)
toastMsg('网路错误,请退出重进')
}
})
}
// 获取甜蜜升温任务接口
function getTask_TIAN_MI_SHENG_WEN () {
showLoading()
networkRequest({
type: 'get',
url: urlPrefix + '/activity/task/user',
data: { componentCode: "WHITE_TIAN_MI_SHENG_WEN" },
success (res) {
if (res.code === 200) {
activityCode2 = 'ACT_2024_WHITE_VALENTINES_DAY';
res.data.forEach((res, i) => {
$(`.page2 .box .tasks${i + 1} .giftBox .gift`).attr('src', res.taskIcon);
$(`.page2 .box .tasks${i + 1} .giftBox .giftName`).text(res.reward.rewardName);
$(`.page2 .box .tasks${i + 1} .giftBox .giftVAlue`).text(res.reward.showValue + '钻');
$(`.page2 .box .tasks${i + 1} .p1`).text(`每达到${res.taskValue}礼物值可解锁1次直购权`);
$(`.page2 .box .tasks${i + 1} .line .i`).text(`${res.completeValue % res.taskValue}/${res.taskValue}`);
$(`.page2 .box .tasks${i + 1} .line span`).css('width', `${(res.completeValue % res.taskValue / res.taskValue) * 100 >= 100 ? 98.8 : (res.completeValue % res.taskValue / res.taskValue) * 100}%`);
$(`.page2 .box .tasks${i + 1} .p3`).text(`当前可购买: ${Math.floor(res.activityValue / res.taskValue)}`);
$(`.page2 .box .tasks${i + 1} .buy`).html(`<img src="./images/diamond.png" alt="" class="diamond">
${res.reward.showValue}购买`);
$(`.page2 .box .tasks${i + 1} .buy`).attr('activityCode', res.activityCode);
$(`.page2 .box .tasks${i + 1} .buy`).attr('taskCode', res.taskCode);
$(`.page2 .box .tasks${i + 1} .buy`).attr('diamondNum', res.reward.showValue);
$(`.page2 .box .tasks${i + 1} .buy`).attr('num', Math.floor(res.activityValue / res.taskValue));
$(`.page2 .box .tasks${i + 1} .buy`).attr('taskIcon', res.taskIcon);
$(`.page2 .box .tasks${i + 1} .buy`).attr('taskName', res.reward.rewardName);
$(`.page2 .box .tasks${i + 1} .buy`).attr('showValue', res.reward.showValue);
})
activityInfo();
} else {
toastMsg(res.message)
}
hideLoading(layerIndex)
},
error (err) {
hideLoading(layerIndex)
toastMsg('网路错误,请退出重进')
}
})
}
// 购买接口
function exchange (activityCode, diamondNum, taskCode, taskIcon, taskName, showValue) {
showLoading()
networkRequest({
type: 'post',
url: urlPrefix + '/activity/task/exchange',
data: { activityCode, diamondNum, taskCode, num: 1 },
success (res) {
if (res.code === 200) {
$('.success .success_in .giftListSuccess .gift').attr('src', taskIcon);
$('.success .success_in .giftListSuccess .giftName').text(taskName);
$('.success .success_in .giftListSuccess .giftVAlue').text(`${showValue}`);
$('.success .success_in .text').text(`${taskName}*1已发放至「我的背包」`);
$('.success').show();
getTask_TIAN_MI_SHENG_WEN();
bodyScroolFun(true);
} else if (res.code == 31005) {
$('.failureBuy').show();
bodyScroolFun(true);
} else {
toastMsg(res.message)
}
hideLoading(layerIndex)
},
error (err) {
hideLoading(layerIndex)
toastMsg('网路错误,请退出重进')
}
})
}
// 购买礼物按钮
$(`.page2 .box .taskss .buy`).click(function () {
var num = $(this).attr('num');
activityCode = $(this).attr('activityCode');
diamondNum = $(this).attr('diamondNum');
taskCode = $(this).attr('taskCode');
taskIcon = $(this).attr('taskIcon');
taskName = $(this).attr('taskName');
showValue = $(this).attr('showValue');
if (num > 0) {//true
$('.sure .sure_in .giftListSuccess .gift').attr('src', taskIcon);
$('.sure .sure_in .giftListSuccess .giftName').text(taskName);
$('.sure .sure_in .giftListSuccess .giftVAlue').text(showValue + '钻');
$('.sure').show();
bodyScroolFun(true);
} else {
toastMsg('当前购买次数不足~')
}
});
// 二次确认弹窗
$('.sure .sure_in .ok').click(function () {
exchange(activityCode, diamondNum, taskCode, taskIcon, taskName, showValue);
$('.sure').hide();
bodyScroolFun(false);
})
// tab切换
$('.tab div').click(function () {
var i = $(this).index() + 1;
$('.page1,.page2,.page3').hide();
$(`.page${i}`).show();
$(this).addClass(`act`).siblings().removeClass('act')
if (i == 3) {
getRank();
}
})
// 记录接口
function recordPage (activityCode, componentCode) {
showLoading()
networkRequest({
type: 'get',
url: urlPrefix + '/activity/task/user/record/page',
data: { activityCode, componentCode, pageNum: 1, pageSize: 9999 },
success (res) {
if (res.code === 200) {
var str = '';
if (componentCode == 'MENG_DONG_HUA_HE') {
$('.page1 .bg2 ul li').remove()
if (res.data.records.length <= 0) {
str = `<li class="null"><div>暂无点亮记录,快去集齐礼物吧~</div></li>`
} else {
res.data.records.forEach(res => {
str += `
<li class="liTitle">
<div>点亮时间</div>
<div>获得奖励</div>
</li>
<li>
<div class="left">
<p>${dateFormat(res.createTime, 'yyyy/MM/dd')}</p>
<span>${dateFormat(res.createTime, 'hh/mm/ss')}</span>
</div>
<div>${res.rewardName}铭牌</div>
</li>
`})
}
$('.page1 .bg2 ul').append(str);
} else if (componentCode == 'WHITE_TIAN_MI_SHENG_WEN') {
$('.buyRecords .buyRecords_in ul li').remove();
if (res.data.records.length <= 0) {
str = `<li class="null"><div>暂无购买记录~</div></li>`
} else {
res.data.records.forEach(res => {
str += `
<li class="liTitle">
<div>购买时间</div>
<div>购买礼物</div>
</li>
<li>
<div class="left">
<p>${dateFormat(res.createTime, 'yyyy/MM/dd')}</p>
<span>${dateFormat(res.createTime, 'hh/mm/ss')}</span>
</div>
<div>${res.rewardName}礼物*1个</div>
</li>
`})
}
$('.buyRecords .buyRecords_in ul').append(str);
}
} else {
toastMsg(res.message)
}
hideLoading(layerIndex)
},
error (err) {
hideLoading(layerIndex)
toastMsg('网路错误,请退出重进')
}
})
}
// 打开购买记录
$('.page2 .box .page2Buy_icon').click(function () {
recordPage(activityCode2, 'WHITE_TIAN_MI_SHENG_WEN',);
$('.buyRecords').show();
bodyScroolFun(true);
})
// 关闭购买记录
$('.buyRecords').click(function () {
$('.buyRecords').hide();
bodyScroolFun(false);
})
// 打开规则记录
$('.header .rule_icon').click(function () {
$('.rule').show();
bodyScroolFun(true);
})
// 关闭规则记录
$('.rule').click(function () {
$('.rule').hide();
bodyScroolFun(false);
})
// 自己榜单展开按钮
var scrollBool = true;
$('.page3 .my .icon').click(function () {
$('.page3 .my .scroll').scrollTop(0)
if (scrollBool) {
$('.page3 .my').css({ "height": "8.74667rem", "background": "url(./images/myBg.png) no-repeat", "background-size": "100% 100%" })
$('.page3 .my .scroll').css({ "overflow-y": "scroll" })
$('.page3 .my .icon').attr('src', './images/bottom.png')
bodyScroolFun(true);
} else {
$('.page3 .my').css({ "height": "2.2rem", "background": "url(./images/myBg2.png) no-repeat", "background-size": "100% 100%" })
$('.page3 .my .scroll').css({ "overflow-y": "hidden" })
$('.page3 .my .icon').attr('src', './images/top.png')
bodyScroolFun(false);
}
scrollBool = !scrollBool;
})
// 关闭活动结束弹窗
$('.end .end_in .but').click(function () {
$('.page1,.page2,.page3').hide();
$(`.page${3}`).show();
$('.tab div').removeClass('act');
$('.tab div').eq(2).addClass('act');
$('.end').hide();
bodyScroolFun(false);
})
// 关闭充值弹窗
$('.failureBuy .failureBuy_in .close').click(function () {
$('.failureBuy').hide();
bodyScroolFun(false);
})
// 跳转充值弹窗
$('.failureBuy .failureBuy_in .ok').click(function () {
$('.failureBuy').hide();
bodyScroolFun(false);
if (browser.android) {
window.androidJsObj.openChargePage()
// tools.nativeUtils.jumpAppointPage('RECHARGE_PAGE')
} else if (browser.ios) {
window.webkit.messageHandlers.openChargePage.postMessage(null)
}
})
// 关闭购买成功弹窗
$('.success .success_in .but').click(function () {
$('.success').hide();
bodyScroolFun(false);
})
// 关闭二次确认弹窗
$('.sure .sure_in .close').click(function () {
$('.sure').hide();
bodyScroolFun(false);
})
// 关闭榜单奖励
$('.page3Rule').click(function () {
$('.page3Rule').hide();
bodyScroolFun(false);
})
// 打开榜单奖励
$('.page3 .top3 .rule_icon').click(function () {
$('.page3Rule').show();
bodyScroolFun(true);
})
//补0操作
function getzf (num) {
if (parseInt(num) < 10) {
num = '0' + num;
}
return num;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 244 KiB

View File

@@ -6,9 +6,9 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" <meta name="viewport"
content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"> content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<title>幸运礼物玩法说明</title> <title>幸运礼物活动规则</title>
<link rel="stylesheet" href="../../common/css/reset.css"> <link rel="stylesheet" href="../../common/css/reset.css">
<link rel="stylesheet" href="./style/luckyGiftRule.css"> <link rel="stylesheet" href="./style/luckyGiftRule.css?v=1.0">
<style> <style>
body { body {
background: #F4F4FA; background: #F4F4FA;
@@ -19,7 +19,13 @@
<body> <body>
<div class="wrap"> <div class="wrap">
<div class="fixed_wrap" style="background: #F4F4FA;"> <div class="fixed_wrap" style="background: #F4F4FA;">
<div class="tip">送出幸运礼物,获得不同图标和特效</div> <!-- <div class="tip">送出幸运礼物,获得不同图标和特效</div> -->
<div class="rule">
<p>送出幸运礼物,获得不同图标和特效</p>
<p>您知悉“幸运礼物”是旨在提升平台娱乐性和用户活跃度的互动功能,该活动仅供互动娱乐,用户通过活动获取的礼物仅限在平台内消耗使用;</p>
<p>活动期间,用户应当遵守法律法规及平台规则,如发现用户违规 (包括但不限于使用外挂作弊、套现、回收等等违反平台规则或损害其他用户、平台及任何第三方合法权益的行为),平台有权撤销用户活动参与资格,收回全部权益,必要时追究法律责任,并有权视情况对用户采取限制、封禁帐号、冻结资金以做进一步查证处理。您也可通过点击用户资料,右上角进行举报。</p>
<p>本活动仅限年龄18岁及以上用户参加请参与互动玩法的用户务必注意健康娱乐适度消费;</p>
</div>
<div class="gift_list_contain"> <div class="gift_list_contain">
<ul class="gift_list"> <ul class="gift_list">
<!-- <li class="active" id="1"> <!-- <li class="active" id="1">

View File

@@ -1,113 +1,145 @@
.wrap {
overflow: hidden;
}
.wrap .fixed_wrap { .wrap .fixed_wrap {
position: fixed;
top: 0; top: 0;
left: 0; left: 0;
z-index: 1; z-index: 1;
width: 100%; width: 100%;
background-color: #fff; background-color: #fff;
} }
.wrap .fixed_wrap .tip { .wrap .fixed_wrap .tip {
text-align: center; text-align: left;
font-size: 0.32rem; font-size: 0.32rem;
color: #666; color: #666;
margin-top: 0.64rem; margin-top: 0.64rem;
margin-bottom: 0.4533333333rem; margin-bottom: 0.45333rem;
} }
.wrap .fixed_wrap .rule {
font-size: 0.32rem;
color: #666;
width: 85%;
margin: 0.64rem auto 0.45333rem;
line-height: 0.45rem;
}
.wrap .fixed_wrap .rule p {
margin-bottom: 0.13333rem;
}
.wrap .fixed_wrap .gift_list_contain { .wrap .fixed_wrap .gift_list_contain {
overflow-x: scroll; overflow-x: scroll;
margin-bottom: 0.5333333333rem; margin-bottom: 0.53333rem;
} }
.wrap .fixed_wrap .gift_list_contain .gift_list { .wrap .fixed_wrap .gift_list_contain .gift_list {
width: max-content; width: max-content;
padding: 0 0.3733333333rem; padding: 0 0.37333rem;
box-sizing: border-box; box-sizing: border-box;
} }
.wrap .fixed_wrap .gift_list_contain .gift_list::after { .wrap .fixed_wrap .gift_list_contain .gift_list::after {
content: ""; content: '';
display: block; display: block;
clear: both; clear: both;
} }
.wrap .fixed_wrap .gift_list_contain .gift_list li { .wrap .fixed_wrap .gift_list_contain .gift_list li {
float: left; float: left;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
width: 2.2933333333rem; width: 2.29333rem;
height: 2.88rem; height: 2.88rem;
margin-left: 0.32rem; margin-left: 0.32rem;
font-size: 0.32rem; font-size: 0.32rem;
text-align: center; text-align: center;
background: #fff; background: #fff;
} }
.wrap .fixed_wrap .gift_list_contain .gift_list li img { .wrap .fixed_wrap .gift_list_contain .gift_list li img {
width: 1.6rem; width: 1.6rem;
height: 1.6rem; height: 1.6rem;
margin-top: 0.32rem; margin-top: 0.32rem;
margin-bottom: 0.1333333333rem; margin-bottom: 0.13333rem;
} }
.wrap .fixed_wrap .gift_list_contain .gift_list li.active { .wrap .fixed_wrap .gift_list_contain .gift_list li.active {
background: url("../images/2.png") no-repeat 0 0/100% 100%; background: url("../images/2.png") no-repeat 0 0/100% 100%;
color: #FFB606; color: #FFB606;
width: 2.2933333333rem; width: 2.29333rem;
height: 3.0666666667rem; height: 3.06667rem;
} }
.wrap .box { .wrap .box {
background: #fff; background: #fff;
width: 90%; width: 90%;
box-sizing: border-box; box-sizing: border-box;
padding: 0.2666666667rem; padding: 0.26667rem;
border-radius: 0.2rem; border-radius: 0.2rem;
margin: 5.1rem auto 1.0666666667rem; margin: 1rem auto 1.06667rem;
} }
.wrap .select_gift_name { .wrap .select_gift_name {
position: relative; position: relative;
height: 0.5333333333rem; height: 0.53333rem;
line-height: 0.5333333333rem; line-height: 0.53333rem;
font-weight: bold; font-weight: bold;
font-size: 0.3733333333rem; font-size: 0.37333rem;
color: #333; color: #333;
background: #fff; background: #fff;
margin-left: 0.5rem; margin-left: 0.5rem;
} }
.wrap .select_gift_name::after { .wrap .select_gift_name::after {
content: ""; content: '';
position: absolute; position: absolute;
left: -0.3733333333rem; left: -0.37333rem;
height: inherit; height: inherit;
width: 0.1066666667rem; width: 0.10667rem;
background-color: #FFBC51; background-color: #FFBC51;
border-radius: 0.0533333333rem; border-radius: 0.05333rem;
} }
.wrap .gift_item_contain li { .wrap .gift_item_contain li {
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 0.4266666667rem; margin-bottom: 0.42667rem;
padding: 0 0.72rem; padding: 0 0.72rem;
box-sizing: border-box; box-sizing: border-box;
} }
.wrap .gift_item_contain li .gift_item_pic { .wrap .gift_item_contain li .gift_item_pic {
width: 1.28rem; width: 1.28rem;
height: 1.28rem; height: 1.28rem;
margin-right: 0.3466666667rem; margin-right: 0.34667rem;
} }
.wrap .gift_item_contain li .gift_item_name { .wrap .gift_item_contain li .gift_item_name {
width: 2.6666666667rem; width: 2.66667rem;
text-align: left; text-align: left;
font-size: 0.3466666667rem; font-size: 0.34667rem;
color: #333; color: #333;
} }
.wrap .gift_item_contain li .gift_item_price { .wrap .gift_item_contain li .gift_item_price {
flex: 1; flex: 1;
} }
.wrap .gift_item_contain li .gift_item_price img { .wrap .gift_item_contain li .gift_item_price img {
width: 0.3466666667rem; width: 0.34667rem;
height: 0.2666666667rem; height: 0.26667rem;
margin-right: 0.08rem; margin-right: 0.08rem;
} }
.wrap .gift_item_contain li .gift_item_price span { .wrap .gift_item_contain li .gift_item_price span {
font-size: 0.32rem; font-size: 0.32rem;
color: #333; color: #333;
} }
.wrap .gift_item_contain li .ratio { .wrap .gift_item_contain li .ratio {
font-size: 0.32rem; font-size: 0.32rem;
color: #666; color: #666;
@@ -116,5 +148,3 @@
::-webkit-scrollbar { ::-webkit-scrollbar {
display: none; display: none;
} }
/*# sourceMappingURL=luckyGiftRule.css.map */

View File

@@ -1,10 +1,11 @@
@function px2rem($px, $rem:75) { @function px2rem($px) {
@return $px / $rem+rem; @return $px / 75+rem;
} }
.wrap { .wrap {
overflow: hidden;
.fixed_wrap { .fixed_wrap {
position: fixed; // position: fixed;
top: 0; top: 0;
left: 0; left: 0;
z-index: 1; z-index: 1;
@@ -12,20 +13,32 @@
background-color: #fff; background-color: #fff;
.tip { .tip {
text-align: center; text-align: left;
font-size: px2rem(24, ); font-size: px2rem(24);
color: #666; color: #666;
margin-top: px2rem(48, ); margin-top: px2rem(48);
margin-bottom: px2rem(34, ); margin-bottom: px2rem(34);
}
.rule {
font-size: px2rem(24);
color: #666;
// margin-top: px2rem(48);
// margin-bottom: px2rem(34);
width: 85%;
margin: px2rem(48) auto px2rem(34);
line-height: 0.45rem;
p{
margin-bottom: px2rem(10);
}
} }
.gift_list_contain { .gift_list_contain {
overflow-x: scroll; overflow-x: scroll;
margin-bottom: px2rem(40, ); margin-bottom: px2rem(40);
.gift_list { .gift_list {
width: max-content; width: max-content;
padding: 0 px2rem(28, ); padding: 0 px2rem(28);
box-sizing: border-box; box-sizing: border-box;
&::after { &::after {
@@ -39,25 +52,25 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
width: px2rem(172, ); width: px2rem(172);
height: px2rem(216, ); height: px2rem(216);
margin-left: px2rem(24, ); margin-left: px2rem(24);
font-size: px2rem(24, ); font-size: px2rem(24);
text-align: center; text-align: center;
background: #fff; background: #fff;
img { img {
width: px2rem(120, ); width: px2rem(120);
height: px2rem(120, ); height: px2rem(120);
margin-top: px2rem(24, ); margin-top: px2rem(24);
margin-bottom: px2rem(10, ); margin-bottom: px2rem(10);
} }
&.active { &.active {
background: url('../images/2.png') no-repeat 0 0/100% 100%; background: url('../images/2.png') no-repeat 0 0/100% 100%;
color: #FFB606; color: #FFB606;
width: px2rem(172, ); width: px2rem(172);
height: px2rem(230, ); height: px2rem(230);
} }
} }
} }
@@ -68,17 +81,17 @@
background: #fff; background: #fff;
width: 90%; width: 90%;
box-sizing: border-box; box-sizing: border-box;
padding: px2rem(20, ); padding: px2rem(20);
border-radius: px2rem(15, ); border-radius: px2rem(15);
margin: 5.1rem auto px2rem(80, ); margin: 1rem auto px2rem(80);
} }
.select_gift_name { .select_gift_name {
position: relative; position: relative;
height: px2rem(40, ); height: px2rem(40);
line-height: px2rem(40, ); line-height: px2rem(40);
font-weight: bold; font-weight: bold;
font-size: px2rem(28, ); font-size: px2rem(28);
color: #333; color: #333;
background: #fff; background: #fff;
margin-left: 0.5rem; margin-left: 0.5rem;
@@ -86,11 +99,11 @@
&::after { &::after {
content: ''; content: '';
position: absolute; position: absolute;
left: px2rem(-28, ); left: px2rem(-28);
height: inherit; height: inherit;
width: px2rem(8, ); width: px2rem(8);
background-color: #FFBC51; background-color: #FFBC51;
border-radius: px2rem(4, ); border-radius: px2rem(4);
} }
} }
@@ -98,20 +111,20 @@
li { li {
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: px2rem(32, ); margin-bottom: px2rem(32);
padding: 0 px2rem(54, ); padding: 0 px2rem(54);
box-sizing: border-box; box-sizing: border-box;
.gift_item_pic { .gift_item_pic {
width: px2rem(96, ); width: px2rem(96);
height: px2rem(96, ); height: px2rem(96);
margin-right: px2rem(26, ); margin-right: px2rem(26);
} }
.gift_item_name { .gift_item_name {
width: px2rem(200, ); width: px2rem(200);
text-align: left; text-align: left;
font-size: px2rem(26, ); font-size: px2rem(26);
color: #333; color: #333;
} }
@@ -119,19 +132,19 @@
flex: 1; flex: 1;
img { img {
width: px2rem(26, ); width: px2rem(26);
height: px2rem(20, ); height: px2rem(20);
margin-right: px2rem(6, ); margin-right: px2rem(6);
} }
span { span {
font-size: px2rem(24, ); font-size: px2rem(24);
color: #333; color: #333;
} }
} }
.ratio { .ratio {
font-size: px2rem(24, ); font-size: px2rem(24);
color: #666; color: #666;
} }
} }