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