update: 首页时间显示问题优化

This commit is contained in:
ctwj
2025-10-25 00:46:17 +08:00
parent 2e5dd8360e
commit 54542ff8ee
3 changed files with 57 additions and 13 deletions

View File

@@ -1,6 +1,5 @@
<template>
<div class="float-right float-buttons">
<div v-if="enableFloatButtons" class="float-right float-buttons">
<!-- 返回顶部按钮 -->
<a class="float-btn ontop fade show" @click="scrollToTop" title="返回顶部">
@@ -19,22 +18,22 @@
</span>
<!-- Telegram -->
<span class="newadd-btns hover-show float-btn telegram-btn">
<span v-if="telegramQrImage" class="newadd-btns hover-show float-btn telegram-btn">
<i class="fab fa-telegram-plane" style="color: #0088cc;"></i>
<div class="hover-show-con dropdown-menu drop-newadd newadd-btns" style="width: 200px; height: auto;">
<div class="image" data-size="100">
<n-image src="/assets/images/tg.webp" width="180" height="180" />
<n-image :src="getImageUrl(telegramQrImage)" width="180" height="180" />
</div>
<div class="mt6 px12 muted-color text-center">扫码加入Telegram群组</div>
</div>
</span>
<!-- 微信公众号 -->
<a class="float-btn service-wechat hover-show nowave" title="扫码添加微信" href="javascript:;">
<a v-if="wechatSearchImage" class="float-btn service-wechat hover-show nowave" title="扫码添加微信" href="javascript:;">
<i class="fab fa-weixin" style="color: #07c160;"></i>
<div class="hover-show-con dropdown-menu service-wechat" style="width: 300px; height: auto;">
<!-- <div class="image" data-size="100"> -->
<n-image src="/assets/images/mp.webp" class="radius4" />
<n-image :src="getImageUrl(wechatSearchImage)" class="radius4" />
<!-- </div> -->
</div>
</a>
@@ -43,6 +42,30 @@
</template>
<script setup lang="ts">
// 导入系统配置store
import { useSystemConfigStore } from '~/stores/systemConfig'
// 获取系统配置store
const systemConfigStore = useSystemConfigStore()
// 使用图片URL composable
const { getImageUrl } = useImageUrl()
// 计算属性:是否启用浮动按钮
const enableFloatButtons = computed(() => {
return systemConfigStore.config?.enable_float_buttons || false
})
// 计算属性:微信搜一搜图片
const wechatSearchImage = computed(() => {
return systemConfigStore.config?.wechat_search_image || ''
})
// 计算属性Telegram二维码图片
const telegramQrImage = computed(() => {
return systemConfigStore.config?.telegram_qr_image || ''
})
// 滚动到顶部
const scrollToTop = () => {
window.scrollTo({
@@ -53,7 +76,7 @@ const scrollToTop = () => {
// 获取当前页面URL
const currentUrl = computed(() => {
if (process.client) {
if (typeof window !== 'undefined') {
return window.location.href
}
return ''

View File

@@ -3,7 +3,7 @@ import { useUserStore } from '~/stores/user'
// 统一响应解析函数
export const parseApiResponse = <T>(response: any): T => {
log('parseApiResponse - 原始响应:', response)
// log('parseApiResponse - 原始响应:', response)
// 检查是否是新的统一响应格式
if (response && typeof response === 'object' && 'code' in response && 'data' in response) {

View File

@@ -607,6 +607,7 @@ const formatRelativeTime = (dateString: string) => {
const isToday = date.toDateString() === now.toDateString()
// 处理今天更新的情况
if (isToday) {
if (diffMin < 1) {
return '<span class="text-pink-600 font-medium flex items-center"><i class="fas fa-circle-dot text-xs mr-1 animate-pulse"></i>刚刚更新</span>'
@@ -615,9 +616,29 @@ const formatRelativeTime = (dateString: string) => {
} else {
return `<span class="text-pink-600 font-medium flex items-center"><i class="fas fa-circle-dot text-xs mr-1 animate-pulse"></i>${diffHour}小时前</span>`
}
} else if (diffDay < 1) {
return `<span class="text-gray-600">${diffHour}小时前</span>`
} else if (diffDay < 7) {
}
// 处理昨天更新的情况 - 显示具体时间
const yesterday = new Date(now)
yesterday.setDate(yesterday.getDate() - 1)
const isYesterday = date.toDateString() === yesterday.toDateString()
if (isYesterday) {
if (diffHour < 24) {
// 昨天但不足24小时
if (diffHour < 1) {
return `<span class="text-gray-600">${diffMin}分钟前</span>`
} else {
return `<span class="text-gray-600">${diffHour}小时前</span>`
}
} else {
// 超过24小时但仍然是昨天
return `<span class="text-gray-600">${diffDay}天前</span>`
}
}
// 处理其他情况
if (diffDay < 7) {
return `<span class="text-gray-600">${diffDay}天前</span>`
} else if (diffWeek < 4) {
return `<span class="text-gray-600">${diffWeek}周前</span>`