| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #!/usr/bin/env python
- """测试真实模板预览"""
- import sys
- import json
- from pathlib import Path
- sys.path.insert(0, str(Path(__file__).parent.parent / "backend"))
- from app.services.renderer import renderer
- from app.services.template_store import load_store
- def test_real_template():
- base_dir = Path(__file__).parent.parent / "backend"
- store = load_store(base_dir)
-
- # 获取 X11 洗衣机通用模板
- templates = store.list_templates(machine_model="x11", device_type="wash", template_type="common")
-
- if not templates:
- print("❌ 未找到 X11 洗涤 common 模板")
- return
-
- tpl = templates[0]
- print(f"测试模板: {tpl.name}")
- print(f"模板ID: {tpl.id}")
- print(f"变量数: {len(tpl.input_variables)}")
- print(f"\n{'='*60}")
-
- # 准备参数
- params = {
- 'program_id': '15',
- 'program_name': '速洗',
- 'rerank_reason': 'PIN_CONSECUTIVE',
- 'feature_name': '每周这个时间都喜欢用',
- 'changed_params': {'setTemp': '40', 'speed': '10', 'spinTime': '2'},
- }
-
- try:
- result = renderer.render_from_record(tpl, params)
- print(f"✅ 渲染成功")
- print(f"\n生成结果 ({len(result)}字):\n{result[:300]}...")
-
- # 也测试 preview
- preview_result = renderer.preview(type('obj', (object,), {
- 'template_body': tpl.template_body,
- 'parameters': {}
- })())
-
- print(f"\n{'='*60}")
- print(f"预览结果 ({len(preview_result)}字):\n{preview_result[:300]}...")
-
- except Exception as e:
- print(f"❌ 渲染失败: {e}")
- import traceback
- traceback.print_exc()
- if __name__ == "__main__":
- test_real_template()
|