401 lines
15 KiB
Vue
401 lines
15 KiB
Vue
<template>
|
||
<view class="capacity">
|
||
<view class="capacity-title">共力分总产率/小时<text>{{baseHour}}GLF/h</text></view>
|
||
<view class="capacity-sbutitle">总产率=角色产率+团队产率+共建产率+共力值产率</view>
|
||
<view class="capacity-block">
|
||
<view class="capacity-block-title">
|
||
<view class="title">平台数据</view>
|
||
</view>
|
||
<view class="capacity-block-text">平台注册人数<text>{{userData.login}}</text>活跃人数<text>{{userData.online}}</text></view>
|
||
</view>
|
||
<view class="capacity-block">
|
||
<view class="capacity-block-title">
|
||
<view class="title">我的角色</view>
|
||
<view class="nickname">{{nickname}}</view>
|
||
</view>
|
||
<view class="capacity-block-glf ">{{identityText}}:{{base}}GLF/h</view>
|
||
</view>
|
||
<view class="capacity-block">
|
||
<view class="capacity-block-title">
|
||
<view class="title">成员产率({{group.effect}}/{{group.count}})</view>
|
||
<view class="capacity-block-glf">{{group.capacity}}GLF/h</view>
|
||
<!-- <view class="more" @click="onInvitation">邀请更多好友</view> -->
|
||
</view>
|
||
<view class="capacity-block-table">
|
||
<view class="header">
|
||
<view class="flex-item">家族成员产率</view>
|
||
</view>
|
||
<view class="flex">
|
||
<view class="flex-item">{{recommend.vip}}人在线(会员)</view>
|
||
<view class="flex-item">{{recommend.vip_text}}</view>
|
||
</view>
|
||
<view class="flex">
|
||
<view class="flex-item">{{recommend.novip}}人在线(普通用户)</view>
|
||
<view class="flex-item">{{recommend.novip_text}}</view>
|
||
</view>
|
||
</view>
|
||
<view class="capacity-block-table">
|
||
<view class="header">
|
||
<view class="flex-item">伙伴成员</view>
|
||
</view>
|
||
<view class="flex">
|
||
<view class="flex-item">{{partner.vip}}人在线(会员)</view>
|
||
<view class="flex-item">{{partner.vip_text}}</view>
|
||
</view>
|
||
<view class="flex">
|
||
<view class="flex-item">{{partner.novip}}人在线(普通用户)</view>
|
||
<view class="flex-item">{{partner.novip_text}}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="capacity-block">
|
||
<view class="capacity-block-title">
|
||
<view class="title">共建产率<text>{{build.capacity}}GLF/h</text></view>
|
||
<view class="subtitle">{{build.current}}/{{build.max}}</view>
|
||
</view>
|
||
<view class="capacity-block-text ">产品当前设置共建者每日可以通过看广告获得共建值(暂未开放,敬请期待)</view>
|
||
</view>
|
||
<view class="capacity-block">
|
||
<view class="capacity-block-title">
|
||
<view class="title">共力值产率<text>{{together.capacity}}GLF/h</text></view>
|
||
<view class="subtitle">{{together.current}}/{{together.max}}</view>
|
||
</view>
|
||
<view class="capacity-block-text ">根据正常用户的使用在平台的使用习惯,购物等行为产生对应共力值(暂未开放,敬请期待)</view>
|
||
</view>
|
||
<view class="capacity-block" v-for="(item,index) in other" :keys='index'>
|
||
<view class="capacity-block-title">
|
||
<view class="title">{{item.title}}</view>
|
||
<view class="capacity-block-glf">{{item.capacity}}GLF/h</view>
|
||
</view>
|
||
<view class="capacity-block-text " v-if="item.remark">{{item.remark}}</view>
|
||
</view>
|
||
<view class="capacity-hint"> 用户须知:用户所产生共力分,在每日结算时,平台会扣除30%的共力分用于平台运营使用。 </view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import {
|
||
glz,sign
|
||
} from '@/apis/interfaces/life.js'
|
||
import AD from '@/utils/ad.js'
|
||
export default {
|
||
data() {
|
||
return {
|
||
identityText: '普通用户',
|
||
baseHour: 0,
|
||
base: 0,
|
||
group: {
|
||
count: 0,
|
||
effect: 0,
|
||
capacity: 0,
|
||
},
|
||
nickname: '',
|
||
recommend: {
|
||
vip: '-',
|
||
vip_count: '-',
|
||
novip: '-',
|
||
novip_count: '-',
|
||
vip_text: '-',
|
||
novip_text: '-',
|
||
},
|
||
partner: {
|
||
vip: '-',
|
||
vip_count: '-',
|
||
novip: '-',
|
||
novip_count: '-',
|
||
vip_text: '-',
|
||
novip_text: '-',
|
||
},
|
||
build: {},
|
||
together: {},
|
||
other: {},
|
||
can_repeat_sign: false,
|
||
userData: {
|
||
login : '-',
|
||
online : '-'
|
||
}
|
||
};
|
||
},
|
||
created() {
|
||
uni.showLoading({})
|
||
this.glz();
|
||
},
|
||
onNavigationBarButtonTap() {
|
||
if (!this.can_repeat_sign) {
|
||
uni.showModal({
|
||
title: '温馨提示',
|
||
content: '今日重置签到机会已使用过了,明日再来试试吧~',
|
||
confirmColor: '#34CE98',
|
||
confirmText: '知道了',
|
||
showCancel: false,
|
||
})
|
||
} else {
|
||
uni.showModal({
|
||
title: '温馨提示',
|
||
content: '重置签到只重新计算24小时时间,所迭代加成的比例不变',
|
||
confirmColor: '#34CE98',
|
||
confirmText: '立即重置',
|
||
cancelColor: '#999',
|
||
cancelText: '再想想',
|
||
success: (res1) => {
|
||
this.Sign()
|
||
return
|
||
if (res1.confirm) {
|
||
this.checkIMEI().then(res => {
|
||
switch (res) {
|
||
case 'Permanent':
|
||
uni.showModal({
|
||
title: '提示',
|
||
content: '签到功能需使用您的电话状态和网络信息,请在手机设置中权限开启您的权限',
|
||
showCancel: false,
|
||
})
|
||
break;
|
||
case 'Temporary':
|
||
uni.showModal({
|
||
title: '提示',
|
||
content: '签到功能需使用您的电话状态和网络信息,请点击设置开启应用权限',
|
||
cancelText: '获取权限',
|
||
confirmText: '稍后再说',
|
||
success: e => {
|
||
if (e.cancel) {
|
||
this.checkIMEI().then(IMEI => {
|
||
if (IMEI ===
|
||
'Success') {
|
||
this.showAd()
|
||
}
|
||
})
|
||
}
|
||
}
|
||
})
|
||
break;
|
||
case 'Success':
|
||
this.showAd()
|
||
break;
|
||
}
|
||
}).catch(err => {
|
||
console.log(err)
|
||
})
|
||
}
|
||
}
|
||
})
|
||
}
|
||
},
|
||
methods: {
|
||
glz(){
|
||
glz().then(res => {
|
||
this.userData = res.userData
|
||
this.nickname = res.nickname
|
||
this.identityText = res.identity_text
|
||
this.baseHour = res.base_hour
|
||
this.base = res.base
|
||
this.group = res.group
|
||
this.recommend = res.recommend
|
||
this.partner = res.partner
|
||
this.build = res.build
|
||
this.together = res.together
|
||
this.other = res.other
|
||
this.can_repeat_sign = res.can_repeat_sign
|
||
uni.setNavigationBarTitle({
|
||
title: res.glz + 'GLF'
|
||
})
|
||
uni.hideLoading()
|
||
}).catch(err => {
|
||
uni.showToast({
|
||
title: err.message,
|
||
icon: 'none'
|
||
})
|
||
})
|
||
},
|
||
showAd() {
|
||
AD.show({
|
||
adpid: 1428308887,
|
||
adType: 'RewardedVideo'
|
||
}, detail => {
|
||
if (detail && detail.isEnded) {
|
||
this.Sign()
|
||
}
|
||
}, err => {
|
||
this.Sign()
|
||
})
|
||
},
|
||
// 签到
|
||
Sign(){
|
||
uni.showLoading({
|
||
title: '签到中..'
|
||
})
|
||
sign().then(res => {
|
||
uni.showToast({
|
||
title: '签到成功',
|
||
icon: 'none'
|
||
})
|
||
this.glz()
|
||
}).catch(err => {
|
||
uni.showToast({
|
||
title: err.message,
|
||
icon: 'none'
|
||
})
|
||
})
|
||
},
|
||
onInvitation() {
|
||
this.$Router.push({
|
||
name: 'Invitation'
|
||
})
|
||
},
|
||
// imei权限
|
||
checkIMEI() {
|
||
// 检查imei权限
|
||
return new Promise((resolve, reject) => {
|
||
if (plus.os.name == "Android") {
|
||
plus.android.requestPermissions(['android.permission.READ_PHONE_STATE'], (e) => {
|
||
if (e.deniedAlways.length > 0) {
|
||
resolve('Permanent');
|
||
}
|
||
if (e.deniedPresent.length > 0) {
|
||
resolve('Temporary');
|
||
}
|
||
if (e.granted.length > 0) {
|
||
resolve('Success');
|
||
}
|
||
}, (e) => {
|
||
uni.showToast({
|
||
title: JSON.stringify(e),
|
||
icon: 'none'
|
||
})
|
||
})
|
||
return
|
||
}
|
||
reject('非安卓设备');
|
||
})
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
.capacity {
|
||
background: $window-color;
|
||
min-height: 100vh;
|
||
padding: $padding;
|
||
box-sizing: border-box;
|
||
|
||
&-hint {
|
||
font-size: 26rpx;
|
||
color: gray;
|
||
line-height: 40rpx;
|
||
padding: $padding 0;
|
||
}
|
||
|
||
&-title {
|
||
font-size: 38rpx;
|
||
font-weight: bold;
|
||
line-height: 60rpx;
|
||
|
||
text {
|
||
margin-left: 10rpx;
|
||
color: $main-color;
|
||
}
|
||
}
|
||
|
||
&-sbutitle {
|
||
font-size: 26rpx;
|
||
line-height: 40rpx;
|
||
}
|
||
|
||
&-block {
|
||
background: white;
|
||
margin-top: $margin;
|
||
border-radius: $radius;
|
||
padding: $padding;
|
||
|
||
&-glf {
|
||
color: $main-color;
|
||
font-size: 30rpx;
|
||
// padding-top: 30rpx;
|
||
}
|
||
|
||
&-title {
|
||
font-weight: bold;
|
||
font-size: 34rpx;
|
||
line-height: 60rpx;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
|
||
.title {
|
||
text {
|
||
color: $main-color;
|
||
font-weight: normal;
|
||
padding-left: 10rpx;
|
||
}
|
||
}
|
||
|
||
.more {
|
||
background: $main-color;
|
||
color: white;
|
||
font-weight: bold;
|
||
font-size: 28rpx;
|
||
border-radius: 25rpx;
|
||
line-height: 60rpx;
|
||
width: 230rpx;
|
||
text-align: center;
|
||
}
|
||
|
||
.subtitle {
|
||
font-weight: normal;
|
||
font-size: 24rpx;
|
||
color: $main-color;
|
||
}
|
||
|
||
.nickname {
|
||
color: gray;
|
||
font-size: 30rpx;
|
||
}
|
||
}
|
||
&-text {
|
||
font-size: 28rpx;
|
||
color: gray;
|
||
line-height: 40rpx;
|
||
padding-top: 10rpx;
|
||
text{
|
||
color: $main-color;
|
||
font-weight: bold;
|
||
padding: 0 10rpx;
|
||
}
|
||
}
|
||
|
||
&-table {
|
||
border: solid 1px $border-color;
|
||
margin-top: 20rpx;
|
||
.header {
|
||
background: $border-color;
|
||
line-height: 50rpx;
|
||
padding: 0 15rpx;
|
||
font-size: 26rpx;
|
||
color: gray;
|
||
}
|
||
.flex {
|
||
display: flex;
|
||
border-top: solid 1rpx $border-color;
|
||
color: gray;
|
||
|
||
.flex-item {
|
||
width: 50%;
|
||
box-sizing: border-box;
|
||
line-height: 50rpx;
|
||
padding: 0 15rpx;
|
||
font-size: 24rpx;
|
||
|
||
&:first-child {
|
||
border-right: solid 1rpx $border-color;
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
.pt30 {
|
||
padding-top: 30rpx;
|
||
}
|
||
}
|
||
</style>
|