#!/usr/bin/env python3 # -*- coding: utf-8 -*- import json # 读取修复后的数据 with open('fixedManufacturingData.json', 'r', encoding='utf-8') as f: data = json.load(f) # 先备份当前文件 import shutil import datetime timestamp = datetime.datetime.now().strftime('%Y%m%d_%H%M%S') shutil.copy('src/mocks/resumeInterviewMock.js', f'src/mocks/resumeInterviewMock.js.backup_before_fix_{timestamp}') # 读取原文件 with open('src/mocks/resumeInterviewMock.js', 'r', encoding='utf-8') as f: lines = f.readlines() # 生成新的industries代码 industries_code = "const industries = " + json.dumps(data['industries'], ensure_ascii=False, indent=2) + ";\n" # 生成新的resumeTemplates代码 resume_templates_code = "const resumeTemplates = " + json.dumps(data['resumeTemplates'], ensure_ascii=False, indent=2) + ";\n" # 找到industries的起始和结束位置 industries_start = -1 industries_end = -1 for i, line in enumerate(lines): if line.startswith('const industries = '): industries_start = i # 找到对应的结束位置 bracket_count = 0 square_bracket_count = 0 in_array = False for j in range(i, len(lines)): for char in lines[j]: if char == '[': square_bracket_count += 1 in_array = True elif char == ']': square_bracket_count -= 1 elif char == '{' and in_array: bracket_count += 1 elif char == '}' and in_array: bracket_count -= 1 # 当所有括号都匹配完成时 if in_array and square_bracket_count == 0 and bracket_count == 0: if '];' in lines[j]: industries_end = j + 1 break break # 找到resumeTemplates的起始和结束位置 templates_start = -1 templates_end = -1 for i, line in enumerate(lines): if line.startswith('const resumeTemplates = '): templates_start = i # 找到对应的结束位置 bracket_count = 0 for j in range(i, len(lines)): bracket_count += lines[j].count('{') - lines[j].count('}') if bracket_count == 0 and '};' in lines[j]: templates_end = j + 1 break break print(f"Industries: 行 {industries_start+1} 到 {industries_end}") print(f"ResumeTemplates: 行 {templates_start+1} 到 {templates_end}") if industries_start == -1 or templates_start == -1: print("错误:找不到目标代码块") exit(1) # 构建新文件 new_lines = [] # 添加industries之前的内容 new_lines.extend(lines[:industries_start]) # 添加新的industries new_lines.append(industries_code) # 添加industries和resumeTemplates之间的内容 new_lines.extend(lines[industries_end:templates_start]) # 添加新的resumeTemplates new_lines.append(resume_templates_code) # 添加resumeTemplates之后的内容 new_lines.extend(lines[templates_end:]) # 写入新文件 with open('src/mocks/resumeInterviewMock.js', 'w', encoding='utf-8') as f: f.writelines(new_lines) print(f"文件已成功更新!") print(f"- 岗位群数量: {len(data['industries'])}") print(f"- 岗位总数: {data['totalPositions']}") print(f"- 简历模板数: {len(data['resumeTemplates'])}") # 验证更新结果 print("\n验证岗位avatar字段:") with open('src/mocks/resumeInterviewMock.js', 'r', encoding='utf-8') as f: content = f.read() if '"avatar":' in content: print("✅ Avatar字段已添加") else: print("❌ Avatar字段缺失") print("✅ 数据更新完成!")