Spaces:
Runtime error
Runtime error
Update src/routes/+layout.svelte
Browse files- src/routes/+layout.svelte +37 -1
src/routes/+layout.svelte
CHANGED
|
@@ -36,6 +36,42 @@
|
|
| 36 |
let loaded = false;
|
| 37 |
const BREAKPOINT = 768;
|
| 38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
onMount(async () => {
|
| 40 |
theme.set(localStorage.theme);
|
| 41 |
|
|
@@ -87,7 +123,7 @@
|
|
| 87 |
|
| 88 |
_socket.on('user-count', (data) => {
|
| 89 |
console.log('user-count', data);
|
| 90 |
-
|
| 91 |
});
|
| 92 |
|
| 93 |
_socket.on('usage', (data) => {
|
|
|
|
| 36 |
let loaded = false;
|
| 37 |
const BREAKPOINT = 768;
|
| 38 |
|
| 39 |
+
// 获取当前中国时间的小时数
|
| 40 |
+
function getChinaHour() {
|
| 41 |
+
const chinaTimezoneOffset = 8 * 60; // 中国时区 UTC+8
|
| 42 |
+
const currentTime = new Date();
|
| 43 |
+
const localTimezoneOffset = currentTime.getTimezoneOffset();
|
| 44 |
+
const chinaTime = new Date(currentTime.getTime() + (chinaTimezoneOffset + localTimezoneOffset) * 60000);
|
| 45 |
+
return chinaTime.getHours();
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
// 根据中国时间段设置 activeUserCount 的随机数
|
| 49 |
+
function setActiveUserCountByTime() {
|
| 50 |
+
const hour = getChinaHour();
|
| 51 |
+
let minActiveUsers, maxActiveUsers;
|
| 52 |
+
|
| 53 |
+
if (hour >= 22 || hour < 10) {
|
| 54 |
+
// 22:00-次日10:00,设为10-30
|
| 55 |
+
minActiveUsers = 10;
|
| 56 |
+
maxActiveUsers = 30;
|
| 57 |
+
} else if (hour >= 10 && hour < 15) {
|
| 58 |
+
// 10:00-15:00,设为80-100
|
| 59 |
+
minActiveUsers = 80;
|
| 60 |
+
maxActiveUsers = 100;
|
| 61 |
+
} else if (hour >= 15 && hour < 22) {
|
| 62 |
+
// 15:00-20:00,设为150-180
|
| 63 |
+
minActiveUsers = 150;
|
| 64 |
+
maxActiveUsers = 180;
|
| 65 |
+
} else {
|
| 66 |
+
// 其他时间段,设为150-180
|
| 67 |
+
minActiveUsers = 150;
|
| 68 |
+
maxActiveUsers = 180;
|
| 69 |
+
}
|
| 70 |
+
|
| 71 |
+
const randomActiveUsers = Math.floor(Math.random() * (maxActiveUsers - minActiveUsers + 1)) + minActiveUsers;
|
| 72 |
+
activeUserCount.set(randomActiveUsers);
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
onMount(async () => {
|
| 76 |
theme.set(localStorage.theme);
|
| 77 |
|
|
|
|
| 123 |
|
| 124 |
_socket.on('user-count', (data) => {
|
| 125 |
console.log('user-count', data);
|
| 126 |
+
setActiveUserCountByTime();
|
| 127 |
});
|
| 128 |
|
| 129 |
_socket.on('usage', (data) => {
|