9 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
94 changed files with 6013 additions and 358 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: 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: 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: 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,271 @@
<!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.活动期间,比拼热恋值,送礼方与收礼方产生CP关系,收到礼物可增加热恋值,1钻=1热恋值;</li>
<li>b.礼物包含礼物面板礼物和背包礼物;</li>
<li>c.若热恋值相同则按照最早赠送时间优先排序;</li>
<li>d.活动榜单仅有总榜,总榜前3可获得相应奖励,CP中男方获得蓝色装扮,女方获得粉色装扮,总榜奖励将在活动结束后统一自动发放;</li>
<li> 三、特别说明</li>
<li>a.靓号持有者需要在活动结束后2周内确认靓号否则将自动过期无法使用</li>
<li>b.本活动以及奖励与苹果公司无关。</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?v=1.0" 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: 83 KiB

After

Width:  |  Height:  |  Size: 86 KiB

View File

@@ -156,7 +156,7 @@
<script src="http://static.lkme.cc/linkedme.min.js"></script>
<script src="./js/utf.js"></script>
<script src="./js/swiper.min.js"></script>
<script src="./js/index.js?v=2.2"></script>
<script src="./js/index.js?v=2.3"></script>
</body>
</html>

View File

@@ -50,9 +50,9 @@ $(function () {
let version = checkVersion()
//判断url参数是否是与渠道包名一致
let androidUrl = null;
channelDict.hasOwnProperty(channelData) ? androidUrl = channelDict[channelData] : androidUrl = 'https://image.nnbc123.cn/yinmeng_official.apk';
channelDict.hasOwnProperty(channelData) ? androidUrl = channelDict[channelData] : androidUrl = 'https://yinmeng-1318633625.cos.ap-guangzhou.myqcloud.com/yinmeng_official.apk';
// let iosUrl = 'http://doudouyue.com/8axv' //ios企业包
let iosUrl = 'http://doudouyue.com/e8hdlr' //ios企业包
let iosUrl = 'http://show.nnbc123.cn/sbz6' //ios企业包
// let iosUrl = 'http://fir.gzmangguo.cn/sbz6' //ios商店包
$(document).ready(function () {

File diff suppressed because one or more lines are too long

View File

@@ -2,371 +2,400 @@
* Created by raymondjack on 2018/12/21.
*/
var info = {};
// var pubInfo = {};
var $toast = $('.toast');
var $mask = $('.status-mask');
var lockBol = false;
let urlPrefix = getUrlPrefix()
var goToPage = null;
// 封装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'
})
}
$(function () {
var browser = checkVersion();
var api = getUrlPrefix();
var timer = null;
var env = EnvCheck();
var urlObj = getQueryString();
if (env == 'test') {
var vConsole = new VConsole();
}
getInfoFromClient && getInfoFromClient()
if (browser.app) {
if (browser.android) {
let channel = JSON.parse(pubInfo.deviceInfo).channel
if (channel.indexOf('toutiao') != -1 || channel.indexOf('kuaishou') != -1) {
$('.appName').html('音游')
}
getInfoFromClient()
var browser = checkVersion();
var api = getUrlPrefix();
var timer = null;
var env = EnvCheck();
var urlObj = getQueryString();
console.log(urlObj.uid);
if (urlObj.uid) {
sessionStorage.setItem("uid", urlObj.uid);
sessionStorage.setItem("ticket", urlObj.ticket);
}
if (env == 'test') {
var vConsole = new VConsole();
}
}
var main = {
init: function () {
this.getDeviceMsg();
this.eventRegister();
var that = this;
setTimeout(function () {
that.getData();
}, 200)
},
getDeviceMsg: function () {
if (browser.app) {
getInfoFromClient && getInfoFromClient()
if (browser.app) {
if (browser.android) {
info.uid = parseInt(window.androidJsObj.getUid());
info.deviceId = window.androidJsObj.getDeviceId();
info.ticket = window.androidJsObj.getTicket();
} else {
info.uid = tools.cookieUtils.get("uid");
if (!info.uid) {
window.webkit.messageHandlers.getUid.postMessage(null);
}
window.webkit.messageHandlers.getDeviceId.postMessage(null);
window.webkit.messageHandlers.getTicket.postMessage(null);
let channel = JSON.parse(pubInfo.deviceInfo).channel
if (channel.indexOf('toutiao') != -1 || channel.indexOf('kuaishou') != -1) {
$('.appName').html('piko')
}
}
} else {
info.uid = 922473;
info.deviceId = "204aa0c983384f1e84a3625b4f04bac1";
}
}
// setTimeout(function () {
// $('.deviceId').val(info.deviceId);
// },200)
},
getData: function () {
console.log(urlObj, 'urlObj')
if (urlObj) {
info.auth = urlObj.auth
} else {
info.auth = ''
}
console.log(info.auth, 'info.auth')
$.ajax({
type: "get",
url: api + "/certification/hasCertify",
headers: {
"pub_ticket": info.ticket
},
data: {
uid: info.uid,
auth: info.auth,
ticket: info.ticket,
var main = {
init: function () {
this.getDeviceMsg();
this.eventRegister();
var that = this;
setTimeout(function () {
that.getData();
}, 200)
},
success: function (res) {
if (res.code == 200) {
var checkBol = res.data;
var $mask = $('.status-mask');
if (checkBol.authResult) {
console.log('已短信验证!')
} else if (checkBol.hasCertify && !checkBol.canCertify) {
console.log('已实名且没有机会了')
$mask.addClass("have-identity");
$mask.find(".text").html("您已通过实名认证");
$mask.find(".tips").html("系统已成功审核您的实名认证");
$mask.show();
} else if (checkBol.hasCertify && checkBol.canCertify) {
console.log('已实名还有一次机会')
// var $mask = $('.status-mask');
$mask.addClass("have-identity");
$mask.find(".text").html("您已通过实名认证");
$mask.find(".tips").html("系统已成功审核您的实名认证");
$mask.find(".goto-change").removeClass('hide');
$mask.show();
}
}
}
})
},
eventRegister: function () {
$('.button-submit').on('click', function () {
getDeviceMsg: function () {
// if (browser.app) {
// if (browser.android) {
// pubInfo.uid = parseInt(window.androidJsObj.getUid());
// pubInfo.deviceId = window.androidJsObj.getDeviceId();
// pubInfo.ticket = window.androidJsObj.getTicket();
// } else {
// pubInfo.uid = tools.cookieUtils.get("uid");
// if (!pubInfo.uid) {
// window.webkit.messageHandlers.getUid.postMessage(null);
// }
// window.webkit.messageHandlers.getDeviceId.postMessage(null);
// window.webkit.messageHandlers.getTicket.postMessage(null);
// }
// } else {
// pubInfo.uid = 922473;
// pubInfo.deviceId = "204aa0c983384f1e84a3625b4f04bac1";
// }
var name = $('.name').val();
var personId = $('.person-id').val();
var phone = $('.phone').val();
var identityCode = $('.identity-code').val();
var agree = $('#agree').prop("checked");
if (!agree) {
toastShow("请同意直播协议");
return;
}
if (!name.trim()) {
toastShow("名字不能为空");
return;
}
if (!personId.trim()) {
toastShow("身份证号不能为空");
return;
}
if (!phone.trim()) {
toastShow("手机号不能为空");
return;
}
if (!identityCode.trim()) {
toastShow("验证码不能为空");
return;
}
if (!(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/).test(personId.trim())) {
toastShow("身份证号不符合规格");
return;
}
if (!(/^1[3|4|5|6|7|8|9][0-9]\d{8}$/).test(phone.trim())) {
toastShow("手机号不符合规格");
return;
}
if (lockBol) {
return;
}
lockBol = true;
var requestParam = {
uid: info.uid,
username: encryptDes(name, "1ea53d260ecf11e7b56e00163e046a26"),
identityNumber: encryptDes(personId, "1ea53d260ecf11e7b56e00163e046a26"),
phone: encryptDes(phone, "1ea53d260ecf11e7b56e00163e046a26"),
code: identityCode,
ticket: info.ticket
};
if (browser.android) {
requestParam.deviceInfo = JSON.stringify({
deviceId: info.deviceId
});
}
$.ajax({
type: "get",
url: api + "/certification/token",
data: requestParam,
headers: {
"pub_ticket": info.ticket
},
success: function (res) {
if (res.code == 200) {
var token = res.data.token;
info.token = token;
// if(browser.app){
if (browser.ios) {
window.webkit.messageHandlers.openFaceLiveness.postMessage(token);
} else {
window.androidJsObj.openFaceLiveness(token);
}
// }
// setTimeout(function () {
// $('.deviceId').val(pubInfo.deviceId);
// },200)
},
getData: function () {
console.log(urlObj, 'urlObj')
if (urlObj) {
pubInfo.auth = urlObj.auth
} else {
if (res.code == 10109) {
$mask.addClass("failed");
$mask.find(".text").html("实名认证失败");
$mask.find(".tips").html("实名次数已达限制");
} else if (res.code == 10110) {
$mask.addClass("have-identity");
$mask.find(".text").html("您已通过实名认证");
$mask.find(".tips").html("系统已成功审核您的实名认证");
} else if (res.code == 4003) {
$mask.addClass("failed");
$mask.find(".text").html("实名认证失败");
$mask.find(".tips").html("验证码错误");
} else {
$mask.addClass("failed");
$mask.find(".text").html("实名认证失败");
$mask.find(".tips").html("请填写真实有效的身份证信息");
}
$mask.show();
lockBol = false;
setTimeout(function () {
$('.status-mask').hide();
}, 4000);
pubInfo.auth = ''
}
}
});
// $.post(api + "/certification/doCheck",requestParam,function (res) {
//
// })
})
console.log(pubInfo.auth, 'pubInfo.auth')
networkRequest({
type: 'get',
url: urlPrefix + '/certification/hasCertify',
data: {
uid: pubInfo.uid,
auth: pubInfo.auth,
ticket: pubInfo.ticket,
},
success: function (res) {
if (res.code == 200) {
var checkBol = res.data;
var $mask = $('.status-mask');
var bool = !(checkBol.authResult == null || checkBol.authResult == undefined);
function successFun () {
hideLoading(layerIndex)
goToPage = true;
$mask.addClass("have-identity");
$mask.find(".text").html("您已通过实名认证");
$mask.find(".tips").html("系统已成功审核您的实名认证");
$mask.find(".goto-change").removeClass('hide');
$mask.show();
}
if (bool) {
if (checkBol.authResult == false && checkBol.canCertify == true && checkBol.hasCertify == false) {
//重复调用
showLoading();
main.getData();
}else if (checkBol.authResult == false && checkBol.canCertify == false && checkBol.hasCertify == true) {
//成功
successFun()
} else if (checkBol.authResult == true && checkBol.canCertify == false && checkBol.hasCertify == true) {
//成功
successFun()
} else if (checkBol.authResult == true && checkBol.canCertify == true && checkBol.hasCertify == false) {
//失败
goToPage = false;
$mask.addClass("failed");
$mask.find(".text").html("您未通过实名认证");
$mask.find(".tips").html("系统审核您的实名认证失败");
$mask.find(".goto-change").removeClass('hide');
$mask.show();
hideLoading(layerIndex)
}
} else {
if (checkBol.canCertify == false && checkBol.hasCertify == true) {
//成功
successFun()
} else {//(authResult == null || authResult == undefined) && canCertify == true && hasCertify == false;
//正在操作
console.log('继续操作');
}
hideLoading(layerIndex)
}
}
},
error (err) {
console.log(err);
}
})
},
eventRegister: function () {
$('.button-submit').on('click', function () {
var name = $('.name').val();
var personId = $('.person-id').val();
var phone = `${$('.phone').val()}`;
var identityCode = $('.identity-code').val();
var agree = $('#agree').prop("checked");
if (!agree) {
toastShow("请同意直播协议");
return;
}
if (!name.trim()) {
toastShow("名字不能为空");
return;
}
$('.button-identity-code').on('click', function () {
var phone = $('.phone').val();
if (!phone.trim()) {
toastShow("手机号不能为空");
return;
if (!personId.trim()) {
toastShow("身份证号不能为空");
return;
}
if (!phone.trim()) {
toastShow("手机号不能为空");
return;
}
if (!identityCode.trim()) {
toastShow("验证码不能为空");
return;
}
if (!(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/).test(personId.trim())) {
toastShow("身份证号不符合规格");
return;
}
if (!(/^1[3|4|5|6|7|8|9][0-9]\d{8}$/).test(phone.trim())) {
toastShow("手机号不符合规格");
return;
}
if (lockBol) {
return;
}
lockBol = true;
var metaInfo = window.getMetaInfo();
var requestParam = {
certType: 0,
code: identityCode,
identityNumber: encryptDes(personId, "1ea53d260ecf11e7b56e00163e046a26"),
metaInfo: JSON.stringify(metaInfo),
phone: encryptDes( phone, "1ea53d260ecf11e7b56e00163e046a26"),
returnUrl: urlPrefix + `/yinmeng/modules/identity/new.html?uid=${pubInfo.uid}&ticket=${pubInfo.ticket}`,
uid: pubInfo.uid,
username: encryptDes(name, "1ea53d260ecf11e7b56e00163e046a26"),
};
networkRequest({
type: 'post',
url: urlPrefix + '/certification/initFace',
data: requestParam,
success: function (res) {
if (res.code == 200) {
window.location.href = res.data.certifyUrl;
} else {
$mask.addClass("failed");
$mask.find(".text").html("实名认证失败");
$mask.find(".tips").html(res.message);
$mask.show();
lockBol = false;
setTimeout(function () {
$('.status-mask').hide();
}, 4000);
lockBol = false;
}
},
error (err) {
console.log(err);
}
})
})
$('.button-identity-code').on('click', function () {
var phone = $('.phone').val();
if (!phone.trim()) {
toastShow("手机号不能为空");
return;
}
if (!(/^1[3|4|5|6|7|8|9][0-9]\d{8}$/).test(phone.trim())) {
toastShow("手机号不符合规格");
return;
}
if ($(this).hasClass("disable")) {
return;
}
$(this).addClass('disable');
var time = 60;
var $that = $(this);
$(this).html(time + 's后重新获取');
timer = setInterval(function () {
time--;
$that.html(time + "s后重新获取");
if (time < 0) {
clearInterval(timer);
$that.removeClass('disable');
$that.html("获取验证码");
}
}, 1000)
var requestParam = {
phone: encryptDes( phone, "1ea53d260ecf11e7b56e00163e046a26"),
uid: pubInfo.uid,
ticket: pubInfo.ticket
};
if (browser.android) {
requestParam.deviceInfo = JSON.stringify({
deviceId: pubInfo.deviceId
});
}
networkRequest({
type: 'post',
url: urlPrefix + '/certification/send/code',
data: requestParam,
success: function (res) {
if (res.code == 200) {
toastShow('发送成功');
} else {
toastShow(res.message);
}
},
error (err) {
console.log(err);
}
})
})
// 点击我要修改
$('.goto-change').on('click', function () {
$mask.hide();
$('.layer-box-2').show();
})
// 点击关闭弹层
$('.layer-2-close').on('click', function () {
$('.layer-box-2').hide();
$mask.show();
})
// 点击跳转手机验证
$('.goto-change-layer').on('click', function () {
window.location.href = 'mobile.html';
})
}
if (!(/^1[3|4|5|6|7|8|9][0-9]\d{8}$/).test(phone.trim())) {
toastShow("手机号不符合规格");
return;
}
if ($(this).hasClass("disable")) {
return;
}
$(this).addClass('disable');
var time = 60;
var $that = $(this);
$(this).html(time + 's后重新获取');
timer = setInterval(function () {
time--;
$that.html(time + "s后重新获取");
if (time < 0) {
clearInterval(timer);
$that.removeClass('disable');
$that.html("获取验证码");
}
}, 1000)
var requestParam = {
phone: encryptDes(phone, "1ea53d260ecf11e7b56e00163e046a26"),
uid: info.uid,
ticket: info.ticket
};
if (browser.android) {
requestParam.deviceInfo = JSON.stringify({
deviceId: info.deviceId
});
}
$.ajax({
type: "post",
url: api + "/certification/send/code",
headers: {
"pub_ticket": info.ticket
},
data: requestParam,
success: function (res) {
console.log(res, '请求成功');
if (res.code == 200) {
toastShow('发送成功');
} else {
toastShow(res.message);
console.log(res, '报错啦');
}
},
error: function (res) {
toastShow(res.message);
console.log(res, '报错啦');
}
});
})
// 点击我要修改
$('.goto-change').on('click', function () {
$mask.hide();
$('.layer-box-2').show();
})
// 点击关闭弹层
$('.layer-2-close').on('click', function () {
$('.layer-box-2').hide();
$mask.show();
})
// 点击跳转手机验证
$('.goto-change-layer').on('click', function () {
window.location.href = 'mobile.html';
})
}
};
main.init();
};
main.init();
});
function toastShow(text) {
$toast.html(text);
$toast.show();
setTimeout(function () {
$toast.hide();
}, 2000);
function toastShow (text) {
$toast.html(text);
$toast.show();
setTimeout(function () {
$toast.hide();
}, 2000);
}
function getMessage(key, value) {
info[key] = value;
function getMessage (key, value) {
pubInfo[key] = value;
}
function renderByStatus(status) {
$mask.attr('class', 'status-mask');
console.log("开始回调," + "状态为" + status);
$.ajax({
type: 'post',
url: getUrlPrefix() + '/certification/notify',
headers: {
"pub_ticket": info.ticket
},
data: {
uid: info.uid,
ticket: info.ticket,
token: info.token,
statusCode: status
},
success: function (res) {
console.log(res);
lockBol = false;
if (res.code == 200) {
console.log("success");
if (status == 2) {
$mask.addClass("success");
$mask.find(".text").html("认证成功");
$mask.find('.tips').html('');
$mask.show();
} else {
if (status == -2) {
$mask.addClass("failed");
$mask.find(".text").html("认证失败");
$mask.find(".tips").html("网络不通或者网络异常");
} else if (status == 1) {
$mask.addClass("failed");
$mask.find(".text").html("认证失败");
$mask.find(".tips").html("审核失败");
} else {
console.log('存在异常status=' + status);
// window.location.reload();
return;
}
$mask.show();
setTimeout(function () {
$mask.hide();
}, 4000);
function renderByStatus (status) {
$mask.attr('class', 'status-mask');
console.log("开始回调," + "状态为" + status);
networkRequest({
type: 'post',
url: urlPrefix + '/certification/notify',
data: {
uid: pubInfo.uid,
ticket: pubInfo.ticket,
token: pubInfo.token,
statusCode: status
},
success: function (res) {
console.log(res);
lockBol = false;
if (res.code == 200) {
console.log("success");
if (status == 2) {
$mask.addClass("success");
$mask.find(".text").html("认证成功");
$mask.find('.tips').html('');
$mask.show();
} else {
if (status == -2) {
$mask.addClass("failed");
$mask.find(".text").html("认证失败");
$mask.find(".tips").html("网络不通或者网络异常");
} else if (status == 1) {
$mask.addClass("failed");
$mask.find(".text").html("认证失败");
$mask.find(".tips").html("审核失败");
} else {
console.log('存在异常status=' + status);
// window.location.reload();
return;
}
$mask.show();
setTimeout(function () {
$mask.hide();
}, 4000);
}
}
},
error (err) {
console.log(err);
}
}
}
});
console.log('status', status);
})
console.log('status', status);
}
//DES加密
const encryptDes = (message, key) => {
var keyHex = CryptoJS.enc.Utf8.parse(key);
var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
var keyHex = CryptoJS.enc.Utf8.parse(key);
var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
}
$('.status-mask').click(function () {
if (goToPage) {
// window.location.href = urlPrefix + '/yinmeng/modules/identity/new.html'
} else {
$('.status-mask').hide();
}
})

View File

@@ -7,7 +7,7 @@
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<title>实名认证</title>
<link rel="stylesheet" href="../../common/css/reset.css">
<link rel="stylesheet" href="./css/index.css?v=1">
<link rel="stylesheet" href="./css/index.css?v=1.0">
<script src="../../common/js/flexible.js"></script>
</head>
@@ -50,9 +50,9 @@
<div class="title">认证须知</div>
<p>1.该认证仅支持中国内地(不含港澳台地区)的用户。</p>
<p>2.请确保填写身份证信息真实并与本人一致。</p>
<p>3.根据国家相关的法律法规,您需要提供您的真实身份信息(真实姓名、身份证号)、身份证正反面照片、面部信息以完成实名验证。您所提供的身份信息仅用于身份验证,未经您本人的许可不会被用于其他用途。这些信息属于个人敏感信息,我们将会尽可能的保护您个人敏感信息的安全。如果您不提供这些信息,您将不能使用提现等相关功能,但不影响您继续使用"<span class="appName">音萌</span>"的其他服务。</p>
<p>3.根据国家相关的法律法规,您需要提供您的真实身份信息(真实姓名、身份证号)、身份证正反面照片、面部信息以完成实名验证。您所提供的身份信息仅用于身份验证,未经您本人的许可不会被用于其他用途。这些信息属于个人敏感信息,我们将会尽可能的保护您个人敏感信息的安全。如果您不提供这些信息,您将不能使用提现等相关功能,但不影响您继续使用本产品的其他服务。</p>
<p>4.为保护用户权益,开启实名认证后我们将不提供解除恢复的功能,请谅解。</p>
<p>5.一个身份证最多用于10个用户账号的实名认证。</p>
<p>5.一个身份证最多用于2个用户账号的实名认证。</p>
<p>6.若人脸认证遇到问题,<a href="../rule/identity-rule.html">请点击这里</a></p>
</div>
<div class="button-submit">开始认证</div>
@@ -64,12 +64,12 @@
</label>
</div>
</div>
<div class="toast">网络异常,请退出重进</div>
<div class="toast"></div>
<div class="status-mask">
<div class="wrapper">
<div class="pic"></div>
<div class="text">fewf</div>
<div class="tips">fwefw</div>
<div class="text"></div>
<div class="tips"></div>
<!-- <button class="goto-change hide">我要修改</button> -->
</div>
</div>
@@ -89,17 +89,9 @@
<script src="../../common/js/common2.js"></script>
<script src="../../common/js/vconsole.min.js"></script>
<script src="../../common/js/crypto-js.js"></script>
<script src="./js/new.js?v=1.0"></script>
<script>
var locateObj = getQueryString();
var appname = $('.appname');
if (locateObj.platform == "planet") {
appname.html("hello处CP");
$('.link-1').attr('href', '../rule/live-protocol.html?platform=planet')
} else {
appname.html("音萌");
}
</script>
<script src="../../common/js/layer.js"></script>
<script src="./js/jsvm_all.js"></script>
<script src="./js/new.js?=2.3"></script>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 244 KiB