WuYongJie d1c6efc79d
Some checks failed
CI Check / check (push) Has been cancelled
feat: NAS 部署与 Harbor 推送流程
2025-12-03 14:39:06 +08:00

56 lines
1.2 KiB
TypeScript

/**
* 用户个人信息API
*
* GET: 获取当前登录用户的个人信息
*
* @created 2025-11-25
* @api
*/
import { NextRequest, NextResponse } from 'next/server'
import { getServerSession } from 'next-auth'
import { authOptions } from '@/lib/auth'
import { prisma } from '@/lib/prisma'
export async function GET(req: NextRequest) {
try {
const session = await getServerSession(authOptions)
if (!session?.user?.id) {
return NextResponse.json(
{ error: '未登录' },
{ status: 401 }
)
}
const user = await prisma.user.findUnique({
where: { id: session.user.id },
select: {
id: true,
username: true,
email: true,
avatar: true,
department: true,
realName: true,
phone: true,
createdAt: true,
},
})
if (!user) {
return NextResponse.json(
{ error: '用户不存在' },
{ status: 404 }
)
}
return NextResponse.json(user)
} catch (error) {
console.error('[UserProfile] GET error:', error)
return NextResponse.json(
{ error: '获取用户信息失败' },
{ status: 500 }
)
}
}