3cb7684039
- 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>
1.8 KiB
1.8 KiB
name, description
| name | description |
|---|---|
| wind-build-run | wind_power_cal 本地构建与运行规范。用于编译后端、构建前端、打包 runtime、或本地运行前后端时,按正确脚本和顺序操作。 |
本地构建与运行
首次 / Drogon 缺失
third_party/ensure_third_party.sh 源码编译 Drogon+Trantor → third_party/drogon/install/<arch>/。产物存在则秒过(幂等)。详见 wind-third-party-libs。
打包
bash package.sh --build-type Release
→ runtime/wind_power/:wind_server + config/ + web/(前端 dist)+ libs/(libdrogon/libtrantor .so)+ logs/。
--publish 额外生成 publish/wind_power-<ver>.tar.gz。
运行
- 一键(后端托管 SPA):
./run.sh,访问 http://localhost:8848/ - 仅后端:
bash backend/run.sh(先 build.sh 再启动,设LD_LIBRARY_PATH=libs) - 开发(前后端分离热更):
- 后端
bash backend/run.sh(:8848) - 前端
cd frontend/web_app && npm install && npm run dev(:5173,代理/api→:8848)
- 后端
后端构建细节
backend/CMakeLists.txt:find_package(Drogon CONFIG REQUIRED),file(GLOB_RECURSE src/*.cpp),链Drogon::Drogon,includesrc+third_party。- 架构检测
x64/arm64/arm32;自动注入DROGON_LOCAL_PREFIX。 - 运行期 .so 解析:RPATH
$ORIGIN/../lib+ run.sh 设LD_LIBRARY_PATH=<app>/libs。 - Drogon 编译依赖(Ubuntu):
libssl-dev libc-ares-dev uuid-dev libjsoncpp-dev zlib1g-dev libbrotli-dev。
前端构建
npm run build→frontend/web_app/dist/;package.sh会 rsync 到runtime/wind_power/web/。- 入口
src/main.jsx→App.jsx(react-router)。
调用
ensure_third_party.sh时必须显式传THIRD_PARTY=<root>/third_party(见 wind-third-party-libs),否则SCRIPT_DIR推导出错。