kra-oa/docs/ADMIN_BACKEND.md

53 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
```