18 Commits

Author SHA1 Message Date
Dragon
b95b0c6d96 新增跳转ui和ticket 2024-03-20 15:53:34 +08:00
Dragon
7797bd0b6e 迁移peko跳转 2024-03-20 15:26:18 +08:00
Dragon
8f21ec0807 替换官网ios下载链接 2024-03-18 13:35:31 +08:00
Dragon
72845dd4e0 替换官网下载链接 2024-03-15 10:13:20 +08:00
Dragon
3cda83ce99 替换奖励规则 2024-03-13 16:18:04 +08:00
Dragon
268a0c9f8a 替换客服号 2024-03-13 12:39:06 +08:00
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
Dragon
f4a2bce138 完成音萌情人节活动 2024-02-05 21:10:25 +08:00
Dragon
4b0993dee3 完成首页任务接口联调暂存 2024-02-05 21:10:20 +08:00
Dragon
ff64c396ec 暂存 2024-02-05 21:10:20 +08:00
157 changed files with 11135 additions and 428 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);
})

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: 202 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: 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: 155 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: 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,392 @@
<!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="bg1">
<!-- 标题 -->
<img src="./images/page1Bg1Title.png" alt="" class="title">
<!-- 爱心盒子 -->
<img src="./images/loveBox.png" alt="" class="loveBox">
<!-- 文案 -->
<p class="p1">活动期间开出「萌动花盒」中的6种不同礼物</p>
<p class="p2">可获得「初心萌动」限定铭牌</p>
<p class="p3">今日奖励已发放</p>
<p class="p4">奖励自动发放每日仅可领取一次点亮结果和奖励每日中午12点自动刷新</p>
<!-- 铭牌 -->
<img src="./images/mp.png" alt="" class="mp">
<!-- 点亮列表 -->
<div class="giftListBox">
<div class="giftList giftList1 filter">
<div class="qp"></div>
<img src="./images/1.png" alt="" class="gift">
<div class="giftName">白玫瑰</div>
<div class="giftVAlue">1314钻</div>
</div>
<div class="giftList giftList2 filter">
<div class="qp"></div>
<img src="./images/2.png" alt="" class="gift">
<div class="giftName">红玫瑰</div>
<div class="giftVAlue">1314钻</div>
</div>
<div class="giftList giftList3 filter">
<div class="qp"></div>
<img src="./images/3.png" alt="" class="gift">
<div class="giftName">粉玫瑰</div>
<div class="giftVAlue">1314钻</div>
</div>
<div class="giftList giftList4 filter">
<div class="qp"></div>
<img src="./images/4.png" alt="" class="gift">
<div class="giftName">彩玫瑰</div>
<div class="giftVAlue">1314钻</div>
</div>
<div class="giftList giftList5 filter">
<div class="qp"></div>
<img src="./images/5.png" alt="" class="gift">
<div class="giftName">炽热爱恋</div>
<div class="giftVAlue">1314钻</div>
</div>
<div class="giftList giftList6 filter">
<div class="qp"></div>
<img src="./images/6.png" alt="" class="gift">
<div class="giftName">纯白爱恋</div>
<div class="giftVAlue">1314钻</div>
</div>
</div>
</div>
<div class="bg2">
<!-- 标题 -->
<img src="./images/page1Bg2Title.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铭牌</div>
</li>
<li class="null">
<div>暂无点亮记录,快去集齐礼物吧~</div>
</li>
</ul>
</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="box">
<!-- 文案 -->
<i class="i2">突破热恋值,领取限时装扮奖励!
女性用户获得粉色装扮,男性用户获得蓝色装扮
每个用户仅能获取1次将自动发放至「我的装扮」</i>
<!-- 任务 -->
<div class="tasks tasks1">
<div class="giftBox">
<div class="qp"></div>
<!-- <img src="./images/logo.png" alt="" class="gift"> -->
<div class="giftName">糖果恋人头饰</div>
<div class="giftVAlue">13140热恋值</div>
</div>
<p class="p1">糖果恋人头饰-情人节限定</p>
<p class="p2">热恋值</p>
<p class="p3">有效期24H</p>
<div class="line">
<span></span>
<i class="i">0/1000</i>
</div>
<div class="buy">
未完成
</div>
</div>
<div class="tasks2">
<div class="giftBox">
<div class="qp"></div>
<!-- <img src="./images/logo.png" alt="" class="gift"> -->
<div class="giftName">糖果恋人气泡</div>
<div class="giftVAlue">33440热恋值</div>
</div>
<p class="p1">糖果恋人气泡·情人节限定</p>
<p class="p2">热恋值</p>
<p class="p3">有效期24H</p>
<div class="line">
<span></span>
<i class="i">0/1000</i>
</div>
<div class="buy">
未完成
</div>
</div>
</div>
<!-- 前三 -->
<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年2月12日12:00:00—2024年2月16日23:59:59</li>
<li> 二、热恋情人节</li>
<li> 1. 萌动花盒</li>
<li> a. 活动期间1314钻石萌动花盒幸运礼物限时上线花盒内有6种不同礼物每次送出随机解锁1种</li>
<li> b.每送出花盒内的一种礼物皆可点亮对应拼图所有拼图全部点亮即可获得24H【初心萌动】铭牌奖励</li>
<li> c. 拼图进度每日中午12点重置活动期间每天均可完成1次 </li>
<li>2. 甜蜜升温</li>
<li> a. 活动期间,超珍稀礼物直购限时开放,赠送礼物每达指定价值即可解锁直购</li>
<li>b. 赠送礼物价值每满52000钻即可购买【心动一刹13140钻】</li>
<li>c. 赠送礼物价值每满131452钻即可购买【绝对宠溺33440钻】 </li>
<li>d. 购买的礼物将直接放入背包当中</li>
<li>3. 热恋时刻</li>
<li>a. 活动时间2月14日0:00:00—2月15日00:00:00</li>
<li>b. 活动时间内比拼热恋值收到1钻=1热恋值</li>
<li>c. 活动时间内热恋值满13140可获得24H【糖果恋人】头像框奖励热恋值满33440可获得24H【糖果恋人】气泡奖励</li>
<li>d. 大头号牌照房房主和家族长不可以组成CP不参与榜单活动排名</li>
<li>e. 榜单奖励TOP1可额外获得情侣靓号5203344&3344520*30天TOP1-3均可获得【挚爱唯一】专属铭牌、头像框、资料卡、专属开屏1天</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,515 @@
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) {
// 处理任务
res.data.cpTaskList.forEach((val, i) => {
console.log(res.status);
if (val.status == 2) {
$(`.page3 .box .tasks${i + 1} .buy`).addClass("act");
$(`.page3 .box .tasks${i + 1} .buy`).text("已完成");
$(`.page3 .box .tasks${i + 1} .line .i`).text(`${res.data.score > val.score ? val.score : res.data.score}/${val.score}`);
$(`.page3 .box .tasks${i + 1} .line span`).css('width', `${(res.data.score / val.score) * 100 >= 100 ? 98.8 : (res.data.score / val.score) * 100}%`)
} else {
$(`.page3 .box .tasks${i + 1} .buy`).removeClass("act");
$(`.page3 .box .tasks${i + 1} .buy`).text("未完成");
$(`.page3 .box .tasks${i + 1} .line .i`).text(`${res.data.score > val.score ? val.score : res.data.score}/${val.score}`);
$(`.page3 .box .tasks${i + 1} .line span`).css('width', `${(res.data.score / val.score) * 100 >= 100 ? 98.8 : (res.data.score / val.score) * 100}%`)
}
});
// 处理前三
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_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: "TIAN_MI_SHENG_WEN" },
success (res) {
if (res.code === 200) {
activityCode2 = 'ACT_2024_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 == '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, '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;
}

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

Some files were not shown because too many files have changed in this diff Show More