import { NextRequest, NextResponse } from 'next/server'; import fs from 'fs/promises'; import path from 'path'; const DATA_DIR = path.join(process.cwd(), 'data'); const HOUSES_FILE = path.join(DATA_DIR, 'houses.json'); const USERS_FILE = path.join(DATA_DIR, 'users.json'); interface House { id: string; owner: string; title: string; description: string; price: number; district: string; address: string; phone: string; images: string[]; createdAt: string; } interface User { id: string; username: string; token: string; } async function readFile(filePath: string, defaultValue: T): Promise { try { const data = await fs.readFile(filePath, 'utf-8'); return JSON.parse(data); } catch { return defaultValue; } } async function getUserFromToken(token: string): Promise { const users = await readFile(USERS_FILE, []); return users.find(u => u.token === token) || null; } async function readHouses(): Promise { return readFile(HOUSES_FILE, []); } export async function GET(request: NextRequest) { try { const token = request.cookies.get('auth_token')?.value; if (!token) { return NextResponse.json({ error: '请先登录' }, { status: 401 }); } const user = await getUserFromToken(token); if (!user) { return NextResponse.json({ error: '用户不存在' }, { status: 401 }); } const houses = await readHouses(); const myHouses = houses .filter(h => h.owner === user.username) .sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()); return NextResponse.json({ houses: myHouses }); } catch (error) { console.error('Get my houses error:', error); return NextResponse.json({ error: '获取房屋列表失败' }, { status: 500 }); } }