rst-frontend 是配套 rst-backend 的后台管理前端,主要用于游戏系统配置、运营管理、审核中心、交易链路配置和玩家实例管理。
这个项目不是一个“通用后台模板”,而是一个已经积累了大量业务约定的管理台。后续接手时,最重要的不是只看页面长什么样,而是先理解:
- 动态路由和菜单权限是怎么来的
- 列表页为什么大量复用
useCrud/CrudTable/FormDialog - 哪些业务已经拆成“目录 + 玩家实例”两层
- 哪些数据虽然看起来是数字,但后端返回的实际上是字符串
- 哪些模块的变更要走审核中心,而不是直接落库
| 技术 | 说明 |
|---|---|
| Vue 3 | Composition API + <script setup> |
| TypeScript | 类型约束与接口建模 |
| Vite 8 | 构建与开发服务器 |
| Pinia | 登录态、路由树、标签页等状态管理 |
| Vue Router 5 | 静态入口路由 + 动态业务路由 |
| Element Plus | 列表、表单、弹框等后台基础 UI |
| UnoCSS | 原子化样式 |
| Axios | HTTP 客户端 |
| VueUse | 响应式工具、断点能力 |
| es-toolkit | 防抖等轻量工具函数 |
| Oxlint / Oxfmt | Lint 与格式化 |
| 工具 | 版本 |
|---|---|
| Node.js | `^20.19.0 |
| pnpm | 建议 >=10 |
pnpm install
pnpm dev开发模式下,Vite 会把 /api 代理到 http://localhost:3000。
| 命令 | 说明 |
|---|---|
pnpm dev |
启动开发服务器 |
pnpm build |
类型检查 + 生产构建 |
pnpm build-only |
仅执行 Vite 构建 |
pnpm preview |
本地预览生产构建 |
pnpm exec vue-tsc --noEmit |
纯类型检查 |
pnpm lint |
运行 lint |
pnpm format |
格式化 src/ |
- 动态路由驱动:后端返回菜单树,前端按
component路径动态注册页面 - 权限来自按钮节点:页面上的
v-permission不是查角色表,而是查路由树里的按钮节点 - CRUD 约定统一:大部分列表页都基于
useCrud、CrudTable、FormDialog - 审核中心已独立:多个业务的修改不再直接写数据,而是生成审核提交
- 前后端联动较紧:很多页面逻辑要紧贴 Swagger / OpenAPI 和后端控制器职责
更完整的交接文档在 docs/ 目录:
docs/README.md:文档总览docs/00-overview.md:项目全景和运行主链路docs/01-project-structure.md:目录结构和职责划分docs/02-routing-permission.md:动态路由、菜单、权限docs/03-crud-patterns.md:列表页 / 表单页的统一模式docs/04-api-alignment.md:接口分层、数据映射、联调约定docs/05-review-center.md:审核中心和业务审核接入方式docs/06-business-modules.md:当前业务模块地图docs/07-development-workflow.md:新增页面、联调、验证流程docs/08-common-pitfalls.md:常见坑位总结docs/09-handover-checklist.md:接手和发布检查清单
Dockerfile当前是典型的两阶段构建:Node 构建 + Nginx 托管- 文档和开发辅助文件不会进入 Docker 构建上下文,相关规则见
.dockerignore
本仓库当前包含 LICENSE 文件,但实际使用请以团队内部规范为准。
