Files
online_sys/frontend_大健康/clean_duplicate_questions.py
KQL a7242f0c69 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>
2025-12-12 18:16:55 +08:00

114 lines
5.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
清理重复的面试题数据
只保留industry级别的questions移除position级别的questions
"""
import re
from datetime import datetime
def clean_duplicate_questions():
"""清理重复的面试题数据"""
try:
# 读取当前文件
with open('src/mocks/resumeInterviewMock.js', 'r', encoding='utf-8') as f:
content = f.read()
# 创建备份
backup_filename = f'src/mocks/resumeInterviewMock.js.backup_{datetime.now().strftime("%Y%m%d_%H%M%S")}'
with open(backup_filename, 'w', encoding='utf-8') as f:
f.write(content)
print(f"已创建备份文件: {backup_filename}")
# 移除所有position级别的questions字段
# 这个正则表达式匹配position对象内的questions字段
updated_content = re.sub(
r',?\s*"questions": \[\s*\{[^\]]*?\](?:\s*,\s*)?(?=\s*\})',
'',
content,
flags=re.DOTALL
)
# 移除position对象结尾可能的多余逗号
updated_content = re.sub(
r',(\s*\}\s*\]\s*,?\s*"questions":)',
r'\1',
updated_content,
flags=re.DOTALL
)
# 如果目前没有industry级别的questions手动添加几个主要行业的面试题
health_management_questions = [
{
"id": "q1",
"question": "你认为健康顾问和传统医生的区别是什么?",
"answer": "医生主要负责疾病诊疗,而健康顾问更多聚焦于疾病预防和健康促进。健康顾问通过营养、运动、心理等多维度干预,帮助客户建立良好的生活习惯,与医生形成互补关系,共同提升客户健康水平。"
},
{
"id": "q2",
"question": "健康管理中最具挑战性的部分是什么?",
"answer": "最大的挑战是客户的依从性。很多客户虽然知道健康的重要性,但难以坚持。我会通过阶段性目标、数据化追踪和正向反馈来增强客户信心,提高健康干预的执行力。"
},
{
"id": "q3",
"question": "如果客户长期忽视健康管理建议,你会怎么办?",
"answer": "我会先分析原因,可能是方案过于复杂、目标过高或缺乏动力。我会调整为更小、更容易实现的目标,比如\"每天走5000步\"而不是\"立即跑10公里\"。同时,通过定期沟通和数据反馈,让客户看到小进步,逐步增强信心。"
}
]
health_check_questions = [
{
"id": "q1",
"question": "常见的健康检查项目有哪些?",
"answer": "包括基础检查身高、体重、血压、心率、实验室检测血常规、肝肾功能、血脂血糖、影像学检查X光、彩超、CT/MRI、心电图检查、癌症筛查肿瘤标志物、低剂量螺旋CT、以及女性乳腺/宫颈筛查、男性前列腺检查等。"
},
{
"id": "q2",
"question": "为什么说健康检查应因人而异?",
"answer": "因为健康风险与性别、年龄、职业、遗传背景和生活方式密切相关。例如,年轻人更需关注代谢异常和传染病筛查,中老年人则更需重视心血管疾病和肿瘤筛查。因人制宜的体检方案能提高检查的针对性和有效性,避免资源浪费。"
}
]
# 如果健康管理行业还没有industry级别的questions添加它
if '"name": "健康管理"' in updated_content and '"questions":' not in updated_content[updated_content.find('"name": "健康管理"'):updated_content.find('"name": "健康管理"') + 2000]:
health_mgmt_questions_str = str(health_management_questions).replace("'", '"')
updated_content = re.sub(
r'("name": "健康管理"[^}]*?"positions": \[[^\]]*?\]\s*)',
r'\1,\n "questions": ' + health_mgmt_questions_str,
updated_content,
flags=re.DOTALL
)
# 如果健康检查行业还没有industry级别的questions添加它
if '"name": "健康检查"' in updated_content:
health_check_start = updated_content.find('"name": "健康检查"')
next_industry_start = updated_content.find('"name":', health_check_start + 20)
if next_industry_start == -1:
next_industry_start = len(updated_content)
health_check_section = updated_content[health_check_start:next_industry_start]
if '"questions":' not in health_check_section:
health_check_questions_str = str(health_check_questions).replace("'", '"')
updated_content = re.sub(
r'("name": "健康检查"[^}]*?"positions": \[[^\]]*?\]\s*)',
r'\1,\n "questions": ' + health_check_questions_str,
updated_content,
flags=re.DOTALL
)
# 写回文件
with open('src/mocks/resumeInterviewMock.js', 'w', encoding='utf-8') as f:
f.write(updated_content)
print("重复面试题数据清理完成!")
return True
except Exception as e:
print(f"清理失败: {e}")
import traceback
traceback.print_exc()
return False
if __name__ == "__main__":
clean_duplicate_questions()