主要更新: - 更新所有12个产业的教务系统数据和功能 - 删除所有 node_modules 文件夹(节省3.7GB) - 删除所有 .yoyo 缓存文件夹(节省1.2GB) - 删除所有 dist 构建文件(节省55MB) 项目优化: - 项目大小从 8.1GB 减少到 3.2GB(节省60%空间) - 保留完整的源代码和配置文件 - .gitignore 已配置,防止再次提交大文件 启动脚本: - start-industry.sh/bat/ps1 脚本会自动检测并安装依赖 - 首次启动时自动运行 npm install - 支持单个或批量启动产业系统 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
114 lines
4.5 KiB
Python
114 lines
4.5 KiB
Python
#!/usr/bin/env python3
|
|
"""更新专家支持中心的对话数据为视觉设计问答内容"""
|
|
|
|
import json
|
|
import os
|
|
from datetime import datetime
|
|
|
|
def load_visual_qa_data():
|
|
"""加载视觉设计问答内容"""
|
|
file_path = '网页未导入数据/视觉设计产业/视觉设计问答内容.json'
|
|
with open(file_path, 'r', encoding='utf-8') as f:
|
|
return json.load(f)
|
|
|
|
def get_mentor_avatar(mentor_name):
|
|
"""根据导师名称获取头像URL"""
|
|
mentor_avatars = {
|
|
"魏兴国": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuYxG5mH4QM0.png",
|
|
"唐振华": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5EEac.png",
|
|
"张宏达": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5bHYT.png",
|
|
"李奇": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuUpSO4gUtJz.png",
|
|
"多多畅职机器人": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_icon/recuWmDuekBTlr.png"
|
|
}
|
|
return mentor_avatars.get(mentor_name, mentor_avatars["多多畅职机器人"])
|
|
|
|
def transform_qa_to_conversations(qa_data):
|
|
"""转换问答数据为对话列表格式"""
|
|
conversations = []
|
|
|
|
for idx, qa in enumerate(qa_data):
|
|
# 构建消息列表
|
|
messages = []
|
|
|
|
# 处理最多3轮问答
|
|
for i in range(1, 6, 2): # 1,3,5
|
|
question_key = f"问题_流程{i}"
|
|
question_time_key = f"流程{i}_时间"
|
|
answer_key = f"回答_流程{i+1}"
|
|
answer_time_key = f"流程{i+1}_时间"
|
|
|
|
if qa.get(question_key) and qa.get(question_key).strip():
|
|
# 添加用户问题
|
|
messages.append({
|
|
"type": "user",
|
|
"content": qa[question_key],
|
|
"time": qa.get(question_time_key, "2024/12/1 10:00")
|
|
})
|
|
|
|
# 添加导师/机器人回答
|
|
if qa.get(answer_key) and qa.get(answer_key).strip():
|
|
mentor_name = qa.get("查询导师名称", "").strip()
|
|
if qa["问答类型"] == "智能客服" or not mentor_name:
|
|
mentor_name = "多多畅职机器人"
|
|
|
|
messages.append({
|
|
"type": "assistant",
|
|
"content": qa[answer_key],
|
|
"mentor": mentor_name,
|
|
"time": qa.get(answer_time_key, "2024/12/1 10:01"),
|
|
"mentorAvatar": get_mentor_avatar(mentor_name)
|
|
})
|
|
|
|
# 只有有消息的对话才添加
|
|
if messages:
|
|
# 提取日期部分作为显示日期
|
|
first_time = messages[0].get("time", "2024/12/1 10:00")
|
|
date_parts = first_time.split(' ')[0].split('/')
|
|
display_date = f"{date_parts[0]}年{int(date_parts[1])}月"
|
|
|
|
conversations.append({
|
|
"id": idx + 1,
|
|
"title": qa.get("问题标题", "视觉设计咨询"),
|
|
"status": "finish",
|
|
"date": display_date,
|
|
"type": qa.get("问题类型", "常规问题"),
|
|
"messages": messages
|
|
})
|
|
|
|
return conversations
|
|
|
|
def update_expert_support_file():
|
|
"""更新expertSupportData.js文件"""
|
|
# 加载视觉设计问答数据
|
|
qa_data = load_visual_qa_data()
|
|
|
|
# 转换为对话格式
|
|
conversations = transform_qa_to_conversations(qa_data)
|
|
|
|
# 构建完整的数据结构
|
|
expert_support_data = {
|
|
"conversations": conversations
|
|
}
|
|
|
|
# 生成JavaScript内容
|
|
js_content = f"""// 专家支持中心数据 - 视觉设计产业
|
|
const expertSupportData = {json.dumps(expert_support_data, ensure_ascii=False, indent=2)};
|
|
|
|
export default expertSupportData;"""
|
|
|
|
# 备份原文件
|
|
backup_time = datetime.now().strftime('%Y%m%d_%H%M%S')
|
|
os.system(f'cp src/data/expertSupportData.js src/data/expertSupportData.js.backup_{backup_time}')
|
|
|
|
# 写入新文件
|
|
with open('src/data/expertSupportData.js', 'w', encoding='utf-8') as f:
|
|
f.write(js_content)
|
|
|
|
print(f"✅ 已更新 expertSupportData.js")
|
|
print(f" - 对话数量: {len(conversations)}")
|
|
print(f" - 备份文件: expertSupportData.js.backup_{backup_time}")
|
|
|
|
if __name__ == "__main__":
|
|
print("🚀 开始更新专家支持中心数据...")
|
|
update_expert_support_file()
|
|
print("🎉 更新完成!") |