更新 Play.vue 组件,新增已完成点数的状态管理,优化点数显示逻辑,确保在游戏数据更新时正确反映已完成点数。

This commit is contained in:
zyh
2025-08-29 17:12:06 +08:00
parent 7feac22dab
commit a8083088c6

View File

@@ -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)
} }