主要内容: - 包含12个产业的完整教务系统前端代码 - 智能启动脚本 (start-industry.sh) - 可视化产业导航页面 (index.html) - 项目文档 (README.md) 优化内容: - 删除所有node_modules和.yoyo文件夹,从7.5GB减少到2.7GB - 添加.gitignore文件避免上传不必要的文件 - 自动依赖管理和智能启动系统 产业列表: 1. 文旅产业 (5150) 2. 智能制造 (5151) 3. 智能开发 (5152) 4. 财经商贸 (5153) 5. 视觉设计 (5154) 6. 交通物流 (5155) 7. 大健康 (5156) 8. 土木水利 (5157) 9. 食品产业 (5158) 10. 化工产业 (5159) 11. 能源产业 (5160) 12. 环保产业 (5161) 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
75 lines
2.5 KiB
Python
75 lines
2.5 KiB
Python
#!/usr/bin/env python3
|
||
# -*- coding: utf-8 -*-
|
||
import json
|
||
import re
|
||
|
||
def escape_for_js(text):
|
||
"""转义文本以适合在JavaScript字符串中使用"""
|
||
# 转义反斜杠(必须首先做)
|
||
text = text.replace('\\', '\\\\')
|
||
# 转义换行符
|
||
text = text.replace('\n', '\\n')
|
||
# 转义双引号
|
||
text = text.replace('"', '\\"')
|
||
# 转义单引号
|
||
text = text.replace("'", "\\'")
|
||
return text
|
||
|
||
def main():
|
||
# 读取完整数据
|
||
with open('complete_project_data.json', 'r', encoding='utf-8') as f:
|
||
complete_data = json.load(f)
|
||
|
||
# 读取当前的mock文件
|
||
with open('src/mocks/projectLibraryMock.js', 'r', encoding='utf-8') as f:
|
||
mock_content = f.read()
|
||
|
||
# 为每个项目更新完整的详情
|
||
updates_made = 0
|
||
|
||
for project in complete_data:
|
||
project_id = project['id']
|
||
name = project['name']
|
||
|
||
print(f"\n处理项目 {project_id}: {name}")
|
||
print(f" 流程数: {project['process_count']}, 技术点数: {project['keypoints_count']}")
|
||
|
||
# 转义内容
|
||
overview = escape_for_js(project['overview'])
|
||
process = escape_for_js(project['process'])
|
||
keypoints = escape_for_js(project['keypoints'])
|
||
|
||
# 构建查找项目的正则表达式
|
||
# 查找项目在详情数组中(getMockProjectDetail函数中)
|
||
pattern = rf'(\{{\s*"id":\s*{project_id},\s*"name":\s*"[^"]+",.*?"unit":\s*"[^"]+",)\s*"overview":\s*"[^"]*",\s*"process":\s*"[^"]*",\s*"keyPoints":\s*"[^"]*"'
|
||
|
||
# 创建替换内容
|
||
replacement = rf'\1\n "overview": "{overview}",\n "process": "{process}",\n "keyPoints": "{keypoints}"'
|
||
|
||
# 执行替换
|
||
new_content, count = re.subn(pattern, replacement, mock_content, flags=re.DOTALL)
|
||
|
||
if count > 0:
|
||
mock_content = new_content
|
||
updates_made += count
|
||
print(f" ✅ 更新成功")
|
||
else:
|
||
print(f" ⚠️ 未找到匹配")
|
||
|
||
# 保存更新后的文件
|
||
with open('src/mocks/projectLibraryMock.js', 'w', encoding='utf-8') as f:
|
||
f.write(mock_content)
|
||
|
||
print(f"\n✅ 完成!共更新了 {updates_made} 处项目详情")
|
||
|
||
# 验证JavaScript语法
|
||
import subprocess
|
||
result = subprocess.run(['node', '-c', 'src/mocks/projectLibraryMock.js'],
|
||
capture_output=True, text=True)
|
||
if result.returncode == 0:
|
||
print("✅ JavaScript语法检查通过")
|
||
else:
|
||
print(f"❌ JavaScript语法错误: {result.stderr}")
|
||
|
||
if __name__ == "__main__":
|
||
main() |