Files
wind_power_cal/.claude/skills/wind-frontend-conventions/SKILL.md
T
cloud 3cb7684039 更新项目 skills 并完善设计功率曲线前端
- skills: 移除 edge_collector 专属技能(OTA/协议/边缘主机/collector 等),
  保留通用工程规范(analyze-questions/cpp-coding-style/git-commit/shell-scripting/
  frontend-debug/frontend-dialog/frontend-ui-conventions),新增 wind_power_cal
  项目技能(wind-project-overview/build-run/deploy/backend-conventions/
  frontend-conventions/third-party-libs)与元技能 skill-builder;
  .agents/skills 与 .claude/skills 保持同步
- 前端: HomePage/App.css 增加设计功率曲线录入与图表展示

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-14 17:50:23 +08:00

1.6 KiB
Raw Blame History

name, description
name description
wind-frontend-conventions wind_power_cal 前端 React+Vite 规范。用于前端页面/接口/路由开发时,遵循 api.js 信封封装、vite 代理与目录约定。

前端 React+Vite 规范

目录

frontend/web_app/src/main.jsx(入口)→ App.jsxreact-router)→ pages/ + utils/api.js

API 封装(必须遵守)

src/utils/api.jsBASE_URL='/api'request() 统一处理信封:

  • fetch('/api'+url, {cache:'no-store'}) → 读 text→JSON.parse
  • status===0 返回 json.data;否则 throw new Error(json.msg)
  • 新增接口在此导出:
    export function getXxx() { return request('/xxx'); }
    export function postXxx(payload) {
      return request('/xxx', { method: 'POST', body: JSON.stringify(payload) });
    }
    

路由 / 主题

  • react-router-dom BrowserRouter,首页 pages/HomePage.jsx
  • 暗色主题;样式用 plain CSSindex.css / App.css / *.module.css),非 Tailwind / 非 CSS-in-JS
  • 后端经 /api 前缀;生产由后端托管 SPAdocument_root ./web

构建配置

vite.config.jsbase='/'dev server :5173proxy /apihttp://localhost:8848

开发

cd frontend/web_app
npm install
npm run dev      # http://localhost:5173
npm run build    # → dist/,由 package.sh 同步到后端 web/
npm run lint

注意:若将来要把前端挂到子路径(如 nginx /wind),必须同步改 baseBrowserRouter basenameapi.js BASE_URL 三处——单靠 nginx 无法搬移根路径 SPA(资源/路由是绝对/写死的)。