feat: 实现日历课程点击跳转到直播间功能

- 添加日历课程详情弹窗的点击跳转功能
- 公共课直播间和课程直播间支持URL参数自动选中课程
- 优化岗位详情页面样式,复用简洁卡片样式
- 为岗位详情标题添加图标
- 调整不同类型课程的跳转逻辑

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
KQL
2025-09-11 14:14:45 +08:00
parent 60bd9bb142
commit 561d5c286d
107 changed files with 101383 additions and 478 deletions

View File

@@ -277,25 +277,11 @@
.job-info-modal-content-position-info-companyInfo {
width: 100%;
box-sizing: border-box;
padding: 20px;
border-radius: 12px;
background: linear-gradient(135deg, #ffffff 0%, #f7f8fa 100%);
margin: 8px 0;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
border: 1px solid rgba(102, 126, 234, 0.1);
position: relative;
overflow: visible;
min-height: auto;
&:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
}
padding: 16px;
border-radius: 8px;
background-color: #fff;
margin: 10px 0;
border: 1px solid #e5e6eb;
> p {
width: 100%;
@@ -304,47 +290,42 @@
.description-title,
.requirements-title,
.companyInfo-title {
font-size: 16px;
font-size: 18px;
font-weight: 600;
line-height: 24px;
line-height: 28px;
color: #1d2129;
margin-bottom: 16px;
padding-left: 12px;
position: relative;
margin-bottom: 12px;
display: flex;
align-items: center;
&:before {
content: "";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 3px;
height: 16px;
background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
border-radius: 2px;
.title-icon {
width: 20px;
height: 20px;
margin-right: 8px;
object-fit: contain;
}
}
.description-content {
font-size: 14px;
font-weight: 400;
line-height: 22px;
line-height: 24px;
color: #4e5969;
text-align: left;
.description-item {
display: flex;
align-items: flex-start;
margin-bottom: 10px;
margin-bottom: 8px;
text-align: left;
.description-number {
display: inline-block;
min-width: 24px;
min-width: 20px;
font-size: 14px;
font-weight: 600;
color: #667eea;
margin-right: 8px;
font-weight: 500;
color: #1d2129;
margin-right: 6px;
text-align: left;
}
@@ -352,7 +333,7 @@
flex: 1;
font-size: 14px;
font-weight: 400;
line-height: 22px;
line-height: 24px;
color: #4e5969;
text-align: left;
}
@@ -368,16 +349,9 @@
font-weight: 400;
line-height: 24px;
color: #4e5969;
.company-paragraph {
margin-bottom: 12px;
text-indent: 2em;
text-align: justify;
&:last-child {
margin-bottom: 0;
}
}
text-align: left;
white-space: pre-wrap;
word-break: break-word;
}
.requirements-content {
width: 100%;
@@ -386,16 +360,16 @@
.requirements-item {
display: flex;
align-items: flex-start;
margin-bottom: 10px;
margin-bottom: 8px;
text-align: left;
.requirement-number {
display: inline-block;
min-width: 24px;
min-width: 20px;
font-size: 14px;
font-weight: 600;
color: #667eea;
margin-right: 8px;
font-weight: 500;
color: #1d2129;
margin-right: 6px;
text-align: left;
}
@@ -403,7 +377,7 @@
flex: 1;
font-size: 14px;
font-weight: 400;
line-height: 22px;
line-height: 24px;
color: #4e5969;
text-align: left;
}