抽奖相关
This commit is contained in:
parent
e06d013ddd
commit
00cdea1a49
@ -370,7 +370,20 @@
|
|||||||
type="button"
|
type="button"
|
||||||
@click="startLottery"
|
@click="startLottery"
|
||||||
>
|
>
|
||||||
{{ t('drawAgain') }}
|
<span
|
||||||
|
v-if="rewardTotalValue(active.currentReward) > 0"
|
||||||
|
class="again-total"
|
||||||
|
>
|
||||||
|
<img :src="asset('gold_new.png')" alt="" />
|
||||||
|
<span
|
||||||
|
class="again-total-value"
|
||||||
|
v-text="rewardTotalText(active.currentReward)"
|
||||||
|
></span>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="again-label"
|
||||||
|
v-text="t('drawAgain')"
|
||||||
|
></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@ -604,14 +604,31 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function rewardDisplayValue(reward) {
|
function rewardDisplayValue(reward) {
|
||||||
|
var metadata = parseJSON(
|
||||||
|
firstPresentValue(reward, ['metadataJson', 'metadata_json'])
|
||||||
|
);
|
||||||
return Number(
|
return Number(
|
||||||
firstPresentValue(reward, [
|
firstPresentValue(reward, [
|
||||||
'value',
|
'value',
|
||||||
|
'displayValue',
|
||||||
|
'display_value',
|
||||||
'displayGoldAmount',
|
'displayGoldAmount',
|
||||||
'goldAmount',
|
'goldAmount',
|
||||||
'rewardValue',
|
'rewardValue',
|
||||||
|
'reward_value',
|
||||||
|
'rewardCoins',
|
||||||
|
'reward_coins',
|
||||||
'amount',
|
'amount',
|
||||||
]) || 0
|
]) ||
|
||||||
|
firstPresentValue(metadata, [
|
||||||
|
'display_value',
|
||||||
|
'displayValue',
|
||||||
|
'coin_price',
|
||||||
|
'coinPrice',
|
||||||
|
'price',
|
||||||
|
'value',
|
||||||
|
]) ||
|
||||||
|
0
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -856,6 +873,35 @@
|
|||||||
asset: function (name) {
|
asset: function (name) {
|
||||||
return ASSET_BASE + name;
|
return ASSET_BASE + name;
|
||||||
},
|
},
|
||||||
|
rewardTotalValue: function (drawResult) {
|
||||||
|
drawResult = drawResult || {};
|
||||||
|
var directValue = Number(
|
||||||
|
firstPresentValue(drawResult, [
|
||||||
|
'rewardValue',
|
||||||
|
'reward_value',
|
||||||
|
'totalValue',
|
||||||
|
'total_value',
|
||||||
|
]) || 0
|
||||||
|
);
|
||||||
|
if (directValue > 0) return directValue;
|
||||||
|
// 弹窗展示必须以当前聚合奖品为准:多抽会先合并相同资源,兜底重算可覆盖旧接口未返回总价值的情况。
|
||||||
|
return (drawResult.rewards || []).reduce(function (sum, item) {
|
||||||
|
return (
|
||||||
|
sum + rewardDisplayValue(item) * rewardCountValue(item)
|
||||||
|
);
|
||||||
|
}, 0);
|
||||||
|
},
|
||||||
|
formatRewardValue: function (value) {
|
||||||
|
var number = Number(value || 0);
|
||||||
|
return Number.isFinite(number)
|
||||||
|
? Math.floor(number).toLocaleString('en-US')
|
||||||
|
: '0';
|
||||||
|
},
|
||||||
|
rewardTotalText: function (drawResult) {
|
||||||
|
return this.formatRewardValue(
|
||||||
|
this.rewardTotalValue(drawResult)
|
||||||
|
);
|
||||||
|
},
|
||||||
ensurePreviewPlayer: function () {
|
ensurePreviewPlayer: function () {
|
||||||
var target = this.$refs.previewEffect;
|
var target = this.$refs.previewEffect;
|
||||||
if (!target || !window.HyAppEffectPlayer) return null;
|
if (!target || !window.HyAppEffectPlayer) return null;
|
||||||
|
|||||||
@ -837,21 +837,60 @@ button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.again-btn {
|
.again-btn {
|
||||||
display: block;
|
display: flex;
|
||||||
flex: 0 0 auto;
|
flex: 0 0 auto;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: calc(2 * var(--wheel-vw));
|
||||||
width: 85%;
|
width: 85%;
|
||||||
height: calc(48 * var(--wheel-vw));
|
height: calc(56 * var(--wheel-vw));
|
||||||
margin: calc(8 * var(--wheel-vw)) auto 0;
|
margin: calc(8 * var(--wheel-vw)) auto 0;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: calc(16 * var(--wheel-vw));
|
font-size: calc(16 * var(--wheel-vw));
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
line-height: calc(48 * var(--wheel-vw));
|
line-height: 1.05;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border: calc(2 * var(--wheel-vw)) solid #fff;
|
border: calc(2 * var(--wheel-vw)) solid #fff;
|
||||||
border-radius: calc(10 * var(--wheel-vw));
|
border-radius: calc(10 * var(--wheel-vw));
|
||||||
background: linear-gradient(to right, #1897ff, #2472ff);
|
background: linear-gradient(to right, #1897ff, #2472ff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.again-total {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
max-width: 92%;
|
||||||
|
gap: calc(4 * var(--wheel-vw));
|
||||||
|
overflow: hidden;
|
||||||
|
color: #fff35a;
|
||||||
|
font-size: calc(13 * var(--wheel-vw));
|
||||||
|
font-weight: 800;
|
||||||
|
line-height: 1;
|
||||||
|
text-shadow: 0 calc(1 * var(--wheel-vw)) calc(2 * var(--wheel-vw))
|
||||||
|
rgba(116, 38, 0, 0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
.again-total img {
|
||||||
|
width: calc(16 * var(--wheel-vw));
|
||||||
|
height: calc(16 * var(--wheel-vw));
|
||||||
|
flex: 0 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.again-total span {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.again-label {
|
||||||
|
display: block;
|
||||||
|
max-width: 92%;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
.wheel-luxury .rule-content {
|
.wheel-luxury .rule-content {
|
||||||
padding: calc(40 * var(--wheel-vw)) calc(20 * var(--wheel-vw))
|
padding: calc(40 * var(--wheel-vw)) calc(20 * var(--wheel-vw))
|
||||||
calc(20 * var(--wheel-vw));
|
calc(20 * var(--wheel-vw));
|
||||||
@ -990,8 +1029,7 @@ button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.wheel-luxury .again-btn {
|
.wheel-luxury .again-btn {
|
||||||
height: calc(38 * var(--wheel-vw));
|
height: calc(50 * var(--wheel-vw));
|
||||||
line-height: calc(38 * var(--wheel-vw));
|
|
||||||
background: linear-gradient(to bottom, #ff85b4, #db2e6c);
|
background: linear-gradient(to bottom, #ff85b4, #db2e6c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user