核心模块用户、认证、RBAC、缓存、设置本节深入探讨backend/src/core目录该目录包含了 VTJ.PRO 平台的基础设施。这些模块处理横切关注点例如身份管理、访问控制、持久化配置以及业务模块使用的抽象 CRUD 模式。基础抽象CRUD为确保一致性并减少样板代码平台为控制器和服务使用了抽象基类。BaseCrudService使用 TypeORM 仓库为create、update、remove、findById和findPage操作提供标准实现。BaseCrudController暴露标准的 RESTful 端点POST /、PUT /:id、DELETE /:id、GET /:id、POST /page这些端点直接映射到BaseCrudService的方法。CRUD 数据流下图展示了请求如何流经这些抽象层。标题基础 CRUD 架构身份与访问控制认证、用户、RBAC安全层分为三个主要模块UserModule、RoleModule和PermissionModule。用户与认证模块UserModule处理用户生命周期和认证。它支持多种登录策略本地登录标准的用户名/密码认证。OAuth/静默登录通过AUTH_CODE与外部提供商集成。邮箱验证由EmailVerificationModule管理用于注册和密码重置。RBAC基于角色的访问控制访问控制通过UsersGuard实现它检查有效的 JWT 令牌并验证权限。PermissionModule定义细粒度的操作例如user:create、app:publish。RoleModule将权限分组为角色例如admin、developer。逻辑UsersGuard检索用户的角色和关联权限以验证当前请求路径/方法是否被授权。标题认证与授权流程系统配置设置与字典SettingModule管理全局系统设置如站点名称、Logo 和注册开关。存储设置以键值对的形式存储在数据库中。缓存SettingService将设置缓存在内存中以避免频繁查询数据库。DictionaryModule处理用于 UI 下拉菜单和常量的静态和动态数据字典。DictionaryEntity定义字典类别。DictionaryItemEntity定义类别中的具体条目。基础设施模块缓存与对象存储CacheModule一个轻量级封装根据环境配置使用内存缓存使用LRUCache或 Redis。它被LLMModelService和SettingService广泛使用。OssModule对象存储服务为文件上传提供统一接口。本地存储将文件保存到public/uploads目录。阿里云 OSS通过ali-ossSDK 支持远程云存储。功能upload、putStream和delete是暴露给业务模块如DslModule的主要方法用于存储生成的项目 ZIP 文件。模块摘要表模块关键实体 / 类主要职责用户UserEntity,UserService用户 CRUD、密码哈希、JWT 签发。认证UsersGuard全局请求拦截和令牌验证。RBACRoleEntity,PermissionEntity通过角色将用户映射到权限。设置SettingEntity系统级配置例如isRegister。字典DictionaryEntity元数据和查找表管理。对象存储OssService抽象的文件存储本地 vs. 阿里云。缓存CacheService高性能临时数据存储。邮件EmailVerificationService通过 SMTP 发送和验证 OTP 码。参考资料官网文档https://vtj.pro/在线平台https://app.vtj.pro/开源仓库https://gitee.com/newgateway/vtj