fix: 修复 Windows 系统下的 Unicode 编码问题
🐛 问题修复: 1. Unicode 编码错误修复: - 移除所有 emoji 字符 (��, ✓, ⏳, ❔, ⏰, 🚀, 📥, ✗) - 使用文本标签替代:[1/4], [成功], [运行中], [失败] 等 - 避免 Windows GBK 编码无法处理 Unicode 字符的问题 2. Python 脚本编码优化: - 添加 UTF-8 编码声明 # -*- coding: utf-8 -*- - 改进 progress_callback 函数的错误处理 - 添加 UnicodeEncodeError 异常捕获和备用方案 3. 进度信息标准化: - 视频生成器:[1/4] 上传 → [2/4] 提交 → [3/4] 等待 → [4/4] 下载 - API 客户端:[运行中], [排队中], [完成], [失败], [超时], [未知] - 批量处理:[成功], [失败], [错误] 状态标识 4. 错误处理增强: - print 函数添加编码错误处理 - 确保在 Windows 系统下正常输出中文 - 保持进度信息的可读性和一致性 ✅ 修复效果: - 解决 'gbk' codec 编码错误 ✓ - Windows 系统下正常显示中文 ✓ - 保持进度信息清晰可读 ✓ - 跨平台编码兼容性 ✓ 现在 AI 视频生成功能在 Windows 系统下可以正常工作,不再出现编码错误!
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
API Client Module
|
||||
API 客户端模块
|
||||
@@ -236,30 +237,30 @@ class APIClient:
|
||||
result['data'] = status_result['data']
|
||||
result['msg'] = 'succeeded'
|
||||
if progress_callback:
|
||||
progress_callback("✓ 视频生成完成!")
|
||||
progress_callback("[完成] 视频生成完成!")
|
||||
break
|
||||
|
||||
elif status_result['msg'] == 'running':
|
||||
wait_count += 1
|
||||
elapsed = wait_count * interval
|
||||
remaining = max(0, timeout - elapsed)
|
||||
progress_msg = f"⏳ 任务运行中,已等待{elapsed}秒,预计剩余{remaining}秒..."
|
||||
progress_msg = f"[运行中] 任务运行中,已等待{elapsed}秒,预计剩余{remaining}秒..."
|
||||
logger.info(progress_msg)
|
||||
if progress_callback:
|
||||
progress_callback(progress_msg)
|
||||
time.sleep(interval)
|
||||
|
||||
|
||||
elif status_result['msg'] == 'failed':
|
||||
result['msg'] = '任务执行失败'
|
||||
if progress_callback:
|
||||
progress_callback("✗ 任务执行失败")
|
||||
progress_callback("[失败] 任务执行失败")
|
||||
break
|
||||
|
||||
elif status_result['msg'] in ['pending', 'queued']:
|
||||
wait_count += 1
|
||||
elapsed = wait_count * interval
|
||||
remaining = max(0, timeout - elapsed)
|
||||
progress_msg = f"⏳ 任务排队中,已等待{elapsed}秒,预计剩余{remaining}秒..."
|
||||
progress_msg = f"[排队中] 任务排队中,已等待{elapsed}秒,预计剩余{remaining}秒..."
|
||||
logger.info(progress_msg)
|
||||
if progress_callback:
|
||||
progress_callback(progress_msg)
|
||||
@@ -270,12 +271,12 @@ class APIClient:
|
||||
wait_count += 1
|
||||
logger.info(f"未知状态: {status_result['msg']},继续等待...")
|
||||
if progress_callback:
|
||||
progress_callback(f"❔ 状态: {status_result['msg']},继续等待...")
|
||||
progress_callback(f"[未知] 状态: {status_result['msg']},继续等待...")
|
||||
time.sleep(interval)
|
||||
|
||||
if not result['status'] and result['msg'] == '':
|
||||
result['msg'] = '任务超时'
|
||||
if progress_callback:
|
||||
progress_callback(f"⏰ 任务查询超时({timeout}秒)")
|
||||
progress_callback(f"[超时] 任务查询超时({timeout}秒)")
|
||||
|
||||
return result
|
||||
|
||||
Reference in New Issue
Block a user