# VeloAdmin-server **Repository Path**: vue-node/velo-admin-server ## Basic Information - **Project Name**: VeloAdmin-server - **Description**: VeloAdmin 服务端 - **Primary Language**: NodeJS - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-28 - **Last Updated**: 2025-08-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 开发日志 ### -2025.08.19 feat(配置): 新增系统配置模块及相关功能 - 添加配置模块,包括实体、DTO、服务、控制器和工具类 - 在认证模块中集成配置服务以支持验证码开关功能 - 扩展通用响应接口以支持分页总数返回 - 更新权限实体默认类型为'menu' - 优化认证服务移除未使用的用户角色仓库注入 ### -2025.08.13 feat(auth): 重构认证模块并优化权限管理 - 新增用户信息接口返回角色和权限数据 - 重构JWT负载结构,使用id替代sub字段 - 优化权限校验逻辑,支持树形权限结构检查 - 实现单设备登录机制,加强安全性 - 统一接口响应格式,使用Response接口规范 - 简化密码校验规则,移除前端验证限制 ### -2025.08.05 重构项目目录结构,将模块从system目录移动到根目录,并统一代码风格: 1. 移除system目录,直接使用模块目录 2. 标准化代码格式,统一不使用分号 3. 更新配置文件结构,添加环境配置 4. 添加启动banner和日志输出 5. 优化DTO和实体类注释 6. 更新Swagger文档配置 7. 添加typeorm脚本支持 同时进行了以下改进: 1. 添加权限装饰器和守卫 2. 完善RBAC模块功能 3. 优化用户认证流程 4. 添加配置文件和环境支持 5. 改进错误处理和日志输出 ### -2025.08.03 所有控制器文件均已添加适当的权限装饰器,实现了基于RBAC模型的细粒度权限控制,确保每个路由操作都受到正确的权限保护。 ### -2025.07.30 当前版本相较于上个版本主要完成了以下开发和改进: 1. **权限系统增强** - **树形权限结构**:在`rbac.service.ts`中实现了`getUserPermissions`方法,通过新增的`buildPermissionTree`私有方法,将扁平权限列表转换为基于`parentId`的树形层级结构,优化前端权限展示与菜单渲染 - **代码风格优化**:统一箭头函数参数括号格式,将`permission =>`调整为`(permission) =>`以符合项目代码规范 2. **安全与认证改进** - **超级管理员权限豁免**:在`permissions.guard.ts`中添加超级管理员权限检查逻辑,通过`isSuperAdmin`方法实现角色判断,使超级管理员绕过权限验证 - **登录认证修复**:在`auth.service.ts`中恢复`password`字段查询,解决bcrypt密码验证时"data and hash arguments required"错误 3. **数据库与实体模型优化** - **用户角色关联表修复**:修正`database.sql`中的`va_user_roles`表结构,移除自增`id`列,设置`(user_id, role_id)`复合主键 - **实体模型同步**:更新`user-role.entity.ts`,移除冗余字段并同步复合主键定义 4. **代码质量提升** - **字段注释完善**:为`database.sql`中所有表字段添加中文注释,提升数据库可读性 - **错误处理增强**:优化权限验证异常捕获逻辑,添加更明确的错误提示 这些改进增强了系统的权限管理灵活性、数据结构合理性和代码可维护性,同时修复了关键的认证流程错误,提升了整体系统稳定性。 ### -2025.07.29 相较于上一个版本,当前版本主要完成了以下开发工作: 1. **数据库表结构优化**: - 修复了va_user_roles表的自增ID错误,改为复合主键结构 - 为所有表的每个字段添加了详细中文注释,提升可维护性 - 统一了表名前缀为va_,规范数据库命名 - 新增了元数据模型相关表(va_model_schemas和va_field_definitions) 2. **实体模型同步**: - 更新user-role.entity.ts,移除冗余字段并同步复合主键定义 - 调整字段映射关系,确保与数据库表结构完全匹配 3. **类型错误修复**: - 解决file.service.ts中的TypeScript类型不匹配问题 - 为统计查询结果添加默认值,确保数值类型正确 4. **配置优化**: - 调整typeorm.config.ts中的日志配置,仅在开发环境启用日志 这些修改提升了系统稳定性、代码质量和数据库结构的清晰度,同时确保了ORM模型与数据库表结构的一致性。