Files
AI-interview-web/src/views/interview/home.vue
2025-09-17 21:36:49 +08:00

122 lines
2.4 KiB
Vue
Raw 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.

<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>