Files
Agent-n8n/scripts/complete_fix_paths.py
Yep_Q 67f5dfbe50 feat: 实现多订单班支持系统
主要功能:
- 修改RequirementModal支持12个订单班选择
- 添加OrderClassIconMap图标映射组件
- Store中添加selectedOrderClass状态管理
- WorkflowPage支持传递orderClass参数
- web_result添加URL参数切换功能
- 创建order-class-handler.js动态处理页面主题

技术改进:
- 创建软链接关联订单班数据目录
- 生成wenlu.json和food.json数据结构
- 删除重复的web_result目录
- 添加测试页面test-order-class.html

影响范围:
- 展会策划系统现支持12个订单班
- 结果展示页面自动适配不同订单班主题
- 用户可选择不同行业生成对应方案

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 10:02:15 +08:00

139 lines
6.3 KiB
Python

#!/usr/bin/env python3
"""
彻底修复所有订单班的图片路径问题
"""
import re
from pathlib import Path
from urllib.parse import unquote
def get_image_mapping(order_class: str, image_dir: Path):
"""获取订单班的图片映射关系"""
mappings = {}
if order_class == "环保":
mappings = {
"去除印章.png": "图片_06.jpg",
"%E5%8E%BB%E9%99%A4%E5%8D%B0%E7%AB%A0.png": "图片_06.jpg"
}
elif order_class == "视觉设计":
# 视觉设计的映射
mappings = {
"一、项目概述1.png": "图片_01.jpg",
"一、项目概述2.png": "图片_02.jpg",
"二、宣传目标1.png": "图片_06.jpg",
"二、宣传目标2.png": "图片_07.jpg",
"三、影片视觉基调1.png": "图片_03.jpg",
"三、影片视觉基调2.png": "图片_04.jpg",
"三、影片视觉基调3.png": "图片_05.jpg",
"四、影片内容大纲1.png": "图片_11.jpg",
"四、影片内容大纲2.png": "图片_15.jpg",
"四、影片内容大纲3.png": "图片_16.jpg",
"四、影片内容大纲4.png": "图片_17.jpg",
"四、影片内容大纲5.png": "图片_18.jpg",
"四、影片内容大纲6.png": "图片_19.jpg",
"四、影片内容大纲7.png": "图片_20.jpg",
"四、影片内容大纲8.png": "图片_21.jpg",
"四、影片内容大纲9.png": "图片_22.jpg",
"四、影片内容大纲10.png": "图片_12.jpg",
"四、影片内容大纲11.jpeg": "图片_13.jpg",
"四、影片内容大纲12.png": "图片_14.jpg",
"五、拍摄经费预算表.jpeg": "图片_08.jpg",
"六、拍摄总体安排1.png": "图片_09.jpg",
"六、拍摄总体安排2.jpeg": "图片_10.jpg",
# URL编码版本
"%E4%B8%80%E3%80%81%E9%A1%B9%E7%9B%AE%E6%A6%82%E8%BF%B01.png": "图片_01.jpg",
"%E4%B8%80%E3%80%81%E9%A1%B9%E7%9B%AE%E6%A6%82%E8%BF%B02.png": "图片_02.jpg",
"%E4%BA%8C%E3%80%81%E5%AE%A3%E4%BC%A0%E7%9B%AE%E6%A0%871.png": "图片_06.jpg",
"%E4%BA%8C%E3%80%81%E5%AE%A3%E4%BC%A0%E7%9B%AE%E6%A0%872.png": "图片_07.jpg",
"%E4%B8%89%E3%80%81%E5%BD%B1%E7%89%87%E8%A7%86%E8%A7%89%E5%9F%BA%E8%B0%831.png": "图片_03.jpg",
"%E4%B8%89%E3%80%81%E5%BD%B1%E7%89%87%E8%A7%86%E8%A7%89%E5%9F%BA%E8%B0%832.png": "图片_04.jpg",
"%E4%B8%89%E3%80%81%E5%BD%B1%E7%89%87%E8%A7%86%E8%A7%89%E5%9F%BA%E8%B0%833.png": "图片_05.jpg",
"%E5%9B%9B%E3%80%81%E5%BD%B1%E7%89%87%E5%86%85%E5%AE%B9%E5%A4%A7%E7%BA%B21.png": "图片_11.jpg",
"%E5%9B%9B%E3%80%81%E5%BD%B1%E7%89%87%E5%86%85%E5%AE%B9%E5%A4%A7%E7%BA%B22.png": "图片_15.jpg",
"%E5%9B%9B%E3%80%81%E5%BD%B1%E7%89%87%E5%86%85%E5%AE%B9%E5%A4%A7%E7%BA%B23.png": "图片_16.jpg",
"%E5%9B%9B%E3%80%81%E5%BD%B1%E7%89%87%E5%86%85%E5%AE%B9%E5%A4%A7%E7%BA%B24.png": "图片_17.jpg",
"%E5%9B%9B%E3%80%81%E5%BD%B1%E7%89%87%E5%86%85%E5%AE%B9%E5%A4%A7%E7%BA%B25.png": "图片_18.jpg",
"%E5%9B%9B%E3%80%81%E5%BD%B1%E7%89%87%E5%86%85%E5%AE%B9%E5%A4%A7%E7%BA%B26.png": "图片_19.jpg",
"%E5%9B%9B%E3%80%81%E5%BD%B1%E7%89%87%E5%86%85%E5%AE%B9%E5%A4%A7%E7%BA%B27.png": "图片_20.jpg",
"%E5%9B%9B%E3%80%81%E5%BD%B1%E7%89%87%E5%86%85%E5%AE%B9%E5%A4%A7%E7%BA%B28.png": "图片_21.jpg",
"%E5%9B%9B%E3%80%81%E5%BD%B1%E7%89%87%E5%86%85%E5%AE%B9%E5%A4%A7%E7%BA%B29.png": "图片_22.jpg",
"%E5%9B%9B%E3%80%81%E5%BD%B1%E7%89%87%E5%86%85%E5%AE%B9%E5%A4%A7%E7%BA%B210.png": "图片_12.jpg",
"%E5%9B%9B%E3%80%81%E5%BD%B1%E7%89%87%E5%86%85%E5%AE%B9%E5%A4%A7%E7%BA%B211.jpeg": "图片_13.jpg",
"%E5%9B%9B%E3%80%81%E5%BD%B1%E7%89%87%E5%86%85%E5%AE%B9%E5%A4%A7%E7%BA%B212.png": "图片_14.jpg",
"%E4%BA%94%E3%80%81%E6%8B%8D%E6%91%84%E7%BB%8F%E8%B4%B9%E9%A2%84%E7%AE%97%E8%A1%A8.jpeg": "图片_08.jpg",
"%E5%85%AD%E3%80%81%E6%8B%8D%E6%91%84%E6%80%BB%E4%BD%93%E5%AE%89%E6%8E%921.png": "图片_09.jpg",
"%E5%85%AD%E3%80%81%E6%8B%8D%E6%91%84%E6%80%BB%E4%BD%93%E5%AE%89%E6%8E%922.jpeg": "图片_10.jpg"
}
return mappings
def fix_markdown_file(md_file: Path, mappings: dict):
"""修复单个Markdown文件"""
try:
content = md_file.read_text(encoding='utf-8')
original_content = content
# 替换所有映射
for old_name, new_name in mappings.items():
# 替换各种可能的格式
patterns = [
f'](./image/{old_name})',
f']({old_name})',
f'](image/{old_name})',
f'](./image/{old_name.replace(" ", "%20")})',
]
for pattern in patterns:
if pattern in content:
content = content.replace(pattern, f'](./image/{new_name})')
# 保存修改
if content != original_content:
md_file.write_text(content, encoding='utf-8')
return True
except Exception as e:
print(f" ✗ 错误: {e}")
return False
return False
def main():
"""主函数"""
base_path = Path("/Users/xiaoqi/Documents/Dev/Project/2025-09-08_n8nDEMO演示/data/订单班文档资料")
# 需要修复的订单班
order_classes = ["环保", "视觉设计"]
print("=" * 60)
print("彻底修复URL编码路径问题")
print("=" * 60)
for order_class in order_classes:
order_dir = base_path / order_class
if not order_dir.exists():
continue
notion_dir = order_dir / "notion文稿"
if not notion_dir.exists():
continue
image_dir = notion_dir / "image"
print(f"\n处理 {order_class}...")
# 获取映射关系
mappings = get_image_mapping(order_class, image_dir)
# 修复所有MD文件
for md_file in notion_dir.glob("*.md"):
if md_file.name == "图片索引.md":
continue
if fix_markdown_file(md_file, mappings):
print(f" ✓ 修复: {md_file.name}")
print("\n" + "=" * 60)
print("✅ 修复完成!")
if __name__ == "__main__":
main()