diff --git a/src/views/choujiang/hxl-cj/cj.vue b/src/views/choujiang/hxl-cj/cj.vue
index aea345e..f1105b3 100644
--- a/src/views/choujiang/hxl-cj/cj.vue
+++ b/src/views/choujiang/hxl-cj/cj.vue
@@ -507,6 +507,11 @@ const initAll = async () => {
};
const initCards = () => {
+ const screenWidth = window.innerWidth;
+ const isLaptop = screenWidth < 1600; // 判断
+ const baseSpacingX = isLaptop ? 120 : 140;
+ const baseSpacingY = isLaptop ? 150 : 180;
+
let member = users.value.slice(),
showCards = [],
length = member.length;
@@ -514,9 +519,14 @@ const initCards = () => {
let isBold = false;
let index = 0;
let totalMember = member.length;
+ // let position = {
+ // x: (140 * COLUMN_COUNT - 20) / 2,
+ // y: (180 * ROW_COUNT - 20) / 2,
+ // };
+
let position = {
- x: (140 * COLUMN_COUNT - 20) / 2,
- y: (180 * ROW_COUNT - 20) / 2,
+ x: (baseSpacingX * COLUMN_COUNT - 20) / 2,
+ y: (baseSpacingY * ROW_COUNT - 20) / 2,
};
camera = new THREE.PerspectiveCamera(
@@ -542,9 +552,17 @@ const initCards = () => {
threeDCards.push(object);
//
+ // 在initCards函数开始处添加
+
+ const cardSpacingX = isLaptop ? 130 : 155;
+ const cardSpacingY = isLaptop ? 160 : 195;
+
var object = new THREE.Object3D();
- object.position.x = j * 155 - position.x;
- object.position.y = -(i * 195) + position.y;
+ // object.position.x = j * 155 - position.x;
+ // object.position.y = -(i * 195) + position.y;
+ // 使用动态间距
+ object.position.x = j * cardSpacingX - position.x;
+ object.position.y = -(i * cardSpacingY) + position.y;
targets.table.push(object);
index++;
}
@@ -1389,8 +1407,8 @@ a {
}
.element {
- width: 15vh;
- height: 19vh;
+ width: 7.5vw;
+ height: 18.5vh;
/* box-shadow: 0 0 12px rgba(0, 255, 255, 0.5); */
border: 1px solid rgba(127, 255, 255, 0.25);
text-align: center;
diff --git a/src/views/zhongchou/index.vue b/src/views/zhongchou/index.vue
index aab0beb..7f87171 100644
--- a/src/views/zhongchou/index.vue
+++ b/src/views/zhongchou/index.vue
@@ -41,7 +41,7 @@
-
距美股实时数据
+ 距{{ marketName }}实时数据
还剩{{ numberToChinese(usDisplayTime) }}分钟
@@ -170,45 +170,43 @@ async function fetchActivity() {
}
// 处理市场数据
- if (data && data.length > 0) {
- // 遍历数据数组
- data.forEach(item => {
- if (item.market === "美股" && item.marketId === 8) {
- // 存储美股市场ID
- usMarketId.value = item.marketId
-
- // 根据marketStatus设置助力状态
- if (item.marketStatus === '已助力') {
- usBoostStatus.value = true
- } else {
- usBoostStatus.value = false
- }
-
- // 根据marketCount计算进度和剩余时间
- if (item.marketCount !== undefined) {
- const totalPeople = 1500 // 总人数1500人
- const currentCount = item.marketCount || 0 // 当前助力人数
-
- // 计算进度百分比 (0-100)
- const progressPercent = Math.min((currentCount / totalPeople) * 100, 100)
-
- // 根据进度计算剩余时间 (15分钟对应100%进度)
- const usedTime = (progressPercent / 100) * 15
- const remainingTime = Math.max(0, 15 - usedTime)
-
- usRemainingTime.value = Math.round(remainingTime)
- console.log(`美股助力人数: ${currentCount}/${totalPeople}, 进度: ${progressPercent.toFixed(1)}%, 剩余时间: ${remainingTime.toFixed(1)}分钟`)
-
- // 更新进度条高度
- nextTick(() => {
- updateProgressDisplay()
- })
- }
- }
-
- // 如果需要处理港股数据,可以添加类似的逻辑
- // if (item.market === "港股" && item.marketId === 5) { ... }
- })
+ if (data && data.length > 1) { // 确保至少有两个元素
+ // 使用数组中的第二个元素(索引为1)
+ const item = data[0] // 使用第二个数据
+
+ // 存储市场ID
+ usMarketId.value = item.marketId
+
+ // 存储市场名称
+ marketName.value = item.market
+
+ // 根据marketStatus设置助力状态
+ if (item.marketStatus === '已助力') {
+ usBoostStatus.value = true
+ } else {
+ usBoostStatus.value = false
+ }
+
+ // 根据marketCount计算进度和剩余时间
+ if (item.marketCount !== undefined) {
+ const totalPeople = 1500 // 总人数1500人
+ const currentCount = item.marketCount || 0 // 当前助力人数
+
+ // 计算进度百分比 (0-100)
+ const progressPercent = Math.min((currentCount / totalPeople) * 100, 100)
+
+ // 根据进度计算剩余时间 (15分钟对应100%进度)
+ const usedTime = (progressPercent / 100) * 15
+ const remainingTime = Math.max(0, 15 - usedTime)
+
+ usRemainingTime.value = Math.round(remainingTime)
+ console.log(`${marketName.value}助力人数: ${currentCount}/${totalPeople}, 进度: ${progressPercent.toFixed(1)}%, 剩余时间: ${remainingTime.toFixed(1)}分钟`)
+
+ // 更新进度条高度
+ nextTick(() => {
+ updateProgressDisplay()
+ })
+ }
}
} else {
console.error('获取活动失败:', response.message)
@@ -261,6 +259,7 @@ const showRulesModal = ref(false)
// 添加助力成功提示状态
const showBoostSuccess = ref(false)
// 剩余时间数据 - 从接口获取marketTwoCount计算
+const marketName = ref('美股') // 默认值为美股,将由API返回的数据更新
const usRemainingTime = ref(15) // 美股剩余分钟,初始值15分钟
// const hkRemainingTime = ref(6) // 港股剩余分钟
const usTotalTime = ref(15) // 美股总时间15分钟
@@ -332,6 +331,7 @@ const getQueryVariable = (variable) => {
}
// 组件挂载时初始化
onMounted(() => {
+ showRulesModal.value = true
nextTick(() => {
// 页面加载时自动获取活动数据
fetchActivity()
@@ -374,26 +374,25 @@ const handleBoostClick = async (area) => {
});
if (response.code === 200) {
- console.log('美股助力成功:', response.message)
+ console.log(`${marketName.value}助力成功:`, response.message)
// 显示助力成功提示
showBoostSuccess.value = true
- //助力成功动画2s
+ //助力成功动画1s
setTimeout(() => {
showBoostSuccess.value = false
- }, 2000)
+ }, 1000)
// 重新获取活动数据以更新按钮状态和进度
await fetchActivity()
- console.log('美股已助力状态:', usBoostStatus.value, '剩余时间:', usRemainingTime.value)
+ console.log(`${marketName.value}已助力状态:`, usBoostStatus.value, '剩余时间:', usRemainingTime.value)
} else {
- console.error('美股助力失败:', response.message)
+ console.error(`${marketName.value}助力失败:`, response.message)
}
} catch (error) {
- console.error('美股助力请求失败:', error)
+ console.error(`${marketName.value}助力请求失败:`, error)
}
}
-
}
const showRulesFunc = () => {
@@ -1275,15 +1274,18 @@ const hideRules = () => {
.rules-list {
width: 100%;
- line-height: 1.6;
+ line-height: 1.6; /* 增加行高 */
margin-top: 10%;
- margin-left: 10%;
+ margin-left: 10%; /* 减少左边距 */
+ padding-right: 5%; /* 添加右边距 */
}
.rules-list p {
margin: 10px 0;
font-size: 16px;
color: #fff;
+ font-family: 'Microsoft YaHei', 'PingFang SC', sans-serif; /* 使用更清晰的中文字体 */
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
line-height: 1.7;
}