Fix: 解决Win10中文乱码和编译路径问题

- 将批处理脚本改为英文输出
- 添加UTF-8编码支持(chcp 65001)
- 添加go.mod存在性检查
- 创建详细的Windows使用说明文档
This commit is contained in:
Your Name
2026-04-25 22:51:05 +08:00
parent d0927cbad5
commit 90d2a230a3
3 changed files with 208 additions and 21 deletions
+173
View File
@@ -0,0 +1,173 @@
# Windows 10 使用说明
## 解决中文乱码问题
已将脚本中的中文改为英文,避免乱码问题。
## 在 Win10 上编译和运行
### 方法一:从网络位置编译(推荐)
1. **打开PowerShell或CMD**
2. **切换到项目目录**
```cmd
cd \\192.168.6.193\Share\Projects\network-topology-discovery
```
3. **编译程序**
```cmd
build.bat
```
4. **运行程序**
```cmd
start.bat
```
5. **访问Web界面**
打开浏览器访问:`http://localhost:8080`
### 方法二:复制到本地编译(更快)
如果网络位置编译慢,可以:
1. **复制整个项目到本地**
```cmd
xcopy \\192.168.6.193\Share\Projects\network-topology-discovery C:\Projects\network-topology-discovery /E /I
```
2. **切换到本地目录**
```cmd
cd C:\Projects\network-topology-discovery
```
3. **编译和运行**
```cmd
build.bat
start.bat
```
### 方法三:手动命令行编译
如果批处理脚本有问题,可以手动执行:
```cmd
# 切换到项目目录
cd \\192.168.6.193\Share\Projects\network-topology-discovery
# 编译
set GOOS=windows
set GOARCH=amd64
go build -o network-topology.exe -ldflags="-s -w" ./cmd
# 运行
network-topology.exe
```
## 常见问题
### 1. 提示 "go.mod file not found"
**原因**:没有在项目根目录运行脚本
**解决**
```cmd
# 先切换到正确的目录
cd \\192.168.6.193\Share\Projects\network-topology-discovery
# 确认go.mod存在
dir go.mod
# 然后再运行
build.bat
```
### 2. 编译后找不到 network-topology.exe
**原因**:编译失败或输出到错误目录
**解决**
```cmd
# 手动编译并指定输出路径
go build -o network-topology.exe ./cmd
# 检查文件是否存在
dir network-topology.exe
```
### 3. 运行时提示 "web目录不存在"
**原因**:web文件夹不在正确位置
**解决**
确保目录结构如下:
```
network-topology-discovery/
├── network-topology.exe
├── web/
│ ├── index.html
│ ├── css/
│ └── js/
└── config.json
```
### 4. 端口8080被占用
**解决**
编辑 `config.json`,修改端口:
```json
{
"web": {
"port": 8081
}
}
```
## 环境要求
确保已安装:
- ✅ Go 1.22 或更高版本
- ✅ Windows 10/11
- ✅ 网络连接(访问网络设备)
检查Go版本:
```cmd
go version
```
## 快速测试
编译完成后,可以快速测试:
```cmd
# 1. 编译
build.bat
# 2. 启动
start.bat
# 3. 打开浏览器
# 访问: http://localhost:8080
# 4. 测试添加设备
# 点击"添加设备",输入你的设备IP和SSH凭据
```
## 更新项目
如果从Git仓库更新:
```cmd
# 拉取最新代码
git pull
# 重新编译
build.bat
# 运行
start.bat
```
---
如有其他问题,请查看 README.md 或提交Issue。
+23 -11
View File
@@ -1,29 +1,41 @@
@echo off @echo off
chcp 65001 >nul 2>&1
echo ======================================== echo ========================================
echo 网络拓扑发现系统 - 编译脚本 echo Network Topology Discovery System - Build Script
echo ======================================== echo ========================================
echo. echo.
echo [1/3] 清理旧文件... REM Check if go.mod exists
if not exist go.mod (
echo Error: go.mod not found!
echo Please run this script from the project root directory.
echo.
echo Current directory: %CD%
echo.
pause
exit /b 1
)
echo [1/3] Cleaning old files...
if exist network-topology.exe del network-topology.exe if exist network-topology.exe del network-topology.exe
echo. echo.
echo [2/3] 编译程序... echo [2/3] Building program...
set GOOS=windows set GOOS=windows
set GOARCH=amd64 set GOARCH=amd64
go build -o network-topology.exe -ldflags="-s -w" ./cmd go build -o network-topology.exe -ldflags="-s -w" ./cmd
if %ERRORLEVEL% NEQ 0 ( if %ERRORLEVEL% NEQ 0 (
echo. echo.
echo 编译失败! echo Build failed!
pause pause
exit /b 1 exit /b 1
) )
echo. echo.
echo [3/3] 创建配置文件示例... echo [3/3] Creating config file example...
if not exist config.json ( if not exist config.json (
echo 创建默认配置文件... echo Creating default config file...
echo {> config.json echo {> config.json
echo "scan_ranges": ["192.168.1.0/24"],>> config.json echo "scan_ranges": ["192.168.1.0/24"],>> config.json
echo "devices": [],>> config.json echo "devices": [],>> config.json
@@ -45,13 +57,13 @@ if not exist config.json (
echo. echo.
echo ======================================== echo ========================================
echo 编译完成! echo Build Complete!
echo ======================================== echo ========================================
echo. echo.
echo 运行方式: echo Usage:
echo network-topology.exe (使用默认配置) echo network-topology.exe (Use default config)
echo network-topology.exe config.json (使用指定配置文件) echo network-topology.exe config.json (Use specified config)
echo. echo.
echo 访问地址: http://localhost:8080 echo Web UI: http://localhost:8080
echo. echo.
pause pause
+12 -10
View File
@@ -1,21 +1,23 @@
@echo off @echo off
chcp 65001 >nul 2>&1
echo ======================================== echo ========================================
echo 网络拓扑发现系统 echo Network Topology Discovery System
echo ======================================== echo ========================================
echo. echo.
REM 检查可执行文件是否存在 REM Check if executable exists
if not exist network-topology.exe ( if not exist network-topology.exe (
echo 错误: network-topology.exe 不存在! echo Error: network-topology.exe not found!
echo 请先运行 build.bat 编译程序 echo Please run build.bat first to compile the program.
echo.
pause pause
exit /b 1 exit /b 1
) )
REM 检查配置文件 REM Check config file
if not exist config.json ( if not exist config.json (
echo 提示: config.json 不存在,将使用默认配置 echo Info: config.json not found, using default config
echo 正在创建默认配置文件... echo Creating default config file...
echo {> config.json echo {> config.json
echo "scan_ranges": [],>> config.json echo "scan_ranges": [],>> config.json
echo "devices": [],>> config.json echo "devices": [],>> config.json
@@ -36,11 +38,11 @@ if not exist config.json (
echo. echo.
) )
echo 正在启动网络拓扑发现系统... echo Starting Network Topology Discovery System...
echo. echo.
echo ======================================== echo ========================================
echo 访问地址: http://localhost:8080 echo Web UI: http://localhost:8080
echo Ctrl+C 停止服务 echo Press Ctrl+C to stop the service
echo ======================================== echo ========================================
echo. echo.