# Repository Guidelines ## 项目结构与模块 - `src/main.js`:应用入口,注册 Element Plus、全局样式。 - `src/App.vue`:CRT 风格登录页,调用 `/login` 获取 JWT 与用户信息。 - `src/style.css`:全局字体与背景基调;保持单一来源的全局样式。 - `public/`:静态资源;`index.html` 仅包含挂载点与标题。 - `vite.config.js`:Vite 基础配置,如需别名或代理在此扩展。 ## 构建、测试与开发命令 - `npm install`:安装依赖。 - `npm run dev`:本地开发,默认端口 5173。 - `npm run build`:生产构建,输出到 `dist/`。 - `npm run preview`:本地预览构建产物。 ## 编码风格与命名 - 使用 Vue 3 SFC,组件文件 PascalCase(例:`LoginPanel.vue`),组合式函数 camelCase。 - 缩进 2 空格,优先使用 const;必要时加少量行内注释说明意图。 - 样式保持 CRT 终端基调,变量命名语义化;若扩展组件样式,优先复用 Element Plus 变量或类。 - 资源/路径使用相对路径,避免硬编码绝对 URL。 ## 环境与配置 - 后端基址通过环境变量 `VITE_API_BASE` 配置,默认 `http://localhost:8000/api`。开发时可在 `.env.local` 设置。 - 接口认证遵循 JWT Bearer:`Authorization: Bearer `。 ## 测试指引 - 一律以 TDD 推进:先写失败的测试,再实现功能,再回到绿色。若暂缺框架,请先搭建再编码。 - 单元测试推荐 Vitest;端到端测试推荐 Playwright。新功能或改动必须附带测试覆盖正/反路径。 - 测试命名:`*.spec.ts|js`,按功能域分目录;保证可通过 `npm test` 或相应命令运行。 ## 提交与 Pull Request - 提交信息使用祈使句简述变更(例:`add login error display`),中文/英文均可,但保持简洁。 - PR 应包含:变更目的、主要修改点、测试结果;涉及 UI 需附关键截图或录屏。 - 保持小而可审的提交;引用关联 issue 时使用 `#ID`。