Releases: zhangjingwei/kuake_cli
Releases · zhangjingwei/kuake_cli
v1.3.7
v1.3.6
Release v1.3.6
主要更新
- 新增 X-Oss-Hash-Ctx 支持:实现 OSS 分片上传的增量 SHA1 哈希上下文(X-Oss-Hash-Ctx header)
- 改进断点续传功能:断点续传现在支持 HashCtx 的保存和恢复,确保恢复上传时哈希上下文正确
- 优化分片上传逻辑:第一个分片(partNumber=1)不包含 X-Oss-Hash-Ctx,后续分片(partNumber>=2)自动包含正确的 HashCtx
- 增强签名计算:FILE_UPLOAD_AUTH 请求的 auth_meta 现在正确包含 X-Oss-Hash-Ctx,确保签名验证通过
- 新增完整测试套件:添加 X-Oss-Hash-Ctx 功能的单元测试和集成测试,确保功能正确性
- 改进哈希计算:实现增量 SHA1 哈希计算,支持跨分片的累积哈希上下文更新
v1.3.5
Release v1.3.5
主要更新
- 新增断点续传功能:文件上传支持断点续传,上传中断后可自动恢复,避免重复上传已完成的片段
- 改进上传进度显示:上传进度回调现在显示上传速度、剩余时间等详细信息,提供更好的用户体验
- 优化命令行参数解析:支持
-c/--config参数指定配置文件路径,改进参数解析逻辑 - 改进配置文件路径解析:配置文件路径解析优先使用当前工作目录,对开发模式更友好
- 增强上传错误处理:正确处理 OSS 分片已存在错误(409),支持从错误响应中提取 ETag
- 改进目录创建逻辑:优化目录创建流程,使用创建后的 FID 直接进行后续操作,提高效率
- 增强上传超时处理:为大文件上传设置合理的超时时间(分片上传30分钟,提交5分钟)
- 改进分享创建错误处理:分享创建失败时增加重试机制,尝试通过文件 FID 查找已创建的分享
- 新增上传状态管理:添加
UploadProgress和UploadState类型,支持详细的上传进度和状态管理
v1.3.4
Release v1.3.4: 修复配置文件读取路径问题
v1.3.3
v1.3.3
下载
- Linux: kuake-v1.3.3-linux-amd64
- macOS: kuake-v1.3.3-darwin-amd64
- Windows: kuake-v1.3.3-windows-amd64.exe
配置文件
安装说明
- 下载对应平台的二进制文件
- 下载 config.json 配置文件
- 编辑 config.json,填入您的 Cookie
- 运行 ./kuake-v1.3.3-{os}-{arch} user 测试
详细说明请参阅 README.md
v1.3.2
v1.3.2
下载
- Linux: kuake-v1.3.2-linux-amd64
- macOS: kuake-v1.3.2-darwin-amd64
- Windows: kuake-v1.3.2-windows-amd64.exe
配置文件
安装说明
- 下载对应平台的二进制文件
- 下载 config.json 配置文件
- 编辑 config.json,填入您的 Cookie
- 运行 ./kuake-v1.3.2-{os}-{arch} user 测试
详细说明请参阅 README.md
v1.3.1
Release Notes - v1.3.1
下载
- Linux: kuake-v1.3.1-linux-amd64
- macOS: kuake-v1.3.1-darwin-amd64
- Windows: kuake-v1.3.1-windows-amd64.exe
配置文件
安装说明
- 下载对应平台的二进制文件
- 下载 config.json 配置文件
- 编辑 config.json,填入您的 Cookie
- 运行
./kuake-v1.3.1-{os}-{arch} user测试
详细说明请参阅 README.md
变更日志
🐛 Bug 修复
-
错误消息转义问题修复 (
cmd/main.go)- 修复了 CLI 错误消息中双引号在 JSON 输出时被转义的问题
- 将所有错误消息示例从双引号改为单引号,避免 JSON 编码时的转义问题
- 影响的命令:
upload,create,info,move,copy,rename,delete,download
-
API 错误响应处理优化 (
sdk/quark_client.go)- 改进了 HTTP 错误响应的处理逻辑
- 现在会尝试解析 JSON 响应体,提取具体的错误消息(
message、errmsg、code字段) - 如果无法解析 JSON,会返回原始响应体的前 500 个字符
- 错误消息更加清晰,便于调试和定位问题
-
类型断言安全性修复 (
sdk/file.go,sdk/share.go)- 修复了多处直接类型断言可能导致 panic 的问题
- 在
CreateFolder、UploadFile、CreateShare等方法中添加了安全的类型检查和错误处理 - 确保在访问
Data["fid"]等字段前先检查响应是否成功,以及字段是否存在
✨ 新功能
-
完整的单元测试套件
- 新增
sdk/config_test.go- 配置文件加载和保存的测试 - 新增
sdk/quark_client_test.go- 客户端初始化和基础方法的测试 - 新增
sdk/user_test.go- 用户信息获取的测试 - 新增
sdk/file_test.go- 文件操作相关测试 - 新增
sdk/share_test.go- 分享功能相关测试 - 新增
sdk/TEST_README.md- 测试说明文档
- 新增
-
测试覆盖
- 单元测试:覆盖不依赖外部资源的函数(如
normalizeRootDir,parseCookie,ConvertToFileInfo) - 集成测试框架:为需要网络和 API 的测试提供了测试框架(标记为
t.Skip()) - 表驱动测试:使用表驱动测试提高测试覆盖率
- 单元测试:覆盖不依赖外部资源的函数(如
🔧 代码改进
-
错误处理增强
- 在
quark_client.go的错误处理中添加了详细的注释说明 - 改进了错误消息的可读性和信息量
- 在
-
代码质量
- 所有测试用例通过编译和运行
- 修复了潜在的 nil 指针解引用问题
- 提高了代码的健壮性和安全性
📚 文档更新
- 测试文档
- 新增
sdk/TEST_README.md,详细说明如何运行测试 - 包含测试用例列表、运行方法、覆盖率查看等说明
- 新增
🔍 测试统计
- 测试文件数量: 5 个
- 测试函数数量: 30+ 个
- 代码覆盖率: 约 5.9%(单元测试部分,集成测试被跳过)
📋 详细变更文件列表
sdk/quark_client.go- 错误处理优化,添加错误消息提取逻辑cmd/main.go- 修复错误消息转义问题(8 处修改)sdk/file.go- 修复类型断言安全问题(2 处修改)sdk/share.go- 修复类型断言安全问题(1 处修改)sdk/config_test.go- 新增配置文件测试sdk/quark_client_test.go- 新增客户端测试sdk/user_test.go- 新增用户信息测试sdk/file_test.go- 新增文件操作测试sdk/share_test.go- 新增分享功能测试sdk/TEST_README.md- 新增测试文档
v1.3.0
v1.3.0
下载
- Linux: kuake-v1.3.0-linux-amd64
- macOS: kuake-v1.3.0-darwin-amd64
- Windows: kuake-v1.3.0-windows-amd64.exe
配置文件
安装说明
- 下载对应平台的二进制文件
- 下载 config.json 配置文件
- 编辑 config.json,填入您的 Cookie
- 运行 ./kuake-v1.3.0-{os}-{arch} user 测试
详细说明请参阅 README.md