File size: 2,561 Bytes
59bd45e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
"""测试默认形象功能"""
import os
import sys
from pathlib import Path

# 添加项目根目录到路径
sys.path.insert(0, str(Path(__file__).parent))

# 设置环境变量
os.environ.setdefault("DATA_DIR", "data")

from app.user_config import UserConfig

def test_default_character():
    """测试默认形象加载"""
    print("=" * 50)
    print("测试默认形象功能")
    print("=" * 50)
    
    # 1. 检查默认形象文件是否存在
    default_image = Path("generated_images/default_character.jpeg")
    print(f"\n1. 检查默认形象文件: {default_image}")
    if default_image.exists():
        print(f"   ✅ 默认形象存在,大小: {default_image.stat().st_size} bytes")
    else:
        print(f"   ❌ 默认形象不存在")
        return
    
    # 2. 清空用户配置(模拟新用户)
    print(f"\n2. 清空用户配置(模拟新用户)")
    user_config = UserConfig("data")
    config_file = Path("data/user_config.json")
    if config_file.exists():
        config_file.unlink()
        print(f"   ✅ 已删除旧配置")
    
    # 3. 加载配置(应该创建新配置)
    print(f"\n3. 加载用户配置")
    config = user_config.load_config()
    print(f"   配置内容: {config}")
    
    # 4. 检查是否有形象
    if config.get('character', {}).get('image_url'):
        print(f"   ✅ 已有形象: {config['character']['image_url']}")
    else:
        print(f"   ℹ️  暂无形象(需要通过 API 端点加载)")
    
    # 5. 模拟 API 调用加载默认形象
    print(f"\n4. 模拟加载默认形象")
    if not config.get('character', {}).get('image_url'):
        user_config.save_character_image(
            image_url=str(default_image),
            prompt="默认治愈系小猫形象",
            preferences={
                "color": "薰衣草紫",
                "personality": "温柔",
                "appearance": "无配饰",
                "role": "陪伴式朋友"
            }
        )
        print(f"   ✅ 默认形象已保存")
    
    # 6. 重新加载配置验证
    print(f"\n5. 验证配置")
    config = user_config.load_config()
    if config.get('character', {}).get('image_url'):
        print(f"   ✅ 形象 URL: {config['character']['image_url']}")
        print(f"   ✅ 偏好设置: {config['character'].get('preferences', {})}")
    else:
        print(f"   ❌ 形象加载失败")
    
    print("\n" + "=" * 50)
    print("测试完成!")
    print("=" * 50)

if __name__ == "__main__":
    test_default_character()