更新 http.js 中的请求超时时间至 60 秒;在 Play.vue 组件中新增机器ID信息展示,优化二维码 URL 生成逻辑,确保二维码链接带有时间戳以避免缓存问题。
This commit is contained in:
@@ -7,7 +7,7 @@ const baseURL = import.meta.env?.VITE_API_BASE || '/'
|
|||||||
|
|
||||||
const http = axios.create({
|
const http = axios.create({
|
||||||
baseURL,
|
baseURL,
|
||||||
timeout: 15000,
|
timeout: 60000,
|
||||||
})
|
})
|
||||||
|
|
||||||
// 专用刷新客户端,避免拦截器递归
|
// 专用刷新客户端,避免拦截器递归
|
||||||
|
|||||||
@@ -40,6 +40,7 @@
|
|||||||
<p>代理技术代练平台操作中</p>
|
<p>代理技术代练平台操作中</p>
|
||||||
<p>绝对安全保障!请耐心等待</p>
|
<p>绝对安全保障!请耐心等待</p>
|
||||||
<p>温馨提示: 请选择正确区域</p>
|
<p>温馨提示: 请选择正确区域</p>
|
||||||
|
<p v-if="state.mecmachineId" class="machine-id-info">机器ID: {{ state.mecmachineId }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -98,6 +99,7 @@
|
|||||||
<p>代理技术代练平台操作中</p>
|
<p>代理技术代练平台操作中</p>
|
||||||
<p>绝对安全保障!请耐心等待</p>
|
<p>绝对安全保障!请耐心等待</p>
|
||||||
<p>温馨提示: 请选择正确区域</p>
|
<p>温馨提示: 请选择正确区域</p>
|
||||||
|
<p v-if="state.mecmachineId" class="machine-id-info">机器ID: {{ state.mecmachineId }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -115,6 +117,8 @@
|
|||||||
<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.totalPoints || 0 }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
|
|
||||||
<!-- 状态提示 -->
|
<!-- 状态提示 -->
|
||||||
@@ -174,6 +178,7 @@
|
|||||||
<p>代理技术代练平台操作中</p>
|
<p>代理技术代练平台操作中</p>
|
||||||
<p>绝对安全保障!请耐心等待</p>
|
<p>绝对安全保障!请耐心等待</p>
|
||||||
<p>温馨提示: 请选择正确区域</p>
|
<p>温馨提示: 请选择正确区域</p>
|
||||||
|
<p v-if="state.mecmachineId" class="machine-id-info">机器ID: {{ state.mecmachineId }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -226,7 +231,8 @@ export default {
|
|||||||
qrRetryCount: 0,
|
qrRetryCount: 0,
|
||||||
maxQrRetries: 3,
|
maxQrRetries: 3,
|
||||||
qrRetryDelay: 2000,
|
qrRetryDelay: 2000,
|
||||||
qrError: null // 二维码错误信息
|
qrError: null, // 二维码错误信息
|
||||||
|
mecmachineId: null // 机器ID
|
||||||
})
|
})
|
||||||
|
|
||||||
// 计时器
|
// 计时器
|
||||||
@@ -312,21 +318,39 @@ export default {
|
|||||||
state.status = 'LOGGED_IN'
|
state.status = 'LOGGED_IN'
|
||||||
|
|
||||||
// 构建assets对象,包含图片URL
|
// 构建assets对象,包含图片URL
|
||||||
state.assets = {
|
if(status == "COMPLETED"){
|
||||||
homepageUrl: gameData.homepageUrl,
|
state.assets = {
|
||||||
|
homepageUrl: gameData.homepageUrl,
|
||||||
firstRewardUrl: gameData.firstRewardUrl,
|
firstRewardUrl: gameData.firstRewardUrl,
|
||||||
midRewardUrl: gameData.midRewardUrl,
|
midRewardUrl: gameData.midRewardUrl,
|
||||||
endRewardUrl: gameData.endRewardUrl,
|
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数据(如果存在)
|
// 保留原有的assets数据(如果存在)
|
||||||
...(gameData.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) {
|
if (gameData.region) {
|
||||||
state.region = gameData.region
|
state.region = gameData.region
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 更新机器ID
|
||||||
|
if (gameData.mecmachineId) {
|
||||||
|
state.mecmachineId = gameData.mecmachineId
|
||||||
|
}
|
||||||
|
|
||||||
// 从游戏接口数据中更新总点数 - 优先使用根级别的totalPoints
|
// 从游戏接口数据中更新总点数 - 优先使用根级别的totalPoints
|
||||||
if (gameData.totalPoints) {
|
if (gameData.totalPoints) {
|
||||||
state.totalPoints = gameData.totalPoints
|
state.totalPoints = gameData.totalPoints
|
||||||
@@ -364,7 +388,7 @@ export default {
|
|||||||
firstRewardUrl: gameData.firstRewardUrl,
|
firstRewardUrl: gameData.firstRewardUrl,
|
||||||
midRewardUrl: gameData.midRewardUrl,
|
midRewardUrl: gameData.midRewardUrl,
|
||||||
endRewardUrl: gameData.endRewardUrl,
|
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.needRefresh = data.needRefresh || false
|
||||||
state.region = data.region
|
state.region = data.region
|
||||||
state.assets = data.assets
|
state.assets = data.assets
|
||||||
|
state.mecmachineId = data.mecmachineId || null
|
||||||
|
|
||||||
// 更新点数信息 - totalPoints 在根级别
|
// 更新点数信息 - totalPoints 在根级别
|
||||||
if (data.totalPoints) {
|
if (data.totalPoints) {
|
||||||
@@ -434,7 +459,7 @@ export default {
|
|||||||
|
|
||||||
// 处理二维码信息
|
// 处理二维码信息
|
||||||
if (data.mecmachineId) {
|
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 = {
|
state.qrInfo = {
|
||||||
url: qrUrl,
|
url: qrUrl,
|
||||||
createdAt: data.qrCreatedAt,
|
createdAt: data.qrCreatedAt,
|
||||||
@@ -500,7 +525,7 @@ export default {
|
|||||||
// 延迟获取二维码(带重试机制)
|
// 延迟获取二维码(带重试机制)
|
||||||
const fetchQrCodeAfterDelay = async (mecmachineId, qrCreatedAt, qrExpireAt, retryCount = 0) => {
|
const fetchQrCodeAfterDelay = async (mecmachineId, qrCreatedAt, qrExpireAt, retryCount = 0) => {
|
||||||
try {
|
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)
|
console.log(`尝试获取二维码 (第${retryCount + 1}次):`, qrCodeUrl)
|
||||||
|
|
||||||
// 验证二维码URL是否可访问
|
// 验证二维码URL是否可访问
|
||||||
@@ -1248,6 +1273,13 @@ export default {
|
|||||||
border-bottom: 1px solid #e9ecef;
|
border-bottom: 1px solid #e9ecef;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 机器ID信息样式 */
|
||||||
|
.machine-id-info {
|
||||||
|
color: #4CAF50 !important;
|
||||||
|
font-weight: 600 !important;
|
||||||
|
opacity: 1 !important;
|
||||||
|
}
|
||||||
|
|
||||||
.tab-item {
|
.tab-item {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
padding: 12px 16px;
|
padding: 12px 16px;
|
||||||
|
|||||||
Reference in New Issue
Block a user