--- name: project-framework description: Defines the PolyClientVuetify project's framework, structure, and coding conventions. Use when adding or modifying any code in this repository so that changes follow the same stack, patterns, and style. --- # 项目框架规范 在**新增或修改**本仓库内任何代码时,按以下规范执行,保证风格与架构一致。 ## 技术栈 - **框架**:Vue 3(Composition API)+ TypeScript - **构建**:Vite 7,路径别名 `@/*` → `./src/*` - **UI**:Vuetify 4(`v-app`、`v-card`、`v-btn` 等) - **状态**:Pinia - **路由**:Vue Router 5(createWebHistory) - **代码质量**:ESLint + Prettier + oxlint;单测 Vitest,E2E Playwright ## 目录与文件放置 | 用途 | 目录/文件 | 说明 | |----------------|------------------------------|------| | 页面级视图 | `src/views/` | 对应路由,一个路由一个 Vue 文件 | | 可复用组件 | `src/components/` | 被多个 view 或其它组件引用 | | 接口与类型 | `src/api/` | 请求封装、接口函数、响应/请求类型 | | 全局状态 | `src/stores/` | Pinia store,按领域拆分 | | 路由配置 | `src/router/index.ts` | 集中声明 routes | | 入口与插件 | `src/main.ts`、`src/plugins/` | 不随意新增顶级文件 | - 新页面:在 `views/` 新增 `.vue`,并在 `router/index.ts` 增加 `path`、`name`、`component`。 - 新接口:在 `api/` 下合适模块(如 `event.ts`)或新建 `xxx.ts`,复用 `request.ts` 的 `get`/`post`,并导出类型与函数。 ## Vue 组件规范 1. **单文件结构顺序**:`