主要内容: - 包含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>
99 lines
3.9 KiB
Python
99 lines
3.9 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import json
|
|
import re
|
|
|
|
# 读取清理后的数据
|
|
with open('resume_updates_cleaned.json', 'r', encoding='utf-8') as f:
|
|
updates = json.load(f)
|
|
|
|
# 读取resumeInterviewMock.js
|
|
with open('src/mocks/resumeInterviewMock.js', 'r', encoding='utf-8') as f:
|
|
mock_content = f.read()
|
|
|
|
# 首先检查是否存在露营地运营行业
|
|
if '"露营地运营":' not in mock_content:
|
|
# 需要添加露营地运营行业
|
|
print("添加露营地运营行业...")
|
|
|
|
# 找到resumeTemplates的结束位置
|
|
templates_end = mock_content.find('};', mock_content.find('const resumeTemplates'))
|
|
if templates_end > 0:
|
|
# 在最后一个行业后添加露营地运营
|
|
insert_pos = mock_content.rfind(']', 0, templates_end)
|
|
if insert_pos > 0:
|
|
# 找到适合的插入位置(在最后一个行业数组的']'后)
|
|
next_brace = mock_content.find('}', insert_pos)
|
|
if next_brace > 0:
|
|
# 在最后一个行业后添加逗号和新行业
|
|
new_industry = ''',
|
|
"露营地运营": []'''
|
|
mock_content = mock_content[:next_brace] + new_industry + '\n ' + mock_content[next_brace:]
|
|
print("露营地运营行业已添加")
|
|
|
|
# 保存备份
|
|
with open('src/mocks/resumeInterviewMock.js.backup_batch_update', 'w', encoding='utf-8') as f:
|
|
f.write(mock_content)
|
|
|
|
# 为每个岗位创建更新
|
|
for update in updates:
|
|
position = update['position']
|
|
student_info = update['studentInfo']
|
|
|
|
print(f"\n处理: {position}")
|
|
|
|
# 根据岗位名称确定行业
|
|
industry_map = {
|
|
'露营地运营专员': '露营地运营',
|
|
'文创产品设计师': '文旅产品设计',
|
|
'文创产品策划师': '文旅产品设计',
|
|
'文创产品设计师助理': '文旅产品设计',
|
|
'品牌策划运营专员': '品牌运营',
|
|
'品牌公关': '品牌运营',
|
|
'品牌推广专员': '品牌运营',
|
|
'ip运营': '品牌运营',
|
|
'IP运营总监助理': '品牌运营',
|
|
'品牌公关管培生': '品牌运营'
|
|
}
|
|
|
|
industry = industry_map.get(position)
|
|
if not industry:
|
|
print(f" 警告: 未找到{position}的行业映射")
|
|
continue
|
|
|
|
# 查找该岗位是否已存在于resumeTemplates中
|
|
pattern = f'position: "{position}"'
|
|
if pattern in mock_content:
|
|
print(f" {position} 已存在于简历模板中")
|
|
# 检查是否有studentInfo
|
|
pos = mock_content.find(pattern)
|
|
# 查找这个岗位的结束位置
|
|
next_position = mock_content.find('position:', pos + len(pattern))
|
|
if next_position == -1:
|
|
next_position = len(mock_content)
|
|
|
|
section = mock_content[pos:next_position]
|
|
|
|
if 'studentInfo: null' in section or 'studentInfo: {' not in section:
|
|
print(f" 需要更新 {position} 的 studentInfo")
|
|
# 生成要插入的studentInfo JSON
|
|
student_info_json = json.dumps(student_info, ensure_ascii=False, indent=10)
|
|
# 调整缩进
|
|
student_info_json = student_info_json.replace('\n', '\n ')
|
|
|
|
# 创建更新文件
|
|
with open(f'update_{position.replace("/", "_")}.txt', 'w', encoding='utf-8') as f:
|
|
f.write(f"岗位: {position}\n")
|
|
f.write(f"行业: {industry}\n")
|
|
f.write(f"studentInfo: {student_info_json}\n")
|
|
else:
|
|
print(f" {position} 不存在于简历模板中,需要创建")
|
|
|
|
# 创建新岗位数据文件
|
|
with open(f'create_{position.replace("/", "_")}.txt', 'w', encoding='utf-8') as f:
|
|
f.write(f"岗位: {position}\n")
|
|
f.write(f"行业: {industry}\n")
|
|
f.write(f"需要在 {industry} 行业下创建新岗位\n")
|
|
|
|
print("\n已生成所有更新文件") |