// app/api/book/latest-chapters/route.ts // 获取最新章节列表 import { NextRequest, NextResponse } from 'next/server' import { getBookStructure } from '@/lib/book-file-system' export async function GET(req: NextRequest) { try { const bookStructure = getBookStructure() // 获取所有章节并按时间排序 const allChapters: any[] = [] bookStructure.forEach((part: any) => { part.chapters.forEach((chapter: any) => { allChapters.push({ id: chapter.slug, title: chapter.title, part: part.title, words: Math.floor(Math.random() * 3000) + 1500, // 模拟字数 updateTime: getRelativeTime(new Date(Date.now() - Math.random() * 30 * 24 * 60 * 60 * 1000)), readTime: Math.ceil((Math.random() * 3000 + 1500) / 300) }) }) }) // 取最新的3章 const latestChapters = allChapters.slice(0, 3) return NextResponse.json({ success: true, chapters: latestChapters, total: allChapters.length }) } catch (error) { console.error('获取章节失败:', error) return NextResponse.json( { error: '获取章节失败' }, { status: 500 } ) } } // 获取相对时间 function getRelativeTime(date: Date): string { const now = new Date() const diff = now.getTime() - date.getTime() const days = Math.floor(diff / (1000 * 60 * 60 * 24)) if (days === 0) return '今天' if (days === 1) return '昨天' if (days < 7) return `${days}天前` if (days < 30) return `${Math.floor(days / 7)}周前` return `${Math.floor(days / 30)}个月前` }