Initial commit: 教务系统在线平台
- 包含4个产业方向的前端项目:智能开发、智能制造、大健康、财经商贸 - 已清理node_modules、.yoyo等大文件,项目大小从2.6GB优化至631MB - 配置完善的.gitignore文件 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
79
frontend_大健康/verify_position_levels.py
Normal file
79
frontend_大健康/verify_position_levels.py
Normal file
@@ -0,0 +1,79 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import json
|
||||
import re
|
||||
|
||||
def verify_position_levels():
|
||||
"""验证项目库数据中的岗位等级是否与大健康岗位简历数据一致"""
|
||||
|
||||
# 1. 读取岗位等级映射
|
||||
position_level_map = {}
|
||||
with open('网页未导入数据/大健康产业/大健康岗位简历.json', 'r', encoding='utf-8') as f:
|
||||
resume_data = json.load(f)
|
||||
for item in resume_data:
|
||||
position_name = item.get('岗位名称', '')
|
||||
level = item.get('岗位等级标签', '')
|
||||
if position_name and level:
|
||||
position_level_map[position_name] = level
|
||||
|
||||
# 2. 读取生成的projectLibraryMock.js文件
|
||||
with open('src/mocks/projectLibraryMock.js', 'r', encoding='utf-8') as f:
|
||||
mock_content = f.read()
|
||||
|
||||
# 3. 提取项目详情数据
|
||||
# 找到projects数组的定义
|
||||
projects_match = re.search(r'const projects = (\[[\s\S]*?\]);', mock_content)
|
||||
if projects_match:
|
||||
projects_json = projects_match.group(1)
|
||||
# 处理JS格式到JSON格式
|
||||
projects_json = projects_json.replace('\\n', '\n')
|
||||
projects_data = json.loads(projects_json)
|
||||
|
||||
print("=" * 60)
|
||||
print("项目库岗位等级验证报告")
|
||||
print("=" * 60)
|
||||
|
||||
all_correct = True
|
||||
error_count = 0
|
||||
correct_count = 0
|
||||
|
||||
for project in projects_data:
|
||||
if 'applicablePositions' in project:
|
||||
print(f"\n项目: {project.get('name', 'Unknown')}")
|
||||
print("-" * 40)
|
||||
|
||||
for pos_item in project['applicablePositions']:
|
||||
position = pos_item['position']
|
||||
level_in_project = pos_item['level']
|
||||
expected_level = position_level_map.get(position, '未找到')
|
||||
|
||||
if expected_level == '未找到':
|
||||
print(f" ⚠️ {position}: 在简历数据中未找到")
|
||||
error_count += 1
|
||||
all_correct = False
|
||||
elif level_in_project != expected_level:
|
||||
print(f" ❌ {position}: {level_in_project} → 应为 {expected_level}")
|
||||
error_count += 1
|
||||
all_correct = False
|
||||
else:
|
||||
print(f" ✅ {position}: {level_in_project}")
|
||||
correct_count += 1
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
print("验证结果汇总:")
|
||||
print(f"✅ 正确: {correct_count} 个岗位")
|
||||
print(f"❌ 错误: {error_count} 个岗位")
|
||||
|
||||
if all_correct:
|
||||
print("\n🎉 所有岗位等级都正确!")
|
||||
else:
|
||||
print("\n⚠️ 发现岗位等级不一致,请检查!")
|
||||
|
||||
return all_correct
|
||||
else:
|
||||
print("无法解析项目数据")
|
||||
return False
|
||||
|
||||
if __name__ == "__main__":
|
||||
verify_position_levels()
|
||||
Reference in New Issue
Block a user