Files
egm/webui/README.md
dmy 6ebfcf848d feat: 添加基于pywebview的图形界面支持
新增图形界面模块webui,使用Vue 3 + Quasar + TypeScript + Tailwind CSS开发
扩展README文档说明图形界面使用方法
更新.gitignore忽略前端相关文件
添加Python版本配置文件
2026-03-02 19:39:28 +08:00

149 lines
3.0 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.
# EGM Web 界面
基于 pywebview 的输电线路绕击跳闸率计算程序图形界面。
## 技术栈
- **后端**: Python + pywebview
- **前端**: Vue 3 + Quasar + TypeScript + Tailwind CSS
- **构建工具**: Vite
## 安装步骤
### 1. 安装 Python 依赖
```bash
# 在项目根目录
uv sync
# 或
pip install pywebview
```
### 2. 安装前端依赖
```bash
cd webui
npm install
```
## 运行方式
### 开发模式
1. 启动前端开发服务器:
```bash
cd webui
npm run dev
```
2. 在另一个终端启动 pywebview
```bash
cd ..
python webview_app.py
```
### 生产模式
1. 构建前端:
```bash
cd webui
npm run build
```
2. 启动 pywebview
```bash
cd ..
python webview_app.py
```
## 项目结构
```
webui/
├── src/
│ ├── components/
│ │ └── ParameterForm.vue # 参数表单组件
│ ├── types/
│ │ └── index.ts # TypeScript 类型定义
│ ├── App.vue # 主应用组件
│ ├── main.ts # 应用入口
│ └── style.css # 全局样式
├── package.json # 前端依赖配置
├── vite.config.ts # Vite 配置
├── tsconfig.json # TypeScript 配置
├── tailwind.config.js # Tailwind CSS 配置
└── index.html # HTML 入口
```
## 功能说明
### 参数配置
界面提供三个参数分组:
1. **基本参数**
- 额定电压等级 (kV)
- 导线弧垂 (m)
- 地线弧垂 (m)
- 导线串子绝缘长度 (m)
- 导线串长 (m)
- 地线串长 (m)
- 导、地线挂点垂直距离 (m)
- 导、地线水平坐标 (m)
- 地面倾角 (°)
- 海拔高度 (m)
- 雷暴日 (d)
2. **高级参数**
- 地闪密度 (次/(km²·a))
- 雷电流概率密度曲线系数 a
- 雷电流概率密度曲线系数 b
3. **可选参数**
- 计算时电压分成多少份
- 最大尝试雷电流 (kA)
### 操作功能
- **开始计算**: 执行 EGM 计算
- **重置参数**: 恢复默认参数值
- **导出配置**: 将当前配置导出为 JSON 文件
## 开发说明
### 添加新功能
1.`src/types/index.ts` 中添加类型定义
2.`src/components/ParameterForm.vue` 中添加 UI 组件
3.`webview_app.py` 中添加后端 API 方法
### 样式定制
- 使用 Tailwind CSS 类名进行样式定制
- Quasar 组件自带 Material Design 风格
## 常见问题
### Q: pywebview 窗口无法打开?
A: 请确保已安装 pywebview`pip install pywebview`
### Q: 前端开发服务器无法连接?
A: 请确保先运行 `npm run dev`,然后再启动 `python webview_app.py`
### Q: 计算功能不工作?
A: 当前版本仅提供界面框架,需要进一步集成 core.py 中的计算逻辑。
## 后续开发
- [ ] 集成 core.py 中的实际计算函数
- [ ] 添加计算结果可视化
- [ ] 支持导入/导出 TOML 配置文件
- [ ] 添加批量计算功能
- [ ] 添加结果导出DXF、PDF 等)