Files
sbnews/admin/AGENTS.md
T

3.1 KiB
Raw Blame History

Admin Agent — Sport Era 管理后台

Vue 3 + Vite + Element Plus 管理后台 SPA。消费 server/app/adminapi/controller/ 的接口。

技术栈

  • Vue 3 + TypeScript
  • Vite
  • Element Plus
  • Pinia 状态管理
  • Vue Router 路由
  • Axios HTTP 请求

项目结构

src/
├── main.ts                # 应用入口
├── App.vue                # 根组件
├── permission.ts          # 路由权限守卫
├── api/                   # 接口请求模块(→ 后端 /adminapi/*
├── views/                 # 页面组件
├── layout/                # 布局组件
├── components/            # 公共组件
├── stores/                # Pinia Store
├── router/                # 路由配置
├── hooks/                 # 组合式函数
├── utils/                 # 工具函数
├── enums/                 # 枚举常量
├── config/                # 应用配置
├── styles/                # 全局样式
└── assets/                # 静态资源

运行命令

npm install
npm run dev
npm run build

并行协作协议

新功能开发时

Step 1: 等待或查阅后端 API 契约

查看 server/app/adminapi/controller/ 下对应 controller,并结合 validate、logic、model 获取:

  • 接口路径和方法
  • 请求参数类型和必填项
  • 响应数据结构
  • 字段、状态、字典或配置来源

Step 2: 并行实现

1. src/api/ 下新增或复用接口请求模块
2. src/views/ 下新增页面组件
3. 按现有路由/菜单机制配置页面入口
4. 如需菜单,配合后端菜单和权限节点

Step 3: 构建联调

npm run build

从后端 Agent 获取信息的方式

需要了解 查看位置
接口路径/参数/响应 server/app/adminapi/controller/ 对应 controller
参数校验 server/app/adminapi/validate/ 对应 validate
业务字段 server/app/common/model/ 对应 model
枚举/字典 server/app/common/enum/、字典表、配置表
Token 机制 server/app/common/cache/AdminTokenCache.php

代码约定

  • API 请求统一通过 src/api/ 模块,沿用现有请求封装。
  • 列表页复用现有搜索表单、表格、分页和批量操作风格。
  • 表单页复用 el-formel-dialog、上传组件等现有封装。
  • 状态管理用 PiniaStore 放在 src/stores/
  • 新增视图先参考同业务目录的已有页面风格。
  • 禁止前端硬编码业务枚举:优先从字典接口、配置接口或后端返回字段读取。
  • 顶级菜单需配 icon,二级及以下菜单 icon 留空。

近期踩坑

  • 后台表单新增字段时,不能只改页面输入项;要同时核对后端接口字段白名单、数据库列和保存逻辑,否则会出现“能填但存不进去”的假象。