# Kra 管理后台 ## 范围 Kra 管理后台由 Kratos 应用承载生命周期,Gin 提供兼容管理端的 HTTP 路由。后端按 `service -> biz -> data` 分层,前端位于 `web/`。 保留的业务模块: - 初始化、认证、用户和个人中心 - 角色、菜单、API、Casbin 和按钮权限 - 部门、岗位和数据范围 - 字典、字典项和系统参数 - 安全策略、系统配置和 API Token - Excel 导入导出与版本管理 - 操作日志、登录日志、数据访问日志、错误日志和文件日志 - 定时任务、SSE、媒体上传和附件分类 - 公告管理与邮件发送 不包含代码生成、智能辅助、模块安装发布、客户示例和测试页面。 ## 目录 | 目录 | 职责 | |---|---| | `internal/server` | Gin 路由、中间件和 Kratos transport 生命周期 | | `internal/service` | HTTP DTO 与领域对象转换、用例编排 | | `internal/biz` | 领域对象、业务规则和仓储接口 | | `internal/data` | GORM、MySQL、Redis 和本地文件存储实现 | | `web` | Vue 3 管理端 | ## 兼容约定 - HTTP 响应为 `{code, data, msg}`,成功码为 `0`。 - JWT 接受 `x-token` Header 和同名 Cookie。 - 初始化创建后台数据表、管理员、菜单,并从 Gin 路由同步 API 权限数据。 - 超级管理员角色 `888` 保留全权限旁路,其他角色由 Casbin 控制。 - SMTP 配置位于 `admin.email`;未配置时错误邮件告警保持关闭。 - 媒体文件默认使用本地 `uploads/file` 存储。 ## 验证 ```bash go generate ./cmd/kratos-admin go test ./... go vet ./... go build ./... cd web pnpm install pnpm run lint pnpm run build ```