fix: 日志时区修复 + 日期选择器

- logger.ts: 使用 UTC+8 时区记录日志
- logs.ts: 统计使用 UTC+8 今日日期
- logs.vue: 日期选择器改用 picker 组件
- 移除未使用的 showDatePicker 变量
This commit is contained in:
2026-06-08 15:35:50 +08:00
parent fc3491742f
commit 3ce5ff4b65
3 changed files with 32 additions and 11 deletions

View File

@@ -7,6 +7,14 @@ import { requireAdmin } from '../middleware/requireAdmin'
const router = Router()
const LOG_DIR = path.resolve(process.env.LOG_DIR || './logs')
/** 获取 UTC+8 今日日期字符串 */
function getTodayStr(): string {
const now = new Date()
const utc = now.getTime() + now.getTimezoneOffset() * 60000
const d = new Date(utc + 8 * 3600000)
return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}`
}
/** 获取日志列表最近7天 */
router.get('/files', requireAdmin, (_req, res) => {
try {
@@ -45,8 +53,7 @@ router.get('/stats', requireAdmin, (_req, res) => {
return res.json({ code: 0, data: { today: { total: 0, errors: 0, slow: 0 }, files: [] } })
}
const today = new Date()
const dateStr = `${today.getFullYear()}-${String(today.getMonth() + 1).padStart(2, '0')}-${String(today.getDate()).padStart(2, '0')}`
const dateStr = getTodayStr()
const todayFile = path.join(LOG_DIR, `${dateStr}.log`)
let todayStats = { total: 0, errors: 0, slow: 0, warns: 0 }