feat: 多项功能优化和bug修复

- 修复mockData.js语法错误,恢复项目正常运行
- 优化求职策略详情页拖拽功能,修复重复bug和保存逻辑
- 更新岗位级别名称:初级→普通岗,中级→技术骨干岗,高级→储备干部岗
- 更新个人档案学习时长:我的273小时(100%),班级平均231小时
- 面试模拟页面添加视频锁定界面和背景图片
- 简历面试页面更新模板数据,添加更多岗位简历模板
- React版本降级至18.3.1解决兼容性问题
This commit is contained in:
KQL
2025-09-06 10:06:19 +08:00
parent 4e0e96e6b8
commit 00e8cebfe3
19 changed files with 1344 additions and 394 deletions

View File

@@ -112,7 +112,71 @@ export default ({ selectedItem = "求职面试初体验" }) => {
</div>
<div className="interview-rating-video">
{isLockedItem() ? (
<img src="/线下面试模拟锁定.png" alt="线下面试模拟锁定" style={{width: "100%", height: "100%", objectFit: "cover"}} />
<div className="locked-video-container" style={{
position: 'relative',
width: '100%',
height: '100%',
overflow: 'hidden'
}}>
{/* 背景图片 */}
<div style={{
position: 'absolute',
top: 0,
left: 0,
width: '100%',
height: '100%',
backgroundImage: `url(${
selectedItem === "第一次线下面试模拟"
? "/src/assets/images/InterviewSimulationPage/第一次线下面试模拟.jpg"
: selectedItem === "第二次线下面试模拟"
? "/src/assets/images/InterviewSimulationPage/第二次线下面试模拟.jpg"
: "/src/assets/images/InterviewSimulationPage/第三次线下面试模拟.jpg"
})`,
backgroundSize: 'cover',
backgroundPosition: 'center',
filter: 'blur(20px)',
transform: 'scale(1.1)'
}} />
{/* 半透明遮罩 */}
<div style={{
position: 'absolute',
top: 0,
left: 0,
width: '100%',
height: '100%',
backgroundColor: 'rgba(0, 0, 0, 0.4)'
}} />
{/* 锁图标和文字 */}
<div style={{
position: 'absolute',
top: '50%',
left: '50%',
transform: 'translate(-50%, -50%)',
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
gap: '16px'
}}>
<img
src="https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_icon/recuVOrz2GnJdK.png"
alt="lock"
style={{ width: '280px', height: '280px' }}
/>
<span style={{
color: '#fff',
fontSize: '16px',
fontWeight: '500',
textAlign: 'center',
backgroundColor: 'rgba(0, 0, 0, 0.6)',
padding: '8px 16px',
borderRadius: '4px'
}}>
DEMO演示非学员无查看权限
</span>
</div>
</div>
) : (
<video src={getVideoUrl()} controls></video>
)}