fix: 修复更新脚本选择"不保留上传工具"无法触发重新下载的问题

问题描述:
- 更新时选择"2) 删除并重新下载"
- 但实际上只是删除并复制了新的upload-tool目录
- 没有触发后续的build_upload_tool()重新下载
- 导致用户无法获取最新的上传工具

原因分析:
- else分支(选择2)只做了 rm + cp 操作
- 复制的新目录中没有dist/玩玩云上传工具.exe
- 但后续检查逻辑看的是文件是否存在和大小
- 如果目录结构存在,即使文件不存在也不会重新下载

修复方案:
在else分支最后添加:
```bash
# 删除dist目录以触发后续重新下载
rm -rf "${PROJECT_DIR}/upload-tool/dist"
```

修复后逻辑:
1. 选择"1"保留:
   - 备份dist目录
   - 更新upload-tool脚本文件
   - 恢复dist目录
   - 跳过后续下载

2. 选择"2"重新下载:
   - 删除整个upload-tool
   - 复制新的upload-tool
   - **删除dist目录**  NEW
   - 触发后续build_upload_tool()重新下载

验证:
后续update_install_dependencies后面的检查:
```bash
if [[ ! -f "${PROJECT_DIR}/upload-tool/dist/玩玩云上传工具.exe" ]]; then
    build_upload_tool  #  会被触发
fi
```

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
WanWanYun
2025-11-16 00:19:13 +08:00
parent 0bb7bd5219
commit 2e0376e7e5

View File

@@ -3360,9 +3360,11 @@ update_pull_latest_code() {
rm -rf "${PROJECT_DIR}/upload-tool-temp"
print_success "已保留现有上传工具,仅更新脚本文件"
else
print_info "将在后续步骤重新下载上传工具..."
print_info "将删除现有工具并在后续步骤重新下载..."
rm -rf "${PROJECT_DIR}/upload-tool"
cp -r "/tmp/${PROJECT_NAME}-update/upload-tool" "${PROJECT_DIR}/"
# 删除dist目录以触发后续重新下载
rm -rf "${PROJECT_DIR}/upload-tool/dist"
fi
else
print_warning "现有上传工具文件大小异常,将重新下载..."