多语言话v1.0

This commit is contained in:
dragon
2024-04-11 15:49:47 +08:00
parent 7249f52b4a
commit bf4d72a029
452 changed files with 22044 additions and 2212 deletions

View File

@@ -43,17 +43,17 @@ body {
position: absolute;
left: 50%;
transform: translateX(-50%);
top: 2.64rem;
height: 1.81333rem;
width: 8.98667rem;
top: 3.25333rem;
height: 1.36rem;
width: 8.6rem;
}
.header .rule_rule {
width: 0.88rem;
height: 0.88rem;
width: 0.77333rem;
height: 0.77333rem;
position: absolute;
top: 4.53333rem;
right: 0.26667rem;
top: 4.77333rem;
right: 0.4rem;
}
.header .text {
@@ -87,14 +87,11 @@ body {
.bg {
width: 100%;
height: 48.10667rem;
background: url(../images/bg.png) no-repeat;
background-size: 100% 100%;
position: relative;
margin: -0.56rem auto 0;
overflow: hidden;
box-sizing: border-box;
padding-top: 1.12rem;
}
.bg .myInfo {
@@ -102,7 +99,7 @@ body {
height: 4.06667rem;
background: url(../images/myInfo.png) no-repeat;
background-size: 100% 100%;
margin: 0 auto 0.26667rem;
margin: 1.12rem auto 0.26667rem;
position: relative;
}
@@ -127,7 +124,7 @@ body {
.bg .myInfo .invitationCode {
position: absolute;
right: 1.06667rem;
right: 0.66667rem;
top: 1.18667rem;
font-size: 0.64rem;
font-weight: normal;
@@ -185,7 +182,6 @@ body {
margin: 0 auto 0.26667rem;
background: url(../images/myIncomeBg.png) no-repeat;
background-size: 100% 100%;
z-index: 2;
}
.bg .myIncome img {
@@ -527,7 +523,7 @@ body {
transform: translateX(-50%);
top: 0.26667rem;
color: #fff;
font-size: 0.26667rem;
font-size: 0.24rem;
font-weight: 500;
}
@@ -654,7 +650,7 @@ body {
.bg .rule .rule2 .table1_3 {
width: 8.13333rem;
height: 0.8rem;
line-height: 0.33333rem;
line-height: 0.8rem;
display: flex;
justify-content: space-between;
position: absolute;
@@ -675,7 +671,7 @@ body {
.bg .rule .rule2 .table1_4 {
width: 8.13333rem;
height: 0.8rem;
line-height: 0.33333rem;
line-height: 0.8rem;
display: flex;
justify-content: space-between;
position: absolute;
@@ -717,7 +713,7 @@ body {
.bg .rule .rule2 .table2_2 {
width: 8.13333rem;
height: 0.8rem;
line-height: 0.33333rem;
line-height: 0.8rem;
display: flex;
justify-content: space-between;
position: absolute;
@@ -738,7 +734,7 @@ body {
.bg .rule .rule2 .table2_3 {
width: 8.13333rem;
height: 0.8rem;
line-height: 0.33333rem;
line-height: 0.8rem;
display: flex;
justify-content: space-between;
position: absolute;
@@ -782,7 +778,7 @@ body {
margin: 0 auto 0.53333rem;
text-align: center;
color: #FFFFFF;
font-size: 0.48rem;
font-size: 0.37333rem;
font-weight: 400;
}
@@ -821,7 +817,6 @@ body {
font-size: 0.21333rem;
display: none;
z-index: 3;
padding: 0 0.13333rem;
}
.code {
@@ -847,7 +842,7 @@ body {
.code .p1 {
position: absolute;
color: #FFFFFF;
font-size: 0.21333rem;
font-size: 0.18667rem;
position: absolute;
left: 50%;
transform: translateX(-47%);
@@ -859,14 +854,13 @@ body {
.code .p2 {
position: absolute;
color: #FFFFFF;
font-size: 0.21333rem;
font-size: 0.18667rem;
position: absolute;
left: 50%;
transform: translateX(-47%);
top: 0.66667rem;
width: 100%;
text-align: center;
vertical-align: middle;
}
.code .p2 .diamond {

View File

@@ -48,17 +48,17 @@ body {
position: absolute;
left: 50%;
transform: translateX(-50%);
top: px2rem(198);
height: px2rem(136);
width: px2rem(674);
top: px2rem(244);
height: px2rem(102);
width: px2rem(645);
}
.rule_rule {
width: px2rem(66);
height: px2rem(66);
width: px2rem(58);
height: px2rem(58);
position: absolute;
top: px2rem(340);
right: px2rem(20);
top: px2rem(358);
right: px2rem(30);
}
.text {
@@ -93,21 +93,19 @@ body {
.bg {
width: 100%;
height: px2rem(3608);
// height: px2rem(3608);
background: url(../images/bg.png) no-repeat;
background-size: 100% 100%;
position: relative;
margin: px2rem(-42) auto 0;
overflow: hidden;
box-sizing: border-box;
padding-top: px2rem(84);
.myInfo {
width: px2rem(690);
height: px2rem(305);
background: url(../images/myInfo.png) no-repeat;
background-size: 100% 100%;
margin: 0 auto px2rem(20);
margin: px2rem(84) auto px2rem(20);
position: relative;
.tx {
@@ -131,7 +129,7 @@ body {
.invitationCode {
position: absolute;
right: px2rem(80);
right: px2rem(50);
top: px2rem(89);
font-size: px2rem(48);
font-weight: normal;
@@ -190,7 +188,7 @@ body {
margin: 0 auto px2rem(20);
background: url(../images/myIncomeBg.png) no-repeat;
background-size: 100% 100%;
z-index: 2;
img {
position: absolute;
width: px2rem(44);
@@ -530,7 +528,7 @@ body {
transform: translateX(-50%);
top: px2rem(20);
color: #fff;
font-size: px2rem(20);
font-size: px2rem(18);
font-weight: 500;
}
@@ -657,7 +655,7 @@ body {
.table1_3 {
width: px2rem(610);
height: px2rem(60);
line-height: px2rem(25);
line-height: px2rem(60);
display: flex;
justify-content: space-between;
position: absolute;
@@ -678,7 +676,7 @@ body {
.table1_4 {
width: px2rem(610);
height: px2rem(60);
line-height: px2rem(25);
line-height: px2rem(60);
display: flex;
justify-content: space-between;
position: absolute;
@@ -720,7 +718,7 @@ body {
.table2_2 {
width: px2rem(610);
height: px2rem(60);
line-height: px2rem(25);
line-height: px2rem(60);
display: flex;
justify-content: space-between;
position: absolute;
@@ -741,7 +739,7 @@ body {
.table2_3 {
width: px2rem(610);
height: px2rem(60);
line-height: px2rem(25);
line-height: px2rem(60);
display: flex;
justify-content: space-between;
position: absolute;
@@ -787,7 +785,7 @@ body {
margin: 0 auto px2rem(40);
text-align: center;
color: #FFFFFF;
font-size: px2rem(36);
font-size: px2rem(28);
font-weight: 400;
}
@@ -827,7 +825,6 @@ body {
font-size: px2rem(16);
display: none;
z-index: 3;
padding: 0 px2rem(10);
}
.code {
@@ -852,7 +849,7 @@ body {
.p1 {
position: absolute;
color: #FFFFFF;
font-size: px2rem(16);
font-size: px2rem(14);
position: absolute;
left: 50%;
transform: translateX(-47%);
@@ -864,14 +861,13 @@ body {
.p2 {
position: absolute;
color: #FFFFFF;
font-size: px2rem(16);
font-size: px2rem(14);
position: absolute;
left: 50%;
transform: translateX(-47%);
top: px2rem(50);
width: 100%;
text-align: center;
vertical-align: middle;
.diamond {
width: px2rem(24);

View File

@@ -14,22 +14,12 @@ body {
}
.header .swiper {
width: 6.4rem;
width: 9.26667rem;
height: 9.64rem;
position: relative;
left: 50%;
transform: translateX(-79%);
top: 5.2rem;
}
.header .swiper .swiper-wrapper {
width: 100%;
height: 100%;
}
.header .swiper .swiper-wrapper img {
display: block;
width: 100%;
height: 100%;
transform: translateX(-53%);
top: 6.72rem;
}
.box {
@@ -49,7 +39,7 @@ body {
line-height: 1.22667rem;
text-align: center;
color: #fff;
font-size: 0.4rem;
font-size: 0.42667rem;
background: url(../images/share/xzBg.png) no-repeat;
background-size: 100% 100%;
margin: 1.33333rem auto 0.4rem;
@@ -77,7 +67,7 @@ body {
width: 2rem;
height: 1.22667rem;
position: absolute;
left: 2.7rem;
left: 2rem;
top: 0;
text-align: center;
color: #666;
@@ -97,7 +87,7 @@ body {
line-height: 1.33333rem;
text-align: center;
color: #fff;
font-size: 0.26667rem;
font-size: 0.24rem;
font-weight: 400;
z-index: 3;
}

View File

@@ -17,24 +17,12 @@ body {
background-size: 100% 100%;
.swiper {
width: px2rem(480);
// height: px2rem(1104);
// height: 9.8rem;
width: px2rem(695);
height: px2rem(723);
position: relative;
left: 50%;
transform: translateX(-79%);
top: 5.2rem;
.swiper-wrapper {
width: 100%;
height: 100%;
img {
display: block;
width: 100%;
height: 100%;
}
}
transform: translateX(-53%);
top: px2rem(504);
}
}
@@ -54,13 +42,12 @@ body {
line-height: px2rem(92);
text-align: center;
color: #fff;
font-size: px2rem(30);
font-size: px2rem(32);
background: url(../images/share/xzBg.png) no-repeat;
background-size: 100% 100%;
margin: px2rem(100) auto px2rem(30);
}
.codeBg {
.codeBg{
width: px2rem(482);
height: px2rem(92);
line-height: px2rem(92);
@@ -68,20 +55,18 @@ body {
background: url(../images/share/codeBg.png) no-repeat;
background-size: 100% 100%;
position: relative;
.copy {
.copy{
width: px2rem(160);
height: px2rem(60);
position: absolute;
top: px2rem(16);
right: px2rem(16);
}
.num {
.num{
width: 2rem;
height: px2rem(92);
position: absolute;
left: 2.7rem;
left: 2rem;
top: 0;
text-align: center;
color: #666;
@@ -90,8 +75,7 @@ body {
}
}
}
.bottom {
.bottom{
position: fixed;
bottom: 0;
left: 50%;
@@ -103,7 +87,7 @@ body {
line-height: px2rem(100);
text-align: center;
color: #fff;
font-size: px2rem(20);
font-size: px2rem(18);
font-weight: 400;
z-index: 3;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 KiB

After

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 606 KiB

After

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 KiB

After

Width:  |  Height:  |  Size: 296 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 635 KiB

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 517 KiB

View File

@@ -4,7 +4,8 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>invitation to receive diamonds</title>
<title id="title"></title>
<!-- 邀請得金幣 -->
<link rel="stylesheet" href="../../common/css/reset.css">
<link rel="stylesheet" href="./css/index.css">
</head>
@@ -17,24 +18,24 @@
<!-- 頭部 -->
<div class="header">
<img src="./images/header_h3.png" alt="" class="h3">
<a href="#"><img src="./images/rule_rule.png" alt="" class="rule_rule"></a>
<div class="text">Get <b>1000</b> for each person invited. </div>
<!-- <img src="./images/diamond.png" alt=""> -->
<a href="#rule"><img src="./images/rule_rule.png" alt="" class="rule_rule"></a>
<div id="text1" class="text"></div>
<!-- <img src="./images/gold.png" alt=""> -->
</div>
<!-- 容器 -->
<div class="bg">
<!-- 自己信息 -->
<div class="myInfo">
<img src="./images/logo.png" alt="" class="tx">
<p>My invite code</p>
<p id="text2"></p>
<b class="invitationCode"></b>
<div class="skip"><img src="./images/skip.png" alt=""> Invite Friends</div>
<div class="copy" id="copy"><img src="./images/copy.png" alt=""> Copy Invitation Code</div>
<div class="skip"><img src="./images/skip.png" alt=""> <b id="text3"></b></div>
<div class="copy" id="copy"><img src="./images/copy.png" alt=""> <b id="text4"></b></div>
</div>
<!-- 我的收益 -->
<div class="myIncome">
<img src="./images/diamond.png" alt="">
<p>Earnings</p>
<img src="./images/gold.png" alt="">
<p id="text5"></p>
<b>0</b>
</div>
<!-- 收益tab -->
@@ -42,25 +43,25 @@
<!-- 大tab切換 -->
<div class="tab">
<div class="act directProfit">
<p>Invite Earnings</p>
<span><img src="./images/diamond.png" alt=""> 0</span>
<p id="text6"></p>
<span><img src="./images/gold.png" alt=""> 0</span>
</div>
<div class="indirectProfit">
<p>Indirect Invite Earnings</p>
<span><img src="./images/diamond.png" alt=""> 0</span>
<p id="text7"></p>
<span><img src="./images/gold.png" alt=""> 0</span>
</div>
</div>
<!-- 小tab切換 -->
<div class="sTab">
<div class="tab1">Direct Invite Earnings Log</div>
<div class="">Direct Invite User Log</div>
<div class="tab1" id="text8"></div>
<div class="" id="text9"></div>
</div>
<!-- 記錄標題 -->
<div class="tableTitle">
<div>time</div>
<div>earnings</div>
<div>income types</div>
<div>invited guests</div>
<div id="text10"></div>
<div id="text11"></div>
<div id="text12"></div>
<div id="text13"></div>
</div>
<!-- 記錄 -->
<ul>
@@ -76,7 +77,7 @@
<b>
12:23:23</b>
</div>
<div>+0 <img src="./images/diamond.png" alt=""></div>
<div>+0 <img src="./images/gold.png" alt=""></div>
<div>邀請好友註冊</div>
<div class="act">
<p>用戶昵稱</p>
@@ -87,84 +88,113 @@
</div>
<!-- 活動規則 -->
<div class="rule" id="rule">
<div class="title">Event Rules</div>
<div class="title" id="text14"></div>
<div class="rule1">
<h3>Invite 1 friend, both get 1000 diamonds, no limit!</h3>
<div class="text1">Inviter: You</div>
<div class="text2">Direct Invitee</div>
<h3 id="text15"></h3>
<div class="text1" id="text16"></div>
<div class="text2" id="text17"></div>
<img src="./images/rule1_in.png" alt="" class="rule1_in">
<span class="sp1">+1000 <img src="./images/diamond.png" alt="" class="diamond"></span>
<span class="sp2">+1000 <img src="./images/diamond.png" alt="" class="diamond"></span>
<span class="sp1">+1000 <img src="./images/gold.png" alt="" class="diamond"></span>
<span class="sp2">+1000 <img src="./images/gold.png" alt="" class="diamond"></span>
</div>
<div class="rule2">
<h3>Invite friends: Up to 7% cashback for 30 days!</h3>
<div class="text1">Inviter: You</div>
<div class="text2">Direct Invitee</div>
<div class="text3">Indirect Invitee</div>
<h3 id="text18"></h3>
<div class="text1" id="text19"></div>
<div class="text2" id="text20"></div>
<div class="text3" id="text21"></div>
<img src="./images/rule_2in.png" alt="" class="rule_2in">
<p class="p1">Direct Invitee: Your Invite Code Users</p>
<p class="p2">Indirect Invitee: Friends of Your Invitees</p>
<p class="p1" id="text22"></p>
<p class="p2" id="text23"></p>
<img src="./images/table1.png" alt="" class="table1">
<img src="./images/table2.png" alt="" class="table2">
<div class="table1_1">
<div>Top-Up Amount</div>
<div>Earnings</div>
<!-- <div class="table1_1">
<div id="text24">1</div>
<div id="text25">2</div>
</div>
<div class="table1_2">
<div>——</div>
<div>——</div>
<div> 0金幣&lt;30天內儲值&lt;10000金幣 </div>
<div>直接邀請對象+2魔法棒妳+1魔法棒</div>
</div>
<!-- <div class="table1_3">
<div>10000&lt;=30天內儲值&lt;50000 </div>
<div>每儲值1000,妳+303%</div>
<div class="table1_3">
<div>10000金幣&lt;=30天內儲值&lt;50000金幣 </div>
<div>每儲值1000金幣,妳+30金幣3%</div>
</div>
<div class="table1_4">
<div>50000&lt;=30天內儲值 </div>
<div>每儲值1000,妳+508%</div>
</div> -->
<div class="table2_1">
<div>Recharge amount </div>
<div>Earnings received</div>
<div>50000金幣&lt;=30天內儲值 </div>
<div>每儲值1000金幣,妳+50金幣8%</div>
</div>
<!-- <div class="table2_2">
<div>10000鉆&lt;=30天內儲值&lt;50000鉆 </div>
<div>每儲值1000鉆妳+10鉆1%</div>
<div class="table2_1">
<div id="text26">3</div>
<div id="text27">4</div>
</div>
<div class="table2_2">
<div>10000金幣&lt;=30天內儲值&lt;50000金幣 </div>
<div>每儲值1000金幣妳+10金幣1%</div>
</div>
<div class="table2_3">
<div>50000&lt;=30天內儲值 </div>
<div>每儲值1000,妳+202%</div>
<div>50000金幣&lt;=30天內儲值 </div>
<div>每儲值1000金幣,妳+20金幣2%</div>
</div> -->
<div class="boxx" id="text66">
<!-- <div class="table1_1">
<div style="line-height: 0.4rem;">儲值數額<br>時間30天內單位金幣</div>
<div>獲得收益</div>
</div>
<div class="table1_2">
<div>儲值&lt;10000</div>
<div style="line-height: 0.4rem;">直接邀請對象 +2 魔法棒,妳 +1 魔法棒</div>
</div>
<div class="table1_3">
<div>10000≤儲值&lt50000</div>
<div style="line-height: 0.4rem;">直接邀請對象每儲值1000妳+303.00%</div>
</div>
<div class="table1_4">
<div>儲值≥50000 </div>
<div style="line-height: 0.4rem;">直接邀請對象每儲值1000妳+505.00%</div>
</div>
<div class="table2_1">
<div style="line-height: 0.4rem;">儲值數額<br>時間30天內單位金幣</div>
<div>獲得收益</div>
</div>
<div class="table2_2">
<div>10000≤儲值&lt;50000</div>
<div style="line-height: 0.4rem;">間接邀請對象每儲值1000妳+101.00%</div>
</div>
<div class="table2_3">
<div>儲值≥50000</div>
<div style="line-height: 0.34rem;">間接邀請對象每儲值1000妳+202.00%</div>
</div> -->
</div>
</div>
<div class="wishingStar"></b></a>
<!-- *魔法棒用於參與<a href="../../modules/act-wishingStar/index.html"><b>許願之星活動>> -->
<div class="wishingStar" id="text28"></b></a>
</div>
</div>
<!-- 其他說明 -->
<div class="otherNotes">Other Details</div>
<ul>
<li class="title">Regarding Invite Reward Settlement</li>
<li>1.Invitee's Earnings: Upon new users entering the invitation code, the system automatically distributes benefits to their respective accounts.</li>
<li>2.Inviter's Earnings: Upon new users invited filling in the invitation code, the system automatically distributes benefits to the inviter's account.</li>
<li>3.Top-Up Rewards: Only direct top-up data is considered; New users who fill in the invitation code and complete their first top-up within 30 days will receive a Magic Wand reward. The Magic Wand can be used to participate in the Wishing Star game mode, where rare gifts can be obtained; Upon completing a specified top-up amount, the inviter will receive additional earnings, which are credited instantly.</li>
<li class="title">Regarding Invalid Invitations</li>
<li>1.Users registered with the same device, phone number, and identity information are considered the same user and cannot receive rewards repeatedly. If the inviter and invitee use the same device, identity information, and phone number, the inviter cannot receive rewards.</li>
<li>2.Each new user can only enter an invitation code once. Once entered, it cannot be modified. Attention! Invitation codes cannot be filled in retroactively. Please inform new users to enter the invitation code promptly during registration, otherwise, the invitation will be invalid.</li>
<li>3.If cheating is detected, the official reserves the right to revoke all rewards obtained by the cheater and ban the account.</li>
<li>4.Users with virtual phone numbers and banned accounts cannot participate in the activity.</li>
<li class="title">Other Terms</li>
<li>1.For any questions, please contact WhatsApp: +8618984433556</li>
<li>2.The final interpretation of this activity belongs to the official, and it is not affiliated with Apple Inc./Google Inc.</li>
<div class="otherNotes" id="text29"></div>
<ul id="text30">
<!-- <li class="title">關於邀請獎勵結算</li>
<li>1.被邀用戶收益:新用戶填寫邀請碼後繫統自動發放權益至所屬賬號</li>
<li>2.邀請用戶收益:被邀新用戶填寫邀請碼後繫統自動發放權益至所屬賬號</li>
<li>3.充值獎勵僅統計直接充值數據新用戶自填寫邀請碼30日內完成首充可獲得魔法棒獎勵魔法棒可用於參與許願之星玩法獲取珍稀禮物獎勵完成指定數額充值邀請人可獲得額外收益收益實時到賬</li>
<li class="title">關於無效的邀請</li>
<li>1.使用同一設備,同一手機號碼,同一身份信息註冊的用戶視為同一用戶,不能重復獲得獎勵;若邀請人與被邀請人使用同一設備,同一身份信息,同一手機號碼,邀請人無法獲取獎勵</li>
<li>2.每位新用戶僅能填寫一次邀請碼,填寫後不支持修改,註意註意!邀請碼不支持補填,還請邀請新用戶時告知新用戶註冊時及時填寫邀請碼,否則本次邀請無效;</li>
<li>3.如有作弊行為,官方有權清除作弊者所得的所有獎勵,併封禁賬號;</li>
<li>4.虛擬手機號、封禁用戶無法參加活動;</li>
<li class="title">其他</li>
<li>1.有任何疑問請聯繫WhatsApp8618984433556</li>
<li>2.本活動最終解釋權歸官方所有,並與Apple inc/Google公司無關;</li> -->
</ul>
</div>
<!-- 展開分享 -->
<div class="openShare">QR Code ></div>
<div class="openShare" id="text31"></div>
<!-- 保存二維碼 -->
<div class="code">
<div class="rule_icon"></div>
<div class="p1">Scan, Download, Register,</div>
<div class="p2">Get 1000<b></b><img src="./images/diamond.png" alt="" class="diamond"></div>
<div class="p1" id="text32"></div>
<div class="p2" id="text33"></div>
<img src="" alt="" class="codeImg">
<div class="but">Save Locally</div>
<div class="but" id="text34"></div>
</div>
</body>
@@ -178,4 +208,8 @@
<script src="../../common/js/vconsole.min.js"></script>
<script src="../../common/js/route-constant.js"></script>
<script src="../../common/js/jquery.copy.min.js"></script>
<script src="./js/index.js"></script>
<script src="./local/en.js"></script>
<script src="./local/zh.js"></script>
<script src="./local/ar.js"></script>
<script src="./js/index.js"></script>
<script src="../../common/local/langHandler.js"></script>

View File

@@ -6,7 +6,7 @@ if (env == 'test') {
}
// 封裝layer消息提醒框
let layerIndex
const showLoading = (content = 'Loading...') => {
const showLoading = (content = langReplace(localLang.share.text5)) => {
layer.open({
type: 2,
shadeClose: false,
@@ -19,19 +19,21 @@ const showLoading = (content = 'Loading...') => {
const hideLoading = (index) => {
layer.close(index)
}
const toastMsg = (content = 'Completed', time = 2) => {
const toastMsg = (content = langReplace(localLang.share.text36), time = 2) => {
layer.open({
content,
time,
skin: 'msg'
})
}
var langReplace;
var localLang;
var inviteCode = '';
var typeStr = "1,3";//收益類型 1 直接邀請 2 間接邀請 3 直接邀請充值 4 間接邀請充值
var page = 1;
var isLock = true;
var obj = {};
var text = 'Done';
var text;;
// 初始化函數
$(function () {
getInfoFromClient()
@@ -52,16 +54,56 @@ $(function () {
window.webkit.messageHandlers.closeWebView.postMessage(null)
}
})
getConfig();
fuzzyMatchUpdateQueryStringParameterFun(); // 判断语言
langReplace = window.lang.replace;
localLang = window.lang;
text = langReplace(localLang.demoModule.text35)
translateFun();
// getConfig();
getMySelf();
profitPage();
}, 100)
})
$('.header .rule_rule').click(function () {
$('html, body').animate({
scrollTop: $('.header').height() + $('.bg .myInfo').height() + $('.bg .incomeBox').height() + $('.bg .myIncome').height()
}, 300);
})
function translateFun() {
var langReplace = window.lang.replace;
var localLang = window.lang;
$('#title').html(langReplace(localLang.demoModule.title));
$('#text1').html(langReplace(localLang.demoModule.text1));
$('#text2').html(langReplace(localLang.demoModule.text2));
$('#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));
$('#text14').html(langReplace(localLang.demoModule.text14));
$('#text15').html(langReplace(localLang.demoModule.text15));
$('#text16').html(langReplace(localLang.demoModule.text16));
$('#text17').html(langReplace(localLang.demoModule.text17));
$('#text18').html(langReplace(localLang.demoModule.text18));
$('#text19').html(langReplace(localLang.demoModule.text19));
$('#text20').html(langReplace(localLang.demoModule.text20));
$('#text21').html(langReplace(localLang.demoModule.text21));
$('#text22').html(langReplace(localLang.demoModule.text22));
$('#text23').html(langReplace(localLang.demoModule.text23));
$('#text24').html(langReplace(localLang.demoModule.text24));
$('#text25').html(langReplace(localLang.demoModule.text25));
$('#text26').html(langReplace(localLang.demoModule.text26));
$('#text27').html(langReplace(localLang.demoModule.text27));
$('#text28').html(langReplace(localLang.demoModule.text28));
$('#text29').html(langReplace(localLang.demoModule.text29));
$('#text30').html(langReplace(localLang.demoModule.text30));
$('#text31').html(langReplace(localLang.demoModule.text31));
$('#text32').html(langReplace(localLang.demoModule.text32));
$('#text33').html(langReplace(localLang.demoModule.text33));
$('#text34').html(langReplace(localLang.demoModule.text34));
$('#text66').html(langReplace(localLang.demoModule.text66));
}
// 獲取配置接口
function getConfig() {
showLoading()
@@ -73,27 +115,26 @@ function getConfig() {
// 直接邀請規則
res.data.inviteLevelReward.forEach((res, i) => {
if (i == 0) {
// $(`.bg .rule .rule2 .table1_2`).html(`
// <div>${res.leftDiamond}金幣&lt;30天內儲值&lt;${res.rightDiamond}金幣 </div>
// <div>直接邀請對象+2魔法棒妳+1魔法棒</div>
// `)
$(`.bg .rule .rule2 .table1_2`).html(`
<div>——</div>
<div>——</div>
<div>${res.leftDiamond}金幣&lt;30天內儲值&lt;${res.rightDiamond}金幣 </div>
<div>直接邀請對象+2魔法棒妳+1魔法棒</div>
`)
} else {
// <div>${res.leftDiamond}鉆&lt;=30天內儲值${res.rightDiamond ? `&lt;${res.rightDiamond}鉆` : ''} </div>
// <div>每儲值${res.numUnit}鉆,妳+${res.rewardNum}鉆(${((res.rewardNum / res.numUnit) * 100).toFixed(2)}%</div>
$(`.bg .rule .rule2 .table1_${i + 2}`).html(`
<div>${res.leftDiamond} diamonds <= Recharge within 30 days${res.rightDiamond ? ` < ${res.rightDiamond} diamonds` : ''}</div>
<div>For every ${res.numUnit} diamonds, get +${res.rewardNum} (${((res.rewardNum / res.numUnit) * 100).toFixed(2)}%)</div>
<div>${res.leftDiamond}金幣&lt;=30天內儲值${res.rightDiamond ? `&lt;${res.rightDiamond}金幣` : ''} </div>
<div>每儲值${res.numUnit}金幣+${res.rewardNum}金幣${((res.rewardNum / res.numUnit) * 100).toFixed(2)}%</div>
`)
}
})
// <div>${res.leftDiamond}鉆&lt;=30天內儲值${res.rightDiamond ? `&lt;${res.rightDiamond}鉆` : ''} </div>
// <div>每儲值${res.numUnit}鉆,妳+${res.rewardNum}鉆(${((res.rewardNum / res.numUnit) * 100).toFixed(2)}%</div>
// 間接邀請規則
res.data.indirectLevelReward.forEach((res, i) => {
$(`.bg .rule .rule2 .table2_${i + 2}`).html(`
<div>${res.leftDiamond} diamonds <= Recharge within 30 days${res.rightDiamond ? ` < ${res.rightDiamond} diamonds` : ''}</div>
<div>For every ${res.numUnit} diamonds, get +${res.rewardNum} (${((res.rewardNum / res.numUnit) * 100).toFixed(2)}%)</div>
<div>${res.leftDiamond}金幣&lt;=30天內儲值${res.rightDiamond ? `&lt;${res.rightDiamond}金幣` : ''} </div>
<div>每儲值${res.numUnit}金幣,妳+${res.rewardNum}金幣${((res.rewardNum / res.numUnit) * 100).toFixed(2)}%</div>
`)
})
} else {
@@ -103,11 +144,10 @@ function getConfig() {
},
error(err) {
hideLoading(layerIndex)
toastMsg('Network Error, Please Exit and Re-enter')
toastMsg(langReplace(localLang.share.text8))
}
})
}
console.log();
// 獲取收益接口
function getMySelf() {
showLoading()
@@ -120,25 +160,25 @@ function getMySelf() {
// 分享所需参数
obj = {
qrCodeUrl: res.data.qRCodeUrl,
text: 'Scan to download PiKO and enter my invitation code\nto instantly get 1000 diamonds!',
text: langReplace(localLang.demoModule.text36),
invitationCode: `${res.data.inviteCode}`,
shareTitle: 'Molistar: Unexpected Encounter with Heartfelt Sound',
shareText: 'Chat, Play Games, Make Friends - Anytime, Anywhere on Molistar',
shareTitle: langReplace(localLang.demoModule.text37),
shareText: langReplace(localLang.demoModule.text38),
shareImg: 'https://image.molistar.xyz/molistar.png',
toUrl: `${window.location.origin}/molistar/activity/2024-invitationFission/share.html?inviteCode=${res.data.inviteCode}`,
type: 1//1:分享好友2:直接保存圖片
}
// 初始化复制
$.copy({
text: "Copy Successful", //分享提示文案
text: langReplace(localLang.share.text7), //分享提示文案
copyUrl: inviteCode, //自定義復制
tipTime: 1000, //分享提示消失時間
copyId: "#copy" //復制按鈕id
});
$('.bg .myInfo .invitationCode').text(inviteCode);
$('.bg .myIncome b').text(res.data.totalProfit);
$('.bg .incomeBox .tab .directProfit span').html(`<img src="./images/diamond.png" alt=""> ${res.data.directProfit}`);
$('.bg .incomeBox .tab .indirectProfit span').html(`<img src="./images/diamond.png" alt=""> ${res.data.indirectProfit}`);
$('.bg .incomeBox .tab .directProfit span').html(`<img src="./images/gold.png" alt=""> ${res.data.directProfit}`);
$('.bg .incomeBox .tab .indirectProfit span').html(`<img src="./images/gold.png" alt=""> ${res.data.indirectProfit}`);
$('.code .codeImg').attr('src', res.data.qRCodeUrl);
$('.bg .myInfo .tx').attr('src', res.data.avatar);
} else {
@@ -148,7 +188,7 @@ function getMySelf() {
},
error(err) {
hideLoading(layerIndex)
toastMsg('Network Error, Please Exit and Re-enter')
toastMsg(langReplace(localLang.share.text8))
}
})
}
@@ -183,7 +223,7 @@ $('.code .but').click(function () {
// 復制邀請碼
$('.bg .myInfo .copy').click(function () {
$.copy({
text: "Copy Successful", //分享提示文案
text: langReplace(localLang.share.text7), //分享提示文案
copyUrl: inviteCode, //自定義復制
tipTime: 1000, //分享提示消失時間
copyId: "#copy" //復制按鈕id
@@ -192,10 +232,10 @@ $('.bg .myInfo .copy').click(function () {
// 切換收益大Tab
$('.bg .incomeBox .tab div').click(function () {
var i = $(this).index() + 1;
text = i == 1 ? 'Direct' : 'Indirect';
text = i == 1 ? langReplace(localLang.demoModule.text39) : langReplace(localLang.demoModule.text40);
$(this).addClass('act').siblings().removeClass('act');
$('.bg .incomeBox .sTab div').eq(0).text(`${text}Invite Earnings`);
$('.bg .incomeBox .sTab div').eq(1).text(`${text}Invite User Log`);
$('.bg .incomeBox .sTab div').eq(0).text(`${text}${langReplace(localLang.demoModule.text41)}`);
$('.bg .incomeBox .sTab div').eq(1).text(`${text}${langReplace(localLang.demoModule.text42)}`);
$('.bg .incomeBox .sTab div').removeClass('tab1').removeClass('tab2');
$('.bg .incomeBox .sTab div').eq(0).addClass(`tab1`);
page = 1;
@@ -209,7 +249,7 @@ $('.bg .incomeBox .sTab div').click(function () {
$('.bg .incomeBox .sTab div').removeClass('tab1').removeClass('tab2');
$(this).addClass(`tab${i}`);
page = 1;
typeStr = (i == 1 && text == 'Direct') ? "1,3" : (i == 2 && text == 'Direct') ? "1" : (i == 1 && text == 'Indirect') ? "2,4" : "2";
typeStr = (i == 1 && text == langReplace(localLang.demoModule.text39)) ? "1,3" : (i == 2 && text == langReplace(localLang.demoModule.text39)) ? "1" : (i == 1 && text == langReplace(localLang.demoModule.text40)) ? "2,4" : "2";
$('.bg .incomeBox ul li').remove();
if (i == 1) {
profitPage();
@@ -241,27 +281,27 @@ function profitPage() {
success(res) {
if (res.code === 200) {
var str = '';
if (text == 'Direct' && typeStr == "1,3") {
if (text == langReplace(localLang.demoModule.text39) && typeStr == "1,3") {
$('.bg .incomeBox .tableTitle div').remove();
$('.bg .incomeBox .tableTitle').append(`<div>Time</div><div>Earnings</div><div>Earnings Type</div><div>Direct Invites</div>`);
} else if (text == 'Indirect' && typeStr == "2,4") {
$('.bg .incomeBox .tableTitle').append(`<div>${langReplace(localLang.demoModule.text44)}</div><div>${langReplace(localLang.demoModule.text45)}</div><div>${langReplace(localLang.demoModule.text46)}</div><div>${langReplace(localLang.demoModule.text47)}</div>`);
} else if (text == langReplace(localLang.demoModule.text40) && typeStr == "2,4") {
$('.bg .incomeBox .tableTitle div').remove();
$('.bg .incomeBox .tableTitle').append(`<div>Time</div><div>Earnings</div><div>Earnings Type</div><div>Indirect Invites</div>`);
$('.bg .incomeBox .tableTitle').append(`<div>${langReplace(localLang.demoModule.text48)}</div><div>${langReplace(localLang.demoModule.text49)}</div><div>${langReplace(localLang.demoModule.text50)}</div><div style="font-size: 0.24rem;">${langReplace(localLang.demoModule.text51)}</div>`);
}
if (res.data.records.length == 0) {
if (page == 1) {
str += `
<li>
<div class="">None yet</div>
<div>None yet</div>
<div>None yet</div>
<div class="">None yet</div>
<div class="">${langReplace(localLang.demoModule.text43)}</div>
<div>${langReplace(localLang.demoModule.text43)}</div>
<div>${langReplace(localLang.demoModule.text43)}</div>
<div class="">${langReplace(localLang.demoModule.text43)}</div>
</li>
`}
isLock = false;
} else {
console.log(text);
if (text == 'Direct' && typeStr == "1,3") {
if (text == langReplace(localLang.demoModule.text39) && typeStr == "1,3") {
res.data.records.forEach(res => {
str += `
<li>
@@ -270,7 +310,7 @@ function profitPage() {
<b>${dateFormat(res.createTime, 'hh:mm:ss')}</b>
</div>
<div>+${res.rewardNum} <img src="./images/${res.rewardType == 1 ? 'diamond' : 'magicStick'}.png" alt=""></div>
<div>${res.type == 1 && res.rewardType == 1 ? 'Invite Friends' : res.type == 3 && res.rewardType == 1 ? 'Friend Top-Up Cashback' : res.type == 3 && res.rewardType == 2 ? "Friend's First Top-Up" : 'Indirect Cashback'}</div>
<div>${res.type == 1 && res.rewardType == 1 ? langReplace(localLang.demoModule.text52) : res.type == 3 && res.rewardType == 1 ? langReplace(localLang.demoModule.text53) : res.type == 3 && res.rewardType == 2 ? langReplace(localLang.demoModule.text54) : langReplace(localLang.demoModule.text55)}</div>
<div class="act">
<p>${res.inviteNick}</p>
<b>ID:${res.inviteErBanNo}</b>
@@ -278,7 +318,7 @@ function profitPage() {
</li>
`
});
} else if (text == 'Indirect' && typeStr == "2,4") {
} else if (text == langReplace(localLang.demoModule.text40) && typeStr == "2,4") {
res.data.records.forEach(res => {
str += `
<li>
@@ -287,7 +327,7 @@ function profitPage() {
<b>${dateFormat(res.createTime, 'hh:mm:ss')}</b>
</div>
<div>+${res.rewardNum} <img src="./images/${res.rewardType == 1 ? 'diamond' : 'magicStick'}.png" alt=""></div>
<div>${res.type == 1 && res.rewardType == 1 ? 'Invite Friends' : res.type == 3 && res.rewardType == 1 ? 'Friend Top-Up Cashback' : res.type == 3 && res.rewardType == 2 ? "Friend's First Top-Up" : 'Indirect Cashback'}</div>
<div>${res.type == 1 && res.rewardType == 1 ? langReplace(localLang.demoModule.text52) : res.type == 3 && res.rewardType == 1 ? langReplace(localLang.demoModule.text53) : res.type == 3 && res.rewardType == 2 ? langReplace(localLang.demoModule.text54) : langReplace(localLang.demoModule.text55)}</div>
<div class="act">
<p>${res.inviteNick}</p>
<b>ID:${res.inviteErBanNo}</b>
@@ -308,7 +348,7 @@ function profitPage() {
error(err) {
isLock = true;
hideLoading(layerIndex)
toastMsg('Network Error, Please Exit and Re-enter')
toastMsg(langReplace(localLang.share.text8))
}
})
}
@@ -322,26 +362,26 @@ function userPage() {
success(res) {
if (res.code === 200) {
var str = '';
if (text == 'Direct' && typeStr == "1") {
if (text == langReplace(localLang.demoModule.text39) && typeStr == "1") {
$('.bg .incomeBox .tableTitle div').remove();
$('.bg .incomeBox .tableTitle').append(`<div>Time</div><div>Direct Invitee</div><div>30-Day Top-Up</div>`);
} else if (text == 'Indirect' && typeStr == "2") {
$('.bg .incomeBox .tableTitle').append(`<div>${langReplace(localLang.demoModule.text56)}</div><div>${langReplace(localLang.demoModule.text57)}</div><div>${langReplace(localLang.demoModule.text58)}</div>`);
} else if (text == langReplace(localLang.demoModule.text40) && typeStr == "2") {
$('.bg .incomeBox .tableTitle div').remove();
$('.bg .incomeBox .tableTitle').append(`<div>Time</div><div>Direct Invitee</div><div>Indirect Invitee</div><div>30-Day Top-Up</div>`);
$('.bg .incomeBox .tableTitle').append(`<div>${langReplace(localLang.demoModule.text59)}</div><div>${langReplace(localLang.demoModule.text60)}</div><div style="font-size: 0.24rem;">${langReplace(localLang.demoModule.text61)}</div><div>${langReplace(localLang.demoModule.text62)}</div>`);
}
if (res.data.records.length == 0) {
if (page == 1) {
str += `
<li>
<div class="">None yet</div>
<div>None yet</div>
<div>None yet</div>
<div class="">None yet</div>
<div class="">${langReplace(localLang.demoModule.text43)}</div>
<div>${langReplace(localLang.demoModule.text43)}</div>
<div>${langReplace(localLang.demoModule.text43)}</div>
<div class="">${langReplace(localLang.demoModule.text43)}</div>
</li>
`}
isLock = false;
} else {
if (text == 'Direct' && typeStr == "1") {
if (text == langReplace(localLang.demoModule.text39) && typeStr == "1") {
res.data.records.forEach(res => {
str += `
<li>
@@ -353,11 +393,11 @@ function userPage() {
<p>${res.inviteNick}</p>
<b>ID:${res.inviteErBanNo}</b>
</div>
<div>${res.charge30Amount ? res.charge30Amount : 0} <img src="./images/diamond.png" alt=""></div>
<div>${res.charge30Amount ? res.charge30Amount : 0} <img src="./images/gold.png" alt=""></div>
</li>
`
});
} else if (text == 'Indirect' && typeStr == "2") {
} else if (text == langReplace(localLang.demoModule.text40) && typeStr == "2") {
res.data.records.forEach(res => {
str += `
<li>
@@ -373,7 +413,7 @@ function userPage() {
<p>${res.indirectNick}</p>
<b>ID:${res.indirectErBanNo}</b>
</div>
<div>${res.charge30Amount ? res.charge30Amount : 0} <img src="./images/diamond.png" alt=""></div>
<div>${res.charge30Amount ? res.charge30Amount : 0} <img src="./images/gold.png" alt=""></div>
</li>
`
});
@@ -390,7 +430,7 @@ function userPage() {
error(err) {
isLock = true;
hideLoading(layerIndex)
toastMsg('Network Error, Please Exit and Re-enter')
toastMsg(langReplace(localLang.share.text8))
}
})
}

View File

@@ -5,9 +5,11 @@ let env = EnvCheck();
if (env == 'test') {
new VConsole();
}
var langReplace;
var localLang;
// 封裝layer消息提醒框
let layerIndex
const showLoading = (content = 'Loading...') => {
const showLoading = (content = langReplace(localLang.share.text5)) => {
layer.open({
type: 2,
shadeClose: false,
@@ -20,7 +22,7 @@ const showLoading = (content = 'Loading...') => {
const hideLoading = (index) => {
layer.close(index)
}
const toastMsg = (content = 'Completed', time = 2) => {
const toastMsg = (content = langReplace(localLang.share.text6), time = 2) => {
layer.open({
content,
time,
@@ -28,7 +30,6 @@ const toastMsg = (content = 'Completed', time = 2) => {
})
}
var inviteCode = "";
var timer = null;
// 初始化函數
$(function () {
inviteCode = urlDate.inviteCode;
@@ -43,14 +44,52 @@ $(function () {
disableOnInteraction: false
},
})
/*
* MobLink 支持数组=>MobLink([...]) 和对象=>MobLink({...}) 两种初始化形式
* 页面上有多个元素需要跳转时使用数组方式,仅单个元素需要跳转时可以使用对象的方式进行初始化
* el: 表示网页上Element的id值,该字段为空或者不写,则表示MobLink **默认浮层** 上的打开按钮(注意:该字段支持selector方式: 1.'.class' 2.'#id1' 3.['#id1','#id2'])
* path: 对应App里需要恢复页面的路径
* default: 指定分享页默认场景参数(最多只能指定一项作为默认场景参数)
* params: 网页需要带给客户端的参数
*/
// 页面上有多个元素需要跳转时要使用数组方式进行初始化
// if (browser.android) {
// MobLink([{
// el: '#downloads',
// path: '',
// params: { mobLinkType: 1, inviteCode, }
// }
// ]);
// }
// if (browser.ios) {
// MobLink([{
// el: '#downloads',
// path: '',
// params: { mobLinkType: 1, inviteCode, }
// }
// ]);
// }
fuzzyMatchUpdateQueryStringParameterFun(); // 判断语言
langReplace = window.lang.replace;
localLang = window.lang;
translateFun();
$.copy({
text: "Copy Successful", //分享提示文案
text: langReplace(localLang.share.text7), //分享提示文案
copyUrl: inviteCode, //自定义复制
tipTime: 1000, //分享提示消失时间
copyId: "#copy" //复制按钮id
});
}, 100)
})
function translateFun() {
var langReplace = window.lang.replace;
var localLang = window.lang;
$('#text1').attr('content', langReplace(localLang.share.text1))
$('#text2').attr('content', langReplace(localLang.share.text2))
$('.xz_id').html(langReplace(localLang.share.xz_id));
$('#title').html(langReplace(localLang.share.title));
$('#text4').html(langReplace(localLang.share.text4));
}
// 獲取接口
function get() {
showLoading()
@@ -67,38 +106,38 @@ function get() {
},
error(err) {
hideLoading(layerIndex)
toastMsg('Network Error, Please Exit and Re-enter')
toastMsg(langReplace(localLang.share.text8))
}
})
}
// 下载
$('.box .xz').click(function () {
// return
if (browser.ios) {
return
} else if (browser.android) {
console.log('安卓');
timer = setTimeout(() => {
// 没找到腾讯微博的下载页,这里暂时以淘宝下载页代替
// window.location.href = 'https://www.baidu.com/'
}, 3000)
window.location.href = `molistar://app/invite?code=${inviteCode}`
} else {
console.log('其他')
// $('.box .xz').click(function () {
// if (browser.ios) {
// window.location.href = `https://cebg.t4m.cn/`
// }
// })
function isAppInstalled(scheme) {
try {
// 尝试打开应用
window.location.href = scheme;
// 如果应用打开则在500毫秒后捕获超时错误
// setTimeout(() => {
// window.location.href = 'https://apps.apple.com/app/id6446155565';
// }, 500);
// 应用可能打开,也可能没有打开,所以这里不返回结果
} catch (err) {
// 如果发生错误,说明应用没有安装
console.log('App not installed');
// 重定向到fallback URL
window.location.href = 'https://apps.apple.com/app/id6446155565';
}
})
}
$('.box .codeBg .copy').click(function () {
$.copy({
text: "Copy Successful", //分享提示文案
text: langReplace(localLang.share.text7), //分享提示文案
copyUrl: inviteCode, //自定义复制
tipTime: 1000, //分享提示消失时间
copyId: "#copy" //复制按钮id
});
})
window.addEventListener('visibilitychange', () => {
// 监听页面visibility
if (document.hidden) {
// 如果页面隐藏了,则表示唤起成功,这时候需要清除下载定时器
clearTimeout(timer)
}
})

View File

@@ -0,0 +1,119 @@
// 阿拉伯
langAr = {
// 模块
demoModule: {
title: `دعوة لكسب النقود`,
text1: `احصل على <b>1000</b> نقطة لكل دعوة`,
text2: `رمز الدعوة`,
text3: `مشاركة مع الأصدقاء`,
text4: `نسخ رمز الدعوة`,
text5: `أرباحي`,
text6: `أرباح الدعوة المباشرة`,
text7: `أرباح الدعوة غير المباشرة`,
text8: `سجل أرباح الدعوة المباشرة`,
text9: `سجل المستخدمين المدعوين مباشرة`,
text10: `الوقت`,
text11: `الأرباح`,
text12: `نوع الأرباح`,
text13: `المستخدم المدعو`,
text14: `قواعد النشاط`,
text15: `دعوة ناجحة لصديق للتسجيل، يحصل كل منهما على 1000 نقطة، لا يوجد حد!`,
text16: `المدعو: أنت`,
text17: `المستخدم المباشر`,
text18: `دعوة الأصدقاء للشحن والحصول على cashback، حتى 7% لمدة 30 يومًا!`,
text19: `المدعو: أنت`,
text20: `المستخدم المباشر`,
text21: `المستخدم غير مباشر`,
text22: `المستخدم المباشر: أولئك الذين سجلوا باستخدام رمز الدعوة الخاص بك`,
text23: `المستخدم غير مباشر: أولئك الذين دعاهم أصدقاؤك المسجلين`,
text24: `مبلغ الشحن`,
text25: `الأرباح`,
text26: `مبلغ الشحن`,
text27: `الأرباح`,
text28: `*العصا السحرية تُستخدم للمشاركة في <a href="../../modules/act-wishingStar/index.html"><b>نشاط نجمة الأماني`,
text29: `تعليمات أخرى`,
text30: `<li class="title">حول تسوية مكافأة الدعوة</li>
<li>1. أرباح المستخدم المدعو: يقوم النظام تلقائيًا بتوزيع المكافآت على الحساب المقابل بعدما يقوم المستخدم الجديد بملء رمز الدعوة</li>
<li>2. أرباح المدعو: يقوم النظام تلقائيًا بتوزيع المكافآت على الحساب المقابل بعدما يقوم المستخدم الجديد بملء رمز الدعوة</li>
<li>3. مكافأة الشحن: يتم احتساب البيانات الخاصة بالشحن المباشر فقط؛ المستخدمون الجدد الذين يملؤون رمز الدعوة يكملون شحنتهم الأولى خلال 30 يومًا، يمكنهم الحصول على مكافأة العصا السحرية، والتي يمكن استخدامها للمشاركة في لعبة نجمة الأماني للحصول على جوائز هدايا نادرة؛ يمكن للمدعوين الحصول على أرباح إضافية عن طريق إكمال مبلغ محدد من الشحنات، وتُعتمد الأرباح في الوقت الحقيقي؛</li>
<li class="title">حول الدعوات غير الصالحة</li>
<li>1. يُعتبر المستخدمون المسجلون باستخدام نفس الجهاز، نفس رقم الهاتف، ونفس معلومات الهوية نفس المستخدم ولا يمكنهم تلقي المكافآت مرة أخرى؛ إذا استخدم المدعو والمستدعي نفس الجهاز، نفس معلومات الهوية، ونفس رقم الهاتف، فإن المدعو لا يمكنه الحصول على المكافآت</li>
<li>2. يمكن لكل مستخدم جديد ملء رمز الدعوة مرة واحدة فقط، ولا يمكن تعديله بعد الملء، انتبه! لا يمكن ملء رمز الدعوة لاحقًا، يرجى إبلاغ المستخدم الجديد بملء رمز الدعوة عند التسجيل في الوقت المناسب، وإلا فإن هذه الدعوة غير صالحة؛</li>
<li>3. في حالة وجود أي سلوك غش، تحتفظ الإدارة بالحق في محو جميع المكافآت التي تم الحصول عليها بالغش وحظر الحساب؛</li>
<li>4. لا يمكن للأرقام الهاتفية الافتراضية والمستخدمين المحظورين المشاركة في النشاط؛</li>
<li class="title">غيرها</li>
<li>1. إذا كان لديك أي استفسارات، يرجى الاتصال بواتساب: 8618984433556</li>
<li>2. يحتفظ الإدارة بالحق النهائي في هذا النشاط، ولا يمتلك أي علاقة بشركة أبل/جوجل؛</li>`,
text31: `مشاركة رمز QR >`,
text32: `الأصدقاء يمسحون رمز الاستجابة السريعة`,
text33: `احصل على <b>1000</b>`,
text34: `حفظ محليًا`,
text35: `مباشرة`,
text36: `مسح لتنزيل molistar وملء رمز دعوتي للحصول على 1000 نقطة!`,
text37: `موليستار، لقاء مع الصوت النابض بالقلب`,
text38: `دردشة، لعب الألعاب، تكوين الصداقات، في أي وقت وفي أي مكان على موليستار`,
text39: `مباشرة`,
text40: `غير مباشرة`,
text41: `سجل أرباح الدعوة`,
text42: `سجل المستخدمين المدعوين`,
text43: `لا شيء`,
text44: `الوقت`,
text45: `الأرباح`,
text46: `نوع الأرباح`,
text47: `المستخدم المباشر`,
text48: `الوقت`,
text49: `الأرباح`,
text50: `نوع الأرباح`,
text51: `المستخدم غير مباشر`,
text52: `دعوة الأصدقاء للتسجيل`,
text53: `ردود أفعال الأصدقاء على الشحن`,
text54: `أول شحن للصديق`,
text55: `ردود أفعال الشحن للدعوة غير المباشرة`,
text56: `الوقت`,
text57: `المستخدم المباشر`,
text58: `شحن في 30 يومًا`,
text59: `الوقت`,
text60: `المستخدم المباشر`,
text61: `المستخدم غير مباشر`,
text62: `شحن في 30 يومًا`,
text66: `<div class="table1_1">
<div style="line-height: 0.4rem;">مبلغ الشحن<br>(خلال 30 يومًا، الوحدة: العملات)</div>
<div>الأرباح</div>
</div>
<div class="table1_2">
<div>الشحن &lt;10000</div>
<div style="line-height: 0.4rem;">المستخدم المدعو مباشرة +2 عصا سحرية، أنت +1 عصا سحرية</div>
</div>
<div class="table1_3">
<div>10000 ≤ الشحن &lt;50000</div>
<div style="line-height: 0.4rem;">عن كل 1000 شحن من قبل المستخدم المدعو مباشرة، أنت +30 (3.00%)</div>
</div>
<div class="table1_4">
<div>الشحن ≥50000 </div>
<div style="line-height: 0.4rem;">عن كل 1000 شحن من قبل المستخدم المدعو مباشرة، أنت +50 (5.00%)</div>
</div>
<div class="table2_1">
<div style="line-height: 0.4rem;">مبلغ الشحن<br>(خلال 30 يومًا، الوحدة: العملات)</div>
<div>الأرباح</div>
</div>
<div class="table2_2">
<div>10000 ≤ الشحن &lt;50000</div>
<div style="line-height: 0.4rem;">عن كل 1000 شحن من قبل المستخدم المدعو غير المباشر، أنت +10 (1.00%)</div>
</div>
<div class="table2_3">
<div>الشحن ≥50000</div>
<div style="line-height: 0.34rem;">عن كل 1000 شحن من قبل المستخدم المدعو غير المباشر، أنت +20 (2.00%)</div>
</div>`,
},
share: {
title: `انضم إليّ على Molistar، حيث المرح ينتظرك!`,
text1: `اكتشف الصدف الغير متوقعة على Molistar.`,
text2: `تحدث، والعب ألعاب، واكسب الأصدقاء في أي وقت وفي أي مكان على Molistar.`,
xz_id: `حمّل Molistar الآن!`,
text4: `حمّل وسجّل في Molistar باستخدام كود الدعوة الخاص بي للحصول على 1000 عملة ذهبية على الفور!`,
text5: `جار التحميل...`,
text6: `تم العملية بنجاح`,
text7: `تم نسخ الرمز بنجاح`,
text8: `خطأ في الشبكة، يرجى المحاولة مرة أخرى لاحقًا`,
}
}

View File

@@ -0,0 +1,119 @@
// 英文
langEn = {
// 模块
demoModule: {
title: `Invite to Earn Coins`,
text1: `Get <b>1000</b> coins for each invitation`,
text2: `My Code`,
text3: `Share with Friends`,
text4: `Copy Invitation Code`,
text5: ` Earnings`,
text6: `Direct Invitation Earnings`,
text7: `Indirect Invitation Earnings`,
text8: `Direct Invitation Earnings Record`,
text9: `Direct Invitation User Record`,
text10: `Time`,
text11: `Earnings`,
text12: `Earnings Type`,
text13: `Invited User`,
text14: `Activity Rules`,
text15: `Successfully invite a friend to register, both parties get 1000 coins each, unlimited!`,
text16: `Inviter: You`,
text17: `Direct Invitee`,
text18: `Invite friends to top up and get cashback, up to 7% for 30 days!`,
text19: `Inviter: You`,
text20: `Direct Invitee`,
text21: `Indirect Invitee`,
text22: `Direct Invitee: Those who registered using your invitation code`,
text23: `Indirect Invitee: Those invited by your registered friends`,
text24: `Top-Up Amount`,
text25: `Earnings`,
text26: `Top-Up Amount`,
text27: `Earnings`,
text28: `*Magic wand is used to participate in <a href="../../modules/act-wishingStar/index.html"><b>Wishing Star activity>>`,
text29: `Other Instructions`,
text30: `<li class="title">About Invitation Reward Settlement</li>
<li>1. Invited User's Earnings: System automatically distributes rewards to the corresponding account after new user fills in the invitation code</li>
<li>2. Inviter's Earnings: System automatically distributes rewards to the corresponding account after new user fills in the invitation code</li>
<li>3. Top-Up Reward: Only direct top-up data is counted; New users who fill in the invitation code complete their first 30-Day Top-Up, they can get a magic wand reward, which can be used to participate in the Wishing Star gameplay to get rare gift rewards; Inviters can get additional earnings by completing specified amount of top-ups, and earnings are credited in real time;</li>
<li class="title">About Invalid Invitations</li>
<li>1. Users registered with the same device, same phone number, and same identity information are considered the same user and cannot receive rewards repeatedly; If the inviter and the invitee use the same device, same identity information, and same phone number, the inviter cannot receive rewards</li>
<li>2. Each new user can only fill in an invitation code once, and cannot be modified after filling in, pay attention! Invitation code cannot be filled in later, please inform the new user to fill in the invitation code when registering in time, otherwise this invitation is invalid;</li>
<li>3. If there is any cheating behavior, the official has the right to clear all rewards obtained by cheaters and ban the account;</li>
<li>4. Virtual phone numbers and banned users cannot participate in the activity;</li>
<li class="title">Others</li>
<li>1. If you have any questions, please contact WhatsApp: 8618984433556</li>
<li>2. The final interpretation right of this activity belongs to the official, and has nothing to do with Apple Inc./Google Inc.;</li>`,
text31: `Share QR Code >`,
text32: `Friends Scan QR Code to Download and Register`,
text33: `Get <b>1000</b><img src="./images/gold.png" alt="" class="diamond">`,
text34: `Save Locally`,
text35: `Direct`,
text36: `Scan to download molistar and fill in My Code to get 1000 coins!`,
text37: `Molistar, Encounter with the Heartbeat Sound`,
text38: `Chat, Play Games, Make Friends, Anytime Anywhere on Molistar`,
text39: `Direct`,
text40: `Indirect`,
text41: `Invitation Earnings Record`,
text42: `Invited User Record`,
text43: `None`,
text44: `Time`,
text45: `Earnings`,
text46: `Earnings Type`,
text47: `Direct Invitee`,
text48: `Time`,
text49: `Earnings`,
text50: `Earnings Type`,
text51: `Indirect Invitee`,
text52: `Invite Friends to Register`,
text53: `Friends Top-Up Cashback`,
text54: `Friend's First Top-Up`,
text55: `Indirect Invitation Top-Up Cashback`,
text56: `Time`,
text57: `Direct Invitee`,
text58: `30-Day Top-Up`,
text59: `Time`,
text60: `Direct Invitee`,
text61: `Indirect Invitee`,
text62: `30-Day Top-Up`,
text66: `<div class="table1_1">
<div style="line-height: 0.4rem;">Top-Up Amount<br>(Within 30 Days, Unit: Coins)</div>
<div>Earnings</div>
</div>
<div class="table1_2">
<div>Top-Up &lt;10000</div>
<div style="line-height: 0.4rem;">Directly Invited User +2 Magic Wands, You +1 Magic Wand</div>
</div>
<div class="table1_3">
<div>10000≤ Top-Up &lt;50000</div>
<div style="line-height: 0.4rem;">For every 1000 top-up by Directly Invited User, You +30 (3.00%)</div>
</div>
<div class="table1_4">
<div>Top-Up ≥50000 </div>
<div style="line-height: 0.4rem;">For every 1000 top-up by Directly Invited User, You +50 (5.00%)</div>
</div>
<div class="table2_1">
<div style="line-height: 0.4rem;">Top-Up Amount<br>(Within 30 Days, Unit: Coins)</div>
<div>Earnings</div>
</div>
<div class="table2_2">
<div>10000≤ Top-Up &lt;50000</div>
<div style="line-height: 0.4rem;">For every 1000 top-up by Indirectly Invited User, You +10 (1.00%)</div>
</div>
<div class="table2_3">
<div>Top-Up ≥50000</div>
<div style="line-height: 0.34rem;">For every 1000 top-up by Indirectly Invited User, You +20 (2.00%)</div>
</div>`,
},
share: {
title: `Join me on Molistar, where fun awaits!`,
text1: `Discover unexpected connections on Molistar.`,
text2: `Chat, play games, and make friends anytime, anywhere on Molistar.`,
xz_id: `Download Molistar now!`,
text4: `Download and register on Molistar with my invite code to get 1000 gold coins instantly!`,
text5: `Loading...`,
text6: `Operation complete`,
text7: `Copy successful`,
text8: `Network error, please try again later`,
}
}

View File

@@ -0,0 +1,122 @@
// 中文
langZh = {
// 模塊
demoModule: {
title: `邀請得金幣`,
text1: `每邀請一人得 <b>1000</b> `,
text2: `我的邀請碼`,
text3: `分享邀請好友`,
text4: `複製邀請碼`,
text5: `我的收益`,
text6: `直接邀請收益`,
text7: `間接邀請收益`,
text8: `直接邀請收益記錄`,
text9: `直接邀請用戶記錄`,
text10: `時間`,
text11: `收益`,
text12: `收益類型`,
text13: `邀請對象`,
text14: `活動規則`,
text15: `成功邀請一位好友註冊雙方各得1000金幣無上限`,
text16: `邀請人:妳`,
text17: `直接邀請對象`,
text18: `邀請好友儲值返現纍計高達7%持續30天`,
text19: `邀請人:妳`,
text20: `直接邀請對象`,
text21: `間接邀請對象`,
text22: `直接邀請對象:通過填寫妳的邀請碼註冊的人`,
text23: `間接邀請對象:妳邀請註冊的好友繼續邀請的人`,
text24: `儲值數額`,
text25: `獲得收益`,
text26: `儲值數額`,
text27: `獲得收益`,
text28: `*魔法棒用於參與<a href="../../modules/act-wishingStar/index.html"><b>許願之星活動>> `,
text29: `其他說明`,
text30: `<li class="title">關於邀請獎勵結算</li>
<li>1.被邀用戶收益:新用戶填寫邀請碼後繫統自動發放權益至所屬賬號</li>
<li>2.邀請用戶收益:被邀新用戶填寫邀請碼後繫統自動發放權益至所屬賬號</li>
<li>3.充值獎勵僅統計直接充值數據新用戶自填寫邀請碼30日內完成首充可獲得魔法棒獎勵魔法棒可用於參與許願之星玩法獲取珍稀禮物獎勵完成指定數額充值邀請人可獲得額外收益收益實時到賬</li>
<li class="title">關於無效的邀請</li>
<li>1.使用同一設備,同一手機號碼,同一身份信息註冊的用戶視為同一用戶,不能重復獲得獎勵;若邀請人與被邀請人使用同一設備,同一身份信息,同一手機號碼,邀請人無法獲取獎勵</li>
<li>2.每位新用戶僅能填寫一次邀請碼,填寫後不支持修改,註意註意!邀請碼不支持補填,還請邀請新用戶時告知新用戶註冊時及時填寫邀請碼,否則本次邀請無效;</li>
<li>3.如有作弊行為,官方有權清除作弊者所得的所有獎勵,併封禁賬號;</li>
<li>4.虛擬手機號、封禁用戶無法參加活動;</li>
<li class="title">其他</li>
<li>1.有任何疑問請聯繫WhatsApp8618984433556</li>
<li>2.本活動最終解釋權歸官方所有並與Apple inc/Google公司無關</li>`,
text31: `分享二維碼 >`,
text32: `好友掃碼下載註冊`,
text33: `得<b>1000</b><img src="./images/gold.png" alt="" class="diamond">`,
text34: `保存本地`,
text35: `直接`,
text36: `掃碼下載molistar並填寫我的邀請碼\n立得 1000 金幣!`,
text37: `molistar與心動聲音不期而遇`,
text38: `聊天玩遊戲交朋友隨時隨地在molistar`,
text39: `直接`,
text40: `間接`,
text41: `邀請收益記錄`,
text42: `邀請用戶記錄`,
text43: `暫無`,
text44: `時間`,
text45: `收益`,
text46: `收益類型`,
text47: `直接邀請對象`,
text48: `時間`,
text49: `收益`,
text50: `收益類型`,
text51: `間接邀請對象`,
text52: `邀請好友注冊`,
text53: `好友儲值返現`,
text54: `好友首次儲值`,
text55: `間接邀請儲值返現`,
text56: `時間`,
text57: `直接邀請對象`,
text58: `30天內充值`,
text59: `時間`,
text60: `直接邀請對象`,
text61: `間接邀請對象`,
text62: `30天內充值`,
text63: `金幣&lt;30天內儲值&lt;`,
text64: `金幣`,
text65: `直接邀請對象+2魔法棒妳+1魔法棒`,
text66: `<div class="table1_1">
<div style="line-height: 0.4rem;">儲值數額<br>時間30天內單位金幣</div>
<div>獲得收益</div>
</div>
<div class="table1_2">
<div>儲值&lt;10000</div>
<div style="line-height: 0.4rem;">直接邀請對象 +2 魔法棒,妳 +1 魔法棒</div>
</div>
<div class="table1_3">
<div>10000≤儲值&lt50000</div>
<div style="line-height: 0.4rem;">直接邀請對象每儲值1000妳+303.00%</div>
</div>
<div class="table1_4">
<div>儲值≥50000 </div>
<div style="line-height: 0.4rem;">直接邀請對象每儲值1000妳+505.00%</div>
</div>
<div class="table2_1">
<div style="line-height: 0.4rem;">儲值數額<br>時間30天內單位金幣</div>
<div>獲得收益</div>
</div>
<div class="table2_2">
<div>10000≤儲值&lt;50000</div>
<div style="line-height: 0.4rem;">間接邀請對象每儲值1000妳+101.00%</div>
</div>
<div class="table2_3">
<div>儲值≥50000</div>
<div style="line-height: 0.34rem;">間接邀請對象每儲值1000妳+202.00%</div>
</div>`,
},
share: {
title: `我在molistar等你来玩`,
text1: `molistar與心動聲音不期而遇`,
text2: `聊天玩遊戲交朋友隨時隨地在molistar`,
xz_id: `立即下载molistar`,
text4: `下載註冊molistar並填寫我的邀請碼立得1000金幣`,
text5: `加載中...`,
text6: `操作完成`,
text7: `复制成功`,
text8: `網路錯誤,請退出重進`,
}
}

View File

@@ -4,16 +4,17 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>I'm on Molistar, join me!</title>
<title id="title"></title>
<!-- 我在molistar等你来玩 -->
<meta property="og:url" content="" />
<meta property="fb:app_id" content="1266232494209868" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Molistar: Encounter with Heartfelt Sound" />
<meta property="og:description" content="Chat, Game, Friends - Anywhere, Molistar" />
<meta class="content_image" property="og:image" content="https://image.molistar.xyz/molistar.png" />
<meta property="og:image:width" content="256">
<meta property="og:image:height" content="256">
<meta property="og:image:type" content="image/png">
<meta property="fb:app_id" content="1266232494209868" />
<meta property="og:type" content="website" />
<meta id="text1" property="og:title" content="" />
<meta id="text2" property="og:description" content="" />
<meta class="content_image" property="og:image" content="https://image.molistar.xyz/molistar.png" />
<meta property="og:image:width" content="256">
<meta property="og:image:height" content="256">
<meta property="og:image:type" content="image/png">
<link rel="stylesheet" href="../../common/css/reset.css">
<link rel="stylesheet" href="./css/swiper-bundle.min.css">
<link rel="stylesheet" href="./css/share.css?v=1.0">
@@ -32,23 +33,20 @@
<div class="swiper-slide">
<img src="./images/share/page3.png" alt="">
</div>
<div class="swiper-slide">
<img src="./images/share/page4.png" alt="">
</div>
</div>
</div>
</div>
<div class="box">
<!-- <a href="" class="asd">
<!-- <a href="" class="asd">
<div class="xz" id="downloads">立即下载molistar</div>
</a> -->
<div class="xz" id="downloads">Google Play search for Molistar</div>
<div class="xz xz_id" id="downloads"></div>
<div class="codeBg">
<div class="num"></div>
<div class="copy" id="copy"></div>
</div>
</div>
<div class="bottom">Download and register on Molistar with my invite code to get 1000 diamonds!</div>
<div class="bottom" id="text4"></div>
</body>
</html>
@@ -59,6 +57,10 @@
<script src="../../common/js/vconsole.min.js"></script>
<script src="../../common/js/route-constant.js"></script>
<script src="./js/swiper-bundle.min.js"></script>
<script type="text/javascript" src="//cebg.t4m.cn/applink.js"></script>
<!-- <script type="text/javascript" src="//cebg.t4m.cn/applink.js"></script> -->
<script src="../../common/js/jquery.copy.min.js"></script>
<script src="./js/share.js?v=1.5"></script>
<script src="./local/en.js"></script>
<script src="./local/zh.js"></script>
<script src="./local/ar.js"></script>
<script src="./js/share.js?v=1.5"></script>
<script src="../../common/local/langHandler.js"></script>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,305 @@
@font-face {
font-family: 'pingfang-bold';
src: url("../../../common/fonts/PingFang Bold.ttf");
src: url("../../../common/fonts/PingFang Bold.ttf") format("woff"), url("../../../common/fonts/PingFang Bold.ttf") format("truetype"), url("../../../common/fonts/PingFang Bold.ttf") format("svg");
}
@font-face {
font-family: 'din-medium';
src: url("../../../common/fonts/DINCond-Medium.ttf");
src: url("../../../common/fonts/DINCond-Medium.ttf") format("woff"), url("../../../common/fonts/DINCond-Medium.ttf") format("truetype"), url("../../../common/fonts/DINCond-Medium.ttf") format("svg");
}
@font-face {
font-family: 'pingfang-medium';
src: url("../../../common/fonts/PingFang-Medium.ttf");
src: url("../../../common/fonts/PingFang-Medium.ttf") format("woff"), url("../../../common/fonts/PingFang-Medium.ttf") format("truetype"), url("../../../common/fonts/PingFang-Medium.ttf") format("svg");
}
html,
body {
width: 100%;
background: linear-gradient(0deg, #669900 0%, #A1D33E 100%);
height: 100%;
}
.img {
position: fixed;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 6rem;
height: 4.13333rem;
background: url(../images/null.png) no-repeat;
background-size: 100% 100%;
}
.img p {
text-align: center;
width: 1.33333%rem;
position: absolute;
bottom: -1rem;
left: 50%;
transform: translate(-50%);
color: #fff;
font-size: 0.26667rem;
}
.record-list {
width: 10rem;
margin: 0.4rem auto;
}
.record-list li {
width: 100%;
height: 8.48rem;
background: url("../images/record/record-bg.png") no-repeat;
background-size: 100% 100%;
border-radius: 0.26667rem;
overflow: hidden;
}
.record-list li h3 {
width: 100%;
height: 0.7rem;
line-height: 0.7rem;
text-align: center;
color: #fff;
margin: 0.3rem auto -0.3rem;
}
.record-list li .goldBox {
width: 90%;
height: 0.58667rem;
line-height: 0.58667rem;
display: flex;
box-sizing: border-box;
padding: 0 0.26667rem;
margin: 0.35rem auto 0;
}
.record-list li .goldBox p {
color: #fff;
width: 50%;
text-align: center;
display: none;
}
.record-list li .goldBox span {
color: #FFF773;
font-size: 0.26667rem;
}
.record-list li .result-wrap {
width: 84%;
height: 1.21333rem;
line-height: 1.21333rem;
box-sizing: border-box;
margin: 0.06667rem auto 0.33333rem;
display: flex;
justify-content: space-between;
position: relative;
}
.record-list li .result-wrap .result {
display: flex;
align-items: center;
}
.record-list li .result-wrap .result span {
color: #FFFFFF;
padding-right: 0.18667rem;
font-weight: 600;
position: absolute;
left: 50%;
transform: translateX(-50%);
text-align: center;
top: -0.1rem;
font-weight: bold;
font-size: 0.32rem;
white-space: nowrap;
}
.record-list li .result-wrap .award {
display: flex;
align-items: center;
position: absolute;
right: 0rem;
top: -0.1rem;
}
.record-list li .result-wrap .award p,
.record-list li .result-wrap .award b {
font-size: 0.32rem;
color: #FFFFFF;
font-weight: 600;
}
.record-list li .result-wrap .award .diamond {
width: 0.37333rem;
height: 0.37333rem;
}
.record-list li .result-wrap .result_sBox {
width: 8.8rem;
height: 1.14667rem;
margin: 1rem auto 0;
display: flex;
justify-content: center;
position: relative;
left: 50%;
transform: translateX(-50%);
}
.record-list li .result-wrap .result_sBox .bg {
width: 1.14667rem;
height: 1.14667rem;
background: url("../images/record_bubble_act.png") no-repeat;
background-size: 100% 100%;
text-align: center;
}
.record-list li .result-wrap .result_sBox .bg img {
width: 75%;
display: block;
margin: 0.13333rem auto 0;
}
.record-list li .put-wrap {
width: 84%;
height: 1.21333rem;
line-height: 1.21333rem;
box-sizing: border-box;
margin: 2rem auto 0;
display: flex;
position: relative;
}
.record-list li .put-wrap .put {
font-size: 0.37333rem;
color: #FFFFFF;
font-weight: 600;
margin-right: 0.9rem;
position: absolute;
left: 50%;
transform: translateX(-50%);
top: -1rem;
text-align: center;
font-size: 0.4rem;
font-weight: bold;
}
.record-list li .put-wrap .list {
width: 6.72rem;
height: 2.77333rem;
display: flex;
flex-wrap: wrap;
margin: 0.3rem auto 0;
}
.record-list li .put-wrap .list .item {
width: 0.98667rem;
height: 1.2rem;
margin-right: 0.92rem;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
}
.record-list li .put-wrap .list .item:nth-child(4n) {
margin-right: 0;
}
.record-list li .put-wrap .list .item p {
width: 0.82667rem;
height: 0.82667rem;
background: url("../images/record_bubble.png") no-repeat;
background-size: 100% 100%;
}
.record-list li .put-wrap .list .item p .gift {
width: 75%;
margin-top: 0.1rem;
margin-left: 0.1rem;
}
.record-list li .put-wrap .list .item div {
width: 100%;
height: 0.33333rem;
display: flex;
align-items: center;
justify-content: center;
}
.record-list li .put-wrap .list .item div .diamond {
width: 0.33333rem;
height: 0.33333rem;
margin-top: -0.01rem;
}
.record-list li .put-wrap .list .item div .in {
font-size: 0.26667rem;
color: #FFFFFF;
font-weight: 600;
white-space: nowrap;
}
.record-list li .marine_organism {
width: 78%;
height: 2.13333rem;
margin: 0 auto;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.record-list li .marine_organism span {
width: 1.6rem;
height: 1.6rem;
position: relative;
display: block;
}
.record-list li .marine_organism span img {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 0.72rem;
height: 0.62667rem;
display: block;
}
.record-list li .marine_organism span b {
position: absolute;
right: -0.1rem;
top: 0.3rem;
color: #FFFFFF;
font-size: 0.26667rem;
}
.record-list li .marine_organism .active {
width: 1.6rem;
height: 1.6rem;
position: relative;
}
.record-list li .marine_organism .active img {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 0.96rem;
height: 0.82667rem;
display: block;
}
.record-list li .marine_organism .active b {
position: absolute;
right: -0.1rem;
top: 0.3rem;
color: #FEEF60;
font-weight: bold;
font-size: 0.32rem;
}

View File

@@ -0,0 +1,358 @@
@function px2rem($px) {
@return $px / 75+rem;
}
// @function prefixurl() {
// @return 'https://img.pekolive.com/'
// }
@font-face {
font-family: 'pingfang-bold';
src: url('../../../common/fonts/PingFang\ Bold.ttf');
src: url('../../../common/fonts/PingFang\ Bold.ttf') format('woff'),
url('../../../common/fonts/PingFang\ Bold.ttf') format('truetype'),
url('../../../common/fonts/PingFang\ Bold.ttf') format('svg');
}
@font-face {
font-family: 'din-medium';
src: url('../../../common/fonts/DINCond-Medium.ttf');
src: url('../../../common/fonts/DINCond-Medium.ttf') format('woff'),
url('../../../common/fonts/DINCond-Medium.ttf') format('truetype'),
url('../../../common/fonts/DINCond-Medium.ttf') format('svg');
}
@font-face {
font-family: 'pingfang-medium';
src: url('../../../common/fonts/PingFang-Medium.ttf');
src: url('../../../common/fonts/PingFang-Medium.ttf') format('woff'),
url('../../../common/fonts/PingFang-Medium.ttf') format('truetype'),
url('../../../common/fonts/PingFang-Medium.ttf') format('svg');
}
html,
body {
width: 100%;
background: linear-gradient(0deg, #669900 0%, #A1D33E 100%);
height: 100%;
// background: #A1D33E;
}
.img {
position: fixed;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: px2rem(450);
height: px2rem(310);
background: url(../images/null.png) no-repeat;
background-size: 100% 100%;
p {
text-align: center;
width: px2rem(100%);
position: absolute;
bottom: -1rem;
left: 50%;
transform: translate(-50%);
color: #fff;
font-size: px2rem(20);
}
}
.record-list {
width: px2rem(750);
margin: px2rem(30) auto;
li {
width: 100%;
height: px2rem(636);
// background: linear-gradient(0deg, #46BBC1 0%, #62DEE4 100%);
background: url('../images/record/record-bg.png') no-repeat;
background-size: 100% 100%;
border-radius: px2rem(20);
overflow: hidden;
h3 {
width: 100%;
height: 0.7rem;
line-height: 0.7rem;
text-align: center;
color: #fff;
margin: 0.3rem auto -0.3rem;
}
.goldBox {
width: 90%;
height: px2rem(44);
line-height: px2rem(44);
// background: #F46331;
display: flex;
// justify-content: space-between;
box-sizing: border-box;
padding: 0 px2rem(20);
margin: 0.35rem auto 0;
p {
color: #fff;
width: 50%;
text-align: center;
display: none;
}
span {
color: #FFF773;
font-size: px2rem(20);
}
// .gold {
// font-size: px2rem(26 );
// color: #FEEF60;
// }
}
.result-wrap {
width: 84%;
height: px2rem(91);
line-height: px2rem(91);
box-sizing: border-box;
margin: px2rem(5) auto px2rem(25);
display: flex;
justify-content: space-between;
position: relative;
.result {
display: flex;
align-items: center;
span {
color: #FFFFFF;
padding-right: px2rem(14);
font-weight: 600;
position: absolute;
left: 50%;
transform: translateX(-50%);
// width: px2rem(143);
text-align: center;
// height: px2rem(45 );
// background: url(../images/record/result.png) no-repeat;
// background-size: 100% 100%;
top: -0.1rem;
font-weight: bold;
font-size: px2rem(24);
white-space: nowrap;
}
// .bg {
// width: px2rem(91 );
// height: px2rem(91 );
// background: url('../images/record_bubble_act.png') no-repeat;
// background-size: 100% 100%;
// text-align: center;
// img {
// width: 75%;
// margin-top: 0.15rem;
// }
// }
}
.award {
display: flex;
align-items: center;
position: absolute;
// right: 0.8rem;
// top: 1.8rem;
right: 0rem;
top: -0.1rem;
p,
b {
font-size: px2rem(24);
color: #FFFFFF;
font-weight: 600;
}
.diamond {
width: px2rem(28);
height: px2rem(28);
}
}
.result_sBox {
width: px2rem(660);
height: px2rem(86);
margin: 1rem auto 0;
display: flex;
justify-content: center;
position: relative;
left: 50%;
transform: translateX(-50%);
.bg {
width: px2rem(86);
height: px2rem(86);
background: url('../images/record_bubble_act.png') no-repeat;
background-size: 100% 100%;
text-align: center;
img {
width: 75%;
display: block;
margin: px2rem(10) auto 0;
}
}
}
}
.put-wrap {
width: 84%;
height: px2rem(91);
line-height: px2rem(91);
box-sizing: border-box;
margin: 2rem auto 0;
display: flex;
position: relative;
.put {
font-size: px2rem(28);
color: #FFFFFF;
font-weight: 600;
margin-right: 0.9rem;
position: absolute;
// width: px2rem(77 );
// height: px2rem(45 );
left: 50%;
transform: translateX(-50%);
// background: url(../images/record/touru.png) no-repeat;
// background-size: 100% 100%;
top: -1rem;
text-align: center;
font-size: px2rem(30);
font-weight: bold;
}
.list {
width: px2rem(504);
height: px2rem(208);
display: flex;
flex-wrap: wrap;
margin: 0.3rem auto 0;
.item {
width: px2rem(74);
height: px2rem(90);
margin-right: 0.92rem;
// position: relative;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
&:nth-child(4n) {
margin-right: 0;
}
p {
width: px2rem(62);
height: px2rem(62);
background: url('../images/record_bubble.png') no-repeat;
background-size: 100% 100%;
.gift {
width: 75%;
margin-top: 0.1rem;
margin-left: 0.1rem;
}
}
div {
width: 100%;
height: px2rem(25);
display: flex;
align-items: center;
justify-content: center;
.diamond {
width: px2rem(25);
height: px2rem(25);
margin-top: -0.01rem;
}
.in {
font-size: px2rem(20);
color: #FFFFFF;
font-weight: 600;
white-space: nowrap;
}
}
}
}
}
.marine_organism {
// width: px2rem(560 );
width: 78%;
height: px2rem(160);
margin: 0 auto;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
span {
width: px2rem(120);
height: px2rem(120);
position: relative;
display: block;
img {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: px2rem(54);
height: px2rem(47);
display: block;
}
b {
position: absolute;
right: -0.1rem;
top: 0.3rem;
color: #FFFFFF;
font-size: px2rem(20);
}
}
.active {
width: px2rem(120);
height: px2rem(120);
position: relative;
img {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: px2rem(72);
height: px2rem(62);
display: block;
}
b {
position: absolute;
right: -0.1rem;
top: 0.3rem;
color: #FEEF60;
// -webkit-text-stroke: px2rem(2 ) #FF5C7E;
// text-stroke: px2rem(2 ) #FF5C7E;
font-weight: bold;
font-size: px2rem(24);
}
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 774 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

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