主要内容: - 包含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>
184 lines
5.8 KiB
Python
184 lines
5.8 KiB
Python
#!/usr/bin/env python3
|
||
# -*- coding: utf-8 -*-
|
||
|
||
import re
|
||
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_{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 find_all_positions_with_modified():
|
||
"""查找所有有modified字段的岗位"""
|
||
file_path = 'src/mocks/resumeInterviewMock.js'
|
||
|
||
with open(file_path, 'r', encoding='utf-8') as f:
|
||
lines = f.readlines()
|
||
|
||
positions_with_modified = []
|
||
for i, line in enumerate(lines):
|
||
if 'modified:' in line and '`' in line:
|
||
# 向上查找最近的position定义
|
||
for j in range(i-1, max(0, i-50), -1):
|
||
if 'position:' in lines[j] and '"' in lines[j]:
|
||
# 提取岗位名称
|
||
match = re.search(r'position:\s*"([^"]+)"', lines[j])
|
||
if match:
|
||
position_name = match.group(1)
|
||
positions_with_modified.append({
|
||
'name': position_name,
|
||
'position_line': j + 1,
|
||
'modified_line': i + 1
|
||
})
|
||
break
|
||
|
||
return positions_with_modified
|
||
|
||
def remove_modified_for_positions():
|
||
"""删除指定岗位的modified字段"""
|
||
file_path = 'src/mocks/resumeInterviewMock.js'
|
||
|
||
# 创建备份
|
||
create_backup(file_path)
|
||
|
||
# 有真实修改版的岗位列表(这些要保留modified)
|
||
real_modified_positions = [
|
||
"会展策划师",
|
||
"会展执行助理",
|
||
"会展讲解员",
|
||
"活动策划师",
|
||
"活动执行",
|
||
"漫展策划师",
|
||
"旅游规划师",
|
||
"旅游计调专员",
|
||
"景区运营专员",
|
||
"文旅运营总监助理"
|
||
]
|
||
|
||
# 读取文件内容
|
||
with open(file_path, 'r', encoding='utf-8') as f:
|
||
content = f.read()
|
||
|
||
# 查找所有有modified的岗位
|
||
positions = find_all_positions_with_modified()
|
||
|
||
print("\n找到的所有有modified字段的岗位:")
|
||
for pos in positions:
|
||
status = "保留" if pos['name'] in real_modified_positions else "删除"
|
||
print(f" [{status}] {pos['name']} (行 {pos['position_line']} -> {pos['modified_line']})")
|
||
|
||
# 处理每个需要删除modified的岗位
|
||
positions_to_remove = [p for p in positions if p['name'] not in real_modified_positions]
|
||
|
||
# 从后往前处理,避免行号变化影响
|
||
positions_to_remove.sort(key=lambda x: x['modified_line'], reverse=True)
|
||
|
||
lines = content.split('\n')
|
||
|
||
for pos in positions_to_remove:
|
||
print(f"\n处理 {pos['name']}...")
|
||
|
||
# 找到modified字段的起始和结束位置
|
||
modified_line_idx = pos['modified_line'] - 1
|
||
|
||
# 找到modified字段的开始(包括可能的逗号)
|
||
start_idx = modified_line_idx
|
||
# 向前查找逗号
|
||
for i in range(modified_line_idx - 1, max(0, modified_line_idx - 5), -1):
|
||
if ',' in lines[i]:
|
||
start_idx = i
|
||
break
|
||
|
||
# 找到modified字段的结束(找到闭合的反引号)
|
||
end_idx = modified_line_idx
|
||
in_template = False
|
||
for i in range(modified_line_idx, min(len(lines), modified_line_idx + 1000)):
|
||
if '`' in lines[i]:
|
||
if not in_template and 'modified:' in lines[i]:
|
||
in_template = True
|
||
elif in_template:
|
||
end_idx = i
|
||
break
|
||
|
||
# 删除这些行
|
||
print(f" 删除行 {start_idx + 1} 到 {end_idx + 1}")
|
||
del lines[start_idx:end_idx + 1]
|
||
|
||
# 保存文件
|
||
new_content = '\n'.join(lines)
|
||
with open(file_path, 'w', encoding='utf-8') as f:
|
||
f.write(new_content)
|
||
|
||
print(f"\n已删除 {len(positions_to_remove)} 个岗位的modified字段")
|
||
|
||
def verify_final_state():
|
||
"""验证最终状态"""
|
||
positions = find_all_positions_with_modified()
|
||
|
||
print("\n" + "=" * 50)
|
||
print("最终验证结果:")
|
||
print(f"还有modified字段的岗位(共{len(positions)}个):")
|
||
|
||
real_modified_positions = [
|
||
"会展策划师",
|
||
"会展执行助理",
|
||
"会展讲解员",
|
||
"活动策划师",
|
||
"活动执行",
|
||
"漫展策划师",
|
||
"旅游规划师",
|
||
"旅游计调专员",
|
||
"景区运营专员",
|
||
"文旅运营总监助理"
|
||
]
|
||
|
||
# 分类显示
|
||
correct = []
|
||
incorrect = []
|
||
|
||
for pos in positions:
|
||
if pos['name'] in real_modified_positions:
|
||
correct.append(pos['name'])
|
||
else:
|
||
incorrect.append(pos['name'])
|
||
|
||
if correct:
|
||
print("\n✓ 正确保留的岗位:")
|
||
for name in correct:
|
||
print(f" - {name}")
|
||
|
||
if incorrect:
|
||
print("\n✗ 不应该有modified的岗位(需要手动处理):")
|
||
for name in incorrect:
|
||
print(f" - {name}")
|
||
|
||
# 检查是否有遗漏
|
||
missing = []
|
||
for name in real_modified_positions:
|
||
if name not in [p['name'] for p in positions]:
|
||
missing.append(name)
|
||
|
||
if missing:
|
||
print("\n⚠️ 应该有modified但没找到的岗位:")
|
||
for name in missing:
|
||
print(f" - {name}")
|
||
|
||
def main():
|
||
print("开始处理没有真实修改版的岗位...")
|
||
print("=" * 50)
|
||
|
||
# 删除假的修改版
|
||
remove_modified_for_positions()
|
||
|
||
# 验证结果
|
||
verify_final_state()
|
||
|
||
if __name__ == "__main__":
|
||
main() |