소스 검색

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

- 将批处理脚本改为英文输出
- 添加UTF-8编码支持(chcp 65001)
- 添加go.mod存在性检查
- 创建详细的Windows使用说明文档
Your Name 1 개월 전
부모
커밋
90d2a230a3
3개의 변경된 파일208개의 추가작업 그리고 21개의 파일을 삭제
  1. 173 0
      USAGE_WINDOWS.md
  2. 23 11
      build.bat
  3. 12 10
      start.bat

+ 173 - 0
USAGE_WINDOWS.md

@@ -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
build.bat

@@ -1,29 +1,41 @@
 @echo off
+chcp 65001 >nul 2>&1
 echo ========================================
-echo 网络拓扑发现系统 - 编译脚本
+echo Network Topology Discovery System - Build Script
 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
 
 echo.
-echo [2/3] 编译程序...
+echo [2/3] Building program...
 set GOOS=windows
 set GOARCH=amd64
 go build -o network-topology.exe -ldflags="-s -w" ./cmd
 
 if %ERRORLEVEL% NEQ 0 (
     echo.
-    echo 编译失败!
+    echo Build failed!
     pause
     exit /b 1
 )
 
 echo.
-echo [3/3] 创建配置文件示例...
+echo [3/3] Creating config file example...
 if not exist config.json (
-    echo 创建默认配置文件...
+    echo Creating default config file...
     echo {> config.json
     echo   "scan_ranges": ["192.168.1.0/24"],>> config.json
     echo   "devices": [],>> config.json
@@ -45,13 +57,13 @@ if not exist config.json (
 
 echo.
 echo ========================================
-echo 编译完成!
+echo Build Complete!
 echo ========================================
 echo.
-echo 运行方式:
-echo   network-topology.exe                  (使用默认配置)
-echo   network-topology.exe config.json      (使用指定配置文件)
+echo Usage:
+echo   network-topology.exe                  (Use default config)
+echo   network-topology.exe config.json      (Use specified config)
 echo.
-echo 访问地址: http://localhost:8080
+echo Web UI: http://localhost:8080
 echo.
 pause

+ 12 - 10
start.bat

@@ -1,21 +1,23 @@
 @echo off
+chcp 65001 >nul 2>&1
 echo ========================================
-echo 网络拓扑发现系统
+echo Network Topology Discovery System
 echo ========================================
 echo.
 
-REM 检查可执行文件是否存在
+REM Check if executable exists
 if not exist network-topology.exe (
-    echo 错误: network-topology.exe 不存在!
-    echo 请先运行 build.bat 编译程序
+    echo Error: network-topology.exe not found!
+    echo Please run build.bat first to compile the program.
+    echo.
     pause
     exit /b 1
 )
 
-REM 检查配置文件
+REM Check config file
 if not exist config.json (
-    echo 提示: config.json 不存在,将使用默认配置
-    echo 正在创建默认配置文件...
+    echo Info: config.json not found, using default config
+    echo Creating default config file...
     echo {> config.json
     echo   "scan_ranges": [],>> config.json
     echo   "devices": [],>> config.json
@@ -36,11 +38,11 @@ if not exist config.json (
     echo.
 )
 
-echo 正在启动网络拓扑发现系统...
+echo Starting Network Topology Discovery System...
 echo.
 echo ========================================
-echo 访问地址: http://localhost:8080
-echo 按 Ctrl+C 停止服务
+echo Web UI: http://localhost:8080
+echo Press Ctrl+C to stop the service
 echo ========================================
 echo.