feat: 完善管理员系统和用户管理模块

- 更新管理员控制器和数据库管理功能
- 完善管理员操作日志系统
- 添加全面的属性测试覆盖
- 优化用户管理和用户档案服务
- 更新代码检查规范文档

功能改进:
- 增强管理员权限验证
- 完善操作日志记录
- 优化数据库管理接口
- 提升系统安全性和可维护性
This commit is contained in:
moyin
2026-01-09 17:05:08 +08:00
parent 8816b29b0a
commit 5f662ef091
30 changed files with 3881 additions and 599 deletions

View File

@@ -19,13 +19,14 @@
* - GET /admin/logs/runtime 获取运行日志尾部需要管理员Token
*
* 最近修改:
* - 2026-01-09: 代码质量优化 - 将同步文件系统操作改为异步操作,避免阻塞事件循环 (修改者: moyin)
* - 2026-01-07: 代码规范优化 - 修正文件命名规范,更新作者信息和修改记录
* - 2026-01-08: 注释规范优化 - 补充方法注释,添加@param、@returns、@throws和@example (修改者: moyin)
*
* @author moyin
* @version 1.0.2
* @version 1.0.4
* @since 2025-12-19
* @lastModified 2026-01-08
* @lastModified 2026-01-09
*/
import { Body, Controller, Get, HttpCode, HttpStatus, Param, Post, Query, UseGuards, ValidationPipe, UsePipes, Res, Logger } from '@nestjs/common';
@@ -230,7 +231,7 @@ export class AdminController {
const logDir = this.adminService.getLogDirAbsolutePath();
// 验证日志目录
const dirValidation = this.validateLogDirectory(logDir, res);
const dirValidation = await this.validateLogDirectory(logDir, res);
if (!dirValidation.isValid) {
return;
}
@@ -249,19 +250,18 @@ export class AdminController {
* @param res 响应对象
* @returns 验证结果
*/
private validateLogDirectory(logDir: string, res: Response): { isValid: boolean } {
if (!fs.existsSync(logDir)) {
private async validateLogDirectory(logDir: string, res: Response): Promise<{ isValid: boolean }> {
try {
const stats = await fs.promises.stat(logDir);
if (!stats.isDirectory()) {
res.status(404).json({ success: false, message: '日志目录不可用' });
return { isValid: false };
}
return { isValid: true };
} catch (error) {
res.status(404).json({ success: false, message: '日志目录不存在' });
return { isValid: false };
}
const stats = fs.statSync(logDir);
if (!stats.isDirectory()) {
res.status(404).json({ success: false, message: '日志目录不可用' });
return { isValid: false };
}
return { isValid: true };
}
/**