# saltadmin **Repository Path**: catroll/saltadmin ## Basic Information - **Project Name**: saltadmin - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-05 - **Last Updated**: 2025-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 构建高可用通用管理后台系统 SaltAdmin ## 技术架构 1. 后端技术栈: - 核心语言:Golang 1.20+ - Web 框架:Gin (高性能 HTTP 路由) - 数据持久层: - ORM:Gorm (v2.x) - 主数据库:MySQL 8.0+ (支持事务与 JSON 字段) - 配置管理:Viper (支持多环境配置热加载) - 缓存体系: - 内存缓存:BigCache (本地高频缓存) - 分布式缓存:Redis 6.2+ (集群支持) - 创新点:实现 Gorm 二级缓存插件(BigCache+Redis 双缓存策略) - 日志:slog 2. 前端架构: - 框架:Vue 3 + TypeScript - 解决方案:Vben Admin (企业级中台前端解决方案) - 特色功能:动态路由、细粒度权限控制 3. 工程规范: - 测试要求: - 单元测试覆盖率 100% (go test -cover) - 集成测试覆盖核心业务流程 - 使用 gomock 实现接口测试 - 接口文档:Swagger - 使用 ​​swaggo/swag​​ 自动生成 API 文档 - 集成到 Gin 路由,提供 /swagger 可视化界面 - 文档与代码同步更新(CI 流程校验) - 监控: - Loki + Grafana ## 功能清单 1. 多租户设计 2. 权限控制(RBAC) 1. 内置角色: 1. 超级管理员 2. 管理员 3. 用户 2. 支持资源维度权限控制 3. 支持用户层级(子用户) 3. 系统日志 1. 登录日志 2. 操作日志 3. 错误日志 4. 邮件日志 4. 系统参数 1. 参数 1. scope 2. key 3. value 4. valueType 5. isSystem 6. resourceName (用于权限控制,默认为空) 5. 用户设置 6. 组织 1. 部门 2. 成员信息 3. 身份(关联到权限控制中的角色) 7. 字典 8. 公告 9. 消息(站内信/私信) ## 目录结构 ``` $ tree . ├── cmd │   ├── dbtest │   └── saltadmin ├── configs ├── internal │   ├── app │   ├── config │   ├── logging │   ├── modules │   │   ├── auth │   │   ├── message │   │   ├── org │   │   ├── system │   │   │   ├── announcement │   │   │   ├── dict │   │   │   ├── log │   │   │   └── settings │   │   └── user │   │   ├── profile │   │   └── settings │   └── pkg │   ├── cmd │   ├── database │   ├── email │   ├── event │   ├── sms │   ├── storage │   └── utils └── scripts ``` ## 模块代码结构(以 auth 认证模块为例): ``` auth/ ├── model.go # 包含User、Role、Permission等模型 ├── service.go # 登录/登出/权限校验服务 ├── api.go # 登录API、权限管理API(注入到 api 框架中) ├── cmd.go # 命令行用户管理功能(注入到 cmd 框架中) └── middleware.go # JWT认证中间件 ```