feat: 添加GUI构建目标并更新文档

添加Makefile中的GUI构建目标,更新README文档结构,调整默认参数值,优化webview应用的生产环境检测逻辑
This commit is contained in:
dmy
2026-03-03 17:36:19 +08:00
parent 68328a68f1
commit 0927c94a23
6 changed files with 34 additions and 19 deletions

View File

@@ -1,6 +1,9 @@
target: dist build
create-version-file metadata.yml --outfile build/file_version_info.txt
pyinstaller -F main.py --version-file build/file_version_info.txt -n Lightening
uv run pyinstaller -F main.py --version-file build/file_version_info.txt -n Lightening
gui: build
uv run pyinstaller webview_app.py -n LighteningGUI --noconsole --add-data "webui/dist;webui/dist" -y
dist:
mkdir dist

View File

@@ -18,6 +18,7 @@
### 环境要求
- Python >= 3.12
- Node.js >= 18图形界面开发需要
### 安装依赖
@@ -122,10 +123,10 @@ python webview_app.py
rated_voltage = 750 # 额定电压等级 (kV)
h_c_sag = 14.43 # 导线弧垂 (m)
h_g_sag = 11.67 # 地线弧垂 (m)
insulator_c_len = 7.02 # 导线串子绝缘长度 (m)
insulator_c_len = 7.4 # 导线串子绝缘长度 (m)
string_c_len = 9.2 # 导线串长 (m)
string_g_len = 0.5 # 地线串长 (m)
h_arm = [150, 130] # 导、地线挂点垂直距离 (m),第一个值为地线挂点高度
h_arm = [130, 100] # 导、地线挂点垂直距离 (m),第一个值为地线挂点高度
gc_x = [17.9, 17] # 导、地线水平坐标 (m)
ground_angels = [0] # 地面倾角 (°),向下为正,支持多个角度
altitude = 1000 # 海拔高度 (m)
@@ -141,7 +142,7 @@ Ip_a = -1 # 雷电流概率密度曲线系数a大于0时使用此
Ip_b = -1 # 雷电流概率密度曲线系数b大于0时使用此值
```
注意:当 `ng` > 0 时,不会通过雷暴日计算地闪密度;当 `Ip_a``Ip_b` > 0 时,不会使用默认雷暴日对应的概率密度。
**注意**:当 `ng` > 0 时,不会通过雷暴日计算地闪密度;当 `Ip_a``Ip_b` > 0 时,不会使用默认雷暴日对应的概率密度。
### [optional] - 可选参数
@@ -189,25 +190,28 @@ EGM/
├── animation.py # 动画演示模块
├── webview_app.py # pywebview 图形界面后端
├── article.toml # 示例配置文件
├── default.toml # 默认配置文件
├── Makefile # 构建脚本
├── pyproject.toml # 项目配置
├── README.md # 说明文档
├── webui/ # 图形界面前端项目
│ ├── src/
│ │ ├── components/
│ │ │ ── ParameterForm.vue
│ │ │ ── ParameterForm.vue # 参数表单组件
│ │ │ ├── Animation.vue # 动画可视化组件
│ │ │ └── Log.vue # 日志显示组件
│ │ ├── types/
│ │ │ └── index.ts
│ │ ├── App.vue
│ │ ├── main.ts
│ │ └── style.css
│ ├── package.json
│ ├── vite.config.ts
│ ├── tsconfig.json
│ ├── tailwind.config.js
── postcss.config.js
│ └── index.html
└── CSharp/ # C# 版本实现
│ │ │ └── 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 入口
├── CSharp/ # C# 版本实现
└── 历史/ # 历史配置文件和DXF文件
```
## 技术支持

View File

@@ -1,7 +1,7 @@
import math
import os.path
import sys
import tomli
import tomllib as tomli
from loguru import logger
from core import *
import timeit

View File

@@ -2,7 +2,7 @@ import math
import os.path
import sys
import time
import tomli
import tomllib as tomli
from loguru import logger
from core import *
import timeit

View File

@@ -4,6 +4,7 @@ import { quasar, transformAssetUrls } from '@quasar/vite-plugin'
import { fileURLToPath, URL } from 'node:url'
export default defineConfig({
base: './',
plugins: [
vue({
template: { transformAssetUrls }

View File

@@ -562,6 +562,13 @@ def start_webview():
# 确定前端 URL
# 在开发环境中使用 Vite 开发服务器
# 在生产环境中使用构建后的文件
# 检查是否在打包环境中运行
if getattr(sys, 'frozen', False):
# 打包环境:强制使用生产模式,禁用调试
dev_mode = False
else:
# 开发环境:通过环境变量控制
dev_mode = os.getenv('EGM_DEV_MODE', 'true').lower() == 'true'
if dev_mode: