功能: 完善风电功率方案计算
- 新增计算方案保存与方案二筛选参数 - 支持方案二桨角规则和有效数据导出 - 优化功率曲线绘制和设计功率展示
This commit is contained in:
+20
-1
@@ -1,7 +1,26 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(grep -E \"node_modules|/build/|build_package|^runtime/|^publish/|third_party/drogon/install|\\\\.so$|\\\\.o$\")"
|
||||
"Bash(grep -E \"node_modules|/build/|build_package|^runtime/|^publish/|third_party/drogon/install|\\\\.so$|\\\\.o$\")",
|
||||
"Bash(git commit *)",
|
||||
"Bash(git push *)",
|
||||
"Bash(echo \"=== exit: $? ===\")",
|
||||
"Bash(sshpass -p 'i7568737i~' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=15 ubuntu@82.157.83.226 'echo \"=== nginx status ===\"; systemctl is-active nginx 2>/dev/null || service nginx status 2>/dev/null | head -3; echo; echo \"=== all listen ports in nginx config ===\"; sudo grep -rhoE \"listen[^;]*;\" /etc/nginx/ 2>/dev/null | sort | uniq -c')",
|
||||
"Bash(sshpass -p 'i7568737i~' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=15 ubuntu@82.157.83.226 'echo \"=== nginx 监听的端口(去重)===\"; sudo nginx -T 2>/dev/null | grep -oE \"listen[[:space:]]+[^;]+\" | sed \"s/listen[[:space:]]*//\" | sed \"s/[[:space:]]*default_server//\" | sed \"s/[[:space:]]*ssl//\" | sort -u; echo; echo \"=== proxy_pass 转发目标(去重)===\"; sudo nginx -T 2>/dev/null | grep -oE \"proxy_pass[[:space:]]+[^;]+\" | sed \"s/proxy_pass[[:space:]]*//\" | sort -u')",
|
||||
"Bash(sshpass -p i7568737i~ ssh -o StrictHostKeyChecking=no -o ConnectTimeout=15 ubuntu@82.157.83.226 ' *)",
|
||||
"Bash(sshpass -p 'i7568737i~' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=15 ubuntu@82.157.83.226 'echo \"=== 服务器上 8080 / 8082 占用情况 ===\"; sudo ss -tlnp 2>/dev/null | grep -E \":8080|:8082|:8848|:3000\" ; echo; echo \"=== nginx 对外监听 8080 的 server 块 ===\"; sudo nginx -T 2>/dev/null | grep -B2 -A20 \"listen.*8080\"')",
|
||||
"Bash(sshpass -p 'i7568737i~' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=15 ubuntu@82.157.83.226 'echo \"=== IPv4 网卡 ===\"; ip -4 addr show | grep -E \"inet \" | grep -v \"127.0.0.1\"; echo; echo \"=== IPv6 全局地址 ===\"; ip -6 addr show | grep -i \"scope global\" || echo \"\\(无全局 IPv6\\)\"; echo; echo \"=== 现有 listen 10.2.0.8:8081 server 块\\(作为方案A的参照\\) ===\"; sudo nginx -T 2>/dev/null | grep -B1 -A18 \"listen[[:space:]]+10.2.0.8:8081\"; echo; echo \"=== 确认 8080 当前 default_server 标记 ===\"; sudo nginx -T 2>/dev/null | grep -nE \"listen.*8080\"')",
|
||||
"Bash(sshpass -p 'i7568737i~' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=15 ubuntu@82.157.83.226 'bash -s')",
|
||||
"Bash(curl -s -m 5 -o /dev/null -w \"HTTP %{http_code} 耗时%{time_total}s\\\\n\" http://82.157.83.226:8080/api/system/health)",
|
||||
"Bash(curl -s -m 5 http://82.157.83.226:8080/api/system/health)",
|
||||
"Bash(echo \"health body: $\\(curl -s -m 5 http://82.157.83.226:8080/api/system/health\\)\")",
|
||||
"Bash(sshpass -p 'i7568737i~' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=15 ubuntu@82.157.83.226 'sudo nginx -t && sudo systemctl reload nginx && echo \"[nginx] reloaded -> 10.2.0.8:8080 转发 127.0.0.1:8080 \\(中断开始\\)\"')",
|
||||
"Bash(./deploy.sh)",
|
||||
"Bash(curl -s -m5 http://82.157.83.226:8080/api/system/health)",
|
||||
"Bash(curl -s -m5 http://82.157.83.226:8080/api/system/version)",
|
||||
"Bash(curl -s -m5 -o /dev/null -w \"HTTP %{http_code} 类型%{content_type}\\\\n\" http://82.157.83.226:8080/)",
|
||||
"Bash(curl -s -m5 -o /dev/null -w \"8848 HTTP %{http_code} \\(000=不通/拒绝, 符合预期\\)\\\\n\" http://82.157.83.226:8848/)",
|
||||
"Bash(git restore *)"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ description: 技能建设规范。用于为 wind_power_cal 创建/改写 .agents
|
||||
## 规则
|
||||
- 每个 skill 一个目录,内含 `SKILL.md`。
|
||||
- frontmatter:`name`(kebab-case)、`description`(一句话:**何时触发** + 做什么;用于检索匹配)。
|
||||
- 内容贴合 **wind_power_cal 实际**:C++ Drogon 后端(:8848)、React+Vite 前端、`package.sh / run.sh / deploy.sh`、`third_party` 源码编译 Drogon、响应信封 `{status,msg,data}`。
|
||||
- 内容贴合 **wind_power_cal 实际**:C++ Drogon 后端(:8080)、React+Vite 前端、`package.sh / run.sh / deploy.sh`、`third_party` 源码编译 Drogon、响应信封 `{status,msg,data}`。
|
||||
- **禁止**原封照搬 edge_collector 等其它项目的 skill——其 OTA / 协议采集 / 边缘主机 / collector / configurator / cloud_server 等内容在本仓库不存在,会误导。
|
||||
- 用 `[[other-skill-name]]` 链接相关技能。
|
||||
- 通用工程规范(代码风格、git 提交、shell、前端调试)与项目专属规范(`wind-*`)分开维护。
|
||||
|
||||
@@ -32,7 +32,7 @@ SendForbidden(callback); // 无权限(code 3, 403)
|
||||
- `main.cpp` 必须 `using namespace drogon;`,否则 `app()` / `HttpResponse` / `CT_TEXT_HTML` 未声明
|
||||
|
||||
## 配置 / SPA
|
||||
- `backend/config/server_config.json`:listener(默认 :8848)、CORS、`document_root ./web`
|
||||
- `backend/config/server_config.json`:listener(默认 :8080)、CORS、`document_root ./web`
|
||||
- SPA 回退:`app().setCustom404Page(HttpResponse::newFileResponse("./web/index.html","",CT_TEXT_HTML), false)`
|
||||
|
||||
## 现有 Controller
|
||||
|
||||
@@ -14,11 +14,11 @@ description: wind_power_cal 本地构建与运行规范。用于编译后端、
|
||||
`--publish` 额外生成 `publish/wind_power-<ver>.tar.gz`。
|
||||
|
||||
## 运行
|
||||
- 一键(后端托管 SPA):`./run.sh`,访问 http://localhost:8848/
|
||||
- 一键(后端托管 SPA):`./run.sh`,访问 http://localhost:8080/
|
||||
- 仅后端:`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)
|
||||
- 后端 `bash backend/run.sh`(:8080)
|
||||
- 前端 `cd frontend/web_app && npm install && npm run dev`(:5173,代理 `/api`→:8080)
|
||||
|
||||
## 后端构建细节
|
||||
- `backend/CMakeLists.txt`:`find_package(Drogon CONFIG REQUIRED)`,`file(GLOB_RECURSE src/*.cpp)`,链 `Drogon::Drogon`,include `src` + `third_party`。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: wind-deploy
|
||||
description: wind_power_cal 远端部署规范。用于把服务部署到公网主机(默认 82.157.83.226)时,按 deploy.sh 流程操作并校验 :8848。
|
||||
description: wind_power_cal 远端部署规范。用于把服务部署到公网主机(默认 82.157.83.226)时,按 deploy.sh 流程操作并校验 :8080。
|
||||
---
|
||||
|
||||
# 远端部署(deploy.sh)
|
||||
@@ -14,7 +14,7 @@ description: wind_power_cal 远端部署规范。用于把服务部署到公网
|
||||
- `User=ubuntu`,`ExecStart=~/wind_power/wind_server`
|
||||
- `Environment=LD_LIBRARY_PATH=~/wind_power/libs`
|
||||
- 日志 `logs/server.log`,`Restart=on-failure`
|
||||
4. 重启 `wind_power`,校验 `localhost:8848`
|
||||
4. 重启 `wind_power`,校验 `localhost:8080`
|
||||
|
||||
## 远端运行期依赖(最小化服务器常缺)
|
||||
`sudo apt-get install -y libjsoncpp25 libc-ares2`(deploy.sh 已内置)。
|
||||
@@ -28,7 +28,7 @@ description: wind_power_cal 远端部署规范。用于把服务部署到公网
|
||||
|
||||
## 校验
|
||||
```
|
||||
curl -s localhost:8848/api/system/health
|
||||
curl -s localhost:8080/api/system/health
|
||||
# {"status":0,"msg":"success","data":{"status":"ok"}}
|
||||
```
|
||||
查看服务:`ssh ubuntu@82.157.83.226 'systemctl status wind_power'`
|
||||
|
||||
@@ -26,7 +26,7 @@ description: wind_power_cal 前端 React+Vite 规范。用于前端页面/接口
|
||||
- 后端经 `/api` 前缀;生产由后端托管 SPA(`document_root ./web`)
|
||||
|
||||
## 构建配置
|
||||
`vite.config.js`:`base='/'`,dev server :5173,proxy `/api` → `http://localhost:8848`。
|
||||
`vite.config.js`:`base='/'`,dev server :5173,proxy `/api` → `http://localhost:8080`。
|
||||
|
||||
## 开发
|
||||
```
|
||||
|
||||
@@ -32,8 +32,8 @@ wind_power_cal/
|
||||
## 端口
|
||||
| 服务 | 端口 |
|
||||
| --- | --- |
|
||||
| 后端 wind_server | 8848(监听地址见 server_config.json) |
|
||||
| 前端 dev | 5173(vite proxy `/api` → :8848) |
|
||||
| 后端 wind_server | 8080(监听地址见 server_config.json) |
|
||||
| 前端 dev | 5173(vite proxy `/api` → :8080) |
|
||||
|
||||
## 脚本入口
|
||||
- `./run.sh` 一键打包+前台运行(后端托管 SPA)
|
||||
|
||||
Reference in New Issue
Block a user