122 lines
2.4 KiB
Vue
122 lines
2.4 KiB
Vue
|
|
<template>
|
|||
|
|
<div class="home-container">
|
|||
|
|
<div class="hero-section">
|
|||
|
|
<h1>AI面试与对话系统</h1>
|
|||
|
|
<p>提升您的面试技能,与AI进行智能对话</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="options-container">
|
|||
|
|
<el-card class="option-card" shadow="hover" @click="navigateTo('chat')">
|
|||
|
|
<div class="card-content">
|
|||
|
|
<el-icon size="48" color="#409EFF">
|
|||
|
|
<ChatLineRound/>
|
|||
|
|
</el-icon>
|
|||
|
|
<h3>AI对话</h3>
|
|||
|
|
<p>与AI进行自由对话,获取帮助和建议</p>
|
|||
|
|
<el-button type="primary" class="action-btn">开始对话</el-button>
|
|||
|
|
</div>
|
|||
|
|
</el-card>
|
|||
|
|
|
|||
|
|
<el-card class="option-card" shadow="hover" @click="navigateTo('interview')">
|
|||
|
|
<div class="card-content">
|
|||
|
|
<el-icon size="48" color="#67C23A">
|
|||
|
|
<User/>
|
|||
|
|
</el-icon>
|
|||
|
|
<h3>AI面试</h3>
|
|||
|
|
<p>进行模拟面试,提升面试技巧</p>
|
|||
|
|
<el-button type="success" class="action-btn">开始面试</el-button>
|
|||
|
|
</div>
|
|||
|
|
</el-card>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script setup>
|
|||
|
|
import {useRouter} from 'vue-router'
|
|||
|
|
import {ChatLineRound, User} from '@element-plus/icons-vue'
|
|||
|
|
|
|||
|
|
const router = useRouter()
|
|||
|
|
|
|||
|
|
const navigateTo = (type) => {
|
|||
|
|
if (type === 'chat') {
|
|||
|
|
router.push('/chat')
|
|||
|
|
} else if (type === 'interview') {
|
|||
|
|
router.push('/interview')
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style scoped>
|
|||
|
|
.home-container {
|
|||
|
|
padding: 40px 20px;
|
|||
|
|
max-width: 1000px;
|
|||
|
|
margin: 0 auto;
|
|||
|
|
text-align: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.hero-section {
|
|||
|
|
margin-bottom: 60px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.hero-section h1 {
|
|||
|
|
font-size: 2.5rem;
|
|||
|
|
color: #303133;
|
|||
|
|
margin-bottom: 16px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.hero-section p {
|
|||
|
|
font-size: 1.2rem;
|
|||
|
|
color: #606266;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.options-container {
|
|||
|
|
display: grid;
|
|||
|
|
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
|||
|
|
gap: 30px;
|
|||
|
|
margin-top: 40px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.option-card {
|
|||
|
|
cursor: pointer;
|
|||
|
|
transition: all 0.3s ease;
|
|||
|
|
height: 250px;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.option-card:hover {
|
|||
|
|
transform: translateY(-5px);
|
|||
|
|
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.card-content {
|
|||
|
|
text-align: center;
|
|||
|
|
padding: 20px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.card-content h3 {
|
|||
|
|
font-size: 1.5rem;
|
|||
|
|
margin: 16px 0;
|
|||
|
|
color: #303133;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.card-content p {
|
|||
|
|
color: #606266;
|
|||
|
|
margin-bottom: 24px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.action-btn {
|
|||
|
|
margin-top: 10px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
@media (max-width: 768px) {
|
|||
|
|
.options-container {
|
|||
|
|
grid-template-columns: 1fr;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.hero-section h1 {
|
|||
|
|
font-size: 2rem;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|