import { Body, Controller, Get, Patch, UseGuards } from '@nestjs/common'; import { ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; import { CurrentUser, JwtPayload } from '../common/decorators/current-user.decorator'; import { UsersService } from './users.service'; import { UpdateProfileDto } from './dto/update-profile.dto'; @ApiTags('用户') @ApiBearerAuth() @Controller('users') export class UsersController { constructor(private readonly usersService: UsersService) {} @Get('me') @ApiOperation({ summary: '获取当前登录用户信息' }) @ApiOkResponse({ description: '当前用户' }) async getMe(@CurrentUser() user: JwtPayload) { return this.usersService.findById(user.sub); } @Patch('me') @ApiOperation({ summary: '更新当前用户资料(昵称/头像)' }) @ApiOkResponse({ description: '更新后的用户' }) async updateMe(@CurrentUser() user: JwtPayload, @Body() dto: UpdateProfileDto) { return this.usersService.updateProfile(user.sub, dto); } }