主要内容: - 包含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>
157 lines
5.5 KiB
Python
157 lines
5.5 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import json
|
|
from datetime import datetime
|
|
|
|
def create_backup(file_path):
|
|
"""创建备份文件"""
|
|
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
|
|
backup_path = f"{file_path}.backup_direct_{timestamp}"
|
|
with open(file_path, 'r', encoding='utf-8') as f:
|
|
content = f.read()
|
|
with open(backup_path, 'w', encoding='utf-8') as f:
|
|
f.write(content)
|
|
print(f"已创建备份: {backup_path}")
|
|
return backup_path
|
|
|
|
def get_chemical_questions():
|
|
"""获取化工行业的面试题数据"""
|
|
# 加载化工数据
|
|
with open('网页未导入数据/化工产业/化工岗位简历.json', 'r', encoding='utf-8') as f:
|
|
data = json.load(f)
|
|
|
|
# 创建岗位群到面试题的映射
|
|
questions_map = {}
|
|
|
|
for item in data:
|
|
group = item.get('简历岗位群', '')
|
|
if group and group not in questions_map:
|
|
# 为每个岗位群创建示例面试题
|
|
questions_map[group] = [
|
|
{
|
|
"id": "q1",
|
|
"question": f"请介绍一下你对{group}岗位的理解",
|
|
"answer": "需要掌握相关专业知识和技能,确保工作安全高效。"
|
|
},
|
|
{
|
|
"id": "q2",
|
|
"question": f"在{group}工作中,你认为最重要的是什么?",
|
|
"answer": "安全第一,质量优先,持续改进。"
|
|
},
|
|
{
|
|
"id": "q3",
|
|
"question": "遇到紧急情况你会如何处理?",
|
|
"answer": "立即启动应急预案,确保人员安全,及时上报并处理。"
|
|
}
|
|
]
|
|
|
|
# 特定岗位群的专业问题
|
|
if "化工安全" in questions_map:
|
|
questions_map["化工安全"] = [
|
|
{
|
|
"id": "q1",
|
|
"question": "发现储罐泄漏应如何处理?",
|
|
"answer": "立即隔离危险区,启动应急预案,关闭泄漏源,通报相关部门。"
|
|
},
|
|
{
|
|
"id": "q2",
|
|
"question": "如何进行危险源辨识?",
|
|
"answer": "通过HAZOP分析、JSA作业安全分析等方法系统识别风险。"
|
|
},
|
|
{
|
|
"id": "q3",
|
|
"question": "化工安全管理的核心是什么?",
|
|
"answer": "预防为主,综合治理,从源头控制风险。"
|
|
}
|
|
]
|
|
|
|
if "精细化工" in questions_map:
|
|
questions_map["精细化工"] = [
|
|
{
|
|
"id": "q1",
|
|
"question": "精细化工与传统化工的区别?",
|
|
"answer": "精细化工产品附加值高、批量小、品种多、技术含量高。"
|
|
},
|
|
{
|
|
"id": "q2",
|
|
"question": "如何控制产品质量?",
|
|
"answer": "严格控制原料质量、工艺参数、过程监控和产品检验。"
|
|
}
|
|
]
|
|
|
|
return questions_map
|
|
|
|
def update_mock_file():
|
|
"""直接更新mock文件的subQuestions"""
|
|
mock_file = 'src/mocks/resumeInterviewMock.js'
|
|
|
|
# 创建备份
|
|
backup_path = create_backup(mock_file)
|
|
|
|
# 获取面试题数据
|
|
questions_map = get_chemical_questions()
|
|
|
|
# 读取文件内容
|
|
with open(mock_file, 'r', encoding='utf-8') as f:
|
|
content = f.read()
|
|
|
|
# 对每个岗位群进行替换
|
|
for group_name, questions in questions_map.items():
|
|
# 查找该岗位群的questions部分
|
|
# 模式:从 "name": "岗位群名" 到 "subQuestions": []
|
|
import re
|
|
pattern = rf'("name":\s*"{re.escape(group_name)}".*?"subQuestions":\s*)\[\]'
|
|
|
|
# 构建替换内容
|
|
questions_json = json.dumps(questions, ensure_ascii=False, indent=10)
|
|
# 调整缩进
|
|
lines = questions_json.split('\n')
|
|
formatted_lines = []
|
|
for line in lines[1:-1]: # 跳过首尾的[]
|
|
formatted_lines.append(' ' + line)
|
|
formatted_json = '[\n' + '\n'.join(formatted_lines) + '\n ]'
|
|
|
|
# 执行替换
|
|
replacement = rf'\1{formatted_json}'
|
|
new_content = re.sub(pattern, replacement, content, count=1, flags=re.DOTALL)
|
|
|
|
if new_content != content:
|
|
content = new_content
|
|
print(f"✓ 已更新 {group_name} 的面试题")
|
|
else:
|
|
print(f"⚠ 未找到 {group_name} 的空subQuestions")
|
|
|
|
# 保存文件
|
|
with open(mock_file, 'w', encoding='utf-8') as f:
|
|
f.write(content)
|
|
|
|
# 验证语法
|
|
import subprocess
|
|
result = subprocess.run(['node', '-c', mock_file], capture_output=True, text=True)
|
|
if result.returncode == 0:
|
|
print("\n✓ 语法检查通过")
|
|
print(f"✓ 成功更新了 {len(questions_map)} 个岗位群的面试题")
|
|
return True
|
|
else:
|
|
print("\n✗ 语法检查失败:")
|
|
print(result.stderr[:500])
|
|
# 恢复备份
|
|
with open(backup_path, 'r', encoding='utf-8') as f:
|
|
backup_content = f.read()
|
|
with open(mock_file, 'w', encoding='utf-8') as f:
|
|
f.write(backup_content)
|
|
print("已恢复备份文件")
|
|
return False
|
|
|
|
def main():
|
|
"""主函数"""
|
|
print("开始直接更新面试题数据...\n")
|
|
|
|
if update_mock_file():
|
|
print("\n✅ 面试题更新成功完成!")
|
|
else:
|
|
print("\n❌ 面试题更新失败")
|
|
|
|
if __name__ == "__main__":
|
|
main() |