panhui 2 年 前
コミット
8fddf0ff9f

+ 15 - 1
src/components/common/CommentInfo.vue

@@ -10,7 +10,7 @@
             <template #description>
                 <div class="text-sm">{{ info.content }}</div>
                 <div class="flex mt-1 items-center">
-                    <span class="text-xs text-[#797A8A]">16:00</span>
+                    <span class="text-xs text-[#797A8A]">{{ timeStr }}</span>
                     <span class="flex-1"></span>
                     <!-- <img src="@/assets/icon_pingjia.png" class="w-[24px]" alt="" /> -->
                     <like-btn class="ml-[10px]" @like="like" :liked="info.isLiked">{{
@@ -28,6 +28,9 @@ import { LikeBtn } from '@/components/common'
 import avatar from '@/assets/common-avatar.png'
 import { fetchLikeComment } from '@/api'
 import { useUserStore } from '@/store'
+import { formatDistanceToNowStrict, isToday, format } from 'date-fns'
+import { computed } from 'vue'
+import zhCN from 'date-fns/locale/zh-CN'
 
 const props = defineProps({
     info: {
@@ -39,6 +42,17 @@ const props = defineProps({
 })
 const emit = defineEmits(['update:info'])
 
+const timeStr = computed(() => {
+    if (props.info.createdAt) {
+        if (isToday(new Date(props.info.createdAt))) {
+            return formatDistanceToNowStrict(new Date(props.info.createdAt), { addSuffix: true, locale: zhCN })
+        } else {
+            return format(new Date(props.info.createdAt), 'MM-dd HH:mm')
+        }
+    }
+    return ''
+})
+
 const userStore = useUserStore()
 function like() {
     fetchLikeComment(userStore.userInfo.id, props.info.id).then(res => {

+ 2 - 2
src/components/common/MomentInfo.vue

@@ -64,7 +64,7 @@
 import { NAvatar, NThing, NSpace, NTag, NImage } from 'naive-ui'
 import { computed } from 'vue'
 import { LikeBtn } from '@/components/common'
-import { formatDistanceToNow, isToday, format } from 'date-fns'
+import { formatDistanceToNowStrict, isToday, format } from 'date-fns'
 import zhCN from 'date-fns/locale/zh-CN'
 import { getColor } from '@/plugins/TabColors'
 import { fetchLikeMoments } from '@/api'
@@ -105,7 +105,7 @@ const chatRole = computed(() => {
 const timeStr = computed(() => {
     if (props.info.createdAt) {
         if (isToday(new Date(props.info.createdAt))) {
-            return formatDistanceToNow(new Date(props.info.createdAt), { addSuffix: true, locale: zhCN })
+            return formatDistanceToNowStrict(new Date(props.info.createdAt), { addSuffix: true, locale: zhCN })
         } else {
             return format(new Date(props.info.createdAt), 'MM-dd HH:mm')
         }