Compare commits

...

101 Commits

Author SHA1 Message Date
chenruiye
f3f84c5517 寻宝活动-修复金币类型图片问题 2025-05-29 15:17:46 +08:00
chenruiye
db019d7b04 寻宝活动-修改抽奖图片显示问题 2025-05-29 15:17:46 +08:00
chenruiye
2c9ad0fee7 修改寻宝点数记录里数据显示 2025-05-29 15:17:46 +08:00
chenruiye
14aed0156e 寻宝活动修复排行榜没数据loading问题 2025-05-29 15:17:46 +08:00
chenruiye
851c5c6f42 完善寻宝活动-页面样式问题,代理进入页面bug 2025-05-29 15:17:46 +08:00
chenruiye
55c6607a5f 寻宝活动翻译 2025-05-29 15:17:46 +08:00
chenruiye
d864b11b4f 完善寻宝活动 2025-05-29 15:17:46 +08:00
chenruiye
efeb2af839 寻宝活动页面接入接口 2025-05-29 15:17:46 +08:00
chenruiye
fb3d9fd7f4 寻宝活动静态页面 2025-05-29 15:17:46 +08:00
chenruiye
1195118023 寻宝活动install 2025-05-29 15:17:46 +08:00
chenruiye
ce7f1a33ba 日任务中心-修改积分页面样式问题 2025-05-29 15:16:57 +08:00
chenruiye
f476a43d75 日任务中心-修改商城数据问题 2025-05-29 15:16:57 +08:00
chenruiye
23e5597757 日任务中心-修改任务列表按钮样式 2025-05-29 15:16:29 +08:00
chenruiye
b565bf403e 日任务-请求头添加设备id 2025-05-29 15:16:29 +08:00
chenruiye
05015811e7 完善日任务中心样式问题 2025-05-29 15:16:29 +08:00
chenruiye
031ac3f926 日任务中心-修改签到刷新任务列表 2025-05-29 15:16:29 +08:00
chenruiye
8702969860 完善日任务中心 2025-05-29 15:16:29 +08:00
chenruiye
86bad54e90 修改活动详情分享功能接入原生方法 2025-05-29 15:16:29 +08:00
chenruiye
5feb4f305e 日任务中心install 2025-05-29 15:16:29 +08:00
chenruiye
f48094fdb2 修改活动详情在正式环境下复制功能 2025-05-27 18:44:55 +08:00
chenruiye
2b7dbd0660 修改薪资账户-绑定账户页面翻译 2025-05-23 19:11:28 +08:00
chenruiye
b372b460d3 薪资账户-新增pix提款类型 2025-05-23 19:11:28 +08:00
chenruiye
9d76dbab01 活动模块-增加用户性别展示 2025-05-22 13:53:16 +08:00
chenruiye
d59a1fbee9 活动模块-修改分享落地页地址栏获取参数 2025-05-22 13:53:16 +08:00
chenruiye
18ecf64b6d 活动模块-修改详情页订阅状态 2025-05-22 13:53:16 +08:00
chenruiye
927513ed64 活动模块-增加详情页房间id 2025-05-22 13:53:16 +08:00
chenruiye
8070bcc442 修改活动模块-详情页点击分享按钮返回上一页问题 2025-05-22 13:53:15 +08:00
chenruiye
b8a85d1626 活动模块-分享落地页修改获取地址栏参数 2025-05-22 13:53:15 +08:00
chenruiye
19c4fa5ecf 完善活动模块-详情和分享页 2025-05-22 13:53:15 +08:00
chenruiye
994943b4df 活动模块-详情and分享落地页install 2025-05-22 13:53:15 +08:00
chenruiye
0372e8d69f 幸运数字-修改阿语区选择数字的顺序 2025-05-21 18:48:05 +08:00
chenruiye
3d3e348c2e 薪资账户-转赠公会长/充值代理二次弹窗修改翻译 2025-05-21 11:32:09 +08:00
chenruiye
d376e3b9ea 薪资账户-转赠公会长/充值代理增加二次弹窗 2025-05-21 11:32:09 +08:00
chenruiye
7d625b65ae 约旦独立日活动install 2025-05-21 11:32:09 +08:00
chenruiye
c943878bba 修改每月奖励-英语2区修改财富/家族榜奖励图片 2025-05-20 15:38:51 +08:00
chenruiye
a028677c08 金币账单-添加幸运数字类型 2025-05-20 15:11:54 +08:00
chenruiye
f8bda38049 金币账单-增加活动模块翻译 2025-05-20 15:11:54 +08:00
chenruiye
cbe48d4608 修改幸运数字查看结果页面标题展示总奖池数 2025-05-20 14:47:58 +08:00
chenruiye
d6c149a33d 修改幸运数字查看结果页面状态显示逻辑 2025-05-20 11:17:23 +08:00
chenruiye
9f82f0bcb3 修改停止状态展示和开奖状态展示内容 2025-05-19 18:54:02 +08:00
chenruiye
39854a7fd1 修改幸运数字首页样式,头图 2025-05-19 17:27:44 +08:00
chenruiye
db7d1872cc 修改幸运数字首页样式 2025-05-19 17:04:00 +08:00
chenruiye
efd11182bb 完善幸运数字首页部分逻辑 2025-05-19 14:39:39 +08:00
chenruiye
7d39f9638e 完善幸运数字模块 2025-05-16 15:32:52 +08:00
chenruiye
d535c34ceb 完善我的历史页面 2025-05-15 17:29:03 +08:00
chenruiye
e6594ee2d8 完善首页,我的历史页面接入接口 2025-05-15 17:29:03 +08:00
chenruiye
e421eea056 完善幸运数字首页逻辑 2025-05-15 17:29:03 +08:00
chenruiye
8c23569a25 完善幸运数字静态首页,我的历史静态页面 2025-05-15 17:29:03 +08:00
chenruiye
d0fba01592 幸运数字instasll 2025-05-15 17:29:03 +08:00
chenruiye
29a5199db6 修改金币账单-赠送金币英文翻译 2025-05-15 17:28:32 +08:00
chenruiye
56a8a45c6b 也门统一日修改头图 2025-05-15 15:33:52 +08:00
chenruiye
98d7cae3a2 更换也门同一日奖励背景图 2025-05-15 15:33:52 +08:00
chenruiye
86f746e3a6 完善也门同一日活动 2025-05-15 15:33:52 +08:00
chenruiye
0bad51d3bb 也门统一日活动install 2025-05-15 15:33:52 +08:00
chenruiye
e395b420a4 修改金币账单新增两个类型-小游戏, 金币账单-赠送礼物增加三个幸运礼物类型 2025-05-12 20:42:04 +08:00
chenruiye
aa4f9aae2d 金币账单新增两个类型-小游戏 2025-05-12 20:42:03 +08:00
chenruiye
543e8bffc3 修改动态获取域名配置 2025-04-30 17:06:53 +08:00
chenruiye
ca308a49a9 薪资账户-修改-充值代理結算英文翻译 2025-04-29 15:14:32 +08:00
chenruiye
40b23c15e7 BD中心-修复列表分页问题 2025-04-29 15:14:32 +08:00
chenruiye
c2e1314a0a BD中心-增加翻译 2025-04-29 15:14:32 +08:00
chenruiye
17e3e33fa2 优化BD中心样式 2025-04-29 15:14:31 +08:00
chenruiye
d6740d078b 完善BD中心页面逻辑 2025-04-29 15:14:31 +08:00
chenruiye
441958379f BD中心install 2025-04-29 15:14:31 +08:00
chenruiye
953bc4955b 公会-薪资账户-账单修改账单类型展示文字 2025-04-28 16:05:20 +08:00
chenruiye
90a8060cd6 公会-薪资账户-代理页面- 优化页面逻辑,新增英语2区代理官方提现 2025-04-28 16:05:06 +08:00
khalil
14a7b1b39c 公会-薪资账户-代理-成员提现 2025-04-28 16:04:51 +08:00
chenruiye
8e6a97dcce cp规则页新增规则 2025-04-17 15:42:46 +08:00
chenruiye
de197e0e3c Boom规则页-新增英语2区规则 2025-04-17 14:23:01 +08:00
chenruiye
f206d05a3e 修改钻石记录公会长薪资类型ID 2025-04-16 11:41:20 +08:00
chenruiye
fa56b24396 取消DiamondLog新增类型-公会长薪资,钻石记录新增类型-公会长薪资 2025-04-16 11:33:43 +08:00
chenruiye
17ad548037 DiamondLog新增类型-公会长薪资 2025-04-16 10:51:24 +08:00
chenruiye
9b10192c4f 优化公会创建-图片上传功能,增加loading和提示 2025-04-15 13:44:21 +08:00
chenruiye
f41093bd3a 每月奖励-隐藏英语2区家族榜数据 2025-04-14 15:21:22 +08:00
chenruiye
27eadc4b6c 修改财富魅力页面-英语2区修改财富榜家族榜图片 2025-04-14 14:12:04 +08:00
chenruiye
8e83c0e874 修改周星榜规则,删除GMT+3 2025-04-14 14:11:53 +08:00
chenruiye
6e302c78b1 修改周星榜没返回上周榜单页面报错问题 2025-04-14 14:11:29 +08:00
chenruiye
c6882e3833 修改荣誉排行-英语2区展示每月奖励 2025-04-14 14:11:17 +08:00
chenruiye
7020ed3e9a 修改钻石记录-日期展示问题 2025-04-10 18:18:37 +08:00
chenruiye
fd10061fe1 修改月充值活动1w档位定制头饰弹框文案不对问题 2025-04-09 16:28:38 +08:00
chenruiye
cd0fb0636c 取消主播周奖励展示数据向下取整的操作 2025-04-07 11:12:27 +08:00
chenruiye
52da7dfe51 修改公会信息-英语2区不展示 2025-04-02 17:46:02 +08:00
chenruiye
577b21d32d 新英语区调整 2025-04-02 13:40:01 +08:00
chenruiye
5ffb9e4e5b 修改老英语区规则图片 2025-04-02 13:39:49 +08:00
chenruiye
9775e19fad 修改新英语区主播周奖励规则页面 2025-04-02 13:39:35 +08:00
chenruiye
ea58682b91 增加DiamondLog类型-日房间奖励 2025-04-02 13:39:23 +08:00
chenruiye
87133760c0 公会新增英语2区 2025-04-02 13:39:07 +08:00
chenruiye
8c0fa3eb5a 修改DiamondLog类型超级礼物翻译 2025-03-31 15:05:32 +08:00
chenruiye
fe8af5f8a1 超级游戏挑战更换vip图片 2025-03-27 14:25:24 +08:00
chenruiye
420efcec1f DiamondLog新增类型-超级礼物 2025-03-27 14:25:04 +08:00
chenruiye
435d792b3b 修改房间榜单列表问题 2025-03-19 11:30:43 +08:00
chenruiye
0de82d1a12 修改房间榜单样式2 2025-03-18 20:22:36 +08:00
chenruiye
f90d332029 修改房间榜单样式 2025-03-18 20:22:21 +08:00
chenruiye
27fa1eea6b DiamondLog新增类型-动态头像 2025-03-18 20:21:30 +08:00
chenruiye
5cd7dbbb34 人机验证隐藏验证成功toast 2025-03-18 19:52:12 +08:00
chenruiye
3bbc90c92a 修改人机验证页面样式 2025-03-18 18:57:21 +08:00
chenruiye
111487ff43 修改人机验证样式和验证成功逻辑 2025-03-18 15:31:04 +08:00
chenruiye
cbd42d4da0 人机验证页面 2025-03-18 15:30:46 +08:00
chenruiye
f3fe251bc6 修改分享页样式 2025-03-18 15:29:27 +08:00
chenruiye
23e5578134 完善分享落地页 2025-03-18 15:29:01 +08:00
chenruiye
0afa711b37 初始化分享落地页 2025-03-18 15:28:35 +08:00
chenruiye
31439c6034 分享落地页install 2025-03-18 15:28:08 +08:00
403 changed files with 23187 additions and 767 deletions

View 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;
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 993 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 724 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View 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>

View 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;
}

View 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: `في انتظار`,
}
}

View File

@@ -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',
},
}

View File

@@ -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',
},
}

View File

@@ -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',
},
}

View 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;
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 662 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 730 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View 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>

View 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;
}

View 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: `في انتظار`,
}
}

View 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',
},
}

View 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',
},
}

View 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',
},
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 818 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 856 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

View 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">ID123</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">ID123</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>

View 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;
})));

View 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;
}

View 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:'التفاصيل',
}
}

View 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',
}
}

View 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',
}
}

View 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',
}
}

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