Files
ALL-teach_sys/frontend_环保/update_job_levels.py
KQL cd2e307402 初始化12个产业教务系统项目
主要内容:
- 包含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>
2025-09-24 14:14:14 +08:00

174 lines
6.2 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import json
import os
import re
from datetime import datetime
# 读取岗位等级数据
def load_job_levels():
with open('网页未导入数据/文旅产业/岗位等级.json', 'r', encoding='utf-8') as f:
data = json.load(f)
# 创建岗位名称到等级的映射
job_levels_map = {}
for item in data:
job_name = item['❌岗位名称']
level = item['前端查询名称']
job_levels_map[job_name] = level
return job_levels_map
# 更新resumeInterviewMock.js文件
def update_resume_interview_mock(job_levels_map):
file_path = 'src/mocks/resumeInterviewMock.js'
# 备份文件
backup_path = f'{file_path}.backup_{datetime.now().strftime("%Y%m%d_%H%M%S")}'
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}")
# 更新内容
updated_count = 0
lines = content.split('\n')
new_lines = []
for line in lines:
# 查找position_name字段
if 'position_name:' in line:
# 提取岗位名称
match = re.search(r'position_name:\s*["\']([^"\']+)["\']', line)
if match:
position_name = match.group(1)
if position_name in job_levels_map:
# 找到对应的等级
level = job_levels_map[position_name]
# 查找下一个position_level字段并更新
for i in range(len(lines)):
if lines[i] == line:
# 向后查找position_level
for j in range(i+1, min(i+10, len(lines))):
if 'position_level:' in lines[j]:
old_line = lines[j]
lines[j] = re.sub(
r'position_level:\s*["\'][^"\']*["\']',
f'position_level: "{level}"',
lines[j]
)
if old_line != lines[j]:
updated_count += 1
print(f"更新: {position_name} -> {level}")
break
break
new_lines.append(line)
# 写回文件
with open(file_path, 'w', encoding='utf-8') as f:
f.write('\n'.join(lines))
print(f"resumeInterviewMock.js 更新完成,共更新 {updated_count}")
# 更新companyJobsNew.json文件
def update_company_jobs(job_levels_map):
file_path = 'src/data/companyJobsNew.json'
# 备份文件
backup_path = f'{file_path}.backup_{datetime.now().strftime("%Y%m%d_%H%M%S")}'
with open(file_path, 'r', encoding='utf-8') as f:
data = json.load(f)
with open(backup_path, 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=2)
print(f"已备份: {backup_path}")
# 更新数据
updated_count = 0
for company in data:
if 'jobs' in company:
for job in company['jobs']:
if 'positionName' in job and job['positionName'] in job_levels_map:
old_level = job.get('jobLevel', '')
new_level = job_levels_map[job['positionName']]
job['jobLevel'] = new_level
if old_level != new_level:
updated_count += 1
print(f"更新: {job['positionName']} -> {new_level}")
# 写回文件
with open(file_path, 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=2)
print(f"companyJobsNew.json 更新完成,共更新 {updated_count}")
# 更新mockData.js中的项目库数据
def update_mock_data_projects(job_levels_map):
file_path = 'src/data/mockData.js'
# 备份文件
backup_path = f'{file_path}.backup_{datetime.now().strftime("%Y%m%d_%H%M%S")}_job_levels'
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}")
# 更新项目库中的relatedPositions字段
updated_count = 0
lines = content.split('\n')
for i, line in enumerate(lines):
if 'relatedPositions:' in line or 'targetPositions:' in line:
# 查找数组内容
j = i
while j < len(lines) and ']' not in lines[j]:
j += 1
# 提取并更新数组内容
for k in range(i, j+1):
for job_name, level in job_levels_map.items():
if f'"{job_name}"' in lines[k] or f"'{job_name}'" in lines[k]:
# 检查是否需要添加等级信息(如果还没有的话)
# 这里我们只是确保岗位名称正确,等级信息在其他地方维护
updated_count += 1
print(f"mockData.js 项目库数据检查完成,确认了 {updated_count} 个岗位引用")
# 主函数
def main():
print("=" * 50)
print("开始更新岗位等级数据")
print("=" * 50)
# 加载岗位等级映射
job_levels_map = load_job_levels()
print(f"已加载 {len(job_levels_map)} 个岗位等级映射")
# 显示等级分布
level_counts = {}
for level in job_levels_map.values():
level_counts[level] = level_counts.get(level, 0) + 1
print("\n岗位等级分布:")
for level, count in level_counts.items():
print(f" {level}: {count} 个岗位")
print("\n" + "=" * 50)
# 更新各个文件
print("\n1. 更新简历面试题数据...")
update_resume_interview_mock(job_levels_map)
print("\n2. 更新公司岗位数据...")
update_company_jobs(job_levels_map)
print("\n3. 检查项目库数据...")
update_mock_data_projects(job_levels_map)
print("\n" + "=" * 50)
print("所有更新完成!")
print("=" * 50)
if __name__ == "__main__":
main()