更新 Play.vue 组件,新增已完成点数的状态管理,优化点数显示逻辑,确保在游戏数据更新时正确反映已完成点数。
This commit is contained in:
@@ -111,11 +111,11 @@
|
||||
<div class="tab-item status-tab">状态</div>
|
||||
<div class="tab-item target-tab">目标点数</div>
|
||||
</div>
|
||||
<div class="tab-header">
|
||||
<div class="tab-header">{{ state.region }}
|
||||
<div class="tab-item active" v-if="state.region === 'Q'">QQ</div>
|
||||
<div class="tab-item active" v-if="state.region === 'V'">微信</div>
|
||||
<div class="tab-item status-tab">{{ getDisplayStatus() }}</div>
|
||||
<div class="tab-item target-tab">{{ state.totalPoints || 0 }}</div>
|
||||
<div class="tab-item target-tab">{{ state.completedPoints || 0 }}/{{ state.totalPoints || 0 }}</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -225,6 +225,7 @@ export default {
|
||||
assets: null,
|
||||
currentPoints: 0,
|
||||
totalPoints: 1000,
|
||||
completedPoints: 0, // 已完成点数
|
||||
error: null,
|
||||
qrDelaySeconds: 0,
|
||||
isWaitingQr: false,
|
||||
@@ -318,7 +319,7 @@ export default {
|
||||
state.status = 'LOGGED_IN'
|
||||
|
||||
// 构建assets对象,包含图片URL
|
||||
if(status == "COMPLETED"){
|
||||
if(gameData.status == "COMPLETED"){
|
||||
state.assets = {
|
||||
homepageUrl: gameData.homepageUrl,
|
||||
firstRewardUrl: gameData.firstRewardUrl,
|
||||
@@ -342,8 +343,15 @@ export default {
|
||||
|
||||
}}
|
||||
// 更新区域信息
|
||||
console.log('更新区域信息:', {
|
||||
gameDataRegion: gameData.region,
|
||||
originalStateRegion: state.region
|
||||
})
|
||||
if (gameData.region) {
|
||||
state.region = gameData.region
|
||||
console.log('已设置 state.region =', state.region)
|
||||
} else {
|
||||
console.log('gameData.region 为空,未更新 state.region')
|
||||
}
|
||||
|
||||
// 更新机器ID
|
||||
@@ -358,11 +366,23 @@ export default {
|
||||
state.totalPoints = gameData.assets.totalPoints
|
||||
}
|
||||
|
||||
// 更新已完成点数
|
||||
state.completedPoints = gameData.completedPoints || 0
|
||||
|
||||
// 初始化当前点数为0(代表刚开始)
|
||||
state.currentPoints = 0
|
||||
|
||||
clearTimer('loginPoll')
|
||||
clearTimer('countdown')
|
||||
|
||||
console.log('handleLoggedInStatus 执行完成,最终状态:', {
|
||||
status: state.status,
|
||||
region: state.region,
|
||||
totalPoints: state.totalPoints,
|
||||
completedPoints: state.completedPoints,
|
||||
mecmachineId: state.mecmachineId
|
||||
})
|
||||
|
||||
ElMessage.success('登录成功,正在进入游戏界面...')
|
||||
|
||||
} catch (error) {
|
||||
@@ -393,11 +413,13 @@ export default {
|
||||
|
||||
// 设置点数信息 - 已完成时当前点数等于目标点数
|
||||
state.totalPoints = gameData.totalPoints || 50
|
||||
state.completedPoints = gameData.completedPoints || state.totalPoints // 已完成点数
|
||||
state.currentPoints = state.totalPoints // 已完成,当前点数等于目标点数
|
||||
|
||||
console.log('已完成状态更新完成:', {
|
||||
status: state.status,
|
||||
totalPoints: state.totalPoints,
|
||||
completedPoints: state.completedPoints,
|
||||
currentPoints: state.currentPoints,
|
||||
assets: !!state.assets
|
||||
})
|
||||
@@ -435,6 +457,11 @@ export default {
|
||||
state.totalPoints = data.totalPoints
|
||||
}
|
||||
|
||||
// 更新已完成点数
|
||||
if (data.completedPoints !== undefined) {
|
||||
state.completedPoints = data.completedPoints
|
||||
}
|
||||
|
||||
// 如果有游戏数据,也检查assets中的点数信息
|
||||
if (data.assets && data.assets.totalPoints) {
|
||||
state.totalPoints = data.assets.totalPoints
|
||||
@@ -447,8 +474,11 @@ export default {
|
||||
// 调试信息
|
||||
console.log('updateStateFromResponse:', {
|
||||
status: data.status,
|
||||
region: data.region,
|
||||
dataRegion: data.region,
|
||||
stateRegion: state.region,
|
||||
mecmachineId: data.mecmachineId,
|
||||
totalPoints: state.totalPoints,
|
||||
completedPoints: state.completedPoints,
|
||||
skipQrProcessing
|
||||
})
|
||||
|
||||
@@ -773,6 +803,10 @@ export default {
|
||||
const data = response.data
|
||||
state.currentPoints = data.currentPoints || state.currentPoints
|
||||
state.totalPoints = data.totalPoints || state.totalPoints
|
||||
// 更新已完成点数
|
||||
if (data.completedPoints !== undefined) {
|
||||
state.completedPoints = data.completedPoints
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('进度轮询错误:', error)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user