docs: 创建Windows开发和测试详细指南
新增 WINDOWS_GUIDE.md 文件,包含Windows系统下的完整操作指南: 1. 软件安装步骤 - Node.js 20.x LTS 安装(含官网下载链接) - pnpm 安装命令和验证方法 - VSCode 推荐安装和扩展配置 2. 项目准备和启动 - 命令提示符操作方法 - VSCode使用方式(含快捷键Ctrl+~打开终端) - 依赖安装命令和等待时间说明 - 开发服务器启动和浏览器访问 3. 数据库初始化(首次运行) - 浏览器直接访问方式 - curl命令方式 - PowerShell Invoke-WebRequest方式 4. 功能测试清单 - 配置创建(选择企业/用户、字段、求和) - 日报生成(选择配置、预设时间) - 单个下载和批量下载测试 - 定时任务测试说明 5. Windows常见问题解决 - 端口占用(netstat + taskkill命令) - pnpm找不到(重启终端或重新安装) - 数据库连接失败(防火墙设置) - Excel无法打开(软件版本建议) - 页面空白(浏览器缓存清除) 6. 开发和测试技巧 - 实时日志查看 - 代码错误检查 - 重启服务器方法 - 清除缓存命令 7. Windows特别说明 - 命令提示符和PowerShell使用 - 路径使用反斜杠 - 推荐浏览器Chrome/Edge - 防火墙放行Node.js 8. 性能优化建议 - 使用SSD硬盘 - Node.js内存限制调整 - 浏览器选择建议 包含完整的命令示例、错误信息、解决方法,适合Windows用户快速上手开发和测试! Coze-Commit-Type: user Coze-User-ID: 3722323274763196 Coze-Conversation-ID: 9894087
This commit is contained in:
457
WINDOWS_GUIDE.md
Normal file
457
WINDOWS_GUIDE.md
Normal file
@@ -0,0 +1,457 @@
|
|||||||
|
# Windows系统开发和测试指南
|
||||||
|
|
||||||
|
## 一、安装必需软件
|
||||||
|
|
||||||
|
### 1. 安装 Node.js
|
||||||
|
|
||||||
|
#### 下载和安装
|
||||||
|
1. 访问官网:https://nodejs.org/
|
||||||
|
2. 下载 **Node.js 20.x LTS** 版本(推荐20.10.0或更高)
|
||||||
|
3. 双击安装包,按照提示完成安装
|
||||||
|
- 安装路径建议:默认路径即可
|
||||||
|
- 确保勾选 "Add to PATH" 选项
|
||||||
|
|
||||||
|
#### 验证安装
|
||||||
|
打开 **命令提示符** 或 **PowerShell**:
|
||||||
|
```cmd
|
||||||
|
node --version
|
||||||
|
npm --version
|
||||||
|
```
|
||||||
|
|
||||||
|
应该看到类似输出:
|
||||||
|
```
|
||||||
|
v20.10.0
|
||||||
|
10.2.0
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 安装 pnpm
|
||||||
|
|
||||||
|
#### 使用 npm 安装
|
||||||
|
打开命令提示符或PowerShell:
|
||||||
|
```cmd
|
||||||
|
npm install -g pnpm
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 验证安装
|
||||||
|
```cmd
|
||||||
|
pnpm --version
|
||||||
|
```
|
||||||
|
|
||||||
|
应该看到版本号,如:`8.15.0`
|
||||||
|
|
||||||
|
### 3. 安装 VSCode(推荐编辑器)
|
||||||
|
|
||||||
|
虽然不是必需,但推荐使用 Visual Studio Code:
|
||||||
|
1. 访问:https://code.visualstudio.com/
|
||||||
|
2. 下载并安装
|
||||||
|
3. 安装后打开VSCode
|
||||||
|
4. 安装推荐扩展:
|
||||||
|
- "ES7+ React/Redux/React-Native snippets"
|
||||||
|
- "TypeScript Importer"
|
||||||
|
- "Tailwind CSS IntelliSense"
|
||||||
|
|
||||||
|
## 二、下载和准备项目
|
||||||
|
|
||||||
|
### 方式1:从现有目录运行
|
||||||
|
如果项目文件已在本地:
|
||||||
|
|
||||||
|
#### 打开命令提示符
|
||||||
|
1. 按 `Win + R`
|
||||||
|
2. 输入 `cmd`
|
||||||
|
3. 回车打开命令提示符
|
||||||
|
|
||||||
|
#### 进入项目目录
|
||||||
|
```cmd
|
||||||
|
cd C:\path\to\your\project
|
||||||
|
```
|
||||||
|
(将 `C:\path\to\your\project` 替换为实际项目路径)
|
||||||
|
|
||||||
|
### 方式2:使用 VSCode 打开
|
||||||
|
1. 打开 VSCode
|
||||||
|
2. 点击 "文件" → "打开文件夹"
|
||||||
|
3. 选择项目目录
|
||||||
|
4. 按 `Ctrl + ~` 打开终端(VSCode内置终端)
|
||||||
|
|
||||||
|
## 三、安装项目依赖
|
||||||
|
|
||||||
|
### 执行安装命令
|
||||||
|
在命令提示符或VSCode终端中:
|
||||||
|
```cmd
|
||||||
|
pnpm install
|
||||||
|
```
|
||||||
|
|
||||||
|
**等待时间**:约5-10分钟
|
||||||
|
**输出信息**:会显示安装进度和依赖列表
|
||||||
|
|
||||||
|
### 如果遇到权限错误
|
||||||
|
如果提示权限不足,以管理员身份运行:
|
||||||
|
1. 右键点击 "命令提示符"
|
||||||
|
2. 选择 "以管理员身份运行"
|
||||||
|
3. 再次执行 `pnpm install`
|
||||||
|
|
||||||
|
## 四、启动开发服务器
|
||||||
|
|
||||||
|
### 启动命令
|
||||||
|
```cmd
|
||||||
|
pnpm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
### 等待启动成功
|
||||||
|
看到以下信息表示启动成功:
|
||||||
|
```
|
||||||
|
✓ Compiled in xxxms
|
||||||
|
✓ Ready in xxxms
|
||||||
|
|
||||||
|
Local: http://localhost:5000
|
||||||
|
Network: http://192.168.x.x:5000
|
||||||
|
```
|
||||||
|
|
||||||
|
### 打开浏览器访问
|
||||||
|
在浏览器(Chrome/Edge推荐)中访问:
|
||||||
|
```
|
||||||
|
http://localhost:5000
|
||||||
|
```
|
||||||
|
|
||||||
|
**成功标志**:看到配置管理、日报生成、历史记录三个标签页。
|
||||||
|
|
||||||
|
## 五、初始化数据库表(首次运行)
|
||||||
|
|
||||||
|
### 方式1:浏览器访问
|
||||||
|
在浏览器中直接访问:
|
||||||
|
```
|
||||||
|
http://localhost:5000/api/init-tables
|
||||||
|
```
|
||||||
|
|
||||||
|
### 方式2:使用 curl(如果已安装)
|
||||||
|
在新的命令提示符窗口中:
|
||||||
|
```cmd
|
||||||
|
curl -X POST http://localhost:5000/api/init-tables
|
||||||
|
```
|
||||||
|
|
||||||
|
### 方式3:使用 PowerShell
|
||||||
|
```powershell
|
||||||
|
Invoke-WebRequest -Uri "http://localhost:5000/api/init-tables" -Method POST
|
||||||
|
```
|
||||||
|
|
||||||
|
**成功标志**:看到 "数据库表初始化成功" 的JSON响应。
|
||||||
|
|
||||||
|
## 六、开始使用和测试
|
||||||
|
|
||||||
|
### 1. 创建测试配置
|
||||||
|
在浏览器页面中:
|
||||||
|
1. 点击 "配置管理" 标签
|
||||||
|
2. 填写配置名称(如:"测试79路")
|
||||||
|
3. 选择拆分方式:"按企业ID"
|
||||||
|
4. 从下拉列表选择企业:"国营-西南-79路"
|
||||||
|
5. 选择字段(勾选:订单号、充电开始时间、充电结束时间、充电电量)
|
||||||
|
6. 选择求和字段(勾选:充电电量)
|
||||||
|
7. 点击 "创建配置"
|
||||||
|
|
||||||
|
### 2. 测试日报生成
|
||||||
|
1. 点击 "日报生成" 标签
|
||||||
|
2. 选择刚才创建的配置:"测试79路"
|
||||||
|
3. 选择时间:点击 "预设时间",选择 "昨天"
|
||||||
|
4. 点击 "生成日报"
|
||||||
|
|
||||||
|
**等待时间**:约2-5秒
|
||||||
|
**成功标志**:显示 "日报生成成功",包含订单数量和求和结果。
|
||||||
|
|
||||||
|
### 3. 测试下载功能
|
||||||
|
1. 点击 "历史记录" 标签
|
||||||
|
2. 查看刚才生成的日报记录
|
||||||
|
3. 点击 "下载" 按钮
|
||||||
|
4. Excel文件会下载到浏览器默认下载目录
|
||||||
|
|
||||||
|
### 4. 测试批量下载
|
||||||
|
1. 在历史记录页面,勾选多个日报记录
|
||||||
|
2. 点击 "批量下载" 按钮
|
||||||
|
3. 所有选中的Excel文件会打包下载
|
||||||
|
|
||||||
|
## 七、开发测试常用操作
|
||||||
|
|
||||||
|
### 1. 查看实时日志
|
||||||
|
开发模式下,日志会显示在命令提示符窗口:
|
||||||
|
- API请求日志
|
||||||
|
- 错误信息
|
||||||
|
- 定时任务执行情况
|
||||||
|
|
||||||
|
### 2. 检查代码错误
|
||||||
|
如果页面出现错误,查看命令提示符窗口的错误日志。
|
||||||
|
|
||||||
|
### 3. 重启服务器
|
||||||
|
如果需要重启:
|
||||||
|
1. 在命令提示符窗口按 `Ctrl + C` 停止服务
|
||||||
|
2. 再次运行:
|
||||||
|
```cmd
|
||||||
|
pnpm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. 清除缓存
|
||||||
|
如果遇到奇怪的错误:
|
||||||
|
```cmd
|
||||||
|
# 停止服务器(Ctrl + C)
|
||||||
|
|
||||||
|
# 删除缓存和依赖
|
||||||
|
rmdir /s .next
|
||||||
|
rmdir /s node_modules
|
||||||
|
|
||||||
|
# 重新安装
|
||||||
|
pnpm install
|
||||||
|
|
||||||
|
# 重新启动
|
||||||
|
pnpm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5. 测试定时任务
|
||||||
|
定时任务(每天8:01)需要在服务持续运行时才会执行。
|
||||||
|
|
||||||
|
测试定时任务是否正常:
|
||||||
|
1. 保持服务器运行(不要关闭命令提示符)
|
||||||
|
2. 查看命令提示符输出,确认是否有定时任务启动日志
|
||||||
|
3. 或手动测试(访问相应的测试接口)
|
||||||
|
|
||||||
|
## 八、常见Windows问题解决
|
||||||
|
|
||||||
|
### 问题1:端口5000被占用
|
||||||
|
```
|
||||||
|
Error: listen EADDRINUSE: address already in use :::5000
|
||||||
|
```
|
||||||
|
|
||||||
|
**解决方法**:
|
||||||
|
```cmd
|
||||||
|
# 查看占用5000端口的进程
|
||||||
|
netstat -ano | findstr :5000
|
||||||
|
|
||||||
|
# 会显示类似:
|
||||||
|
# TCP 0.0.0.0:5000 0.0.0.0:0 LISTENING 12345
|
||||||
|
|
||||||
|
# 最后的数字是进程ID(如12345)
|
||||||
|
|
||||||
|
# 结束该进程
|
||||||
|
taskkill /PID 12345 /F
|
||||||
|
```
|
||||||
|
|
||||||
|
### 问题2:pnpm命令找不到
|
||||||
|
```
|
||||||
|
'pnpm' 不是内部或外部命令
|
||||||
|
```
|
||||||
|
|
||||||
|
**解决方法**:
|
||||||
|
1. 确认pnpm已安装:
|
||||||
|
```cmd
|
||||||
|
npm list -g pnpm
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 如果已安装但仍找不到,重启命令提示符
|
||||||
|
|
||||||
|
3. 或添加到PATH环境变量:
|
||||||
|
- 搜索 "环境变量"
|
||||||
|
- 编辑 "系统环境变量"
|
||||||
|
- 在PATH中添加:`C:\Users\你的用户名\AppData\Local\pnpm`
|
||||||
|
|
||||||
|
### 问题3:数据库连接失败
|
||||||
|
```
|
||||||
|
Error: connect ETIMEDOUT
|
||||||
|
Error: connect ECONNREFUSED
|
||||||
|
```
|
||||||
|
|
||||||
|
**解决方法**:
|
||||||
|
1. 检查防火墙设置:
|
||||||
|
- 控制面板 → Windows Defender 防火墙
|
||||||
|
- 允许应用通过防火墙
|
||||||
|
- 确保 Node.js 允许通过
|
||||||
|
|
||||||
|
2. 检查网络连接:
|
||||||
|
```cmd
|
||||||
|
ping haoslm2.xicp.net
|
||||||
|
telnet haoslm2.xicp.net 10216
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 如果网络不通,联系数据库管理员
|
||||||
|
|
||||||
|
### 问题4:Excel文件无法打开
|
||||||
|
下载的Excel文件打开报错。
|
||||||
|
|
||||||
|
**解决方法**:
|
||||||
|
- 使用 Microsoft Excel 2016+ 打开
|
||||||
|
- 或使用免费软件:LibreOffice Calc
|
||||||
|
- 检查文件是否完整下载(文件大小>0)
|
||||||
|
|
||||||
|
### 问题5:浏览器页面空白
|
||||||
|
访问 http://localhost:5000 显示空白。
|
||||||
|
|
||||||
|
**解决方法**:
|
||||||
|
1. 检查服务器是否正常启动(命令提示符有无错误)
|
||||||
|
2. 尝试刷新页面(F5)
|
||||||
|
3. 清除浏览器缓存(Ctrl + Shift + Delete)
|
||||||
|
4. 尝试其他浏览器(Chrome推荐)
|
||||||
|
|
||||||
|
### 问题6:创建配置失败
|
||||||
|
点击"创建配置"显示错误。
|
||||||
|
|
||||||
|
**解决方法**:
|
||||||
|
1. 查看命令提示符的错误日志
|
||||||
|
2. 检查数据库表是否已初始化
|
||||||
|
3. 尝试重新初始化数据库表
|
||||||
|
|
||||||
|
## 九、停止开发服务器
|
||||||
|
|
||||||
|
### 正常停止
|
||||||
|
在命令提示符窗口:
|
||||||
|
```cmd
|
||||||
|
按 Ctrl + C
|
||||||
|
```
|
||||||
|
会提示:`终止批处理操作吗(Y/N)?`,输入 `Y` 并回车。
|
||||||
|
|
||||||
|
### 强制停止
|
||||||
|
如果Ctrl+C无效:
|
||||||
|
1. 关闭命令提示符窗口
|
||||||
|
2. 或使用任务管理器结束 node.exe 进程
|
||||||
|
|
||||||
|
## 十、项目文件位置说明
|
||||||
|
|
||||||
|
### Windows常用路径
|
||||||
|
```
|
||||||
|
C:\Users\你的用户名\Documents\项目目录\
|
||||||
|
├── src\ ← 主程序源码
|
||||||
|
├── public\reports\ ← Excel文件存储位置
|
||||||
|
├── package.json ← 项目配置
|
||||||
|
└── README.md ← 说明文档
|
||||||
|
```
|
||||||
|
|
||||||
|
### Excel文件下载位置
|
||||||
|
默认下载到浏览器设置的位置:
|
||||||
|
- Chrome: `C:\Users\你的用户名\Downloads\`
|
||||||
|
- Edge: `C:\Users\你的用户名\Downloads\`
|
||||||
|
|
||||||
|
### 查看生成的Excel文件
|
||||||
|
```cmd
|
||||||
|
# 进入项目目录
|
||||||
|
cd C:\path\to\project\public\reports
|
||||||
|
|
||||||
|
# 列出所有Excel文件
|
||||||
|
dir *.xlsx
|
||||||
|
```
|
||||||
|
|
||||||
|
## 十一、生产环境部署(可选)
|
||||||
|
|
||||||
|
### 1. 构建生产版本
|
||||||
|
```cmd
|
||||||
|
pnpm run build
|
||||||
|
```
|
||||||
|
**等待时间**:2-5分钟
|
||||||
|
|
||||||
|
### 2. 启动生产服务器
|
||||||
|
```cmd
|
||||||
|
pnpm run start
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 使用 PM2 管理进程(Windows不支持PM2)
|
||||||
|
Windows系统推荐使用:
|
||||||
|
- **NSSM**(Non-Sucking Service Manager)
|
||||||
|
- 或直接使用 `pnpm run start` + Windows任务计划程序
|
||||||
|
|
||||||
|
### 4. 设置开机自启(Windows任务计划)
|
||||||
|
1. 搜索 "任务计划程序"
|
||||||
|
2. 创建基本任务
|
||||||
|
3. 设置触发器:"计算机启动时"
|
||||||
|
4. 操作:"启动程序"
|
||||||
|
5. 程序路径:`C:\Program Files\nodejs\node.exe`
|
||||||
|
6. 参数:项目的启动脚本路径
|
||||||
|
|
||||||
|
## 十二、开发建议
|
||||||
|
|
||||||
|
### 推荐工作流程
|
||||||
|
1. **早上**:启动开发服务器
|
||||||
|
```cmd
|
||||||
|
pnpm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **白天**:在浏览器中测试功能
|
||||||
|
- 创建配置
|
||||||
|
- 生成日报
|
||||||
|
- 检查结果
|
||||||
|
|
||||||
|
3. **晚上**:停止服务器(Ctrl+C)
|
||||||
|
|
||||||
|
4. **持续开发**:修改代码后自动热更新,无需重启
|
||||||
|
|
||||||
|
### 测试功能清单
|
||||||
|
✅ 配置创建和编辑
|
||||||
|
✅ 配置启用/禁用
|
||||||
|
✅ 配置排序(上移下移)
|
||||||
|
✅ 配置删除
|
||||||
|
✅ 日报生成(选择配置+时间)
|
||||||
|
✅ 历史记录查看
|
||||||
|
✅ 单个下载
|
||||||
|
✅ 批量下载
|
||||||
|
✅ 定时任务(需长时间运行)
|
||||||
|
|
||||||
|
## 十三、快捷键和技巧
|
||||||
|
|
||||||
|
### VSCode快捷键
|
||||||
|
- `Ctrl + ~`:打开/关闭终端
|
||||||
|
- `Ctrl + S`:保存文件(自动热更新)
|
||||||
|
- `Ctrl + Shift + P`:命令面板
|
||||||
|
- `Ctrl + B`:显示/隐藏侧边栏
|
||||||
|
|
||||||
|
### 命令提示符快捷键
|
||||||
|
- `Ctrl + C`:停止当前命令
|
||||||
|
- `Tab`:自动补全路径
|
||||||
|
- `↑` `↓`:历史命令
|
||||||
|
|
||||||
|
### 浏览器快捷键
|
||||||
|
- `F5`:刷新页面
|
||||||
|
- `Ctrl + Shift + R`:强制刷新(清除缓存)
|
||||||
|
- `Ctrl + Shift + Delete`:清除浏览器数据
|
||||||
|
|
||||||
|
## 十四、备份和恢复
|
||||||
|
|
||||||
|
### 备份配置
|
||||||
|
数据库配置表在数据库中,可定期备份:
|
||||||
|
```sql
|
||||||
|
-- 导出配置表
|
||||||
|
SELECT * FROM t_daily_report_config;
|
||||||
|
```
|
||||||
|
|
||||||
|
### 备份生成的Excel文件
|
||||||
|
```cmd
|
||||||
|
# 复制到备份目录
|
||||||
|
xcopy C:\path\to\project\public\reports D:\backup\reports /E /I
|
||||||
|
```
|
||||||
|
|
||||||
|
## 十五、性能优化建议
|
||||||
|
|
||||||
|
### 1. 使用 SSD 硬盘
|
||||||
|
将项目放在SSD硬盘可显著提高:
|
||||||
|
- 依赖安装速度
|
||||||
|
- 构建速度
|
||||||
|
- Excel文件生成速度
|
||||||
|
|
||||||
|
### 2. 调整Node.js内存限制(大数据量)
|
||||||
|
```cmd
|
||||||
|
set NODE_OPTIONS=--max-old-space-size=4096
|
||||||
|
pnpm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 使用更快的浏览器
|
||||||
|
Chrome 或 Edge 比 IE 快得多。
|
||||||
|
|
||||||
|
## 获取帮助
|
||||||
|
|
||||||
|
如果遇到问题:
|
||||||
|
1. 查看命令提示符的错误日志
|
||||||
|
2. 查看浏览器控制台(F12)的错误
|
||||||
|
3. 参考 README.md 文件
|
||||||
|
4. 查看项目 AGENTS.md 文件
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Windows系统特别说明**:
|
||||||
|
- 使用命令提示符或PowerShell运行命令
|
||||||
|
- 路径使用反斜杠 `\`(如 `C:\Users\...`)
|
||||||
|
- Excel文件使用 .xlsx 格式
|
||||||
|
- 推荐使用Chrome或Edge浏览器
|
||||||
|
- 防火墙可能需要放行Node.js
|
||||||
|
|
||||||
|
**最后更新**:2025-07-08
|
||||||
Reference in New Issue
Block a user