# 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` 配置 `` / `<meta>`。 - 接口 baseURL 由 `runtimeConfig` 或环境配置控制,不要写死。 - 页面级数据获取优先使用 `useAsyncData` / `useFetch`。 - 与 uniapp 共享前台接口契约,避免同一业务前台两套字段命名。 - 设计稿与页面映射维护在 `docs/设计稿映射.md`。