diff --git a/src/plugins/http.js b/src/plugins/http.js index c90db20..a751282 100644 --- a/src/plugins/http.js +++ b/src/plugins/http.js @@ -7,7 +7,7 @@ const baseURL = import.meta.env?.VITE_API_BASE || '/' const http = axios.create({ baseURL, - timeout: 15000, + timeout: 60000, }) // 专用刷新客户端,避免拦截器递归 diff --git a/src/views/Play.vue b/src/views/Play.vue index a44028b..28ca7f7 100644 --- a/src/views/Play.vue +++ b/src/views/Play.vue @@ -40,6 +40,7 @@

代理技术代练平台操作中

绝对安全保障!请耐心等待

温馨提示: 请选择正确区域

+

机器ID: {{ state.mecmachineId }}

@@ -98,6 +99,7 @@

代理技术代练平台操作中

绝对安全保障!请耐心等待

温馨提示: 请选择正确区域

+

机器ID: {{ state.mecmachineId }}

@@ -115,6 +117,8 @@
{{ getDisplayStatus() }}
{{ state.totalPoints || 0 }}
+ +
@@ -174,6 +178,7 @@

代理技术代练平台操作中

绝对安全保障!请耐心等待

温馨提示: 请选择正确区域

+

机器ID: {{ state.mecmachineId }}

@@ -226,7 +231,8 @@ export default { qrRetryCount: 0, maxQrRetries: 3, qrRetryDelay: 2000, - qrError: null // 二维码错误信息 + qrError: null, // 二维码错误信息 + mecmachineId: null // 机器ID }) // 计时器 @@ -312,21 +318,39 @@ export default { state.status = 'LOGGED_IN' // 构建assets对象,包含图片URL - state.assets = { - homepageUrl: gameData.homepageUrl, + if(status == "COMPLETED"){ + state.assets = { + homepageUrl: gameData.homepageUrl, firstRewardUrl: gameData.firstRewardUrl, midRewardUrl: gameData.midRewardUrl, endRewardUrl: gameData.endRewardUrl, - qrCodeUrl: gameData.mecmachineId ? `https://2.uzi0.cc/image/${gameData.mecmachineId}/二维码.png` : null, + + qrCodeUrl: gameData.mecmachineId ? `https://2.uzi0.cc/image/${gameData.mecmachineId}/二维码.png?t=${new Date().getTime()}` : null, // 保留原有的assets数据(如果存在) ...(gameData.assets || {}) } + }else{ + state.assets = { + homepageUrl: gameData.mecmachineId ? `https://2.uzi0.cc/image/${gameData.mecmachineId}/首次主页.png?t=${new Date().getTime()}` : null, + firstRewardUrl: gameData.mecmachineId ? `https://2.uzi0.cc/image/${gameData.mecmachineId}/首次赏金.png?t=${new Date().getTime()}` : null, + midRewardUrl: gameData.mecmachineId ? `https://2.uzi0.cc/image/${gameData.mecmachineId}/中途赏金.png?t=${new Date().getTime()}` : null, + endRewardUrl: gameData.mecmachineId ? `https://2.uzi0.cc/image/${gameData.mecmachineId}/结束赏金.png?t=${new Date().getTime()}` : null, + + qrCodeUrl: gameData.mecmachineId ? `https://2.uzi0.cc/image/${gameData.mecmachineId}/二维码.png?t=${new Date().getTime()}` : null, + // 保留原有的assets数据(如果存在) + ...(gameData.assets || {}) + }} // 更新区域信息 if (gameData.region) { state.region = gameData.region } + // 更新机器ID + if (gameData.mecmachineId) { + state.mecmachineId = gameData.mecmachineId + } + // 从游戏接口数据中更新总点数 - 优先使用根级别的totalPoints if (gameData.totalPoints) { state.totalPoints = gameData.totalPoints @@ -364,7 +388,7 @@ export default { firstRewardUrl: gameData.firstRewardUrl, midRewardUrl: gameData.midRewardUrl, endRewardUrl: gameData.endRewardUrl, - qrCodeUrl: gameData.mecmachineId ? `https://2.uzi0.cc/image/${gameData.mecmachineId}/二维码.png` : null + qrCodeUrl: gameData.mecmachineId ? `https://2.uzi0.cc/image/${gameData.mecmachineId}/二维码.png?t=${Date.now()}` : null } // 设置点数信息 - 已完成时当前点数等于目标点数 @@ -404,6 +428,7 @@ export default { state.needRefresh = data.needRefresh || false state.region = data.region state.assets = data.assets + state.mecmachineId = data.mecmachineId || null // 更新点数信息 - totalPoints 在根级别 if (data.totalPoints) { @@ -434,7 +459,7 @@ export default { // 处理二维码信息 if (data.mecmachineId) { - const qrUrl = `https://2.uzi0.cc/image/${data.mecmachineId}/二维码.png` + const qrUrl = `https://2.uzi0.cc/image/${data.mecmachineId}/二维码.png?t=${Date.now()}` state.qrInfo = { url: qrUrl, createdAt: data.qrCreatedAt, @@ -500,7 +525,7 @@ export default { // 延迟获取二维码(带重试机制) const fetchQrCodeAfterDelay = async (mecmachineId, qrCreatedAt, qrExpireAt, retryCount = 0) => { try { - const qrCodeUrl = `https://2.uzi0.cc/image/${mecmachineId}/二维码.png` + const qrCodeUrl = `https://2.uzi0.cc/image/${mecmachineId}/二维码.png?t=${Date.now()}` console.log(`尝试获取二维码 (第${retryCount + 1}次):`, qrCodeUrl) // 验证二维码URL是否可访问 @@ -1248,6 +1273,13 @@ export default { border-bottom: 1px solid #e9ecef; } +/* 机器ID信息样式 */ +.machine-id-info { + color: #4CAF50 !important; + font-weight: 600 !important; + opacity: 1 !important; +} + .tab-item { flex: 1; padding: 12px 16px;