Compare commits
107 Commits
game
...
adventureT
Author | SHA1 | Date | |
---|---|---|---|
![]() |
f3f84c5517 | ||
![]() |
db019d7b04 | ||
![]() |
2c9ad0fee7 | ||
![]() |
14aed0156e | ||
![]() |
851c5c6f42 | ||
![]() |
55c6607a5f | ||
![]() |
d864b11b4f | ||
![]() |
efeb2af839 | ||
![]() |
fb3d9fd7f4 | ||
![]() |
1195118023 | ||
![]() |
ce7f1a33ba | ||
![]() |
f476a43d75 | ||
![]() |
23e5597757 | ||
![]() |
b565bf403e | ||
![]() |
05015811e7 | ||
![]() |
031ac3f926 | ||
![]() |
8702969860 | ||
![]() |
86bad54e90 | ||
![]() |
5feb4f305e | ||
![]() |
f48094fdb2 | ||
![]() |
2b7dbd0660 | ||
![]() |
b372b460d3 | ||
![]() |
9d76dbab01 | ||
![]() |
d59a1fbee9 | ||
![]() |
18ecf64b6d | ||
![]() |
927513ed64 | ||
![]() |
8070bcc442 | ||
![]() |
b8a85d1626 | ||
![]() |
19c4fa5ecf | ||
![]() |
994943b4df | ||
![]() |
0372e8d69f | ||
![]() |
3d3e348c2e | ||
![]() |
d376e3b9ea | ||
![]() |
7d625b65ae | ||
![]() |
c943878bba | ||
![]() |
a028677c08 | ||
![]() |
f8bda38049 | ||
![]() |
cbe48d4608 | ||
![]() |
d6c149a33d | ||
![]() |
9f82f0bcb3 | ||
![]() |
39854a7fd1 | ||
![]() |
db7d1872cc | ||
![]() |
efd11182bb | ||
![]() |
7d39f9638e | ||
![]() |
d535c34ceb | ||
![]() |
e6594ee2d8 | ||
![]() |
e421eea056 | ||
![]() |
8c23569a25 | ||
![]() |
d0fba01592 | ||
![]() |
29a5199db6 | ||
![]() |
56a8a45c6b | ||
![]() |
98d7cae3a2 | ||
![]() |
86f746e3a6 | ||
![]() |
0bad51d3bb | ||
![]() |
e395b420a4 | ||
![]() |
aa4f9aae2d | ||
![]() |
543e8bffc3 | ||
![]() |
ca308a49a9 | ||
![]() |
40b23c15e7 | ||
![]() |
c2e1314a0a | ||
![]() |
17e3e33fa2 | ||
![]() |
d6740d078b | ||
![]() |
441958379f | ||
![]() |
953bc4955b | ||
![]() |
90a8060cd6 | ||
![]() |
14a7b1b39c | ||
![]() |
8e6a97dcce | ||
![]() |
de197e0e3c | ||
![]() |
f206d05a3e | ||
![]() |
fa56b24396 | ||
![]() |
17ad548037 | ||
![]() |
9b10192c4f | ||
![]() |
f41093bd3a | ||
![]() |
27eadc4b6c | ||
![]() |
8e83c0e874 | ||
![]() |
6e302c78b1 | ||
![]() |
c6882e3833 | ||
![]() |
7020ed3e9a | ||
![]() |
fd10061fe1 | ||
![]() |
cd0fb0636c | ||
![]() |
52da7dfe51 | ||
![]() |
577b21d32d | ||
![]() |
5ffb9e4e5b | ||
![]() |
9775e19fad | ||
![]() |
ea58682b91 | ||
![]() |
87133760c0 | ||
![]() |
8c0fa3eb5a | ||
![]() |
fe8af5f8a1 | ||
![]() |
420efcec1f | ||
![]() |
435d792b3b | ||
![]() |
0de82d1a12 | ||
![]() |
f90d332029 | ||
![]() |
27fa1eea6b | ||
![]() |
5cd7dbbb34 | ||
![]() |
3bbc90c92a | ||
![]() |
111487ff43 | ||
![]() |
cbd42d4da0 | ||
![]() |
f3fe251bc6 | ||
![]() |
23e5578134 | ||
![]() |
0afa711b37 | ||
![]() |
31439c6034 | ||
![]() |
4ac7c3baf3 | ||
![]() |
4aea98054b | ||
![]() |
5a5889c937 | ||
![]() |
c5301564a9 | ||
![]() |
f17f28e2a3 | ||
![]() |
d4958bcf86 |
889
view/molistar/activity/2025-JordanIndependenceDay/css/index.css
Normal file
@@ -0,0 +1,889 @@
|
||||
html,
|
||||
body {
|
||||
width: 100%;
|
||||
background: #1B3021;
|
||||
}
|
||||
|
||||
.back {
|
||||
width: 100%;
|
||||
height: 0.5866666667rem;
|
||||
line-height: 0.5866666667rem;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0.8666666667rem;
|
||||
text-align: center;
|
||||
color: #FFFFFF;
|
||||
font-size: 0.5066666667rem;
|
||||
font-weight: bold;
|
||||
z-index: 10;
|
||||
}
|
||||
.back img {
|
||||
width: 0.5866666667rem;
|
||||
height: 0.5866666667rem;
|
||||
position: absolute;
|
||||
left: 0.24rem;
|
||||
top: 0rem;
|
||||
}
|
||||
|
||||
.header {
|
||||
width: 10rem;
|
||||
height: 12.4533333333rem;
|
||||
background: url(../images/header.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
margin: 0 auto 0;
|
||||
position: relative;
|
||||
}
|
||||
.header .date {
|
||||
width: 8.9333333333rem;
|
||||
height: 0.7466666667rem;
|
||||
line-height: 0.7466666667rem;
|
||||
background: url(../images/time_bg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
text-align: center;
|
||||
color: #FFF783;
|
||||
font-size: 0.3466666667rem;
|
||||
font-weight: 500;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 3.7866666667rem;
|
||||
}
|
||||
.header .rule {
|
||||
width: 1.4666666667rem;
|
||||
height: 0.72rem;
|
||||
line-height: 0.72rem;
|
||||
text-indent: 0.1rem;
|
||||
text-align: center;
|
||||
color: #433402;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 500;
|
||||
background: url(../images/rule_icon.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 6.2666666667rem;
|
||||
}
|
||||
|
||||
.giftBox {
|
||||
position: relative;
|
||||
width: 10rem;
|
||||
height: 6.4266666667rem;
|
||||
background: url(../images/giftBox.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
margin: 0rem auto 0.4266666667rem;
|
||||
overflow: hidden;
|
||||
}
|
||||
.giftBox .title {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 0rem;
|
||||
text-align: center;
|
||||
width: 7.5066666667rem;
|
||||
height: 1.8533333333rem;
|
||||
line-height: 2.6666666667rem;
|
||||
color: #4D0D00;
|
||||
font-size: 0.4533333333rem;
|
||||
font-weight: 600;
|
||||
background: url(../images/title.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.giftBox .content {
|
||||
width: 8.1333333333rem;
|
||||
color: #FFF783;
|
||||
font-size: 0.3466666667rem;
|
||||
font-weight: 400;
|
||||
line-height: 0.56rem;
|
||||
margin: 2.6rem auto 0.2rem;
|
||||
}
|
||||
.giftBox .gift {
|
||||
height: 2.6666666667rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 2.6666666667rem 0.64rem 0;
|
||||
}
|
||||
.giftBox .gift div {
|
||||
width: 2.6666666667rem;
|
||||
height: 2.6666666667rem;
|
||||
position: relative;
|
||||
background: url(../images/sGiftBox.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.giftBox .gift div img {
|
||||
width: 2.1333333333rem;
|
||||
height: 2.1333333333rem;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 0.24rem;
|
||||
}
|
||||
.giftBox .gift div span {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
color: #FFF783;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 600;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: -0.5rem;
|
||||
}
|
||||
|
||||
.timeBox {
|
||||
width: 100%;
|
||||
height: 1.3866666667rem;
|
||||
margin: 0.2rem auto 0.2933333333rem;
|
||||
box-sizing: border-box;
|
||||
padding: 0 1.6rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
overflow: hidden;
|
||||
gap: 0.4rem;
|
||||
position: absolute;
|
||||
top: 10.3733333333rem;
|
||||
}
|
||||
.timeBox div {
|
||||
width: 1.32rem;
|
||||
height: 1.2266666667rem;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
background: url(../images/timeBox_in.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.timeBox div span {
|
||||
display: block;
|
||||
color: #FFF783;
|
||||
font-size: 0.4533333333rem;
|
||||
font-weight: 500;
|
||||
margin: 0.2133333333rem auto 0.0266666667rem;
|
||||
}
|
||||
.timeBox div b {
|
||||
display: block;
|
||||
color: #FFF783;
|
||||
font-size: 0.32rem;
|
||||
font-weight: 400;
|
||||
margin-top: 0.0533333333rem;
|
||||
}
|
||||
|
||||
.page1 {
|
||||
margin: 1.8666666667rem auto 0;
|
||||
}
|
||||
.page1 .top {
|
||||
width: 10rem;
|
||||
height: 13.3333333333rem;
|
||||
position: relative;
|
||||
background: url(../images/topBg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
margin: 0 auto 0;
|
||||
padding: 0.1066666667rem 0 0;
|
||||
}
|
||||
.page1 .top .tab {
|
||||
width: 100%;
|
||||
height: 1rem;
|
||||
box-sizing: border-box;
|
||||
line-height: 1rem;
|
||||
text-align: center;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 0rem auto 0.32rem;
|
||||
position: absolute;
|
||||
top: -8%;
|
||||
gap: 0.2666666667rem;
|
||||
padding: 0 0.5333333333rem;
|
||||
}
|
||||
.page1 .top .tab div {
|
||||
width: 4.3333333333rem;
|
||||
height: 1rem;
|
||||
color: #4D0D00;
|
||||
font-size: 0.4533333333rem;
|
||||
font-weight: 800;
|
||||
background: url(../images/tab.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.page1 .top .tab .act {
|
||||
background: url(../images/actTab.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.page1 .top .top1 {
|
||||
width: 8rem;
|
||||
height: 5.0666666667rem;
|
||||
position: relative;
|
||||
margin: 1rem auto 0;
|
||||
}
|
||||
.page1 .top .top1 .ts {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2;
|
||||
}
|
||||
.page1 .top .top1 .tx {
|
||||
width: 2.3733333333rem;
|
||||
height: 2.3733333333rem;
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 1.3333333333rem;
|
||||
}
|
||||
.page1 .top .top1 .name {
|
||||
width: 35%;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
height: 0.48rem;
|
||||
line-height: 0.48rem;
|
||||
position: absolute;
|
||||
top: 4.2666666667rem;
|
||||
display: flex;
|
||||
z-index: 3;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: center;
|
||||
}
|
||||
.page1 .top .top1 .name b {
|
||||
max-width: 2.6rem;
|
||||
text-align: right;
|
||||
color: #FFF783;
|
||||
font-size: 0.4rem;
|
||||
font-weight: 500;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.page1 .top .top1 .name img {
|
||||
display: inline-block;
|
||||
width: 1.0266666667rem;
|
||||
height: 0.48rem;
|
||||
margin: 0 0.08rem;
|
||||
}
|
||||
.page1 .top .top1 .id {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 4.88rem;
|
||||
text-align: center;
|
||||
left: 0;
|
||||
z-index: 3;
|
||||
color: #FFF783;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
.page1 .top .top1 .score {
|
||||
height: 0.88rem;
|
||||
line-height: 0.88rem;
|
||||
position: absolute;
|
||||
top: 5.3333333333rem;
|
||||
left: 50%;
|
||||
transform: translate(-50%, 0);
|
||||
display: flex;
|
||||
z-index: 3;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: url(../images/score_bg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
padding: 0 0.1333333333rem;
|
||||
min-width: 2.4rem;
|
||||
}
|
||||
.page1 .top .top1 .score b {
|
||||
color: #2D2A00;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
.page1 .top .top1 .score img {
|
||||
display: inline-block;
|
||||
width: 0.4266666667rem;
|
||||
height: 0.4266666667rem;
|
||||
margin-right: 0.1rem;
|
||||
}
|
||||
.page1 .top .top2 {
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
position: absolute;
|
||||
left: 0.6666666667rem;
|
||||
top: 7.3333333333rem;
|
||||
margin: 0 auto 0;
|
||||
}
|
||||
.page1 .top .top2 .ts {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2;
|
||||
}
|
||||
.page1 .top .top2 .tx {
|
||||
width: 2.3733333333rem;
|
||||
height: 2.3733333333rem;
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 0.8266666667rem;
|
||||
}
|
||||
.page1 .top .top2 .name {
|
||||
width: 83%;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
height: 0.48rem;
|
||||
line-height: 0.48rem;
|
||||
position: absolute;
|
||||
top: 3.7866666667rem;
|
||||
display: flex;
|
||||
z-index: 3;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: center;
|
||||
}
|
||||
.page1 .top .top2 .name b {
|
||||
max-width: 2.6rem;
|
||||
text-align: right;
|
||||
color: #FFF783;
|
||||
font-size: 0.4rem;
|
||||
font-weight: 500;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.page1 .top .top2 .name img {
|
||||
display: inline-block;
|
||||
width: 1.0266666667rem;
|
||||
height: 0.48rem;
|
||||
margin: 0 0.08rem;
|
||||
}
|
||||
.page1 .top .top2 .id {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 4.3733333333rem;
|
||||
text-align: center;
|
||||
left: 0;
|
||||
z-index: 3;
|
||||
color: #FFF783;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
.page1 .top .top2 .score {
|
||||
height: 0.88rem;
|
||||
line-height: 0.88rem;
|
||||
position: absolute;
|
||||
top: 4.9333333333rem;
|
||||
left: 50%;
|
||||
transform: translate(-50%, 0);
|
||||
display: flex;
|
||||
z-index: 3;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: url(../images/score_bg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
padding: 0 0.1333333333rem;
|
||||
min-width: 2.4rem;
|
||||
}
|
||||
.page1 .top .top2 .score b {
|
||||
color: #2D2A00;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
.page1 .top .top2 .score img {
|
||||
display: inline-block;
|
||||
width: 0.4266666667rem;
|
||||
height: 0.4266666667rem;
|
||||
margin-right: 0.1rem;
|
||||
}
|
||||
.page1 .top .top3 {
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
position: absolute;
|
||||
right: 0.6666666667rem;
|
||||
top: 7.3333333333rem;
|
||||
margin: 0 auto 0;
|
||||
}
|
||||
.page1 .top .top3 .ts {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2;
|
||||
}
|
||||
.page1 .top .top3 .tx {
|
||||
width: 2.3733333333rem;
|
||||
height: 2.3733333333rem;
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 0.8266666667rem;
|
||||
}
|
||||
.page1 .top .top3 .name {
|
||||
width: 83%;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
height: 0.48rem;
|
||||
line-height: 0.48rem;
|
||||
position: absolute;
|
||||
top: 3.7866666667rem;
|
||||
display: flex;
|
||||
z-index: 3;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: center;
|
||||
}
|
||||
.page1 .top .top3 .name b {
|
||||
max-width: 2.6rem;
|
||||
text-align: right;
|
||||
color: #FFF783;
|
||||
font-size: 0.4rem;
|
||||
font-weight: 500;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.page1 .top .top3 .name img {
|
||||
display: inline-block;
|
||||
width: 1.0266666667rem;
|
||||
height: 0.48rem;
|
||||
margin: 0 0.08rem;
|
||||
}
|
||||
.page1 .top .top3 .id {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 4.3733333333rem;
|
||||
text-align: center;
|
||||
left: 0;
|
||||
z-index: 3;
|
||||
color: #FFF783;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
.page1 .top .top3 .score {
|
||||
height: 0.88rem;
|
||||
line-height: 0.88rem;
|
||||
position: absolute;
|
||||
top: 4.9333333333rem;
|
||||
left: 50%;
|
||||
transform: translate(-50%, 0);
|
||||
display: flex;
|
||||
z-index: 3;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: url(../images/score_bg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
padding: 0 0.1333333333rem;
|
||||
min-width: 2.4rem;
|
||||
}
|
||||
.page1 .top .top3 .score b {
|
||||
color: #2D2A00;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
.page1 .top .top3 .score img {
|
||||
display: inline-block;
|
||||
width: 0.4266666667rem;
|
||||
height: 0.4266666667rem;
|
||||
margin-right: 0.1rem;
|
||||
}
|
||||
.page1 .bottom {
|
||||
width: 10rem;
|
||||
height: 0.6666666667rem;
|
||||
background: url(../images/bottomBg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
margin: -0.2rem auto 0;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
.page1 .content {
|
||||
width: 10rem;
|
||||
height: auto;
|
||||
margin: 0 auto 0;
|
||||
background: url(../images/contentBg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.page1 .content ul {
|
||||
width: 8.8rem;
|
||||
margin: 0.3733333333rem auto 0rem;
|
||||
}
|
||||
.page1 .content ul li {
|
||||
width: 100%;
|
||||
background: linear-gradient(0deg, #9F0141, #760231);
|
||||
margin-bottom: 0.3466666667rem;
|
||||
overflow: hidden;
|
||||
padding: 0 0.32rem 0.2533333333rem 0.2rem;
|
||||
box-sizing: border-box;
|
||||
background: url(../images/li_bg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.page1 .content ul li .num {
|
||||
float: left;
|
||||
width: 0.5333333333rem;
|
||||
line-height: 1.5466666667rem;
|
||||
color: #FFF783;
|
||||
font-size: 0.4266666667rem;
|
||||
font-weight: 600;
|
||||
margin-right: 0.36rem;
|
||||
text-align: center;
|
||||
}
|
||||
.page1 .content ul li .tx {
|
||||
float: left;
|
||||
width: 1.1066666667rem;
|
||||
height: 1.1066666667rem;
|
||||
border-radius: 50%;
|
||||
border: 0.0266666667rem solid #FFF783;
|
||||
display: block;
|
||||
margin-top: 0.2533333333rem;
|
||||
margin-right: 0.1866666667rem;
|
||||
margin-left: 0.1866666667rem;
|
||||
}
|
||||
.page1 .content ul li .info {
|
||||
float: left;
|
||||
margin-top: 0.3333333333rem;
|
||||
}
|
||||
.page1 .content ul li .info p {
|
||||
height: 0.48rem;
|
||||
line-height: 0.48rem;
|
||||
margin-bottom: 0.1333333333rem;
|
||||
display: flex;
|
||||
}
|
||||
.page1 .content ul li .info p b {
|
||||
max-width: 1.9rem;
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
color: #FFF783;
|
||||
font-size: 0.4rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
.page1 .content ul li .info p img {
|
||||
display: inline-block;
|
||||
width: 1.0266666667rem;
|
||||
height: 0.48rem;
|
||||
margin: 0 0.08rem;
|
||||
}
|
||||
.page1 .content ul li .info span {
|
||||
color: #FFF783;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 400;
|
||||
display: block;
|
||||
}
|
||||
.page1 .content ul li .score {
|
||||
display: flex;
|
||||
height: 0.88rem;
|
||||
line-height: 0.88rem;
|
||||
margin-left: auto;
|
||||
align-items: center;
|
||||
background: url(../images/score_bg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
padding: 0 0.1333333333rem;
|
||||
min-width: 2.4rem;
|
||||
justify-content: center;
|
||||
}
|
||||
.page1 .content ul li .score img {
|
||||
display: inline-block;
|
||||
width: 0.4266666667rem;
|
||||
height: 0.4266666667rem;
|
||||
margin: 0 0.0666666667rem 0 0.0666666667rem;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.page1 .content ul li .score b {
|
||||
font-weight: 500;
|
||||
font-size: 0.3733333333rem;
|
||||
color: #2D2A00;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.page1 .content .more {
|
||||
width: 1.6533333333rem;
|
||||
height: 0.5866666667rem;
|
||||
line-height: 0.5866666667rem;
|
||||
text-align: center;
|
||||
padding: 0 0.4533333333rem;
|
||||
margin: 0 auto 0.3rem;
|
||||
color: #FFF783;
|
||||
border: 0.0266666667rem solid #FFF783;
|
||||
border-radius: 0.5866666667rem;
|
||||
box-sizing: border-box;
|
||||
font-size: 0.32rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
.page1 .my {
|
||||
position: fixed;
|
||||
z-index: 9;
|
||||
bottom: 0;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
width: 10rem;
|
||||
background: #1B3021;
|
||||
border-radius: 0.24rem 0.24rem 0px 0px;
|
||||
border: 0.04rem solid #FFF783;
|
||||
box-sizing: border-box;
|
||||
padding: 0 0.52rem 0.2rem 0.2rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.page1 .my .num {
|
||||
float: left;
|
||||
width: 0.5333333333rem;
|
||||
height: 100%;
|
||||
line-height: 1.7333333333rem;
|
||||
color: #FFF783;
|
||||
font-size: 0.4266666667rem;
|
||||
font-weight: 600;
|
||||
margin-right: 0.36rem;
|
||||
text-align: center;
|
||||
}
|
||||
.page1 .my .tx {
|
||||
float: left;
|
||||
width: 1.1066666667rem;
|
||||
height: 1.1066666667rem;
|
||||
border-radius: 50%;
|
||||
border: 0.0266666667rem solid #FFF783;
|
||||
display: block;
|
||||
margin-top: 0.2133333333rem;
|
||||
margin-right: 0.1866666667rem;
|
||||
margin-left: 0.1866666667rem;
|
||||
}
|
||||
.page1 .my .info {
|
||||
float: left;
|
||||
margin-top: 0.3333333333rem;
|
||||
}
|
||||
.page1 .my .info p {
|
||||
height: 0.48rem;
|
||||
line-height: 0.48rem;
|
||||
margin-bottom: 0.1333333333rem;
|
||||
}
|
||||
.page1 .my .info p b {
|
||||
max-width: 2rem;
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
color: #FFF783;
|
||||
font-size: 0.4rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
.page1 .my .info p img {
|
||||
display: inline-block;
|
||||
width: 1.0266666667rem;
|
||||
height: 0.48rem;
|
||||
margin: 0 0.08rem;
|
||||
}
|
||||
.page1 .my .info span {
|
||||
color: #FFF783;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 400;
|
||||
display: block;
|
||||
}
|
||||
.page1 .my .score {
|
||||
display: flex;
|
||||
height: 0.88rem;
|
||||
line-height: 0.88rem;
|
||||
background: url(../images/score_bg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
padding: 0 0.1333333333rem;
|
||||
min-width: 2.4rem;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-left: auto;
|
||||
}
|
||||
.page1 .my .score img {
|
||||
display: inline-block;
|
||||
width: 0.4266666667rem;
|
||||
height: 0.4266666667rem;
|
||||
margin: 0 0.0666666667rem 0 0.0666666667rem;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.page1 .my .score b {
|
||||
font-weight: 500;
|
||||
font-size: 0.3733333333rem;
|
||||
color: #2D2A00;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.page2 {
|
||||
display: none;
|
||||
margin: -0.5rem auto 0;
|
||||
}
|
||||
.page2 .top {
|
||||
width: 10rem;
|
||||
height: 2.1333333333rem;
|
||||
position: relative;
|
||||
margin: 0 auto -0.2rem;
|
||||
overflow: hidden;
|
||||
}
|
||||
.page2 .top .tab {
|
||||
width: 100%;
|
||||
height: 1rem;
|
||||
box-sizing: border-box;
|
||||
line-height: 1rem;
|
||||
text-align: center;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 0rem auto 0;
|
||||
position: absolute;
|
||||
top: 40%;
|
||||
gap: 0.2666666667rem;
|
||||
padding: 0 0.5333333333rem;
|
||||
}
|
||||
.page2 .top .tab div {
|
||||
width: 4.3333333333rem;
|
||||
height: 1rem;
|
||||
color: #4D0D00;
|
||||
font-size: 0.4533333333rem;
|
||||
font-weight: 800;
|
||||
background: url(../images/tab.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.page2 .top .tab .act {
|
||||
background: url(../images/actTab.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.page2 .bottom {
|
||||
width: 10rem;
|
||||
height: 0.6666666667rem;
|
||||
background: url(../images/bottomBg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
margin: -0.2rem auto 0;
|
||||
}
|
||||
.page2 .content {
|
||||
width: 10rem;
|
||||
margin: 0 auto 0;
|
||||
background: url(../images/rewardBg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.page2 .content .box {
|
||||
width: 10rem;
|
||||
height: 29.04rem;
|
||||
margin: 0.2rem auto 0;
|
||||
position: relative;
|
||||
}
|
||||
.page2 .content .box .bo {
|
||||
position: absolute;
|
||||
width: 0.6933333333rem;
|
||||
height: 0.6933333333rem;
|
||||
left: 1.88rem;
|
||||
}
|
||||
.page2 .content .box .bo1 {
|
||||
top: 9.92rem;
|
||||
}
|
||||
.page2 .content .box .bo2 {
|
||||
top: 23rem;
|
||||
}
|
||||
.page2 .content .box .bo3 {
|
||||
top: 38.56rem;
|
||||
}
|
||||
|
||||
.rules {
|
||||
position: fixed;
|
||||
z-index: 999;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
top: 0;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
display: none;
|
||||
}
|
||||
.rules .rule_in {
|
||||
width: 10rem;
|
||||
height: 6.4266666667rem;
|
||||
background: url(../images/giftBox.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
.rules .rule_in .close {
|
||||
position: absolute;
|
||||
width: 0.9066666667rem;
|
||||
height: 0.9066666667rem;
|
||||
right: 0.2666666667rem;
|
||||
top: -0.08rem;
|
||||
}
|
||||
.rules .rule_in .titles {
|
||||
width: 7.5066666667rem;
|
||||
height: 1.8533333333rem;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 0.1066666667rem;
|
||||
text-align: center;
|
||||
color: #4D0D00;
|
||||
font-size: 0.4533333333rem;
|
||||
font-weight: 600;
|
||||
line-height: 2.6133333333rem;
|
||||
background: url(../images/title.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.rules .rule_in .text {
|
||||
width: 8.2266666667rem;
|
||||
height: 6.2rem;
|
||||
overflow-y: scroll;
|
||||
color: #FFF783;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 400;
|
||||
line-height: 0.56rem;
|
||||
margin: 2.1333333333rem auto 0;
|
||||
}
|
||||
.rules .rule_in .text::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.bottomText {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
color: #FFF783;
|
||||
font-size: 0.32rem;
|
||||
font-weight: 400;
|
||||
margin: 0.6666666667rem auto 2.4rem;
|
||||
}
|
||||
|
||||
.video {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
z-index: 99;
|
||||
display: none;
|
||||
}
|
||||
.video video {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 65%;
|
||||
}
|
||||
.video .close {
|
||||
width: 0.9066666667rem;
|
||||
height: 0.9066666667rem;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
right: 0.9333333333rem;
|
||||
z-index: 9;
|
||||
}
|
||||
|
||||
.arabic .header {
|
||||
background: url(../images/header.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.arabic .page1 .content ul li .score {
|
||||
margin-right: auto;
|
||||
margin-left: 0;
|
||||
}
|
||||
.arabic .page1 .my .score {
|
||||
margin-right: auto;
|
||||
margin-left: 0;
|
||||
}
|
1002
view/molistar/activity/2025-JordanIndependenceDay/css/index.scss
Normal file
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 4.1 KiB |
BIN
view/molistar/activity/2025-JordanIndependenceDay/images/box.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 265 KiB |
After Width: | Height: | Size: 231 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 993 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 16 KiB |
BIN
view/molistar/activity/2025-JordanIndependenceDay/images/tab.png
Normal file
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 63 KiB |
After Width: | Height: | Size: 207 KiB |
After Width: | Height: | Size: 96 KiB |
After Width: | Height: | Size: 96 KiB |
After Width: | Height: | Size: 724 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.9 KiB |
190
view/molistar/activity/2025-JordanIndependenceDay/index.html
Normal file
@@ -0,0 +1,190 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title class="text1"></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 text3"></div>
|
||||
</div>
|
||||
<!-- 倒计时 -->
|
||||
<div class="timeBox">
|
||||
<div class="days">
|
||||
<span>00</span>
|
||||
<b class="text6"></b>
|
||||
</div>
|
||||
<div class="hours">
|
||||
<span>00</span>
|
||||
<b class="text7"></b>
|
||||
</div>
|
||||
<div class="mins">
|
||||
<span>00</span>
|
||||
<b class="text8"></b>
|
||||
</div>
|
||||
<div class="secs">
|
||||
<span>00</span>
|
||||
<b class="text9"></b>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 礼物盒子 -->
|
||||
<div class="giftBox">
|
||||
<div class="title text4"></div>
|
||||
<div class="gift">
|
||||
<div class="gift0">
|
||||
<img src="./images/logo.png" alt="">
|
||||
<span>Name</span>
|
||||
</div>
|
||||
<div class="gift1">
|
||||
<img src="./images/logo.png" alt="">
|
||||
<span>Name</span>
|
||||
</div>
|
||||
<div class="gift2">
|
||||
<img src="./images/logo.png" alt="">
|
||||
<span>Name</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- page1 -->
|
||||
<div class="page1">
|
||||
<div class="top">
|
||||
<!-- 切换 -->
|
||||
<div class="tab">
|
||||
<div class="act text10"></div>
|
||||
<div class="text11"></div>
|
||||
</div>
|
||||
<!-- 前三 -->
|
||||
<div class="top1">
|
||||
<img src="./images/top1.png" alt="" class="ts">
|
||||
<img src="./images/logo.png" alt="" class="tx">
|
||||
<div class="name">
|
||||
<b>名字</b>
|
||||
<img src="" alt="" class="icon">
|
||||
</div>
|
||||
<div class="id">ID:0</div>
|
||||
<div class="score">
|
||||
<img src="./images/box.png" alt="">
|
||||
<b>0K</b>
|
||||
</div>
|
||||
</div>
|
||||
<div class="top2">
|
||||
<img src="./images/top2.png" alt="" class="ts">
|
||||
<img src="./images/logo.png" alt="" class="tx">
|
||||
<div class="name">
|
||||
<b>名字</b>
|
||||
<img src="" alt="" class="icon">
|
||||
</div>
|
||||
<div class="id">ID:0</div>
|
||||
<div class="score">
|
||||
<img src="./images/box.png" alt="">
|
||||
<b>0K</b>
|
||||
</div>
|
||||
</div>
|
||||
<div class="top3">
|
||||
<img src="./images/top3.png" alt="" class="ts">
|
||||
<img src="./images/logo.png" alt="" class="tx">
|
||||
<div class="name">
|
||||
<b>名字</b>
|
||||
<img src="" alt="" class="icon">
|
||||
</div>
|
||||
<div class="id">ID:0</div>
|
||||
<div class="score">
|
||||
<img src="./images/box.png" alt="">
|
||||
<b>0K</b>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<ul>
|
||||
<!-- <li>
|
||||
<div class="num">04</div>
|
||||
<img src="./images/logo.png" alt="" class="tx">
|
||||
<div class="info">
|
||||
<p>
|
||||
<b>名字</b>
|
||||
<img src="" alt="" class="icon">
|
||||
</p>
|
||||
<span>ID:1234567</span>
|
||||
</div>
|
||||
<div class="score">
|
||||
<img src="./images/box.png" alt="">
|
||||
<b>0K</b>
|
||||
</div>
|
||||
</li> -->
|
||||
</ul>
|
||||
<div class="more">More</div>
|
||||
</div>
|
||||
<div class="bottom"></div>
|
||||
<div class="my">
|
||||
<div class="num">04</div>
|
||||
<img src="./images/logo.png" alt="" class="tx">
|
||||
<div class="info">
|
||||
<p>
|
||||
<b>名字</b>
|
||||
<img src="" alt="" class="icon">
|
||||
</p>
|
||||
<span>ID:1234567</span>
|
||||
</div>
|
||||
<div class="score">
|
||||
<img src="./images/box.png" alt="">
|
||||
<b>0K</b>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- page2 -->
|
||||
<div class="page2">
|
||||
<div class="top">
|
||||
<!-- 切换 -->
|
||||
<div class="tab">
|
||||
<div class="text10">Ranking</div>
|
||||
<div class="act text11">Rewards</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="box">
|
||||
<!-- <img src="./images/bo.png" alt="" class="bo bo1">
|
||||
<img src="./images/bo.png" alt="" class="bo bo2">
|
||||
<img src="./images/bo.png" alt="" class="bo bo3"> -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="bottom"></div> -->
|
||||
</div>
|
||||
<div class="bottomText text12"></div>
|
||||
<!-- 规则 -->
|
||||
<div class="rules">
|
||||
<div class="rule_in">
|
||||
<img src="./images/close.png" alt="" class="close">
|
||||
<div class="titles text133"></div>
|
||||
<div class="text text13">
|
||||
|
||||
</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="../../common/js/svga.min.js"></script>
|
||||
<script src="./local/en.js"></script>
|
||||
<script src="./local/zh.js"></script>
|
||||
<script src="./local/ar.js"></script>
|
||||
<script src="./local/tr.js"></script>
|
||||
<script src="./js/index.js"></script>
|
||||
<script src="../../common/local/langHandler.js"></script>
|
276
view/molistar/activity/2025-JordanIndependenceDay/js/index.js
Normal file
@@ -0,0 +1,276 @@
|
||||
let urlPrefix = getUrlPrefix()
|
||||
let browser = checkVersion()
|
||||
let env = EnvCheck();
|
||||
if (env == 'test') {
|
||||
new VConsole();
|
||||
}
|
||||
// 封裝layer消息提醒框
|
||||
let layerIndex
|
||||
var langReplace;
|
||||
var localLang;
|
||||
const showLoading = (content = langReplace(localLang.demoModule.layerIndex1)) => {
|
||||
layer.open({
|
||||
type: 2,
|
||||
shadeClose: false,
|
||||
content,
|
||||
success(e) {
|
||||
layerIndex = $(e).attr('index')
|
||||
}
|
||||
})
|
||||
}
|
||||
const hideLoading = (index) => {
|
||||
layer.close(index)
|
||||
}
|
||||
const toastMsg = (content = langReplace(localLang.demoModule.layerIndex2), time = 2) => {
|
||||
layer.open({
|
||||
content,
|
||||
time,
|
||||
skin: 'msg'
|
||||
})
|
||||
}
|
||||
var countupTime;//倒计时容器
|
||||
var loadedCount = 0; // 已加載的數據數量
|
||||
var pageSize = 7; // 每次加載的數據數量
|
||||
var notListTo3 = []; // 每次加載的數據數量
|
||||
// 初始化函數
|
||||
$(function () {
|
||||
getInfoFromClient();
|
||||
fuzzyMatchUpdateQueryStringParameterFun(); // 判断语言
|
||||
setTimeout(function () {
|
||||
// 頁面全屏
|
||||
if (browser.app) {
|
||||
if (browser.android) {
|
||||
window.androidJsObj.initShowNav(false)
|
||||
} else {
|
||||
window.webkit.messageHandlers.initShowNav.postMessage(0)
|
||||
}
|
||||
};
|
||||
// 頂部返回事件
|
||||
$('.back img').click(() => {
|
||||
if (browser.android) {
|
||||
window.androidJsObj.closeWebView()
|
||||
} else {
|
||||
window.webkit.messageHandlers.closeWebView.postMessage(null)
|
||||
}
|
||||
})
|
||||
fuzzyMatchUpdateQueryStringParameterFun(); // 判断语言
|
||||
langReplace = window.lang.replace;
|
||||
localLang = window.lang;
|
||||
translateFun();
|
||||
getConfig();
|
||||
}, 100)
|
||||
|
||||
})
|
||||
// 处理SVGA
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
function loadSVGA(containerId, svgaPath) {
|
||||
var container = document.getElementById(containerId);
|
||||
var player = new SVGA.Player(container);
|
||||
|
||||
var parser = new SVGA.Parser();
|
||||
parser.load(svgaPath, function (videoItem) {
|
||||
player.setVideoItem(videoItem);
|
||||
player.startAnimation();
|
||||
});
|
||||
}
|
||||
|
||||
loadSVGA('ts10', './svga/100.svga');
|
||||
});
|
||||
function translateFun() {
|
||||
var langReplace = window.lang.replace;
|
||||
var localLang = window.lang;
|
||||
$('.text1').html(langReplace(localLang.demoModule.text1));
|
||||
$('.text2').html(langReplace(localLang.demoModule.text2));
|
||||
// $('.text22').html(langReplace(localLang.demoModule.text22));
|
||||
$('.text3').html(langReplace(localLang.demoModule.text3));
|
||||
$('.text4').html(langReplace(localLang.demoModule.text4));
|
||||
$('.text5').html(langReplace(localLang.demoModule.text5));
|
||||
$('.text6').html(langReplace(localLang.demoModule.text6));
|
||||
$('.text7').html(langReplace(localLang.demoModule.text7));
|
||||
$('.text8').html(langReplace(localLang.demoModule.text8));
|
||||
$('.text9').html(langReplace(localLang.demoModule.text9));
|
||||
$('.text10').html(langReplace(localLang.demoModule.text10));
|
||||
$('.text11').html(langReplace(localLang.demoModule.text11));
|
||||
$('.text12').html(langReplace(localLang.demoModule.text12));
|
||||
$('.text13').html(langReplace(localLang.demoModule.text13));
|
||||
$('.text133').html(langReplace(localLang.demoModule.text133));
|
||||
$('.more').html(langReplace(localLang.demoModule.more));
|
||||
if (browser.ios) {
|
||||
$('.bottomText').text(langReplace(localLang.demoModule.text12))
|
||||
} else {
|
||||
$('.bottomText').text(langReplace(localLang.demoModule.text122))
|
||||
}
|
||||
}
|
||||
// 配置接口
|
||||
function getConfig() {
|
||||
showLoading()
|
||||
networkRequest({
|
||||
type: 'get',
|
||||
url: urlPrefix + '/activity/h5/template/rank',
|
||||
data: { actKey: "JordanIndependenceDay" },
|
||||
success(res) {
|
||||
if (res.code === 200) {
|
||||
// 处理日期
|
||||
// var startTime = dateFormat(new Date(res.data.startTimeStr.replace(" ", "T")).getTime(), `MM/dd`);
|
||||
// var endTime = dateFormat(new Date(res.data.endTimeStr.replace(" ", "T")).getTime(), `MM/dd`);
|
||||
// $('.header .date .text22').text(`${startTime} - ${endTime}`);
|
||||
// 处理倒计时
|
||||
countup(res.data.endTime - res.timestamp);
|
||||
// 处理限定礼物
|
||||
res.data.gifts.forEach((res, i) => {
|
||||
$(`.giftBox .gift .gift${i} img`).attr("src", res.giftUrl);
|
||||
$(`.giftBox .gift .gift${i} span`).text(res.giftName);
|
||||
})
|
||||
// 处理榜单
|
||||
var listTo3 = res.data.rankList.slice(0, 3);
|
||||
notListTo3 = res.data.rankList.slice(3);
|
||||
// 处理前三
|
||||
if (listTo3.length < 3) {
|
||||
let arr = new Array(3 - listTo3.length).fill({
|
||||
avatar: './images/logo.png',
|
||||
name: langReplace(localLang.demoModule.waiting),
|
||||
erbanNo: null,
|
||||
totalNum: null
|
||||
})
|
||||
listTo3.push(...arr)
|
||||
}
|
||||
listTo3.forEach((res, i) => {
|
||||
$(`.page1 .top .top${i + 1} .tx`).attr('src', res.avatar);
|
||||
$(`.page1 .top .top${i + 1} .name b`).text(res.name);
|
||||
$(`.page1 .top .top${i + 1} .name img`).attr('src', res.userLevelVo ? res.userLevelVo.experUrl : './images/logo.png');
|
||||
$(`.page1 .top .top${i + 1} .id`).text('ID:' + res.erbanNo);
|
||||
$(`.page1 .top .top${i + 1} .score b`).text(unitProcessingAr(res.totalNum, 2));
|
||||
if (res.erbanNo == null) {
|
||||
$(`.page1 .top .top${i + 1} .name img`).hide();
|
||||
$(`.page1 .top .top${i + 1} .id`).hide();
|
||||
$(`.page1 .top .top${i + 1} .score`).hide();
|
||||
}
|
||||
})
|
||||
// 非前三
|
||||
loadMore();
|
||||
// 处理自己榜单数据
|
||||
var my = res.data.myRank;
|
||||
$('.page1 .my .tx').attr("src", my.avatar);
|
||||
$('.page1 .my .num').text(my.rank == 0 ? '30+' : my.rank);
|
||||
$('.page1 .my .info p b').text(my.name);
|
||||
$('.page1 .my .info p img').attr('src', res.data.myRank.userLevelVo.experUrl);
|
||||
$('.page1 .my .info span').text(`ID:${my.erbanNo}`);
|
||||
$('.page1 .my .score b').text(unitProcessingAr(my.totalNum, 2));
|
||||
} else {
|
||||
toastMsg(res.message)
|
||||
}
|
||||
hideLoading(layerIndex)
|
||||
},
|
||||
error(err) {
|
||||
hideLoading(layerIndex)
|
||||
toastMsg(langReplace(localLang.demoModule.layerIndex3))
|
||||
}
|
||||
})
|
||||
}
|
||||
// 加載數據函數
|
||||
function loadMore() {
|
||||
// 計算加載範圍
|
||||
pageSize = loadedCount == 0 ? 7 : 10;
|
||||
const nextItems = notListTo3.slice(loadedCount, loadedCount + pageSize);
|
||||
let str = '';
|
||||
|
||||
// 拼接 HTML
|
||||
nextItems.forEach(res => {
|
||||
str += `
|
||||
<li>
|
||||
<div class="num">${res.rank}</div>
|
||||
<img src="${res.avatar}" alt="" class="tx">
|
||||
<div class="info">
|
||||
<p>
|
||||
<b>${res.name}</b>
|
||||
<img src="${res.userLevelVo.experUrl}" alt="" class="icon">
|
||||
</p>
|
||||
<span>ID:${res.erbanNo}</span>
|
||||
</div>
|
||||
<div class="score">
|
||||
<img src="./images/box.png" alt="">
|
||||
<b>${unitProcessingAr(res.totalNum, 2)}</b>
|
||||
</div>
|
||||
</li>
|
||||
`
|
||||
})
|
||||
// 將數據插入到列表中
|
||||
$('.page1 .content ul').append(str);
|
||||
// 更新已加載的數據數量
|
||||
loadedCount += nextItems.length;
|
||||
// 如果數據全部加載完成,隱藏按鈕
|
||||
console.log(loadedCount >= notListTo3.length);
|
||||
console.log(notListTo3.length);
|
||||
if (loadedCount >= notListTo3.length) {
|
||||
$('.page1 .content .more').hide();
|
||||
}
|
||||
}
|
||||
|
||||
// 綁定按鈕點擊事件
|
||||
$('.page1 .content .more').click(function () {
|
||||
loadMore();
|
||||
})
|
||||
|
||||
// 初次加載數據
|
||||
// tab切换
|
||||
$('.page1 .top .tab div,.page2 .top .tab div').click(function () {
|
||||
var i = $(this).index() + 1;
|
||||
$('.page1,.page2').hide();
|
||||
$(`.page${i}`).show();
|
||||
if (i == 1) {
|
||||
$('.bottomText').css('margin', '0.66667rem auto 2.4rem');
|
||||
} else {
|
||||
$('.bottomText').css('margin', '0.66667rem auto 0.66667rem');
|
||||
}
|
||||
})
|
||||
// 打开规则
|
||||
$('.rule').click(function () {
|
||||
$('.rules').show();
|
||||
bodyScroolFun(true);
|
||||
})
|
||||
// 关闭规则
|
||||
$('.rules .rule_in .close').click(function () {
|
||||
$('.rules').hide();
|
||||
bodyScroolFun(false);
|
||||
})
|
||||
|
||||
// 倒計時
|
||||
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中
|
||||
$('.timeBox .days span').text(d);
|
||||
$('.timeBox .hours span').text(h);
|
||||
$('.timeBox .mins span').text(m);
|
||||
$('.timeBox .secs span').text(s);
|
||||
} else {
|
||||
getConfig();
|
||||
}
|
||||
if (leftTime > 0) {
|
||||
leftTime = leftTime - 1000;
|
||||
}
|
||||
countupTime = setTimeout(function () {
|
||||
countup(leftTime);
|
||||
}, 1000);
|
||||
}
|
||||
//补0操作
|
||||
function getzf(num) {
|
||||
if (parseInt(num) < 10) {
|
||||
num = '0' + num;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
@@ -0,0 +1,30 @@
|
||||
// 阿拉伯
|
||||
langAr = {
|
||||
// 模块
|
||||
demoModule: {
|
||||
layerIndex1: `جارٍ التحميل...`,
|
||||
layerIndex2: `نجاح`,
|
||||
layerIndex3: `خطأ في الشبكة`,
|
||||
text1: `عيد استقلال الأردن`,
|
||||
text3: `القواعد`,
|
||||
text4:'هدايا المناسبات',
|
||||
text6: `أيام`,
|
||||
text7: `ساعات`,
|
||||
text8: `دقائق`,
|
||||
text9: `ثواني`,
|
||||
text10: `التصنيف`,
|
||||
text11: `المكافآت`,
|
||||
text12: `حدث لا علاقة له بشركة آبل`,
|
||||
text122: `حدث غير مرتبط بجوجل`,
|
||||
text133: `القواعد`,
|
||||
text13: `<P>1.خلال فترة الحدث، يمكنك الانضمام إلى الترتيب عن طريق إرسال الدول المعينة.</p>
|
||||
<P>2.في نهاية الحدث، سيحصل أفضل 3 مستخدمين على مكافأة سخية.</p>
|
||||
<P>3.سيتم دفع المكافآت في اليوم التالي لانتهاء الحدث</p>
|
||||
<P>4.لا علاقة للحدث بـ Google/Apple.</p> `,
|
||||
more: `المزيد`,
|
||||
month: `شهر`,
|
||||
day: `يوم`,
|
||||
waiting: `في انتظار`,
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,27 @@
|
||||
langEn = {
|
||||
demoModule: {
|
||||
layerIndex1: `Loading...`,
|
||||
layerIndex2: `Success`,
|
||||
layerIndex3: `Network error`,
|
||||
text1:`Jordan Independence Day`,
|
||||
text3:`Rules`,
|
||||
text4:`Event Gifts`,
|
||||
text6: `Days`,
|
||||
text7: `Hours`,
|
||||
text8: `Mins`,
|
||||
text9: `Secs`,
|
||||
text10: `Ranking`,
|
||||
text11: `Rewards`,
|
||||
text12: `Event not related to Apple.`,
|
||||
text122: `Event not related to Google.`,
|
||||
text133: `Rules`,
|
||||
text13: `<p>1.During the event period, you can join the ranking by sending the designated countries.</p>
|
||||
<p>2.At the end of the event, the Top3 users will receive a generous reward.</p>
|
||||
<p>3.Rewards will be paid out the day after the event ends</p>
|
||||
<p>4.Event has nothing to do with Google/Apple.</p>`,
|
||||
more: 'More',
|
||||
month: 'Month',
|
||||
day: 'Day',
|
||||
waiting: 'Waiting',
|
||||
},
|
||||
}
|
@@ -0,0 +1,29 @@
|
||||
langTr = {
|
||||
demoModule: {
|
||||
layerIndex1: `Loading...`,
|
||||
layerIndex2: `Success`,
|
||||
layerIndex3: `Network error`,
|
||||
text1:`Jordan Independence Day`,
|
||||
text3:`Rules`,
|
||||
text4:`Event Gifts`,
|
||||
text6: `Days`,
|
||||
text7: `Hours`,
|
||||
text8: `Mins`,
|
||||
text9: `Secs`,
|
||||
text10: `Ranking`,
|
||||
text11: `Rewards`,
|
||||
text12: `Event not related to Apple.`,
|
||||
text122: `Event not related to Google.`,
|
||||
text133: `Rules`,
|
||||
text13: `<p>1.During the event period, you can join the ranking by sending the designated countries.</p>
|
||||
<p>2.At the end of the event, the Top3 users will receive a generous reward.</p>
|
||||
<p>3.Rewards will be paid out the day after the event ends</p>
|
||||
<p>4.Event has nothing to do with Google/Apple.</p>`,
|
||||
more: 'More',
|
||||
month: 'Month',
|
||||
day: 'Day',
|
||||
waiting: 'Waiting',
|
||||
},
|
||||
|
||||
|
||||
}
|
@@ -0,0 +1,30 @@
|
||||
// 中文
|
||||
langZh = {
|
||||
// 模塊
|
||||
demoModule: {
|
||||
layerIndex1: `Loading...`,
|
||||
layerIndex2: `Success`,
|
||||
layerIndex3: `Network error`,
|
||||
text1:`Jordan Independence Day`,
|
||||
text3:`Rules`,
|
||||
text4:`Event Gifts`,
|
||||
text6: `Days`,
|
||||
text7: `Hours`,
|
||||
text8: `Mins`,
|
||||
text9: `Secs`,
|
||||
text10: `Ranking`,
|
||||
text11: `Rewards`,
|
||||
text12: `Event not related to Apple.`,
|
||||
text122: `Event not related to Google.`,
|
||||
text133: `Rules`,
|
||||
text13: `<p>1.During the event period, you can join the ranking by sending the designated countries.</p>
|
||||
<p>2.At the end of the event, the Top3 users will receive a generous reward.</p>
|
||||
<p>3.Rewards will be paid out the day after the event ends</p>
|
||||
<p>4.Event has nothing to do with Google/Apple.</p>`,
|
||||
more: 'More',
|
||||
month: 'Month',
|
||||
day: 'Day',
|
||||
waiting: 'Waiting',
|
||||
},
|
||||
|
||||
}
|
887
view/molistar/activity/2025-YemenUnityDay/css/index.css
Normal file
@@ -0,0 +1,887 @@
|
||||
html,
|
||||
body {
|
||||
width: 100%;
|
||||
background: #500000;
|
||||
}
|
||||
|
||||
.back {
|
||||
width: 100%;
|
||||
height: 0.5866666667rem;
|
||||
line-height: 0.5866666667rem;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0.8666666667rem;
|
||||
text-align: center;
|
||||
color: #FFFFFF;
|
||||
font-size: 0.5066666667rem;
|
||||
font-weight: bold;
|
||||
z-index: 10;
|
||||
}
|
||||
.back img {
|
||||
width: 0.5866666667rem;
|
||||
height: 0.5866666667rem;
|
||||
position: absolute;
|
||||
left: 0.24rem;
|
||||
top: 0rem;
|
||||
}
|
||||
|
||||
.header {
|
||||
width: 10rem;
|
||||
height: 10.3466666667rem;
|
||||
background: url(../images/header.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
margin: 0 auto 0;
|
||||
position: relative;
|
||||
}
|
||||
.header .date {
|
||||
width: 8.9333333333rem;
|
||||
height: 0.7466666667rem;
|
||||
line-height: 0.7466666667rem;
|
||||
background: url(../images/time_bg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
text-align: center;
|
||||
color: #FFF783;
|
||||
font-size: 0.3466666667rem;
|
||||
font-weight: 500;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 3.7866666667rem;
|
||||
}
|
||||
.header .rule {
|
||||
width: 1.4666666667rem;
|
||||
height: 0.72rem;
|
||||
line-height: 0.72rem;
|
||||
text-indent: 0.1rem;
|
||||
text-align: center;
|
||||
color: #433402;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 500;
|
||||
background: url(../images/rule_icon.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 5.5466666667rem;
|
||||
}
|
||||
|
||||
.giftBox {
|
||||
position: relative;
|
||||
width: 10rem;
|
||||
height: 6.4266666667rem;
|
||||
background: url(../images/giftBox.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
margin: 0rem auto 0.4266666667rem;
|
||||
overflow: hidden;
|
||||
}
|
||||
.giftBox .title {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 0rem;
|
||||
text-align: center;
|
||||
width: 7.5066666667rem;
|
||||
height: 1.8533333333rem;
|
||||
line-height: 2.6666666667rem;
|
||||
color: #4D0D00;
|
||||
font-size: 0.4533333333rem;
|
||||
font-weight: 600;
|
||||
background: url(../images/title.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.giftBox .content {
|
||||
width: 8.1333333333rem;
|
||||
color: #FFF783;
|
||||
font-size: 0.3466666667rem;
|
||||
font-weight: 400;
|
||||
line-height: 0.56rem;
|
||||
margin: 2.6rem auto 0.2rem;
|
||||
}
|
||||
.giftBox .gift {
|
||||
width: 8.1333333333rem;
|
||||
height: 2.6666666667rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 2.6666666667rem auto 0;
|
||||
}
|
||||
.giftBox .gift div {
|
||||
width: 2.6666666667rem;
|
||||
height: 2.6666666667rem;
|
||||
position: relative;
|
||||
background: url(../images/sGiftBox.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.giftBox .gift div img {
|
||||
width: 2.1333333333rem;
|
||||
height: 2.1333333333rem;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 0.24rem;
|
||||
}
|
||||
.giftBox .gift div span {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
color: #FFF783;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 600;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: -0.5rem;
|
||||
}
|
||||
|
||||
.timeBox {
|
||||
height: 1.3866666667rem;
|
||||
margin: 0.2rem auto 0.2933333333rem;
|
||||
box-sizing: border-box;
|
||||
padding: 0 1.0666666667rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
overflow: hidden;
|
||||
gap: 0.4rem;
|
||||
}
|
||||
.timeBox div {
|
||||
width: 1.32rem;
|
||||
height: 1.2266666667rem;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
background: url(../images/timeBox_in.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.timeBox div span {
|
||||
display: block;
|
||||
color: #FFF783;
|
||||
font-size: 0.4533333333rem;
|
||||
font-weight: 500;
|
||||
margin: 0.2133333333rem auto 0.0266666667rem;
|
||||
}
|
||||
.timeBox div b {
|
||||
display: block;
|
||||
color: #FFF783;
|
||||
font-size: 0.32rem;
|
||||
font-weight: 400;
|
||||
margin-top: 0.0533333333rem;
|
||||
}
|
||||
|
||||
.page1 {
|
||||
margin: 1.8666666667rem auto 0;
|
||||
}
|
||||
.page1 .top {
|
||||
width: 10rem;
|
||||
height: 13.3333333333rem;
|
||||
position: relative;
|
||||
background: url(../images/topBg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
margin: 0 auto 0;
|
||||
padding: 0.1066666667rem 0 0;
|
||||
}
|
||||
.page1 .top .tab {
|
||||
width: 100%;
|
||||
height: 1rem;
|
||||
box-sizing: border-box;
|
||||
line-height: 1rem;
|
||||
text-align: center;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 0rem auto 0.32rem;
|
||||
position: absolute;
|
||||
top: -8%;
|
||||
gap: 0.2666666667rem;
|
||||
padding: 0 0.5333333333rem;
|
||||
}
|
||||
.page1 .top .tab div {
|
||||
width: 4.3333333333rem;
|
||||
height: 1rem;
|
||||
color: #4D0D00;
|
||||
font-size: 0.4533333333rem;
|
||||
font-weight: 800;
|
||||
background: url(../images/tab.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.page1 .top .tab .act {
|
||||
background: url(../images/actTab.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.page1 .top .top1 {
|
||||
width: 8rem;
|
||||
height: 5.0666666667rem;
|
||||
position: relative;
|
||||
margin: 1rem auto 0;
|
||||
}
|
||||
.page1 .top .top1 .ts {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2;
|
||||
}
|
||||
.page1 .top .top1 .tx {
|
||||
width: 2.3733333333rem;
|
||||
height: 2.3733333333rem;
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 1.3333333333rem;
|
||||
}
|
||||
.page1 .top .top1 .name {
|
||||
width: 35%;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
height: 0.48rem;
|
||||
line-height: 0.48rem;
|
||||
position: absolute;
|
||||
top: 4.2666666667rem;
|
||||
display: flex;
|
||||
z-index: 3;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: center;
|
||||
}
|
||||
.page1 .top .top1 .name b {
|
||||
max-width: 2.6rem;
|
||||
text-align: right;
|
||||
color: #FFF783;
|
||||
font-size: 0.4rem;
|
||||
font-weight: 500;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.page1 .top .top1 .name img {
|
||||
display: inline-block;
|
||||
width: 1.0266666667rem;
|
||||
height: 0.48rem;
|
||||
margin: 0 0.08rem;
|
||||
}
|
||||
.page1 .top .top1 .id {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 4.88rem;
|
||||
text-align: center;
|
||||
left: 0;
|
||||
z-index: 3;
|
||||
color: #FFF783;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
.page1 .top .top1 .score {
|
||||
height: 0.88rem;
|
||||
line-height: 0.88rem;
|
||||
position: absolute;
|
||||
top: 5.3333333333rem;
|
||||
left: 50%;
|
||||
transform: translate(-50%, 0);
|
||||
display: flex;
|
||||
z-index: 3;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: url(../images/score_bg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
padding: 0 0.1333333333rem;
|
||||
min-width: 2.4rem;
|
||||
}
|
||||
.page1 .top .top1 .score b {
|
||||
color: #2D2A00;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
.page1 .top .top1 .score img {
|
||||
display: inline-block;
|
||||
width: 0.4266666667rem;
|
||||
height: 0.4266666667rem;
|
||||
margin-right: 0.1rem;
|
||||
}
|
||||
.page1 .top .top2 {
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
position: absolute;
|
||||
left: 0.6666666667rem;
|
||||
top: 7.3333333333rem;
|
||||
margin: 0 auto 0;
|
||||
}
|
||||
.page1 .top .top2 .ts {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2;
|
||||
}
|
||||
.page1 .top .top2 .tx {
|
||||
width: 2.3733333333rem;
|
||||
height: 2.3733333333rem;
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 0.8266666667rem;
|
||||
}
|
||||
.page1 .top .top2 .name {
|
||||
width: 83%;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
height: 0.48rem;
|
||||
line-height: 0.48rem;
|
||||
position: absolute;
|
||||
top: 3.7866666667rem;
|
||||
display: flex;
|
||||
z-index: 3;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: center;
|
||||
}
|
||||
.page1 .top .top2 .name b {
|
||||
max-width: 2.6rem;
|
||||
text-align: right;
|
||||
color: #FFF783;
|
||||
font-size: 0.4rem;
|
||||
font-weight: 500;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.page1 .top .top2 .name img {
|
||||
display: inline-block;
|
||||
width: 1.0266666667rem;
|
||||
height: 0.48rem;
|
||||
margin: 0 0.08rem;
|
||||
}
|
||||
.page1 .top .top2 .id {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 4.3733333333rem;
|
||||
text-align: center;
|
||||
left: 0;
|
||||
z-index: 3;
|
||||
color: #FFF783;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
.page1 .top .top2 .score {
|
||||
height: 0.88rem;
|
||||
line-height: 0.88rem;
|
||||
position: absolute;
|
||||
top: 4.9333333333rem;
|
||||
left: 50%;
|
||||
transform: translate(-50%, 0);
|
||||
display: flex;
|
||||
z-index: 3;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: url(../images/score_bg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
padding: 0 0.1333333333rem;
|
||||
min-width: 2.4rem;
|
||||
}
|
||||
.page1 .top .top2 .score b {
|
||||
color: #2D2A00;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
.page1 .top .top2 .score img {
|
||||
display: inline-block;
|
||||
width: 0.4266666667rem;
|
||||
height: 0.4266666667rem;
|
||||
margin-right: 0.1rem;
|
||||
}
|
||||
.page1 .top .top3 {
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
position: absolute;
|
||||
right: 0.6666666667rem;
|
||||
top: 7.3333333333rem;
|
||||
margin: 0 auto 0;
|
||||
}
|
||||
.page1 .top .top3 .ts {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2;
|
||||
}
|
||||
.page1 .top .top3 .tx {
|
||||
width: 2.3733333333rem;
|
||||
height: 2.3733333333rem;
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 0.8266666667rem;
|
||||
}
|
||||
.page1 .top .top3 .name {
|
||||
width: 83%;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
height: 0.48rem;
|
||||
line-height: 0.48rem;
|
||||
position: absolute;
|
||||
top: 3.7866666667rem;
|
||||
display: flex;
|
||||
z-index: 3;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: center;
|
||||
}
|
||||
.page1 .top .top3 .name b {
|
||||
max-width: 2.6rem;
|
||||
text-align: right;
|
||||
color: #FFF783;
|
||||
font-size: 0.4rem;
|
||||
font-weight: 500;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.page1 .top .top3 .name img {
|
||||
display: inline-block;
|
||||
width: 1.0266666667rem;
|
||||
height: 0.48rem;
|
||||
margin: 0 0.08rem;
|
||||
}
|
||||
.page1 .top .top3 .id {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 4.3733333333rem;
|
||||
text-align: center;
|
||||
left: 0;
|
||||
z-index: 3;
|
||||
color: #FFF783;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
.page1 .top .top3 .score {
|
||||
height: 0.88rem;
|
||||
line-height: 0.88rem;
|
||||
position: absolute;
|
||||
top: 4.9333333333rem;
|
||||
left: 50%;
|
||||
transform: translate(-50%, 0);
|
||||
display: flex;
|
||||
z-index: 3;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: url(../images/score_bg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
padding: 0 0.1333333333rem;
|
||||
min-width: 2.4rem;
|
||||
}
|
||||
.page1 .top .top3 .score b {
|
||||
color: #2D2A00;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
.page1 .top .top3 .score img {
|
||||
display: inline-block;
|
||||
width: 0.4266666667rem;
|
||||
height: 0.4266666667rem;
|
||||
margin-right: 0.1rem;
|
||||
}
|
||||
.page1 .bottom {
|
||||
width: 10rem;
|
||||
height: 0.6666666667rem;
|
||||
background: url(../images/bottomBg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
margin: -0.2rem auto 0;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
.page1 .content {
|
||||
width: 10rem;
|
||||
height: auto;
|
||||
margin: 0 auto 0;
|
||||
background: url(../images/contentBg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.page1 .content ul {
|
||||
width: 8.8rem;
|
||||
margin: 0.3733333333rem auto 0rem;
|
||||
}
|
||||
.page1 .content ul li {
|
||||
width: 100%;
|
||||
background: linear-gradient(0deg, #9F0141, #760231);
|
||||
margin-bottom: 0.3466666667rem;
|
||||
overflow: hidden;
|
||||
padding: 0 0.32rem 0.2533333333rem 0.2rem;
|
||||
box-sizing: border-box;
|
||||
background: url(../images/li_bg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.page1 .content ul li .num {
|
||||
float: left;
|
||||
width: 0.5333333333rem;
|
||||
line-height: 1.5466666667rem;
|
||||
color: #FFF783;
|
||||
font-size: 0.4266666667rem;
|
||||
font-weight: 600;
|
||||
margin-right: 0.36rem;
|
||||
text-align: center;
|
||||
}
|
||||
.page1 .content ul li .tx {
|
||||
float: left;
|
||||
width: 1.1066666667rem;
|
||||
height: 1.1066666667rem;
|
||||
border-radius: 50%;
|
||||
border: 0.0266666667rem solid #FFF783;
|
||||
display: block;
|
||||
margin-top: 0.2533333333rem;
|
||||
margin-right: 0.1866666667rem;
|
||||
margin-left: 0.1866666667rem;
|
||||
}
|
||||
.page1 .content ul li .info {
|
||||
float: left;
|
||||
margin-top: 0.3333333333rem;
|
||||
}
|
||||
.page1 .content ul li .info p {
|
||||
height: 0.48rem;
|
||||
line-height: 0.48rem;
|
||||
margin-bottom: 0.1333333333rem;
|
||||
display: flex;
|
||||
}
|
||||
.page1 .content ul li .info p b {
|
||||
max-width: 1.9rem;
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
color: #FFF783;
|
||||
font-size: 0.4rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
.page1 .content ul li .info p img {
|
||||
display: inline-block;
|
||||
width: 1.0266666667rem;
|
||||
height: 0.48rem;
|
||||
margin: 0 0.08rem;
|
||||
}
|
||||
.page1 .content ul li .info span {
|
||||
color: #FFF783;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 400;
|
||||
display: block;
|
||||
}
|
||||
.page1 .content ul li .score {
|
||||
display: flex;
|
||||
height: 0.88rem;
|
||||
line-height: 0.88rem;
|
||||
margin-left: auto;
|
||||
align-items: center;
|
||||
background: url(../images/score_bg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
padding: 0 0.1333333333rem;
|
||||
min-width: 2.4rem;
|
||||
justify-content: center;
|
||||
}
|
||||
.page1 .content ul li .score img {
|
||||
display: inline-block;
|
||||
width: 0.4266666667rem;
|
||||
height: 0.4266666667rem;
|
||||
margin: 0 0.0666666667rem 0 0.0666666667rem;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.page1 .content ul li .score b {
|
||||
font-weight: 500;
|
||||
font-size: 0.3733333333rem;
|
||||
color: #2D2A00;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.page1 .content .more {
|
||||
width: 1.6533333333rem;
|
||||
height: 0.5866666667rem;
|
||||
line-height: 0.5866666667rem;
|
||||
text-align: center;
|
||||
padding: 0 0.4533333333rem;
|
||||
margin: 0 auto 0.3rem;
|
||||
color: #FFF783;
|
||||
border: 0.0266666667rem solid #FFF783;
|
||||
border-radius: 0.5866666667rem;
|
||||
box-sizing: border-box;
|
||||
font-size: 0.32rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
.page1 .my {
|
||||
position: fixed;
|
||||
z-index: 9;
|
||||
bottom: 0;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
width: 10rem;
|
||||
background: #500000;
|
||||
border-radius: 0.24rem 0.24rem 0px 0px;
|
||||
border: 0.04rem solid #FFF783;
|
||||
box-sizing: border-box;
|
||||
padding: 0 0.52rem 0.2rem 0.2rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.page1 .my .num {
|
||||
float: left;
|
||||
width: 0.5333333333rem;
|
||||
height: 100%;
|
||||
line-height: 1.7333333333rem;
|
||||
color: #FFF783;
|
||||
font-size: 0.4266666667rem;
|
||||
font-weight: 600;
|
||||
margin-right: 0.36rem;
|
||||
text-align: center;
|
||||
}
|
||||
.page1 .my .tx {
|
||||
float: left;
|
||||
width: 1.1066666667rem;
|
||||
height: 1.1066666667rem;
|
||||
border-radius: 50%;
|
||||
border: 0.0266666667rem solid #FFF783;
|
||||
display: block;
|
||||
margin-top: 0.2133333333rem;
|
||||
margin-right: 0.1866666667rem;
|
||||
margin-left: 0.1866666667rem;
|
||||
}
|
||||
.page1 .my .info {
|
||||
float: left;
|
||||
margin-top: 0.3333333333rem;
|
||||
}
|
||||
.page1 .my .info p {
|
||||
height: 0.48rem;
|
||||
line-height: 0.48rem;
|
||||
margin-bottom: 0.1333333333rem;
|
||||
}
|
||||
.page1 .my .info p b {
|
||||
max-width: 2rem;
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
color: #FFF783;
|
||||
font-size: 0.4rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
.page1 .my .info p img {
|
||||
display: inline-block;
|
||||
width: 1.0266666667rem;
|
||||
height: 0.48rem;
|
||||
margin: 0 0.08rem;
|
||||
}
|
||||
.page1 .my .info span {
|
||||
color: #FFF783;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 400;
|
||||
display: block;
|
||||
}
|
||||
.page1 .my .score {
|
||||
display: flex;
|
||||
height: 0.88rem;
|
||||
line-height: 0.88rem;
|
||||
background: url(../images/score_bg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
padding: 0 0.1333333333rem;
|
||||
min-width: 2.4rem;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-left: auto;
|
||||
}
|
||||
.page1 .my .score img {
|
||||
display: inline-block;
|
||||
width: 0.4266666667rem;
|
||||
height: 0.4266666667rem;
|
||||
margin: 0 0.0666666667rem 0 0.0666666667rem;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.page1 .my .score b {
|
||||
font-weight: 500;
|
||||
font-size: 0.3733333333rem;
|
||||
color: #2D2A00;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.page2 {
|
||||
display: none;
|
||||
margin: -0.5rem auto 0;
|
||||
}
|
||||
.page2 .top {
|
||||
width: 10rem;
|
||||
height: 2.1333333333rem;
|
||||
position: relative;
|
||||
margin: 0 auto -0.2rem;
|
||||
overflow: hidden;
|
||||
}
|
||||
.page2 .top .tab {
|
||||
width: 100%;
|
||||
height: 1rem;
|
||||
box-sizing: border-box;
|
||||
line-height: 1rem;
|
||||
text-align: center;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 0rem auto 0;
|
||||
position: absolute;
|
||||
top: 40%;
|
||||
gap: 0.2666666667rem;
|
||||
padding: 0 0.5333333333rem;
|
||||
}
|
||||
.page2 .top .tab div {
|
||||
width: 4.3333333333rem;
|
||||
height: 1rem;
|
||||
color: #4D0D00;
|
||||
font-size: 0.4533333333rem;
|
||||
font-weight: 800;
|
||||
background: url(../images/tab.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.page2 .top .tab .act {
|
||||
background: url(../images/actTab.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.page2 .bottom {
|
||||
width: 10rem;
|
||||
height: 0.6666666667rem;
|
||||
background: url(../images/bottomBg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
margin: -0.2rem auto 0;
|
||||
}
|
||||
.page2 .content {
|
||||
width: 10rem;
|
||||
margin: 0 auto 0;
|
||||
background: url(../images/rewardBg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.page2 .content .box {
|
||||
width: 10rem;
|
||||
height: 29.04rem;
|
||||
margin: 0.2rem auto 0;
|
||||
position: relative;
|
||||
}
|
||||
.page2 .content .box .bo {
|
||||
position: absolute;
|
||||
width: 0.6933333333rem;
|
||||
height: 0.6933333333rem;
|
||||
left: 1.88rem;
|
||||
}
|
||||
.page2 .content .box .bo1 {
|
||||
top: 9.92rem;
|
||||
}
|
||||
.page2 .content .box .bo2 {
|
||||
top: 23rem;
|
||||
}
|
||||
.page2 .content .box .bo3 {
|
||||
top: 38.56rem;
|
||||
}
|
||||
|
||||
.rules {
|
||||
position: fixed;
|
||||
z-index: 999;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
top: 0;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
display: none;
|
||||
}
|
||||
.rules .rule_in {
|
||||
width: 10rem;
|
||||
height: 6.4266666667rem;
|
||||
background: url(../images/giftBox.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
.rules .rule_in .close {
|
||||
position: absolute;
|
||||
width: 0.9066666667rem;
|
||||
height: 0.9066666667rem;
|
||||
right: 0.2666666667rem;
|
||||
top: -0.08rem;
|
||||
}
|
||||
.rules .rule_in .titles {
|
||||
width: 7.5066666667rem;
|
||||
height: 1.8533333333rem;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 0.1066666667rem;
|
||||
text-align: center;
|
||||
color: #4D0D00;
|
||||
font-size: 0.4533333333rem;
|
||||
font-weight: 600;
|
||||
line-height: 2.6133333333rem;
|
||||
background: url(../images/title.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.rules .rule_in .text {
|
||||
width: 8.2266666667rem;
|
||||
height: 6.2rem;
|
||||
overflow-y: scroll;
|
||||
color: #FFF783;
|
||||
font-size: 0.3733333333rem;
|
||||
font-weight: 400;
|
||||
line-height: 0.56rem;
|
||||
margin: 2.1333333333rem auto 0;
|
||||
}
|
||||
.rules .rule_in .text::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.bottomText {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
color: #FFF783;
|
||||
font-size: 0.32rem;
|
||||
font-weight: 400;
|
||||
margin: 0.6666666667rem auto 2.4rem;
|
||||
}
|
||||
|
||||
.video {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
z-index: 99;
|
||||
display: none;
|
||||
}
|
||||
.video video {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 65%;
|
||||
}
|
||||
.video .close {
|
||||
width: 0.9066666667rem;
|
||||
height: 0.9066666667rem;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
right: 0.9333333333rem;
|
||||
z-index: 9;
|
||||
}
|
||||
|
||||
.arabic .header {
|
||||
background: url(../images/header.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.arabic .page1 .content ul li .score {
|
||||
margin-right: auto;
|
||||
margin-left: 0;
|
||||
}
|
||||
.arabic .page1 .my .score {
|
||||
margin-right: auto;
|
||||
margin-left: 0;
|
||||
}
|
1001
view/molistar/activity/2025-YemenUnityDay/css/index.scss
Normal file
BIN
view/molistar/activity/2025-YemenUnityDay/images/actTab.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/bo.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/bottomBg.png
Normal file
After Width: | Height: | Size: 8.1 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/box.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/close.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/contentBg.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/giftBox.png
Normal file
After Width: | Height: | Size: 276 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/header.png
Normal file
After Width: | Height: | Size: 662 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/li_bg.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/logo.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/rewardBg.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/ruleTitle.png
Normal file
After Width: | Height: | Size: 247 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/rule_icon.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/sGiftBox.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/score_bg.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/tab.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/timeBox.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/timeBox_in.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/time_bg.png
Normal file
After Width: | Height: | Size: 89 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/title.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/top1.png
Normal file
After Width: | Height: | Size: 207 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/top2.png
Normal file
After Width: | Height: | Size: 96 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/top3.png
Normal file
After Width: | Height: | Size: 96 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/topBg.png
Normal file
After Width: | Height: | Size: 730 KiB |
BIN
view/molistar/activity/2025-YemenUnityDay/images/travel/back.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.9 KiB |
209
view/molistar/activity/2025-YemenUnityDay/index.html
Normal file
@@ -0,0 +1,209 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title class="text1"></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 text3"></div>
|
||||
</div>
|
||||
<!-- 倒计时 -->
|
||||
<div class="timeBox">
|
||||
<div class="days">
|
||||
<span>00</span>
|
||||
<b class="text6"></b>
|
||||
</div>
|
||||
<div class="hours">
|
||||
<span>00</span>
|
||||
<b class="text7"></b>
|
||||
</div>
|
||||
<div class="mins">
|
||||
<span>00</span>
|
||||
<b class="text8"></b>
|
||||
</div>
|
||||
<div class="secs">
|
||||
<span>00</span>
|
||||
<b class="text9"></b>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 礼物盒子 -->
|
||||
<div class="giftBox">
|
||||
<div class="title text4"></div>
|
||||
<div class="gift">
|
||||
<div class="gift0">
|
||||
<img src="./images/logo.png" alt="">
|
||||
<span>Name</span>
|
||||
</div>
|
||||
<div class="gift1">
|
||||
<img src="./images/logo.png" alt="">
|
||||
<span>Name</span>
|
||||
</div>
|
||||
<div class="gift2">
|
||||
<img src="./images/logo.png" alt="">
|
||||
<span>Name</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- page1 -->
|
||||
<div class="page1">
|
||||
<div class="top">
|
||||
<!-- 切换 -->
|
||||
<div class="tab">
|
||||
<div class="act text10"></div>
|
||||
<div class="text11"></div>
|
||||
</div>
|
||||
<!-- 前三 -->
|
||||
<div class="top1">
|
||||
<img src="./images/top1.png" alt="" class="ts">
|
||||
<img src="./images/logo.png" alt="" class="tx">
|
||||
<div class="name">
|
||||
<b>名字</b>
|
||||
<img src="" alt="" class="icon">
|
||||
</div>
|
||||
<div class="id">ID:0</div>
|
||||
<div class="score">
|
||||
<img src="./images/box.png" alt="">
|
||||
<b>0K</b>
|
||||
</div>
|
||||
</div>
|
||||
<div class="top2">
|
||||
<img src="./images/top2.png" alt="" class="ts">
|
||||
<img src="./images/logo.png" alt="" class="tx">
|
||||
<div class="name">
|
||||
<b>名字</b>
|
||||
<img src="" alt="" class="icon">
|
||||
</div>
|
||||
<div class="id">ID:0</div>
|
||||
<div class="score">
|
||||
<img src="./images/box.png" alt="">
|
||||
<b>0K</b>
|
||||
</div>
|
||||
</div>
|
||||
<div class="top3">
|
||||
<img src="./images/top3.png" alt="" class="ts">
|
||||
<img src="./images/logo.png" alt="" class="tx">
|
||||
<div class="name">
|
||||
<b>名字</b>
|
||||
<img src="" alt="" class="icon">
|
||||
</div>
|
||||
<div class="id">ID:0</div>
|
||||
<div class="score">
|
||||
<img src="./images/box.png" alt="">
|
||||
<b>0K</b>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<ul>
|
||||
<!-- <li>
|
||||
<div class="num">04</div>
|
||||
<img src="./images/logo.png" alt="" class="tx">
|
||||
<div class="info">
|
||||
<p>
|
||||
<b>名字</b>
|
||||
<img src="" alt="" class="icon">
|
||||
</p>
|
||||
<span>ID:1234567</span>
|
||||
</div>
|
||||
<div class="score">
|
||||
<img src="./images/box.png" alt="">
|
||||
<b>0K</b>
|
||||
</div>
|
||||
</li> -->
|
||||
</ul>
|
||||
<div class="more">More</div>
|
||||
</div>
|
||||
<div class="bottom"></div>
|
||||
<div class="my">
|
||||
<div class="num">04</div>
|
||||
<img src="./images/logo.png" alt="" class="tx">
|
||||
<div class="info">
|
||||
<p>
|
||||
<b>名字</b>
|
||||
<img src="" alt="" class="icon">
|
||||
</p>
|
||||
<span>ID:1234567</span>
|
||||
</div>
|
||||
<div class="score">
|
||||
<img src="./images/box.png" alt="">
|
||||
<b>0K</b>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- page2 -->
|
||||
<div class="page2">
|
||||
<div class="top">
|
||||
<!-- 切换 -->
|
||||
<div class="tab">
|
||||
<div class="text10">Ranking</div>
|
||||
<div class="act text11">Rewards</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="box">
|
||||
<!-- <img src="./images/bo.png" alt="" class="bo bo1">
|
||||
<img src="./images/bo.png" alt="" class="bo bo2">
|
||||
<img src="./images/bo.png" alt="" class="bo bo3"> -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="bottom"></div> -->
|
||||
</div>
|
||||
<div class="bottomText text12"></div>
|
||||
<!-- 规则 -->
|
||||
<div class="rules">
|
||||
<div class="rule_in">
|
||||
<img src="./images/close.png" alt="" class="close">
|
||||
<div class="titles text133"></div>
|
||||
<div class="text text13">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- MP4 -->
|
||||
<div class="video video1">
|
||||
<video id="zjVideo1" controls>
|
||||
<source src="./mp4/1.mp4" type="video/mp4">
|
||||
</video>
|
||||
<img src="./images/close.png" alt="" class="close">
|
||||
</div>
|
||||
<div class="video video2">
|
||||
<video id="zjVideo2" controls>
|
||||
<source src="./mp4/2.mp4" type="video/mp4">
|
||||
</video>
|
||||
<img src="./images/close.png" alt="" class="close">
|
||||
</div>
|
||||
<div class="video video3">
|
||||
<video id="zjVideo3" controls>
|
||||
<source src="./mp4/3.mp4" type="video/mp4">
|
||||
</video>
|
||||
<img src="./images/close.png" alt="" class="close">
|
||||
</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="../../common/js/svga.min.js"></script>
|
||||
<script src="./local/en.js"></script>
|
||||
<script src="./local/zh.js"></script>
|
||||
<script src="./local/ar.js"></script>
|
||||
<script src="./local/tr.js"></script>
|
||||
<script src="./js/index.js"></script>
|
||||
<script src="../../common/local/langHandler.js"></script>
|
276
view/molistar/activity/2025-YemenUnityDay/js/index.js
Normal file
@@ -0,0 +1,276 @@
|
||||
let urlPrefix = getUrlPrefix()
|
||||
let browser = checkVersion()
|
||||
let env = EnvCheck();
|
||||
if (env == 'test') {
|
||||
new VConsole();
|
||||
}
|
||||
// 封裝layer消息提醒框
|
||||
let layerIndex
|
||||
var langReplace;
|
||||
var localLang;
|
||||
const showLoading = (content = langReplace(localLang.demoModule.layerIndex1)) => {
|
||||
layer.open({
|
||||
type: 2,
|
||||
shadeClose: false,
|
||||
content,
|
||||
success(e) {
|
||||
layerIndex = $(e).attr('index')
|
||||
}
|
||||
})
|
||||
}
|
||||
const hideLoading = (index) => {
|
||||
layer.close(index)
|
||||
}
|
||||
const toastMsg = (content = langReplace(localLang.demoModule.layerIndex2), time = 2) => {
|
||||
layer.open({
|
||||
content,
|
||||
time,
|
||||
skin: 'msg'
|
||||
})
|
||||
}
|
||||
var countupTime;//倒计时容器
|
||||
var loadedCount = 0; // 已加載的數據數量
|
||||
var pageSize = 7; // 每次加載的數據數量
|
||||
var notListTo3 = []; // 每次加載的數據數量
|
||||
// 初始化函數
|
||||
$(function () {
|
||||
getInfoFromClient();
|
||||
fuzzyMatchUpdateQueryStringParameterFun(); // 判断语言
|
||||
setTimeout(function () {
|
||||
// 頁面全屏
|
||||
if (browser.app) {
|
||||
if (browser.android) {
|
||||
window.androidJsObj.initShowNav(false)
|
||||
} else {
|
||||
window.webkit.messageHandlers.initShowNav.postMessage(0)
|
||||
}
|
||||
};
|
||||
// 頂部返回事件
|
||||
$('.back img').click(() => {
|
||||
if (browser.android) {
|
||||
window.androidJsObj.closeWebView()
|
||||
} else {
|
||||
window.webkit.messageHandlers.closeWebView.postMessage(null)
|
||||
}
|
||||
})
|
||||
fuzzyMatchUpdateQueryStringParameterFun(); // 判断语言
|
||||
langReplace = window.lang.replace;
|
||||
localLang = window.lang;
|
||||
translateFun();
|
||||
getConfig();
|
||||
}, 100)
|
||||
|
||||
})
|
||||
// 处理SVGA
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
function loadSVGA(containerId, svgaPath) {
|
||||
var container = document.getElementById(containerId);
|
||||
var player = new SVGA.Player(container);
|
||||
|
||||
var parser = new SVGA.Parser();
|
||||
parser.load(svgaPath, function (videoItem) {
|
||||
player.setVideoItem(videoItem);
|
||||
player.startAnimation();
|
||||
});
|
||||
}
|
||||
|
||||
loadSVGA('ts10', './svga/100.svga');
|
||||
});
|
||||
function translateFun() {
|
||||
var langReplace = window.lang.replace;
|
||||
var localLang = window.lang;
|
||||
$('.text1').html(langReplace(localLang.demoModule.text1));
|
||||
$('.text2').html(langReplace(localLang.demoModule.text2));
|
||||
// $('.text22').html(langReplace(localLang.demoModule.text22));
|
||||
$('.text3').html(langReplace(localLang.demoModule.text3));
|
||||
$('.text4').html(langReplace(localLang.demoModule.text4));
|
||||
$('.text5').html(langReplace(localLang.demoModule.text5));
|
||||
$('.text6').html(langReplace(localLang.demoModule.text6));
|
||||
$('.text7').html(langReplace(localLang.demoModule.text7));
|
||||
$('.text8').html(langReplace(localLang.demoModule.text8));
|
||||
$('.text9').html(langReplace(localLang.demoModule.text9));
|
||||
$('.text10').html(langReplace(localLang.demoModule.text10));
|
||||
$('.text11').html(langReplace(localLang.demoModule.text11));
|
||||
$('.text12').html(langReplace(localLang.demoModule.text12));
|
||||
$('.text13').html(langReplace(localLang.demoModule.text13));
|
||||
$('.text133').html(langReplace(localLang.demoModule.text133));
|
||||
$('.more').html(langReplace(localLang.demoModule.more));
|
||||
if (browser.ios) {
|
||||
$('.bottomText').text(langReplace(localLang.demoModule.text12))
|
||||
} else {
|
||||
$('.bottomText').text(langReplace(localLang.demoModule.text122))
|
||||
}
|
||||
}
|
||||
// 配置接口
|
||||
function getConfig() {
|
||||
showLoading()
|
||||
networkRequest({
|
||||
type: 'get',
|
||||
url: urlPrefix + '/activity/h5/template/rank',
|
||||
data: { actKey: "YemenUnityDay" },
|
||||
success(res) {
|
||||
if (res.code === 200) {
|
||||
// 处理日期
|
||||
// var startTime = dateFormat(new Date(res.data.startTimeStr.replace(" ", "T")).getTime(), `MM/dd`);
|
||||
// var endTime = dateFormat(new Date(res.data.endTimeStr.replace(" ", "T")).getTime(), `MM/dd`);
|
||||
// $('.header .date .text22').text(`${startTime} - ${endTime}`);
|
||||
// 处理倒计时
|
||||
countup(res.data.endTime - res.timestamp);
|
||||
// 处理限定礼物
|
||||
res.data.gifts.forEach((res, i) => {
|
||||
$(`.giftBox .gift .gift${i} img`).attr("src", res.giftUrl);
|
||||
$(`.giftBox .gift .gift${i} span`).text(res.giftName);
|
||||
})
|
||||
// 处理榜单
|
||||
var listTo3 = res.data.rankList.slice(0, 3);
|
||||
notListTo3 = res.data.rankList.slice(3);
|
||||
// 处理前三
|
||||
if (listTo3.length < 3) {
|
||||
let arr = new Array(3 - listTo3.length).fill({
|
||||
avatar: './images/logo.png',
|
||||
name: langReplace(localLang.demoModule.waiting),
|
||||
erbanNo: null,
|
||||
totalNum: null
|
||||
})
|
||||
listTo3.push(...arr)
|
||||
}
|
||||
listTo3.forEach((res, i) => {
|
||||
$(`.page1 .top .top${i + 1} .tx`).attr('src', res.avatar);
|
||||
$(`.page1 .top .top${i + 1} .name b`).text(res.name);
|
||||
$(`.page1 .top .top${i + 1} .name img`).attr('src', res.userLevelVo ? res.userLevelVo.experUrl : './images/logo.png');
|
||||
$(`.page1 .top .top${i + 1} .id`).text('ID:' + res.erbanNo);
|
||||
$(`.page1 .top .top${i + 1} .score b`).text(unitProcessingAr(res.totalNum, 2));
|
||||
if (res.erbanNo == null) {
|
||||
$(`.page1 .top .top${i + 1} .name img`).hide();
|
||||
$(`.page1 .top .top${i + 1} .id`).hide();
|
||||
$(`.page1 .top .top${i + 1} .score`).hide();
|
||||
}
|
||||
})
|
||||
// 非前三
|
||||
loadMore();
|
||||
// 处理自己榜单数据
|
||||
var my = res.data.myRank;
|
||||
$('.page1 .my .tx').attr("src", my.avatar);
|
||||
$('.page1 .my .num').text(my.rank == 0 ? '30+' : my.rank);
|
||||
$('.page1 .my .info p b').text(my.name);
|
||||
$('.page1 .my .info p img').attr('src', res.data.myRank.userLevelVo.experUrl);
|
||||
$('.page1 .my .info span').text(`ID:${my.erbanNo}`);
|
||||
$('.page1 .my .score b').text(unitProcessingAr(my.totalNum, 2));
|
||||
} else {
|
||||
toastMsg(res.message)
|
||||
}
|
||||
hideLoading(layerIndex)
|
||||
},
|
||||
error(err) {
|
||||
hideLoading(layerIndex)
|
||||
toastMsg(langReplace(localLang.demoModule.layerIndex3))
|
||||
}
|
||||
})
|
||||
}
|
||||
// 加載數據函數
|
||||
function loadMore() {
|
||||
// 計算加載範圍
|
||||
pageSize = loadedCount == 0 ? 7 : 10;
|
||||
const nextItems = notListTo3.slice(loadedCount, loadedCount + pageSize);
|
||||
let str = '';
|
||||
|
||||
// 拼接 HTML
|
||||
nextItems.forEach(res => {
|
||||
str += `
|
||||
<li>
|
||||
<div class="num">${res.rank}</div>
|
||||
<img src="${res.avatar}" alt="" class="tx">
|
||||
<div class="info">
|
||||
<p>
|
||||
<b>${res.name}</b>
|
||||
<img src="${res.userLevelVo.experUrl}" alt="" class="icon">
|
||||
</p>
|
||||
<span>ID:${res.erbanNo}</span>
|
||||
</div>
|
||||
<div class="score">
|
||||
<img src="./images/box.png" alt="">
|
||||
<b>${unitProcessingAr(res.totalNum, 2)}</b>
|
||||
</div>
|
||||
</li>
|
||||
`
|
||||
})
|
||||
// 將數據插入到列表中
|
||||
$('.page1 .content ul').append(str);
|
||||
// 更新已加載的數據數量
|
||||
loadedCount += nextItems.length;
|
||||
// 如果數據全部加載完成,隱藏按鈕
|
||||
console.log(loadedCount >= notListTo3.length);
|
||||
console.log(notListTo3.length);
|
||||
if (loadedCount >= notListTo3.length) {
|
||||
$('.page1 .content .more').hide();
|
||||
}
|
||||
}
|
||||
|
||||
// 綁定按鈕點擊事件
|
||||
$('.page1 .content .more').click(function () {
|
||||
loadMore();
|
||||
})
|
||||
|
||||
// 初次加載數據
|
||||
// tab切换
|
||||
$('.page1 .top .tab div,.page2 .top .tab div').click(function () {
|
||||
var i = $(this).index() + 1;
|
||||
$('.page1,.page2').hide();
|
||||
$(`.page${i}`).show();
|
||||
if (i == 1) {
|
||||
$('.bottomText').css('margin', '0.66667rem auto 2.4rem');
|
||||
} else {
|
||||
$('.bottomText').css('margin', '0.66667rem auto 0.66667rem');
|
||||
}
|
||||
})
|
||||
// 打开规则
|
||||
$('.rule').click(function () {
|
||||
$('.rules').show();
|
||||
bodyScroolFun(true);
|
||||
})
|
||||
// 关闭规则
|
||||
$('.rules .rule_in .close').click(function () {
|
||||
$('.rules').hide();
|
||||
bodyScroolFun(false);
|
||||
})
|
||||
|
||||
// 倒計時
|
||||
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中
|
||||
$('.timeBox .days span').text(d);
|
||||
$('.timeBox .hours span').text(h);
|
||||
$('.timeBox .mins span').text(m);
|
||||
$('.timeBox .secs span').text(s);
|
||||
} else {
|
||||
getConfig();
|
||||
}
|
||||
if (leftTime > 0) {
|
||||
leftTime = leftTime - 1000;
|
||||
}
|
||||
countupTime = setTimeout(function () {
|
||||
countup(leftTime);
|
||||
}, 1000);
|
||||
}
|
||||
//补0操作
|
||||
function getzf(num) {
|
||||
if (parseInt(num) < 10) {
|
||||
num = '0' + num;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
30
view/molistar/activity/2025-YemenUnityDay/local/ar.js
Normal file
@@ -0,0 +1,30 @@
|
||||
// 阿拉伯
|
||||
langAr = {
|
||||
// 模块
|
||||
demoModule: {
|
||||
layerIndex1: `جارٍ التحميل...`,
|
||||
layerIndex2: `نجاح`,
|
||||
layerIndex3: `خطأ في الشبكة`,
|
||||
text1: `عيد الوحدة اليمنية`,
|
||||
text3: `القواعد`,
|
||||
text4:'هدايا المناسبات',
|
||||
text6: `أيام`,
|
||||
text7: `ساعات`,
|
||||
text8: `دقائق`,
|
||||
text9: `ثواني`,
|
||||
text10: `التصنيف`,
|
||||
text11: `المكافآت`,
|
||||
text12: `حدث لا علاقة له بشركة آبل`,
|
||||
text122: `حدث غير مرتبط بجوجل`,
|
||||
text133: `القواعد`,
|
||||
text13: `<P>1.خلال فترة الحدث، يمكنك الانضمام إلى الترتيب عن طريق إرسال الدول المعينة.</p>
|
||||
<P>2.في نهاية الحدث، سيحصل أفضل 3 مستخدمين على مكافأة سخية.</p>
|
||||
<P>3.سيتم دفع المكافآت في اليوم التالي لانتهاء الحدث</p>
|
||||
<P>4.لا علاقة للحدث بـ Google/Apple.</p> `,
|
||||
more: `المزيد`,
|
||||
month: `شهر`,
|
||||
day: `يوم`,
|
||||
waiting: `في انتظار`,
|
||||
}
|
||||
|
||||
}
|
27
view/molistar/activity/2025-YemenUnityDay/local/en.js
Normal file
@@ -0,0 +1,27 @@
|
||||
langEn = {
|
||||
demoModule: {
|
||||
layerIndex1: `Loading...`,
|
||||
layerIndex2: `Success`,
|
||||
layerIndex3: `Network error`,
|
||||
text1:`Yemen Unity Day`,
|
||||
text3:`Rules`,
|
||||
text4:`Event Gifts`,
|
||||
text6: `Days`,
|
||||
text7: `Hours`,
|
||||
text8: `Mins`,
|
||||
text9: `Secs`,
|
||||
text10: `Ranking`,
|
||||
text11: `Rewards`,
|
||||
text12: `Event not related to Apple.`,
|
||||
text122: `Event not related to Google.`,
|
||||
text133: `Rules`,
|
||||
text13: `<p>1.During the event period, you can join the ranking by sending the designated countries.</p>
|
||||
<p>2.At the end of the event, the Top3 users will receive a generous reward.</p>
|
||||
<p>3.Rewards will be paid out the day after the event ends</p>
|
||||
<p>4.Event has nothing to do with Google/Apple.</p>`,
|
||||
more: 'More',
|
||||
month: 'Month',
|
||||
day: 'Day',
|
||||
waiting: 'Waiting',
|
||||
},
|
||||
}
|
29
view/molistar/activity/2025-YemenUnityDay/local/tr.js
Normal file
@@ -0,0 +1,29 @@
|
||||
langTr = {
|
||||
demoModule: {
|
||||
layerIndex1: `Loading...`,
|
||||
layerIndex2: `Success`,
|
||||
layerIndex3: `Network error`,
|
||||
text1:`Yemen Unity Day`,
|
||||
text3:`Rules`,
|
||||
text4:`Event Gifts`,
|
||||
text6: `Days`,
|
||||
text7: `Hours`,
|
||||
text8: `Mins`,
|
||||
text9: `Secs`,
|
||||
text10: `Ranking`,
|
||||
text11: `Rewards`,
|
||||
text12: `Event not related to Apple.`,
|
||||
text122: `Event not related to Google.`,
|
||||
text133: `Rules`,
|
||||
text13: `<p>1.During the event period, you can join the ranking by sending the designated countries.</p>
|
||||
<p>2.At the end of the event, the Top3 users will receive a generous reward.</p>
|
||||
<p>3.Rewards will be paid out the day after the event ends</p>
|
||||
<p>4.Event has nothing to do with Google/Apple.</p>`,
|
||||
more: 'More',
|
||||
month: 'Month',
|
||||
day: 'Day',
|
||||
waiting: 'Waiting',
|
||||
},
|
||||
|
||||
|
||||
}
|
30
view/molistar/activity/2025-YemenUnityDay/local/zh.js
Normal file
@@ -0,0 +1,30 @@
|
||||
// 中文
|
||||
langZh = {
|
||||
// 模塊
|
||||
demoModule: {
|
||||
layerIndex1: `Loading...`,
|
||||
layerIndex2: `Success`,
|
||||
layerIndex3: `Network error`,
|
||||
text1:`Yemen Unity Day`,
|
||||
text3:`Rules`,
|
||||
text4:`Event Gifts`,
|
||||
text6: `Days`,
|
||||
text7: `Hours`,
|
||||
text8: `Mins`,
|
||||
text9: `Secs`,
|
||||
text10: `Ranking`,
|
||||
text11: `Rewards`,
|
||||
text12: `Event not related to Apple.`,
|
||||
text122: `Event not related to Google.`,
|
||||
text133: `Rules`,
|
||||
text13: `<p>1.During the event period, you can join the ranking by sending the designated countries.</p>
|
||||
<p>2.At the end of the event, the Top3 users will receive a generous reward.</p>
|
||||
<p>3.Rewards will be paid out the day after the event ends</p>
|
||||
<p>4.Event has nothing to do with Google/Apple.</p>`,
|
||||
more: 'More',
|
||||
month: 'Month',
|
||||
day: 'Day',
|
||||
waiting: 'Waiting',
|
||||
},
|
||||
|
||||
}
|
1130
view/molistar/activity/adventureTreasureHunt/css/index.css
Normal file
1325
view/molistar/activity/adventureTreasureHunt/css/index.scss
Normal file
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 898 B |
BIN
view/molistar/activity/adventureTreasureHunt/images/baoxiang.png
Normal file
After Width: | Height: | Size: 280 KiB |
BIN
view/molistar/activity/adventureTreasureHunt/images/behind.png
Normal file
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 3.7 KiB |
BIN
view/molistar/activity/adventureTreasureHunt/images/coins.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 818 KiB |
BIN
view/molistar/activity/adventureTreasureHunt/images/header.png
Normal file
After Width: | Height: | Size: 856 KiB |
BIN
view/molistar/activity/adventureTreasureHunt/images/housi_bg.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
view/molistar/activity/adventureTreasureHunt/images/img_bg.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
view/molistar/activity/adventureTreasureHunt/images/logo.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
view/molistar/activity/adventureTreasureHunt/images/my_ph_bg.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
view/molistar/activity/adventureTreasureHunt/images/once_btn.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
view/molistar/activity/adventureTreasureHunt/images/popup_bg.png
Normal file
After Width: | Height: | Size: 256 KiB |
After Width: | Height: | Size: 268 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 22 KiB |
BIN
view/molistar/activity/adventureTreasureHunt/images/ten_btn.png
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
view/molistar/activity/adventureTreasureHunt/images/time_bg.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
view/molistar/activity/adventureTreasureHunt/images/top_bg.png
Normal file
After Width: | Height: | Size: 123 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 160 KiB |
261
view/molistar/activity/adventureTreasureHunt/index.html
Normal file
@@ -0,0 +1,261 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title class="page_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="date Adventurers_gather">
|
||||
Adventurers gather! Treasure hunt challenge is on!
|
||||
</div>
|
||||
<div class="rule Rules">Rules</div>
|
||||
<div class="Record My_Record">My Record</div>
|
||||
<!-- 弹幕 -->
|
||||
<div class="danmu">
|
||||
<div id="my_container"></div>
|
||||
</div>
|
||||
<div class="bx_img"><img src="./images/baoxiang.png" alt="" /></div>
|
||||
<div class="Lottery_button">
|
||||
<div class="once" batch="false">
|
||||
<p class="title Bet1">1 Bet</p>
|
||||
<p class="txt Need100">Need 100 points</p>
|
||||
</div>
|
||||
<div class="Ten_times" batch="true">
|
||||
<p class="title Bet10">1 Bet</p>
|
||||
<p class="txt Need1000">Need 100 points</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tip_title">
|
||||
<div class="title Earn_explore">
|
||||
Earn points by participating, treasures are waiting for you to
|
||||
explore!
|
||||
</div>
|
||||
<div class="txt Join_complete">
|
||||
Join this adventure full of unknowns, and accumulate adventure points
|
||||
for each task you complete!
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- tab -->
|
||||
<div class="tab_list">
|
||||
<div class="Adventure_btn Adventure_Task acitve">Adventure Task</div>
|
||||
<div class="Adventure_btn Adventure_Ranking">Adventure mission</div>
|
||||
</div>
|
||||
<!-- 冒险任务 -->
|
||||
<div class="adventureTask">
|
||||
<div class="top"></div>
|
||||
<div class="content">
|
||||
<div class="time_box Reset_time"></div>
|
||||
<div class="recharge">
|
||||
<img src="./images/logo.png" alt="" class="avatar" />
|
||||
<div class="data_box">
|
||||
<div class="txt">
|
||||
<span class="Today_recharge"></span>
|
||||
<span class="Today_num">800</span>
|
||||
<img src="./images/coins.png" alt="" />
|
||||
</div>
|
||||
<div class="txt">
|
||||
<span class="Weekly_recharge"></span>
|
||||
<span class="Weekly_num">800</span>
|
||||
<img src="./images/coins.png" alt="" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tip_box">
|
||||
<div class="txt">
|
||||
<!-- <span class="Points_week"></span><span class="num weekScore">888</span> -->
|
||||
<!-- <img src="./images/arrow_right.png" alt="" /> -->
|
||||
<div class="left">
|
||||
<div><span class="Points_week"></span><span class="num weekScore">888</span></div>
|
||||
<div class="curScore_box"><span class="Remaining_week"></span><span class="num curScore">888</span></div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<span class="Details"></span>
|
||||
<img src="./images/arrow_right.png" alt="" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="Points_mission"></div>
|
||||
</div>
|
||||
<div class="task_list">
|
||||
<div class="top_img Adventure_Task"></div>
|
||||
<div class="title">
|
||||
<span class="Recharge_recharge"></span>
|
||||
<span class="num">+30%</span>
|
||||
</div>
|
||||
<div class="title">
|
||||
<span class="Link_Points"></span>
|
||||
<span class="num">+30%</span>
|
||||
</div>
|
||||
<div class="wrap"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom"></div>
|
||||
</div>
|
||||
<!-- 冒险排行 -->
|
||||
<div class="adventureRanking">
|
||||
<div class="top"></div>
|
||||
<div class="content">
|
||||
<div class="rank_list">
|
||||
<div class="rank_box">
|
||||
<div class="info">
|
||||
<div class="rank">1</div>
|
||||
<div class="user">
|
||||
<div class="avatar">
|
||||
<img src="./images/logo.png" alt="" class="touxiang">
|
||||
<img src="./images/touxiang_kuang.png" alt="" class="touxiang_kuang">
|
||||
</div>
|
||||
<div class="name">
|
||||
<div class="nick">Username</div>
|
||||
<div class="id">ID:123</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="points_btn">
|
||||
<span class="Points"></span>:11.11k
|
||||
</div>
|
||||
</div>
|
||||
<div class="gift_box">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom"></div>
|
||||
</div>
|
||||
<div class="bottomText"></div>
|
||||
|
||||
<div class="bottom_height"></div>
|
||||
<div class="my_Points">
|
||||
<div class="info">
|
||||
<div class="rank">1</div>
|
||||
<div class="user">
|
||||
<div class="avatar">
|
||||
<img src="./images/logo.png" alt="" class="touxiang">
|
||||
</div>
|
||||
<div class="name">
|
||||
<div class="nick">Username</div>
|
||||
<div class="id">ID:123</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="points_btn">
|
||||
<span class="Points"></span>:<span class="score"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="gift_box">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="popup_detail">
|
||||
<div class="popup_content">
|
||||
<div class="title Points_details">Points details</div>
|
||||
|
||||
<div class="detail_list"></div>
|
||||
|
||||
<div class="close_btn">
|
||||
<img src="./images/close_btn.png" alt="" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="popup_record">
|
||||
<div class="popup_content">
|
||||
<div class="title My_Record">My Record</div>
|
||||
<div class="record_tab">
|
||||
<div class="This_week active"></div>
|
||||
<div class="Last_week"></div>
|
||||
</div>
|
||||
<div class="detail_list">
|
||||
<div class="detail_box">
|
||||
<div class="left">
|
||||
<img src="./images/logo.png" alt="">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="title_desc">First recharge per week</div>
|
||||
<div class="time">2025-01-01 00:00:00</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="close_btn">
|
||||
<img src="./images/close_btn.png" alt="" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="popup_rlues">
|
||||
<div class="popup_content">
|
||||
<div class="title Rules">Rules</div>
|
||||
<div class="rules_txt"></div>
|
||||
<div class="close_btn">
|
||||
<img src="./images/close_btn.png" alt="" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="popup_treasure">
|
||||
<div class="popup_content">
|
||||
<div class="title Treasure">You Treasure</div>
|
||||
<div class="tip_txt ">
|
||||
<span class="Treasure_txt">Your treasure has been placed in your corresponding bag!</span>
|
||||
<span class="Treasure_txt2"></span>
|
||||
</div>
|
||||
<div class="gift_list">
|
||||
<div class="gift_box">
|
||||
<div class="img_box">
|
||||
<img src="./images/logo.png" alt="">
|
||||
</div>
|
||||
<div class="gift_name">头饰*12Days</div>
|
||||
</div>
|
||||
<div class="gift_box">
|
||||
<div class="img_box">
|
||||
<img src="./images/logo.png" alt="">
|
||||
</div>
|
||||
<div class="gift_name">头饰*12Days</div>
|
||||
</div>
|
||||
<div class="gift_box">
|
||||
<div class="img_box">
|
||||
<img src="./images/logo.png" alt="">
|
||||
</div>
|
||||
<div class="gift_name">头饰*12Days</div>
|
||||
</div>
|
||||
<div class="gift_box">
|
||||
<div class="img_box">
|
||||
<img src="./images/logo.png" alt="">
|
||||
</div>
|
||||
<div class="gift_name">头饰*12Days</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="close_btn">
|
||||
<img src="./images/close_btn.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="../../common/js/svga.min.js"></script>
|
||||
<script src="./local/en.js"></script>
|
||||
<script src="./local/zh.js"></script>
|
||||
<script src="./local/ar.js"></script>
|
||||
<script src="./local/tr.js"></script>
|
||||
<script src="./js/index.js"></script>
|
||||
<script src="../../common/local/langHandler.js"></script>
|
||||
<script src="./js/danmaku.js"></script>
|
564
view/molistar/activity/adventureTreasureHunt/js/danmaku.js
Normal file
@@ -0,0 +1,564 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
||||
typeof define === 'function' && define.amd ? define(factory) :
|
||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Danmaku = factory());
|
||||
}(this, (function () { 'use strict';
|
||||
|
||||
var transform = (function() {
|
||||
/* istanbul ignore next */
|
||||
if (typeof document === 'undefined') return 'transform';
|
||||
var properties = [
|
||||
'oTransform', // Opera 11.5
|
||||
'msTransform', // IE 9
|
||||
'mozTransform',
|
||||
'webkitTransform',
|
||||
'transform'
|
||||
];
|
||||
var style = document.createElement('div').style;
|
||||
for (var i = 0; i < properties.length; i++) {
|
||||
/* istanbul ignore else */
|
||||
if (properties[i] in style) {
|
||||
return properties[i];
|
||||
}
|
||||
}
|
||||
/* istanbul ignore next */
|
||||
return 'transform';
|
||||
}());
|
||||
|
||||
function createCommentNode(cmt) {
|
||||
var node = document.createElement('div');
|
||||
node.style.cssText = 'position:absolute;';
|
||||
if (typeof cmt.render === 'function') {
|
||||
var $el = cmt.render();
|
||||
if ($el instanceof HTMLElement) {
|
||||
node.appendChild($el);
|
||||
return node;
|
||||
}
|
||||
}
|
||||
node.textContent = cmt.text;
|
||||
if (cmt.style) {
|
||||
for (var key in cmt.style) {
|
||||
node.style[key] = cmt.style[key];
|
||||
}
|
||||
}
|
||||
return node;
|
||||
}
|
||||
|
||||
function init() {
|
||||
var stage = document.createElement('div');
|
||||
stage.style.cssText = 'overflow:hidden;white-space:nowrap;transform:translateZ(0);';
|
||||
return stage;
|
||||
}
|
||||
|
||||
function clear(stage) {
|
||||
var lc = stage.lastChild;
|
||||
while (lc) {
|
||||
stage.removeChild(lc);
|
||||
lc = stage.lastChild;
|
||||
}
|
||||
}
|
||||
|
||||
function resize(stage, width, height) {
|
||||
stage.style.width = '100%';
|
||||
stage.style.height = '100%';
|
||||
}
|
||||
|
||||
function framing() {
|
||||
//
|
||||
}
|
||||
|
||||
function setup(stage, comments) {
|
||||
var df = document.createDocumentFragment();
|
||||
var i = 0;
|
||||
var cmt = null;
|
||||
for (i = 0; i < comments.length; i++) {
|
||||
cmt = comments[i];
|
||||
cmt.node = cmt.node || createCommentNode(cmt);
|
||||
df.appendChild(cmt.node);
|
||||
}
|
||||
if (comments.length) {
|
||||
stage.appendChild(df);
|
||||
}
|
||||
for (i = 0; i < comments.length; i++) {
|
||||
cmt = comments[i];
|
||||
cmt.width = cmt.width || cmt.node.offsetWidth;
|
||||
cmt.height = cmt.height || cmt.node.offsetHeight;
|
||||
}
|
||||
}
|
||||
|
||||
function render(stage, cmt) {
|
||||
cmt.node.style[transform] = 'translate(' + cmt.x + 'px,' + cmt.y + 'px)';
|
||||
}
|
||||
|
||||
/* eslint no-invalid-this: 0 */
|
||||
function remove(stage, cmt) {
|
||||
stage.removeChild(cmt.node);
|
||||
/* istanbul ignore else */
|
||||
if (!this.media) {
|
||||
cmt.node = null;
|
||||
}
|
||||
}
|
||||
|
||||
var domEngine = {
|
||||
name: 'dom',
|
||||
init: init,
|
||||
clear: clear,
|
||||
resize: resize,
|
||||
framing: framing,
|
||||
setup: setup,
|
||||
render: render,
|
||||
remove: remove,
|
||||
};
|
||||
|
||||
var raf =
|
||||
(
|
||||
typeof window !== 'undefined' &&
|
||||
(
|
||||
window.requestAnimationFrame ||
|
||||
window.mozRequestAnimationFrame ||
|
||||
window.webkitRequestAnimationFrame
|
||||
)
|
||||
) ||
|
||||
function(cb) {
|
||||
return setTimeout(cb, 50 / 3);
|
||||
};
|
||||
|
||||
var caf =
|
||||
(
|
||||
typeof window !== 'undefined' &&
|
||||
(
|
||||
window.cancelAnimationFrame ||
|
||||
window.mozCancelAnimationFrame ||
|
||||
window.webkitCancelAnimationFrame
|
||||
)
|
||||
) ||
|
||||
clearTimeout;
|
||||
|
||||
function binsearch(arr, prop, key) {
|
||||
var mid = 0;
|
||||
var left = 0;
|
||||
var right = arr.length;
|
||||
while (left < right - 1) {
|
||||
mid = (left + right) >> 1;
|
||||
if (key >= arr[mid][prop]) {
|
||||
left = mid;
|
||||
} else {
|
||||
right = mid;
|
||||
}
|
||||
}
|
||||
if (arr[left] && key < arr[left][prop]) {
|
||||
return left;
|
||||
}
|
||||
return right;
|
||||
}
|
||||
|
||||
|
||||
function formatMode(mode) {
|
||||
if (!/^(ltr|top|bottom)$/i.test(mode)) {
|
||||
return 'rtl';
|
||||
}
|
||||
return mode.toLowerCase();
|
||||
}
|
||||
|
||||
function collidableRange() {
|
||||
var max = 9007199254740991;
|
||||
return [
|
||||
{ range: 0, time: -max, width: max, height: 0 },
|
||||
{ range: max, time: max, width: 0, height: 0 }
|
||||
];
|
||||
}
|
||||
|
||||
function resetSpace(space) {
|
||||
space.ltr = collidableRange();
|
||||
space.rtl = collidableRange();
|
||||
space.top = collidableRange();
|
||||
space.bottom = collidableRange();
|
||||
}
|
||||
|
||||
function now() {
|
||||
return typeof window.performance !== 'undefined' && window.performance.now
|
||||
? window.performance.now()
|
||||
: Date.now();
|
||||
}
|
||||
|
||||
/* eslint no-invalid-this: 0 */
|
||||
function allocate(cmt) {
|
||||
var that = this;
|
||||
var ct = this.media ? this.media.currentTime : now() / 1000;
|
||||
var pbr = this.media ? this.media.playbackRate : 1;
|
||||
function willCollide(cr, cmt) {
|
||||
if (cmt.mode === 'top' || cmt.mode === 'bottom') {
|
||||
return ct - cr.time < that._.duration;
|
||||
}
|
||||
var crTotalWidth = that._.width + cr.width;
|
||||
var crElapsed = crTotalWidth * (ct - cr.time) * pbr / that._.duration;
|
||||
if (cr.width > crElapsed) {
|
||||
return true;
|
||||
}
|
||||
// (rtl mode) the right end of `cr` move out of left side of stage
|
||||
var crLeftTime = that._.duration + cr.time - ct;
|
||||
var cmtTotalWidth = that._.width + cmt.width;
|
||||
var cmtTime = that.media ? cmt.time : cmt._utc;
|
||||
var cmtElapsed = cmtTotalWidth * (ct - cmtTime) * pbr / that._.duration;
|
||||
var cmtArrival = that._.width - cmtElapsed;
|
||||
// (rtl mode) the left end of `cmt` reach the left side of stage
|
||||
var cmtArrivalTime = that._.duration * cmtArrival / (that._.width + cmt.width);
|
||||
return crLeftTime > cmtArrivalTime;
|
||||
}
|
||||
var crs = this._.space[cmt.mode];
|
||||
var last = 0;
|
||||
var curr = 0;
|
||||
for (var i = 1; i < crs.length; i++) {
|
||||
var cr = crs[i];
|
||||
var requiredRange = cmt.height;
|
||||
if (cmt.mode === 'top' || cmt.mode === 'bottom') {
|
||||
requiredRange += cr.height;
|
||||
}
|
||||
if (cr.range - cr.height - crs[last].range >= requiredRange) {
|
||||
curr = i;
|
||||
break;
|
||||
}
|
||||
if (willCollide(cr, cmt)) {
|
||||
last = i;
|
||||
}
|
||||
}
|
||||
var channel = crs[last].range;
|
||||
var crObj = {
|
||||
range: channel + cmt.height,
|
||||
time: this.media ? cmt.time : cmt._utc,
|
||||
width: cmt.width,
|
||||
height: cmt.height
|
||||
};
|
||||
crs.splice(last + 1, curr - last - 1, crObj);
|
||||
|
||||
if (cmt.mode === 'bottom') {
|
||||
return this._.height - cmt.height - channel % this._.height;
|
||||
}
|
||||
return channel % (this._.height - cmt.height);
|
||||
}
|
||||
|
||||
/* eslint no-invalid-this: 0 */
|
||||
function createEngine(framing, setup, render, remove) {
|
||||
return function(_timestamp) {
|
||||
framing(this._.stage);
|
||||
var timestamp = _timestamp || now();
|
||||
var dn = timestamp / 1000;
|
||||
var ct = this.media ? this.media.currentTime : dn;
|
||||
var pbr = this.media ? this.media.playbackRate : 1;
|
||||
var cmt = null;
|
||||
var cmtt = 0;
|
||||
var i = 0;
|
||||
for (i = this._.runningList.length - 1; i >= 0; i--) {
|
||||
cmt = this._.runningList[i];
|
||||
cmtt = this.media ? cmt.time : cmt._utc;
|
||||
if (ct - cmtt > this._.duration) {
|
||||
remove(this._.stage, cmt);
|
||||
this._.runningList.splice(i, 1);
|
||||
}
|
||||
}
|
||||
var pendingList = [];
|
||||
while (this._.position < this.comments.length) {
|
||||
cmt = this.comments[this._.position];
|
||||
cmtt = this.media ? cmt.time : cmt._utc;
|
||||
if (cmtt >= ct) {
|
||||
break;
|
||||
}
|
||||
// when clicking controls to seek, media.currentTime may changed before
|
||||
// `pause` event is fired, so here skips comments out of duration,
|
||||
// see https://github.com/weizhenye/Danmaku/pull/30 for details.
|
||||
if (ct - cmtt > this._.duration) {
|
||||
++this._.position;
|
||||
continue;
|
||||
}
|
||||
if (this.media) {
|
||||
cmt._utc = dn - (this.media.currentTime - cmt.time);
|
||||
}
|
||||
pendingList.push(cmt);
|
||||
++this._.position;
|
||||
}
|
||||
setup(this._.stage, pendingList);
|
||||
for (i = 0; i < pendingList.length; i++) {
|
||||
cmt = pendingList[i];
|
||||
cmt.y = allocate.call(this, cmt);
|
||||
this._.runningList.push(cmt);
|
||||
}
|
||||
for (i = 0; i < this._.runningList.length; i++) {
|
||||
cmt = this._.runningList[i];
|
||||
var totalWidth = this._.width + cmt.width;
|
||||
var elapsed = totalWidth * (dn - cmt._utc) * pbr / this._.duration;
|
||||
if (cmt.mode === 'ltr') cmt.x = elapsed - cmt.width;
|
||||
if (cmt.mode === 'rtl') cmt.x = this._.width - elapsed;
|
||||
if (cmt.mode === 'top' || cmt.mode === 'bottom') {
|
||||
cmt.x = (this._.width - cmt.width) >> 1;
|
||||
}
|
||||
render(this._.stage, cmt);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/* eslint no-invalid-this: 0 */
|
||||
function play() {
|
||||
if (!this._.visible || !this._.paused) {
|
||||
return this;
|
||||
}
|
||||
this._.paused = false;
|
||||
if (this.media) {
|
||||
for (var i = 0; i < this._.runningList.length; i++) {
|
||||
var cmt = this._.runningList[i];
|
||||
cmt._utc = now() / 1000 - (this.media.currentTime - cmt.time);
|
||||
}
|
||||
}
|
||||
var that = this;
|
||||
var engine = createEngine(
|
||||
this._.engine.framing.bind(this),
|
||||
this._.engine.setup.bind(this),
|
||||
this._.engine.render.bind(this),
|
||||
this._.engine.remove.bind(this)
|
||||
);
|
||||
function frame(timestamp) {
|
||||
engine.call(that, timestamp);
|
||||
that._.requestID = raf(frame);
|
||||
}
|
||||
this._.requestID = raf(frame);
|
||||
return this;
|
||||
}
|
||||
|
||||
/* eslint no-invalid-this: 0 */
|
||||
function pause() {
|
||||
if (!this._.visible || this._.paused) {
|
||||
return this;
|
||||
}
|
||||
this._.paused = true;
|
||||
caf(this._.requestID);
|
||||
this._.requestID = 0;
|
||||
return this;
|
||||
}
|
||||
|
||||
/* eslint no-invalid-this: 0 */
|
||||
function seek() {
|
||||
if (!this.media) {
|
||||
return this;
|
||||
}
|
||||
this.clear();
|
||||
resetSpace(this._.space);
|
||||
var position = binsearch(this.comments, 'time', this.media.currentTime);
|
||||
this._.position = Math.max(0, position - 1);
|
||||
return this;
|
||||
}
|
||||
|
||||
/* eslint no-invalid-this: 0 */
|
||||
function bindEvents(_) {
|
||||
_.play = play.bind(this);
|
||||
_.pause = pause.bind(this);
|
||||
_.seeking = seek.bind(this);
|
||||
this.media.addEventListener('play', _.play);
|
||||
this.media.addEventListener('pause', _.pause);
|
||||
this.media.addEventListener('playing', _.play);
|
||||
this.media.addEventListener('waiting', _.pause);
|
||||
this.media.addEventListener('seeking', _.seeking);
|
||||
}
|
||||
|
||||
/* eslint no-invalid-this: 0 */
|
||||
function unbindEvents(_) {
|
||||
this.media.removeEventListener('play', _.play);
|
||||
this.media.removeEventListener('pause', _.pause);
|
||||
this.media.removeEventListener('playing', _.play);
|
||||
this.media.removeEventListener('waiting', _.pause);
|
||||
this.media.removeEventListener('seeking', _.seeking);
|
||||
_.play = null;
|
||||
_.pause = null;
|
||||
_.seeking = null;
|
||||
}
|
||||
|
||||
/* eslint-disable no-invalid-this */
|
||||
function init$1(opt) {
|
||||
this._ = {};
|
||||
this.container = opt.container || document.createElement('div');
|
||||
this.media = opt.media;
|
||||
this._.visible = true;
|
||||
|
||||
/* eslint-disable no-undef */
|
||||
/* istanbul ignore next */
|
||||
{
|
||||
this.engine = 'dom';
|
||||
this._.engine = domEngine;
|
||||
}
|
||||
/* eslint-enable no-undef */
|
||||
this._.requestID = 0;
|
||||
|
||||
this._.speed = Math.max(0, opt.speed) || 144;
|
||||
this._.duration = 4;
|
||||
|
||||
this.comments = opt.comments || [];
|
||||
this.comments.sort(function(a, b) {
|
||||
return a.time - b.time;
|
||||
});
|
||||
for (var i = 0; i < this.comments.length; i++) {
|
||||
this.comments[i].mode = formatMode(this.comments[i].mode);
|
||||
}
|
||||
this._.runningList = [];
|
||||
this._.position = 0;
|
||||
|
||||
this._.paused = true;
|
||||
if (this.media) {
|
||||
this._.listener = {};
|
||||
bindEvents.call(this, this._.listener);
|
||||
}
|
||||
|
||||
this._.stage = this._.engine.init(this.container);
|
||||
this._.stage.style.cssText += 'position:relative;pointer-events:none;';
|
||||
|
||||
this.resize();
|
||||
this.container.appendChild(this._.stage);
|
||||
|
||||
this._.space = {};
|
||||
resetSpace(this._.space);
|
||||
|
||||
if (!this.media || !this.media.paused) {
|
||||
seek.call(this);
|
||||
play.call(this);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/* eslint-disable no-invalid-this */
|
||||
function destroy() {
|
||||
if (!this.container) {
|
||||
return this;
|
||||
}
|
||||
|
||||
pause.call(this);
|
||||
this.clear();
|
||||
this.container.removeChild(this._.stage);
|
||||
if (this.media) {
|
||||
unbindEvents.call(this, this._.listener);
|
||||
}
|
||||
for (var key in this) {
|
||||
/* istanbul ignore else */
|
||||
if (Object.prototype.hasOwnProperty.call(this, key)) {
|
||||
this[key] = null;
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
var properties = ['mode', 'time', 'text', 'render', 'style'];
|
||||
|
||||
/* eslint-disable no-invalid-this */
|
||||
function emit(obj) {
|
||||
if (!obj || Object.prototype.toString.call(obj) !== '[object Object]') {
|
||||
return this;
|
||||
}
|
||||
var cmt = {};
|
||||
for (var i = 0; i < properties.length; i++) {
|
||||
if (obj[properties[i]] !== undefined) {
|
||||
cmt[properties[i]] = obj[properties[i]];
|
||||
}
|
||||
}
|
||||
cmt.text = (cmt.text || '').toString();
|
||||
cmt.mode = formatMode(cmt.mode);
|
||||
cmt._utc = now() / 1000;
|
||||
if (this.media) {
|
||||
var position = 0;
|
||||
if (cmt.time === undefined) {
|
||||
cmt.time = this.media.currentTime;
|
||||
position = this._.position;
|
||||
} else {
|
||||
position = binsearch(this.comments, 'time', cmt.time);
|
||||
if (position < this._.position) {
|
||||
this._.position += 1;
|
||||
}
|
||||
}
|
||||
this.comments.splice(position, 0, cmt);
|
||||
} else {
|
||||
this.comments.push(cmt);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/* eslint-disable no-invalid-this */
|
||||
function show() {
|
||||
if (this._.visible) {
|
||||
return this;
|
||||
}
|
||||
this._.visible = true;
|
||||
if (this.media && this.media.paused) {
|
||||
return this;
|
||||
}
|
||||
seek.call(this);
|
||||
play.call(this);
|
||||
return this;
|
||||
}
|
||||
|
||||
/* eslint-disable no-invalid-this */
|
||||
function hide() {
|
||||
if (!this._.visible) {
|
||||
return this;
|
||||
}
|
||||
pause.call(this);
|
||||
this.clear();
|
||||
this._.visible = false;
|
||||
return this;
|
||||
}
|
||||
|
||||
/* eslint-disable no-invalid-this */
|
||||
function clear$1() {
|
||||
this._.engine.clear(this._.stage, this._.runningList);
|
||||
this._.runningList = [];
|
||||
return this;
|
||||
}
|
||||
|
||||
/* eslint-disable no-invalid-this */
|
||||
function resize$1() {
|
||||
this._.width = this.container.offsetWidth;
|
||||
this._.height = this.container.offsetHeight;
|
||||
this._.engine.resize(this._.stage, this._.width, this._.height);
|
||||
this._.duration = this._.width / this._.speed;
|
||||
return this;
|
||||
}
|
||||
|
||||
var speed = {
|
||||
get: function() {
|
||||
return this._.speed;
|
||||
},
|
||||
set: function(s) {
|
||||
if (typeof s !== 'number' ||
|
||||
isNaN(s) ||
|
||||
!isFinite(s) ||
|
||||
s <= 0) {
|
||||
return this._.speed;
|
||||
}
|
||||
this._.speed = s;
|
||||
if (this._.width) {
|
||||
this._.duration = this._.width / s;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
};
|
||||
|
||||
function Danmaku(opt) {
|
||||
opt && init$1.call(this, opt);
|
||||
}
|
||||
Danmaku.prototype.destroy = function() {
|
||||
return destroy.call(this);
|
||||
};
|
||||
Danmaku.prototype.emit = function(cmt) {
|
||||
return emit.call(this, cmt);
|
||||
};
|
||||
Danmaku.prototype.show = function() {
|
||||
return show.call(this);
|
||||
};
|
||||
Danmaku.prototype.hide = function() {
|
||||
return hide.call(this);
|
||||
};
|
||||
Danmaku.prototype.clear = function() {
|
||||
return clear$1.call(this);
|
||||
};
|
||||
Danmaku.prototype.resize = function() {
|
||||
return resize$1.call(this);
|
||||
};
|
||||
Object.defineProperty(Danmaku.prototype, 'speed', speed);
|
||||
|
||||
return Danmaku;
|
||||
|
||||
})));
|
563
view/molistar/activity/adventureTreasureHunt/js/index.js
Normal file
@@ -0,0 +1,563 @@
|
||||
let urlPrefix = getUrlPrefix()
|
||||
let browser = checkVersion()
|
||||
let env = EnvCheck();
|
||||
if (env == 'test') {
|
||||
new VConsole();
|
||||
}
|
||||
// 封裝layer消息提醒框
|
||||
let layerIndex
|
||||
var langReplace;
|
||||
var localLang;
|
||||
const showLoading = (content = langReplace(localLang.demoModule.layerIndex1)) => {
|
||||
layer.open({
|
||||
type: 2,
|
||||
shadeClose: false,
|
||||
content,
|
||||
success(e) {
|
||||
layerIndex = $(e).attr('index')
|
||||
}
|
||||
})
|
||||
}
|
||||
const hideLoading = (index) => {
|
||||
layer.close(index)
|
||||
}
|
||||
const toastMsg = (content = langReplace(localLang.demoModule.layerIndex2), time = 2) => {
|
||||
layer.open({
|
||||
content,
|
||||
time,
|
||||
skin: 'msg'
|
||||
})
|
||||
}
|
||||
var countupTime;//倒计时容器
|
||||
// 弹幕专用
|
||||
let damuPool = [];
|
||||
let danmu = [];
|
||||
let timer2;
|
||||
// 初始化
|
||||
let danmaku;
|
||||
const initDanmu = () => {
|
||||
danmaku = new Danmaku({
|
||||
container: document.getElementById('my_container'),
|
||||
speed: 60,
|
||||
})
|
||||
setDanmuData();
|
||||
}
|
||||
const setDanmuData = () => {
|
||||
// damuPool = [
|
||||
// { avatar: './images/logo.png', bless: '我把思念写着天空', },
|
||||
// { avatar: './images/logo.png', bless: '我想永远陪着你', },
|
||||
// { avatar: './images/logo.png', bless: '我爱你我爱你甜蜜蜜', },
|
||||
// { avatar: './images/logo.png', bless: 'asdawdasdasdas', },
|
||||
// ]
|
||||
if (!timer2) {
|
||||
timer2 = setInterval(() => {
|
||||
if (!danmu.length) {
|
||||
danmu = [...damuPool]
|
||||
// // 弹幕已经播放完毕,清除定时器
|
||||
// clearInterval(timer2);
|
||||
// timer2 = null;
|
||||
// console.log('弹幕已播放完毕');
|
||||
// return;
|
||||
}
|
||||
let danmushoot = danmu.shift();
|
||||
if (danmushoot) {
|
||||
renderDM(danmushoot);
|
||||
}
|
||||
}, 1500);
|
||||
}
|
||||
}
|
||||
const renderDM = (item) => {
|
||||
danmaku.resize();
|
||||
danmaku.emit({
|
||||
mode: window.lang.code == 'ar' ? 'ltr' : 'rtl',
|
||||
render: function () {
|
||||
var $div = document.createElement('div');
|
||||
$div.innerHTML = `
|
||||
<div class="my_container_in">
|
||||
<img src="${item.user.avatar}" alt="" class="tx">
|
||||
<span>${item.user.nick} </span>
|
||||
<span>${langReplace(localLang.demoModule.Won)}</span>
|
||||
<img src="${item.type == 8 ? './images/coins.png' : item.icon}" alt="" class="tx">
|
||||
|
||||
</div>`
|
||||
return $div;
|
||||
},
|
||||
})
|
||||
}
|
||||
var countupTime;//倒计时容器
|
||||
var page = 0;
|
||||
var maxPage = 0;
|
||||
var arr = [];
|
||||
var lists = [];
|
||||
var list = [];
|
||||
var listType = 0;
|
||||
// 初始化函數
|
||||
$(function () {
|
||||
getInfoFromClient();
|
||||
fuzzyMatchUpdateQueryStringParameterFun(); // 判断语言
|
||||
setTimeout(function () {
|
||||
// 頁面全屏
|
||||
if (browser.app) {
|
||||
if (browser.android) {
|
||||
window.androidJsObj.initShowNav(false)
|
||||
} else {
|
||||
window.webkit.messageHandlers.initShowNav.postMessage(0)
|
||||
}
|
||||
};
|
||||
// 頂部返回事件
|
||||
$('.back img').click(() => {
|
||||
if (browser.android) {
|
||||
window.androidJsObj.closeWebView()
|
||||
} else {
|
||||
window.webkit.messageHandlers.closeWebView.postMessage(null)
|
||||
}
|
||||
})
|
||||
fuzzyMatchUpdateQueryStringParameterFun(); // 判断语言
|
||||
langReplace = window.lang.replace;
|
||||
localLang = window.lang;
|
||||
initDanmu();
|
||||
translateFun();
|
||||
// blessGetConfig();
|
||||
// questionConfig();
|
||||
getData();
|
||||
}, 100)
|
||||
})
|
||||
function translateFun() {
|
||||
var langReplace = window.lang.replace;
|
||||
var localLang = window.lang;
|
||||
$('.page_title').html(langReplace(localLang.demoModule.page_title));
|
||||
$('.rule').html(langReplace(localLang.demoModule.Rules));
|
||||
$('.My_Record').html(langReplace(localLang.demoModule.My_Record));
|
||||
$('.Bet1').html(langReplace(localLang.demoModule.Bet1));
|
||||
$('.Bet10').html(langReplace(localLang.demoModule.Bet10));
|
||||
$('.Need1000').html(langReplace(localLang.demoModule.Need1000));
|
||||
$('.Need100').html(langReplace(localLang.demoModule.Need100));
|
||||
$('.Adventure_Task').html(langReplace(localLang.demoModule.Adventure_Task));
|
||||
$('.Adventure_Ranking').html(langReplace(localLang.demoModule.Adventure_Ranking));
|
||||
|
||||
$('.Today_recharge').html(langReplace(localLang.demoModule.Today_recharge));
|
||||
$('.Weekly_recharge').html(langReplace(localLang.demoModule.Weekly_recharge));
|
||||
$('.Points_week').html(langReplace(localLang.demoModule.Points_week));
|
||||
$('.Points_mission').html(langReplace(localLang.demoModule.Points_mission));
|
||||
$('.Points').html(langReplace(localLang.demoModule.Points));
|
||||
$('.Recharge_recharge').html(langReplace(localLang.demoModule.Recharge_recharge));
|
||||
$('.Link_Points').html(langReplace(localLang.demoModule.Link_Points));
|
||||
if (browser.ios) {
|
||||
$('.bottomText').text(langReplace(localLang.demoModule.bottom_textios))
|
||||
} else {
|
||||
$('.bottomText').text(langReplace(localLang.demoModule.bottom_text))
|
||||
}
|
||||
$('.Points_details').text(langReplace(localLang.demoModule.Points_details))
|
||||
$('.This_week').text(langReplace(localLang.demoModule.This_week))
|
||||
$('.Last_week').text(langReplace(localLang.demoModule.Last_week))
|
||||
$('.rules_txt').html(langReplace(localLang.demoModule.rules_txt))
|
||||
$('.Treasure').html(langReplace(localLang.demoModule.Treasure))
|
||||
$('.Treasure_txt').html(langReplace(localLang.demoModule.Treasure_txt))
|
||||
$('.Treasure_txt2').html(langReplace(localLang.demoModule.Treasure_txt2))
|
||||
$('.Adventurers_gather').html(langReplace(localLang.demoModule.Adventurers_gather))
|
||||
$('.Earn_explore').html(langReplace(localLang.demoModule.Earn_explore))
|
||||
$('.Join_complete').html(langReplace(localLang.demoModule.Join_complete))
|
||||
$('.Remaining_week').html(langReplace(localLang.demoModule.Remaining_week))
|
||||
$('.Details').html(langReplace(localLang.demoModule.Details))
|
||||
|
||||
}
|
||||
// 页面1tab切换
|
||||
$('.tab_list div').click(function () {
|
||||
var i = $(this).index() + 1;
|
||||
$(this).addClass('acitve').siblings().removeClass('acitve');
|
||||
$(`.adventureTask,.adventureRanking,.bottom_height,.my_Points`).hide();
|
||||
if (i == 1) {
|
||||
$(`.adventureTask`).show();
|
||||
} else {
|
||||
$(`.adventureRanking,.bottom_height,.my_Points`).show();
|
||||
getlistRank()
|
||||
}
|
||||
})
|
||||
|
||||
// 中奖记录tab切换
|
||||
$('.record_tab div').click(function () {
|
||||
var i = $(this).index() + 1;
|
||||
$(this).addClass('active').siblings().removeClass('active');
|
||||
// if(i == 1){}
|
||||
if (i == 1) {
|
||||
renderinglistDrawRecord(false)
|
||||
} else {
|
||||
renderinglistDrawRecord(true)
|
||||
}
|
||||
})
|
||||
|
||||
// 更新进度条函数
|
||||
function updateProgress($progressBar, value, maxValue) {
|
||||
// 计算进度百分比
|
||||
const percentage = (value / maxValue) * 100;
|
||||
|
||||
// 更新进度条宽度
|
||||
$progressBar.css('width', `${percentage}%`);
|
||||
}
|
||||
// 积分排行榜
|
||||
function getlistRank() {
|
||||
showLoading()
|
||||
networkRequest({
|
||||
type: 'get',
|
||||
url: urlPrefix + '/chargeTreasure/listRank',
|
||||
success(res) {
|
||||
if (res.code === 200) {
|
||||
if(res.data.rankList && res.data.rankList.length>0){
|
||||
$('.adventureRanking .content .rank_list .rank_box').remove()
|
||||
let str = ''
|
||||
res.data.rankList.forEach((item, index) => {
|
||||
// 拼接礼物列表
|
||||
let giftStr = ''
|
||||
if (item.recordList && item.recordList.length > 0) {
|
||||
item.recordList.forEach((itemTwo, indexTwo) => {
|
||||
giftStr += `
|
||||
<div class="${index > 2 ? 'box_si' : 'box'}">
|
||||
<img src="${itemTwo.type == 8?'./images/coins.png':itemTwo.icon}" alt="">
|
||||
</div>
|
||||
`
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
str += `
|
||||
<div class="rank_box" style="${index > 2 ? 'background-image:url(./images/housi_bg.png)' : 'background-image:url(./images/qiansan_bg.png)'}">
|
||||
<div class="info">
|
||||
<div class="rank" style="color:${index > 2 ? '#FFFCD0' : '#2D2A00'}">${item.ranking}</div>
|
||||
<div class="user">
|
||||
<div class="avatar">
|
||||
<img src="${item.avatar}" alt="" class="touxiang">
|
||||
<img src="./images/touxiang_kuang.png" alt="" class="touxiang_kuang" style="${index > 2 ? 'display:none;' : ''}">
|
||||
</div>
|
||||
<div class="name">
|
||||
<div class="nick" style="color:${index > 2 ? '#FFFCD0' : '#2D2A00'}">${item.nick}</div>
|
||||
<div class="id" style="color:${index > 2 ? '#FFFCD0' : '#2D2A00'}">ID:${item.erbanNo}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="points_btn" style="${index == 0 ? 'display:none;' : ''}">
|
||||
<span class="Points">${langReplace(localLang.demoModule.Behind)}</span>:${unitProcessingAr(item.beHideScore, 2)}
|
||||
</div>
|
||||
</div>
|
||||
<div class="gift_box">
|
||||
${giftStr}
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
})
|
||||
$('.adventureRanking .content .rank_list').append(str)
|
||||
}
|
||||
|
||||
// 我的排行
|
||||
$('.my_Points .info .rank').text(res.data.meRank.ranking)
|
||||
$('.my_Points .info .user .avatar .touxiang').attr('src', res.data.meRank.avatar)
|
||||
$('.my_Points .info .user .name .nick').text(res.data.meRank.nick)
|
||||
$('.my_Points .info .user .name .id').text(`ID:${res.data.meRank.erbanNo}`)
|
||||
$('.my_Points .info .points_btn .score').text(unitProcessingAr(res.data.meRank.score, 2))
|
||||
$('.my_Points .gift_box .box').remove()
|
||||
if (res.data.meRank.recordList && res.data.meRank.recordList.length > 0) {
|
||||
let my_giftstr = ''
|
||||
res.data.meRank.recordList.forEach((item, index) => {
|
||||
my_giftstr += `
|
||||
<div class="box">
|
||||
<img src="${item.type == 8? './images/coins.png':item.icon}" alt="">
|
||||
</div>
|
||||
`
|
||||
})
|
||||
$('.my_Points .gift_box').append(my_giftstr)
|
||||
}
|
||||
} else {
|
||||
toastMsg(res.message)
|
||||
}
|
||||
hideLoading(layerIndex)
|
||||
},
|
||||
error(err) {
|
||||
hideLoading(layerIndex)
|
||||
toastMsg(langReplace(localLang.demoModule.layerIndex3))
|
||||
}
|
||||
})
|
||||
}
|
||||
function getData() {
|
||||
|
||||
showLoading()
|
||||
networkRequest({
|
||||
type: 'get',
|
||||
url: urlPrefix + '/chargeTreasure/homePage',
|
||||
success(res) {
|
||||
if (res.code === 200) {
|
||||
if (res.data.countDownSecond > 0) {
|
||||
countup(res.data.countDownSecond);
|
||||
}
|
||||
if (res.data.isRechargeUser) {
|
||||
$('.header .Record').hide();
|
||||
$('.header .Lottery_button').hide()
|
||||
$('.tab_list').hide();
|
||||
$('.adventureTask').hide()
|
||||
} else {
|
||||
renderingTask(res.data.taskList)
|
||||
$('.Today_num').text(res.data.todayChargeGoldNum)
|
||||
$('.Weekly_num').text(res.data.weekChargeGoldNum)
|
||||
$('.adventureTask .content .recharge .avatar').attr('src', res.data.user.avatar)
|
||||
$('.weekScore').text(res.data.weekScore)
|
||||
$('.curScore').text(res.data.curScore)
|
||||
}
|
||||
|
||||
|
||||
// 开启弹幕
|
||||
damuPool = res.data.popUpList;
|
||||
replayDanmu()
|
||||
} else {
|
||||
toastMsg(res.message)
|
||||
}
|
||||
hideLoading(layerIndex)
|
||||
},
|
||||
error(err) {
|
||||
hideLoading(layerIndex)
|
||||
toastMsg(langReplace(localLang.demoModule.layerIndex3))
|
||||
}
|
||||
})
|
||||
}
|
||||
// 重新开启弹幕
|
||||
function replayDanmu() {
|
||||
clearInterval(timer2); // 先清理之前的定时器
|
||||
timer2 = null;
|
||||
danmu = [...damuPool]; // 重新加载弹幕池
|
||||
setDanmuData(); // 启动播放
|
||||
}
|
||||
// 渲染任务列表
|
||||
function renderingTask(data) {
|
||||
$('.task_list .wrap .wrap_box').remove();
|
||||
let taskStr = ''
|
||||
data.forEach((item, index) => {
|
||||
taskStr += `
|
||||
<div class="wrap_box">
|
||||
<div class="left">
|
||||
<div class="title">${item.desc}</div>
|
||||
<div class="progress_container">
|
||||
<div class="progress_bar" data-index="${index}"></div>
|
||||
</div>
|
||||
<div class="process"> ${item.process + '/' + item.need} </div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="num">+${item.score}</div>
|
||||
<div class="Points">Points</div>
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
})
|
||||
$('.task_list .wrap').append(taskStr)
|
||||
// 再次遍历,单独更新每个进度条
|
||||
data.forEach((item, index) => {
|
||||
const $progressBar = $(`.task_list .wrap .progress_bar[data-index='${index}']`);
|
||||
if ($progressBar.length > 0) {
|
||||
updateProgress($progressBar, item.process, item.need);
|
||||
}
|
||||
});
|
||||
}
|
||||
// 我的点数明细
|
||||
function renderinglistScoreRecord() {
|
||||
showLoading()
|
||||
networkRequest({
|
||||
type: 'get',
|
||||
url: urlPrefix + '/chargeTreasure/listScoreRecord',
|
||||
success(res) {
|
||||
if (res.code === 200) {
|
||||
$('.popup_detail .popup_content .detail_list .detail_box').remove();
|
||||
let str = ''
|
||||
// <div class="Kimlik" style="display:${item.type == 2 ? 'block' : 'none'}">${langReplace(localLang.demoModule.Points)}+30%</div>
|
||||
|
||||
res.data.forEach((item, index) => {
|
||||
str += `
|
||||
<div class="detail_box">
|
||||
<div class="left">
|
||||
<div class="title_desc">${item.desc}</div>
|
||||
<div class="time">${item.createTime}</div>
|
||||
</div>
|
||||
<div class="right"> <span class="Points">${langReplace(localLang.demoModule.Points)}</span>${(item.type == 1 || item.type == 2)?'+':'-'}${item.score}</div>
|
||||
</div>
|
||||
`
|
||||
})
|
||||
$('.popup_detail .popup_content .detail_list').append(str)
|
||||
} else {
|
||||
toastMsg(res.message)
|
||||
}
|
||||
hideLoading(layerIndex)
|
||||
},
|
||||
error(err) {
|
||||
hideLoading(layerIndex)
|
||||
toastMsg(langReplace(localLang.demoModule.layerIndex3))
|
||||
}
|
||||
})
|
||||
}
|
||||
// 抽奖
|
||||
function treasureHunt(batch) {
|
||||
showLoading()
|
||||
networkRequest({
|
||||
type: 'get',
|
||||
url: urlPrefix + '/chargeTreasure/draw',
|
||||
data: {
|
||||
batch
|
||||
},
|
||||
success(res) {
|
||||
if (res.code === 200) {
|
||||
let str = ''
|
||||
$('.popup_treasure .gift_list .gift_box').remove()
|
||||
res.data.forEach((item, index) => {
|
||||
str += `
|
||||
<div class="gift_box">
|
||||
<div class="img_box">
|
||||
<img src="${item.type == 8 ? './images/coins.png' : item.pic}" alt="">
|
||||
</div>
|
||||
<div class="gift_name">${typeFanyi(item.type)}*${item.num} ${item.type == 8 ? '<img src="./images/coins.png" alt="">' : langReplace(localLang.demoModule.Days)} </div>
|
||||
</div>
|
||||
`
|
||||
})
|
||||
$('.popup_treasure .gift_list').append(str)
|
||||
$('.popup_treasure').show()
|
||||
getData();
|
||||
// setDanmuData();
|
||||
} else {
|
||||
toastMsg(res.message)
|
||||
}
|
||||
hideLoading(layerIndex)
|
||||
},
|
||||
error(err) {
|
||||
hideLoading(layerIndex)
|
||||
toastMsg(langReplace(localLang.demoModule.layerIndex3))
|
||||
}
|
||||
})
|
||||
}
|
||||
function typeFanyi(type) {
|
||||
switch (type) {
|
||||
case 1:
|
||||
return langReplace(localLang.demoModule.Headdress)
|
||||
case 2:
|
||||
return langReplace(localLang.demoModule.Nameplate)
|
||||
case 3:
|
||||
return langReplace(localLang.demoModule.Bubble)
|
||||
case 4:
|
||||
return langReplace(localLang.demoModule.Infocard)
|
||||
case 5:
|
||||
return langReplace(localLang.demoModule.Vehicle)
|
||||
case 6:
|
||||
return langReplace(localLang.demoModule.Gifts)
|
||||
case 8:
|
||||
return langReplace(localLang.demoModule.Coin)
|
||||
case 9:
|
||||
return langReplace(localLang.demoModule.Diamonds)
|
||||
case 10:
|
||||
return 'VIP'
|
||||
case 11:
|
||||
return langReplace(localLang.demoModule.Medal)
|
||||
case 12:
|
||||
return langReplace(localLang.demoModule.HomepageBackground)
|
||||
}
|
||||
}
|
||||
// 我的中奖记录
|
||||
function renderinglistDrawRecord(lastWeek) {
|
||||
showLoading()
|
||||
networkRequest({
|
||||
type: 'get',
|
||||
url: urlPrefix + '/chargeTreasure/listDrawRecord',
|
||||
data: {
|
||||
lastWeek
|
||||
},
|
||||
success(res) {
|
||||
if (res.code === 200) {
|
||||
$('.popup_record .popup_content .detail_list .detail_box').remove()
|
||||
let str = ''
|
||||
res.data.forEach((item, index) => {
|
||||
str += `
|
||||
<div class="detail_box">
|
||||
<div class="left">
|
||||
<img src="${item.type == 8?'./images/coins.png':item.icon}" alt="">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="title_desc">${typeFanyi(item.type)}*${item.num} ${item.type == 8 ? '<img src="./images/coins.png" alt="">' : langReplace(localLang.demoModule.Days)} </div>
|
||||
<div class="time">${item.createTime}</div>
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
})
|
||||
$('.popup_record .popup_content .detail_list').append(str)
|
||||
} else {
|
||||
toastMsg(res.message)
|
||||
}
|
||||
hideLoading(layerIndex)
|
||||
},
|
||||
error(err) {
|
||||
hideLoading(layerIndex)
|
||||
toastMsg(langReplace(localLang.demoModule.layerIndex3))
|
||||
}
|
||||
})
|
||||
}
|
||||
// 点击抽奖
|
||||
$('.Lottery_button div').click(function () {
|
||||
let batch = $(this).attr('batch')
|
||||
treasureHunt(batch)
|
||||
})
|
||||
|
||||
// 打开规则
|
||||
$('.header .rule').click(function () {
|
||||
$('.popup_rlues').show()
|
||||
})
|
||||
// 关闭规则
|
||||
$('.popup_rlues .close_btn').click(function () {
|
||||
$('.popup_rlues').hide()
|
||||
})
|
||||
// 打开中奖记录
|
||||
$('.header .Record').click(function () {
|
||||
renderinglistDrawRecord(false)
|
||||
$('.popup_record').show()
|
||||
})
|
||||
// 关闭中奖记录
|
||||
$('.popup_record .close_btn').click(function () {
|
||||
$('.popup_record').hide()
|
||||
})
|
||||
// 打开点数详情
|
||||
$('.adventureTask .content .tip_box .txt .right').click(function () {
|
||||
renderinglistScoreRecord();
|
||||
$('.popup_detail').show()
|
||||
})
|
||||
// 关闭点数详情
|
||||
$('.popup_detail .close_btn').click(function () {
|
||||
$('.popup_detail').hide()
|
||||
})
|
||||
// 关闭中奖弹窗
|
||||
$('.popup_treasure .close_btn').click(function () {
|
||||
$('.popup_treasure').hide()
|
||||
})
|
||||
// 倒計時
|
||||
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 = Math.floor(leftTime / 60 / 60 / 24);
|
||||
h = getzf(Math.floor(leftTime / 60 / 60 % 24));
|
||||
m = getzf(Math.floor(leftTime / 60 % 60));
|
||||
s = getzf(Math.floor(leftTime % 60));
|
||||
// console.log(d, h, m, s);
|
||||
$('.Reset_time').html(langReplace(localLang.demoModule.Reset_time(d, h + ':' + m + ':' + s)));
|
||||
} else {
|
||||
getData();
|
||||
}
|
||||
if (leftTime > 0) {
|
||||
leftTime = leftTime - 1;
|
||||
}
|
||||
countupTime = setTimeout(function () {
|
||||
countup(leftTime);
|
||||
}, 1000);
|
||||
}
|
||||
//补0操作
|
||||
function getzf(num) {
|
||||
if (parseInt(num) < 10) {
|
||||
num = '0' + num;
|
||||
}
|
||||
return num;
|
||||
}
|
62
view/molistar/activity/adventureTreasureHunt/local/ar.js
Normal file
@@ -0,0 +1,62 @@
|
||||
// 阿拉伯
|
||||
langAr = {
|
||||
// 模块
|
||||
demoModule: {
|
||||
layerIndex1: 'جار التحميل...',
|
||||
layerIndex2: 'اكتملت العملية',
|
||||
layerIndex3: 'خطأ في الشبكة، يرجى الخروج وإعادة الدخول',
|
||||
page_title:'تحدي البحث عن الكنز',
|
||||
Adventurers_gather:'يا مغامرين، انطلقوا! تحدي البحث عن الكنز',
|
||||
Rules:'القواعد',
|
||||
My_Record:'سجلي',
|
||||
Bet1:'رهان واحد',
|
||||
Bet10:'10 رهانات',
|
||||
Need1000:'مطلوب 1000 نقطة',
|
||||
Need100:'مطلوب 100 نقطة',
|
||||
Won:'فزت',
|
||||
Adventure_Task:'مهمة المغامرة',
|
||||
Adventure_Ranking:'تصنيف المغامرة',
|
||||
Reset_time:function(Days,times){
|
||||
return ':مدة الاسترداد'+Days+' أيام'+times
|
||||
},
|
||||
Today_recharge:'شحن اليوم:',
|
||||
Weekly_recharge:'شحن أسبوعي:',
|
||||
Points_week:'النقاط المكتسبة هذا الأسبوع:',
|
||||
Points_mission:'سيتم إعادة تعيين النقاط بنهاية مهمة هذا الأسبوع.',
|
||||
Recharge_recharge:'نقاط إعادة شحن وكيل إعادة الشحن',
|
||||
Points:'النقاط',
|
||||
Link_Points:'نقاط إعادة شحن الرابط',
|
||||
bottom_textios: `هذه الفعالية لا علاقة لها بـ Apple.`,
|
||||
bottom_text: `هذه الفعالية لا علاقة لها بـ Google.`,
|
||||
Points_details:'تفاصيل النقاط',
|
||||
This_week:'هذا الأسبوع',
|
||||
Last_week:'الأسبوع الماضي',
|
||||
rules_txt:`
|
||||
<p>1. أكمل المهام الأسبوعية للحصول على النقاط المقابلة.</p>
|
||||
<p>2. اشحن رصيدك عبر وكلاء الشحن وروابط H5 للحصول على نقاط إضافية.</p>
|
||||
<p>3. يمكنك استخدام النقاط المكتسبة للمشاركة في اليانصيب.</p>
|
||||
<p>4. سيتم إعادة تعيين النقاط والمهام الأسبوعية، لذا يُرجى الانتباه لاستخدامها وإكمالها في الوقت المحدد.</p>
|
||||
<p>5. لا علاقة لهذا النشاط بجوجل وآبل.</p>
|
||||
`,
|
||||
Treasure:'كنزك',
|
||||
Treasure_txt:'تم وضع كنزك في حقيبتك',
|
||||
Treasure_txt2:'جرّبها الآن ',
|
||||
Behind:'خلف',
|
||||
Earn_explore:'اربح نقاطًا بالمشاركة، كنوزٌ تنتظرك لتستكشفها',
|
||||
Join_complete:'.انضم إلى هذه المغامرة المليئة بالمجهول وجمع نقاط المغامرة لكل مهمة تكملها',
|
||||
Days:'أيام',
|
||||
Medal:'ميدالية',
|
||||
Nameplate:'لوحة اسم',
|
||||
Vehicle:'مركبة',
|
||||
Headdress:'غطاء رأس',
|
||||
Coin:'عملة معدنية',
|
||||
Bubble:'فقاعة',
|
||||
Diamonds:'ألماس',
|
||||
Gifts:'هدايا',
|
||||
HomepageBackground:'خلفية الصفحة الرئيسية',
|
||||
Infocard:'بطاقة معلومات',
|
||||
Remaining_week:'النقاط المتبقية هذا الأسبوع:',
|
||||
Details:'التفاصيل',
|
||||
}
|
||||
|
||||
}
|
62
view/molistar/activity/adventureTreasureHunt/local/en.js
Normal file
@@ -0,0 +1,62 @@
|
||||
// 英文
|
||||
langEn = {
|
||||
// 模块
|
||||
demoModule: {
|
||||
layerIndex1: 'Loading...',
|
||||
layerIndex2: 'Operation completed',
|
||||
layerIndex3: 'Network error, please exit and re-enter',
|
||||
page_title:'Treasure Hunt challenge',
|
||||
Adventurers_gather:'Adventurers gather! Treasure hunt challenge is on!',
|
||||
Rules:'Rules',
|
||||
My_Record:'My Record',
|
||||
Bet1:'1 Bet',
|
||||
Bet10:'10 Bet',
|
||||
Need1000:'Need 1000 points',
|
||||
Need100:'Need 100 points',
|
||||
Won:'Won',
|
||||
Adventure_Task:'Adventure Task',
|
||||
Adventure_Ranking:'Adventure Ranking',
|
||||
Reset_time:function(Days,times){
|
||||
return 'Reset time: '+Days+ ' Days ' + times
|
||||
},
|
||||
Today_recharge:'Today recharge:',
|
||||
Weekly_recharge:'Weekly recharge:',
|
||||
Points_week:'Points earned this week:',
|
||||
Points_mission:`Points will be reset at the end of this week's mission.`,
|
||||
Recharge_recharge:'Recharge agent recharge points',
|
||||
Points:'Points',
|
||||
Link_Points:'Link recharge Points',
|
||||
bottom_textios: `Event has nothing to do with Apple.`,
|
||||
bottom_text: `Event has nothing to do with Google.`,
|
||||
Points_details:'Points details',
|
||||
This_week:'This week',
|
||||
Last_week:'Last week',
|
||||
rules_txt:`
|
||||
<p>1 Complete weekly tasks to get corresponding points</p>
|
||||
<p>2 Recharge through recharge agents and H5 links to get extra points</p>
|
||||
<p>3 The points earned can be used to participate in the lottery</p>
|
||||
<p>4 Weekly points and tasks will be reset, please pay attention to use and complete them in time</p>
|
||||
<p>5 This activity has nothing to do with Google and Apple</p>
|
||||
`,
|
||||
Treasure:'You Treasure',
|
||||
Treasure_txt:'Your treasure has been placed in your corresponding bag!',
|
||||
Treasure_txt2:'Go and try it out~',
|
||||
Behind:'Behind',
|
||||
Earn_explore:'Earn points by participating, treasures are waiting for you to explore!',
|
||||
Join_complete:'Join this adventure full of unknowns, and accumulate adventure points for each task you complete! ',
|
||||
Days:'Days',
|
||||
Medal:'Medal',
|
||||
Nameplate:'Nameplate',
|
||||
Vehicle:'Vehicle',
|
||||
Headdress:'Headdress',
|
||||
Coin:'Coin',
|
||||
Bubble:'Bubble',
|
||||
Diamonds:'Diamonds',
|
||||
Gifts:'Gifts',
|
||||
HomepageBackground:'Homepage Background',
|
||||
Infocard:'Info card',
|
||||
Remaining_week:'Remaining Points this week:',
|
||||
Details:'Details',
|
||||
|
||||
}
|
||||
}
|
63
view/molistar/activity/adventureTreasureHunt/local/tr.js
Normal file
@@ -0,0 +1,63 @@
|
||||
// 土耳其
|
||||
langTr = {
|
||||
// 模塊
|
||||
demoModule: {
|
||||
layerIndex1: 'Loading...',
|
||||
layerIndex2: 'Operation completed',
|
||||
layerIndex3: 'Network error, please exit and re-enter',
|
||||
page_title:'Treasure Hunt challenge',
|
||||
Adventurers_gather:'Adventurers gather! Treasure hunt challenge is on!',
|
||||
Rules:'Rules',
|
||||
My_Record:'My Record',
|
||||
Bet1:'1 Bet',
|
||||
Bet10:'10 Bet',
|
||||
Need1000:'Need 1000 points',
|
||||
Need100:'Need 100 points',
|
||||
Won:'Won',
|
||||
Adventure_Task:'Adventure Task',
|
||||
Adventure_Ranking:'Adventure Ranking',
|
||||
Reset_time:function(Days,times){
|
||||
return 'Reset time: '+Days+ ' Days ' + times
|
||||
},
|
||||
Today_recharge:'Today recharge:',
|
||||
Weekly_recharge:'Weekly recharge:',
|
||||
Points_week:'Points earned this week:',
|
||||
Points_mission:`Points will be reset at the end of this week's mission.`,
|
||||
Recharge_recharge:'Recharge agent recharge points',
|
||||
Points:'Points',
|
||||
Link_Points:'Link recharge Points',
|
||||
bottom_textios: `Event has nothing to do with Apple.`,
|
||||
bottom_text: `Event has nothing to do with Google.`,
|
||||
Points_details:'Points details',
|
||||
This_week:'This week',
|
||||
Last_week:'Last week',
|
||||
rules_txt:`
|
||||
<p>1 Complete weekly tasks to get corresponding points</p>
|
||||
<p>2 Recharge through recharge agents and H5 links to get extra points</p>
|
||||
<p>3 The points earned can be used to participate in the lottery</p>
|
||||
<p>4 Weekly points and tasks will be reset, please pay attention to use and complete them in time</p>
|
||||
<p>5 This activity has nothing to do with Google and Apple</p>
|
||||
`,
|
||||
Treasure:'You Treasure',
|
||||
Treasure_txt:'Your treasure has been placed in your corresponding bag!',
|
||||
Treasure_txt2:'Go and try it out~',
|
||||
Behind:'Behind',
|
||||
Earn_explore:'Earn points by participating, treasures are waiting for you to explore!',
|
||||
Join_complete:'Join this adventure full of unknowns, and accumulate adventure points for each task you complete! ',
|
||||
Days:'Days',
|
||||
Medal:'Medal',
|
||||
Nameplate:'Nameplate',
|
||||
Vehicle:'Vehicle',
|
||||
Headdress:'Headdress',
|
||||
Coin:'Coin',
|
||||
Bubble:'Bubble',
|
||||
Diamonds:'Diamonds',
|
||||
Gifts:'Gifts',
|
||||
HomepageBackground:'Homepage Background',
|
||||
Infocard:'Info card',
|
||||
Remaining_week:'Remaining Points this week:',
|
||||
Details:'Details',
|
||||
|
||||
}
|
||||
|
||||
}
|
62
view/molistar/activity/adventureTreasureHunt/local/zh.js
Normal file
@@ -0,0 +1,62 @@
|
||||
// 英文
|
||||
langZh = {
|
||||
// 模块
|
||||
demoModule: {
|
||||
layerIndex1: 'Loading...',
|
||||
layerIndex2: 'Operation completed',
|
||||
layerIndex3: 'Network error, please exit and re-enter',
|
||||
page_title:'Treasure Hunt challenge',
|
||||
Adventurers_gather:'Adventurers gather! Treasure hunt challenge is on!',
|
||||
Rules:'Rules',
|
||||
My_Record:'My Record',
|
||||
Bet1:'1 Bet',
|
||||
Bet10:'10 Bet',
|
||||
Need1000:'Need 1000 points',
|
||||
Need100:'Need 100 points',
|
||||
Won:'Won',
|
||||
Adventure_Task:'Adventure Task',
|
||||
Adventure_Ranking:'Adventure Ranking',
|
||||
Reset_time:function(Days,times){
|
||||
return 'Reset time: '+Days+ ' Days ' + times
|
||||
},
|
||||
Today_recharge:'Today recharge:',
|
||||
Weekly_recharge:'Weekly recharge:',
|
||||
Points_week:'Points earned this week:',
|
||||
Points_mission:`Points will be reset at the end of this week's mission.`,
|
||||
Recharge_recharge:'Recharge agent recharge points',
|
||||
Points:'Points',
|
||||
Link_Points:'Link recharge Points',
|
||||
bottom_textios: `Event has nothing to do with Apple.`,
|
||||
bottom_text: `Event has nothing to do with Google.`,
|
||||
Points_details:'Points details',
|
||||
This_week:'This week',
|
||||
Last_week:'Last week',
|
||||
rules_txt:`
|
||||
<p>1 Complete weekly tasks to get corresponding points</p>
|
||||
<p>2 Recharge through recharge agents and H5 links to get extra points</p>
|
||||
<p>3 The points earned can be used to participate in the lottery</p>
|
||||
<p>4 Weekly points and tasks will be reset, please pay attention to use and complete them in time</p>
|
||||
<p>5 This activity has nothing to do with Google and Apple</p>
|
||||
`,
|
||||
Treasure:'You Treasure',
|
||||
Treasure_txt:'Your treasure has been placed in your corresponding bag!',
|
||||
Treasure_txt2:'Go and try it out~',
|
||||
Behind:'Behind',
|
||||
Earn_explore:'Earn points by participating, treasures are waiting for you to explore!',
|
||||
Join_complete:'Join this adventure full of unknowns, and accumulate adventure points for each task you complete! ',
|
||||
Days:'Days',
|
||||
Medal:'Medal',
|
||||
Nameplate:'Nameplate',
|
||||
Vehicle:'Vehicle',
|
||||
Headdress:'Headdress',
|
||||
Coin:'Coin',
|
||||
Bubble:'Bubble',
|
||||
Diamonds:'Diamonds',
|
||||
Gifts:'Gifts',
|
||||
HomepageBackground:'Homepage Background',
|
||||
Infocard:'Info card',
|
||||
Remaining_week:'Remaining Points this week:',
|
||||
Details:'Details',
|
||||
|
||||
}
|
||||
}
|