feat: 添加GUI构建目标并更新文档
添加Makefile中的GUI构建目标,更新README文档结构,调整默认参数值,优化webview应用的生产环境检测逻辑
This commit is contained in:
5
Makefile
5
Makefile
@@ -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
|
||||
|
||||
34
README.md
34
README.md
@@ -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文件
|
||||
```
|
||||
|
||||
## 技术支持
|
||||
|
||||
@@ -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
|
||||
|
||||
2
main.py
2
main.py
@@ -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
|
||||
|
||||
@@ -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 }
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user