chore(workspace): bootstrap platform, judge and frontend

This commit is contained in:
2026-10-04 15:46:49 +08:00
parent ad35f52960
commit b5b286c44f
114 changed files with 5926 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
# Vue 前端工程
Vue 3 + TypeScript + Vite + Element Plus,使用 Vue Router 与 Pinia。
当前页面是开发预览和实际 API 连接检查;没有模拟登录或模拟评测结果。
```bash
pnpm install --frozen-lockfile
pnpm dev
pnpm typecheck
pnpm build
```
开发服务在 `http://127.0.0.1:5173`,`/api` 代理到 `http://127.0.0.1:8000`。
复制 `.env.example` 为 `.env` 可调整代理和 API 地址。
生产部署须配置 SPA 路由回退及 `/api` 反向代理;开发代理不进入生产产物。
- `views/`:路由页面;`layouts/`:页面框架;`components/`:可复用界面组件。
- `api/`:HTTP 客户端和业务 API 封装;`api/generated/`:从 OpenAPI 生成的类型。
- `composables/`:带生命周期的交互逻辑;`stores/`:跨页面共享状态。
- `router/`:路由;`styles/`:全局样式。
已有代码按实际需要落位;`components/` 和 `stores/` 是后续扩展位置,不放空状态实现。
API 类型更新执行根目录 `make contracts`;前端通过 `pnpm check:api` 拒绝过期类型。
登录凭据、模型密钥和数据库连接不能进入 `VITE_` 环境变量。