优化游戏页面进度显示逻辑,新增剩余积分计算和展示格式选择,提升用户体验
This commit is contained in:
@@ -9,7 +9,9 @@
|
||||
<div class="tab-header">
|
||||
<div class="tab-item active">{{ regionDesc || (region === 'Q' ? 'QQ区' : region === 'V' ? '微信区' : region) }}</div>
|
||||
<div class="tab-item status-tab">{{ displayStatus }}</div>
|
||||
<div class="tab-item target-tab">{{ completedPoints || 0 }}/{{ totalPoints || 0 }}</div>
|
||||
<div class="tab-item target-tab" v-if="progressDisplayFormat === '1'">{{ completedPoints || 0 }}/{{ totalPoints || 0 }}</div>
|
||||
<div class="tab-item target-tab" v-else>差:{{ remainingPoints }}</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -93,6 +95,10 @@ export default {
|
||||
codeNo: {
|
||||
type: String,
|
||||
default: null
|
||||
},
|
||||
progressDisplayFormat: {
|
||||
type: String,
|
||||
default: '1'
|
||||
}
|
||||
},
|
||||
data() {
|
||||
@@ -100,6 +106,14 @@ export default {
|
||||
timestamp: Date.now()
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
remainingPoints() {
|
||||
const total = this.totalPoints || 0
|
||||
const completed = this.completedPoints || 0
|
||||
const diff = total - completed
|
||||
return diff > 0 ? diff : 0
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.setupImageRefresh()
|
||||
},
|
||||
|
||||
@@ -25,6 +25,7 @@ export function usePlayState() {
|
||||
currentPoints: 0,
|
||||
totalPoints: 1000,
|
||||
completedPoints: 0,
|
||||
progressDisplayFormat: '1',
|
||||
error: null,
|
||||
qrDelaySeconds: 0,
|
||||
isWaitingQr: false,
|
||||
@@ -114,6 +115,9 @@ export function usePlayState() {
|
||||
}
|
||||
|
||||
state.completedPoints = gameData.completedPoints || 0
|
||||
if (gameData.progressDisplayFormat) {
|
||||
state.progressDisplayFormat = String(gameData.progressDisplayFormat)
|
||||
}
|
||||
state.currentPoints = 0
|
||||
|
||||
console.log('handleLoggedInStatus 执行完成,最终状态:', {
|
||||
@@ -164,6 +168,9 @@ export function usePlayState() {
|
||||
|
||||
state.totalPoints = gameData.totalPoints || 50
|
||||
state.completedPoints = gameData.completedPoints || state.totalPoints
|
||||
if (gameData.progressDisplayFormat) {
|
||||
state.progressDisplayFormat = String(gameData.progressDisplayFormat)
|
||||
}
|
||||
state.currentPoints = state.totalPoints
|
||||
|
||||
console.log('已完成状态更新完成:', {
|
||||
@@ -208,6 +215,10 @@ export function usePlayState() {
|
||||
state.completedPoints = data.completedPoints
|
||||
}
|
||||
|
||||
if (data.progressDisplayFormat) {
|
||||
state.progressDisplayFormat = String(data.progressDisplayFormat)
|
||||
}
|
||||
|
||||
if (data.assets && data.assets.totalPoints) {
|
||||
state.totalPoints = data.assets.totalPoints
|
||||
if (state.currentPoints === undefined) {
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
:display-status="getDisplayStatus()"
|
||||
:completed-points="state.completedPoints"
|
||||
:total-points="state.totalPoints"
|
||||
:progress-display-format="state.progressDisplayFormat"
|
||||
:status-message="getStatusMessage()"
|
||||
:status-message-class="getStatusMessageClass()"
|
||||
:assets="state.assets"
|
||||
|
||||
Reference in New Issue
Block a user