53 lines
1.6 KiB
Markdown
53 lines
1.6 KiB
Markdown
# 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
|
||
go test ./...
|
||
go vet ./...
|
||
go build ./...
|
||
|
||
cd web
|
||
pnpm install
|
||
pnpm run lint
|
||
pnpm run build
|
||
```
|