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 target: dist build
create-version-file metadata.yml --outfile build/file_version_info.txt 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: dist:
mkdir dist mkdir dist

View File

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

View File

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

View File

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

View File

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

View File

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