fix: react hook

This commit is contained in:
root 2025-07-13 00:57:08 +08:00
parent 0d2f58399c
commit 01cbb6265e
2 changed files with 1 additions and 220 deletions

View File

@ -93,7 +93,7 @@ const TemplateDetailPageV2: React.FC = () => {
const success = await executeDelete(() => TemplateServiceV2.deleteTemplate(template.id)) const success = await executeDelete(() => TemplateServiceV2.deleteTemplate(template.id))
if (success) { if (success) {
navigate('/templates-v2') navigate('/templates')
} else if (deleteError) { } else if (deleteError) {
alert('删除失败: ' + deleteError.message) alert('删除失败: ' + deleteError.message)
} }

View File

@ -1,219 +0,0 @@
#!/usr/bin/env python3
"""
测试片段重命名功能
"""
import sys
import json
import subprocess
from pathlib import Path
def parse_jsonrpc_response(stdout):
"""解析 JSONRPC 格式的响应"""
stdout = stdout.strip()
if stdout.startswith("JSONRPC:"):
stdout = stdout[8:] # 移除 "JSONRPC:" 前缀
response = json.loads(stdout)
# JSONRPC 格式检查
if "result" in response:
return True, response["result"]
elif "error" in response:
return False, response["error"]
else:
return False, response
def run_cli_command(args):
"""运行CLI命令并返回结果"""
try:
cmd = ["python3", "-m", "python_core.cli"] + args
print(f"Running: {' '.join(cmd)}")
result = subprocess.run(
cmd,
capture_output=True,
text=True,
cwd=Path(__file__).parent
)
print(f"Return code: {result.returncode}")
print(f"STDOUT: {result.stdout}")
if result.stderr:
print(f"STDERR: {result.stderr}")
return result
except Exception as e:
print(f"Error running command: {e}")
return None
def test_segment_rename():
"""测试片段重命名功能"""
print("=" * 60)
print("测试片段重命名功能")
print("=" * 60)
# 1. 首先获取模板列表
print("\n1. 获取模板列表...")
result = run_cli_command(["template", "list", "--limit", "5", "--json"])
if not result or result.returncode != 0:
print("❌ 获取模板列表失败")
return False
try:
success, data = parse_jsonrpc_response(result.stdout)
if not success:
print(f"❌ 模板列表API返回失败: {data}")
return False
templates = data.get("templates", [])
if not templates:
print("❌ 没有找到模板")
return False
template = templates[0]
template_id = template["id"]
print(f"✅ 找到模板: {template['name']} (ID: {template_id})")
except json.JSONDecodeError as e:
print(f"❌ 解析模板列表响应失败: {e}")
return False
# 2. 获取模板详情
print(f"\n2. 获取模板详情...")
result = run_cli_command(["template", "detail", template_id, "--json"])
if not result or result.returncode != 0:
print("❌ 获取模板详情失败")
return False
try:
success, detail = parse_jsonrpc_response(result.stdout)
if not success:
print(f"❌ 模板详情API返回失败: {detail}")
return False
tracks = detail.get("tracks", [])
if not tracks:
print("❌ 模板没有轨道")
return False
# 找到第一个有片段的轨道
segment = None
segment_track = None
for track in tracks:
segments = track.get("segments", [])
if segments:
segment = segments[0]
segment_track = track
break
if not segment:
print("❌ 模板没有片段")
return False
segment_id = segment["id"]
original_name = segment["name"]
print(f"✅ 找到片段: {original_name} (ID: {segment_id})")
except json.JSONDecodeError as e:
print(f"❌ 解析模板详情响应失败: {e}")
return False
# 3. 更新片段名称
new_name = f"测试重命名_{original_name}"
print(f"\n3. 更新片段名称: '{original_name}' -> '{new_name}'")
result = run_cli_command([
"template", "update-segment",
template_id, segment_id, new_name,
"--json", "--verbose"
])
if not result or result.returncode != 0:
print("❌ 更新片段名称失败")
return False
try:
success, update_data = parse_jsonrpc_response(result.stdout)
if not success:
print(f"❌ 更新片段名称API返回失败: {update_data}")
return False
print(f"✅ 更新成功: {update_data}")
except json.JSONDecodeError as e:
print(f"❌ 解析更新响应失败: {e}")
return False
# 4. 验证更新结果
print(f"\n4. 验证更新结果...")
result = run_cli_command(["template", "detail", template_id, "--json"])
if not result or result.returncode != 0:
print("❌ 重新获取模板详情失败")
return False
try:
success, detail = parse_jsonrpc_response(result.stdout)
if not success:
print(f"❌ 重新获取模板详情API返回失败: {detail}")
return False
tracks = detail.get("tracks", [])
# 查找更新后的片段
updated_segment = None
for track in tracks:
for seg in track.get("segments", []):
if seg["id"] == segment_id:
updated_segment = seg
break
if updated_segment:
break
if not updated_segment:
print("❌ 找不到更新后的片段")
return False
updated_name = updated_segment["name"]
print(f"✅ 片段名称已更新: '{updated_name}'")
if updated_name == new_name:
print("✅ 验证成功:片段名称更新正确")
else:
print(f"❌ 验证失败:期望 '{new_name}',实际 '{updated_name}'")
return False
except json.JSONDecodeError as e:
print(f"❌ 解析验证响应失败: {e}")
return False
# 5. 恢复原始名称
print(f"\n5. 恢复原始名称...")
result = run_cli_command([
"template", "update-segment",
template_id, segment_id, original_name,
"--json"
])
if result and result.returncode == 0:
try:
success, data = parse_jsonrpc_response(result.stdout)
if success:
print("✅ 已恢复原始名称")
else:
print(f"⚠️ 恢复原始名称失败: {data}")
except:
print("⚠️ 恢复原始名称响应解析失败")
else:
print("⚠️ 恢复原始名称命令失败")
print("\n" + "=" * 60)
print("✅ 片段重命名功能测试完成")
print("=" * 60)
return True
if __name__ == "__main__":
success = test_segment_rename()
sys.exit(0 if success else 1)