Files
OpenIsle/frontend_nuxt/AGENTS.md

55 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# FrontendNuxt协作指引
## 1) 适用范围
- 作用于 `frontend_nuxt/` 目录及其子目录。
- 本文件仅覆盖前端范围;跨服务规则仍遵循根 `AGENTS.md`
## 2) 代码组织约定
- `pages/`:路由页面与页面级数据获取。
- `components/`:可复用视图组件。
- `composables/`:状态与行为复用(如 WebSocket、倒计时
- `plugins/`:运行时插件(鉴权 fetch、主题、第三方库注入
- `utils/`:纯工具函数(时间、鉴权 token、平台适配
- `assets/``public/`:静态资源与样式。
## 3) 前端修改规则
- 优先保持现有交互和视觉风格一致,不做无关 UI 重构。
- 接口字段变更时,先更新调用点,再统一处理回退逻辑与空值分支。
- SSR 与客户端代码分离:
- 涉及 `window``localStorage`、WebSocket 的逻辑只在 client 侧运行。
- 与鉴权相关的 401 处理,保持与 `plugins/auth-fetch.client.ts` 行为一致。
## 4) 环境变量与运行时配置
- 统一通过 `nuxt.config.ts``runtimeConfig.public` 读取。
- 关键键位保持一致:
- `NUXT_PUBLIC_API_BASE_URL`
- `NUXT_PUBLIC_WEBSOCKET_URL`
- `NUXT_PUBLIC_WEBSITE_BASE_URL`
- 变量改动需同步根目录 `.env.example` 与文档说明。
## 5) 实时消息链路注意事项
- WebSocket 入口:
- `composables/useWebSocket.js`
- 若改订阅目标(`/topic/...``/user/...`),必须与后端推送目的地保持一致。
- 重连与重订阅逻辑不可被破坏;避免引入重复订阅和泄漏。
## 6) 构建与验证
- 标准验证:`npm run build`
- 本地联调:`npm run dev`
- 涉及 WebSocket/通知的改动,建议至少手工验证:
- 登录后连接建立
- 收到消息时 UI 状态更新
- 断线重连后仍可订阅
## 7) 输出要求
- 标注影响页面/组件路径。
- 标注是否引入 API 字段兼容处理。
- 标注是否需要后端或 WebSocket 服务配合发布。