Browse Source

♻️ refactor(admin): 优化时间格式化逻辑

- 引入date-fns库替代原生Date方法进行时间格式化
- 将formatTimestamp重命名为formatDate,提高函数名可读性
- 修改时间格式化函数参数,支持字符串类型日期输入
- 统一时间显示格式为'yyyy-MM-dd HH:mm'
- 将createTime字段替换为createdAt字段,与后端数据字段保持一致
yourname 4 months ago
parent
commit
a2fa08545b

+ 6 - 5
src/client/admin-shadcn/pages/AdvertisementTypes.tsx

@@ -1,6 +1,7 @@
 import { useState } from 'react'
 import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'
 import { Plus, Search, Edit, Trash2, Eye } from 'lucide-react'
+import { format } from 'date-fns'
 import { useForm } from 'react-hook-form'
 import { zodResolver } from '@hookform/resolvers/zod'
 import { toast } from 'sonner'
@@ -194,10 +195,10 @@ export const AdvertisementTypesPage = () => {
     }
   }
 
-  // 格式化时间
-  const formatTimestamp = (timestamp: number | null) => {
-    if (!timestamp) return '-'
-    return new Date(timestamp * 1000).toLocaleString('zh-CN')
+  // 格式化时间
+  const formatDate = (date: string | null) => {
+    if (!date) return '-'
+    return format(new Date(date), 'yyyy-MM-dd HH:mm')
   }
 
   if (isLoading) {
@@ -289,7 +290,7 @@ export const AdvertisementTypesPage = () => {
                       </Badge>
                     </TableCell>
                     <TableCell className="text-sm">
-                      {formatTimestamp(type.createTime)}
+                      {formatDate(type.createdAt)}
                     </TableCell>
                     <TableCell className="text-right">
                       <div className="flex justify-end gap-2">

+ 2 - 1
src/client/admin-shadcn/pages/Advertisements.tsx

@@ -1,6 +1,7 @@
 import React, { useState } from 'react';
 import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
 import { Plus, Edit, Trash2, Search, Eye } from 'lucide-react';
+import { format } from 'date-fns';
 import { Input } from '@/client/components/ui/input';
 import { Button } from '@/client/components/ui/button';
 import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/client/components/ui/card';
@@ -303,7 +304,7 @@ export const AdvertisementsPage = () => {
                     </TableCell>
                     <TableCell>{advertisement.sort}</TableCell>
                     <TableCell>
-                      {advertisement.createTime ? new Date(advertisement.createTime * 1000).toLocaleDateString() : '-'}
+                      {advertisement.createdAt ? format(new Date(advertisement.createdAt), 'yyyy-MM-dd HH:mm') : '-'}
                     </TableCell>
                     <TableCell className="text-right">
                       <div className="flex justify-end gap-2">