import { Controller, Get, Post, UseGuards, Req } from '@nestjs/common'; import { ApiTags, ApiOperation, ApiResponse } from '@nestjs/swagger'; import type { Request } from 'express'; import { JwtAuthGuard } from '../../../auth/guards/JwtAuthGuard'; import { RolesGuard } from '../../../auth/guards/RolesGuard'; import { Roles } from '../../../auth/decorators/RolesDecorator'; interface AuthenticatedRequest extends Request { user?: { uid: number; username: string; siteId: number; userType: string; }; } /** * 通用接口控制器 - 管理端 * 路由前缀: /adminapi/sys/common */ @ApiTags('通用接口') @Controller('adminapi/sys/common') @UseGuards(JwtAuthGuard, RolesGuard) @Roles('admin') export class CommonController { constructor() {} @Get('dict') @ApiOperation({ summary: '获取字典数据' }) @ApiResponse({ status: 200, description: '获取成功' }) async getDict(@Req() req: AuthenticatedRequest) { // TODO: 实现字典数据获取 return { code: 200, message: '获取成功', data: {} }; } @Get('config') @ApiOperation({ summary: '获取系统配置' }) @ApiResponse({ status: 200, description: '获取成功' }) async getConfig(@Req() req: AuthenticatedRequest) { // TODO: 实现系统配置获取 return { code: 200, message: '获取成功', data: {} }; } @Post('upload') @ApiOperation({ summary: '文件上传' }) @ApiResponse({ status: 200, description: '上传成功' }) async upload(@Req() req: AuthenticatedRequest) { // TODO: 实现文件上传 return { code: 200, message: '上传成功', data: null }; } @Get('captcha') @ApiOperation({ summary: '获取验证码' }) @ApiResponse({ status: 200, description: '获取成功' }) async getCaptcha(@Req() req: AuthenticatedRequest) { // TODO: 实现验证码获取 return { code: 200, message: '获取成功', data: null }; } }