Files
sbnews/pc/AGENTS.md
T

73 lines
1.9 KiB
Markdown

# PC Agent — Sport Era PC 前台
Nuxt 3 / Vue 3 PC 前台站点。**消费 `server/app/api/controller/` 的接口(与 uniapp 共享 `/api/*`)。**
## 技术栈
- **Nuxt** 3 + **Vue** 3
- **TypeScript**
- **Pinia** 状态管理
- **Tailwind CSS** / SCSS
- **Axios / ofetch** HTTP 请求
## 项目结构
```text
pc/
├── nuxt.config.ts # Nuxt 配置
├── app.vue # 根布局
├── pages/ # 文件路由
├── components/ # 公共组件
├── composables/ # 组合式函数
├── stores/ # Pinia Store
├── api/ # 接口请求模块(→ 后端 /api/*)
├── plugins/ # Nuxt 插件
├── middleware/ # 路由中间件
├── layouts/ # 页面布局
├── public/ # 静态资源
└── assets/ # 编译资源
```
## 运行命令
```bash
npm install
npm run dev
npm run generate
npm run build
```
---
## 并行协作协议
### 新功能开发时
#### Step 1: 等待或查阅后端 API 契约
查看 `server/app/api/controller/` 下的 controller,确认接口签名、请求参数和响应结构。
#### Step 2: 并行实现
```text
1. api/ 下新增或复用请求模块
2. pages/ 下新增页面(文件路由)
3. components/ 下复用或新增组件
4. stores/ 处理跨页面状态
```
#### Step 3: 构建联调
```bash
npm run generate
```
## 代码约定
- 接口请求通过 `composables``api/` 模块统一封装。
- SEO 关键页面使用 `useHead` 配置 `<title>` / `<meta>`
- 接口 baseURL 由 `runtimeConfig` 或环境配置控制,不要写死。
- 页面级数据获取优先使用 `useAsyncData` / `useFetch`
- 与 uniapp 共享前台接口契约,避免同一业务前台两套字段命名。
- 设计稿与页面映射维护在根目录 `设计稿映射.md`