feat: 完成模型库

This commit is contained in:
chenchun
2025-12-09 19:11:30 +08:00
parent 8dcbfcad33
commit 54a1d2a66f
21 changed files with 1374 additions and 8 deletions

View File

@@ -0,0 +1,56 @@
<script setup lang="ts">
import { useRouter } from 'vue-router';
const router = useRouter();
function goToModelLibrary() {
router.push('/model-library');
}
</script>
<template>
<div class="model-library-btn-container" @click="goToModelLibrary">
<el-tooltip content="查看模型库" placement="bottom">
<el-button link class="header-btn">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect x="3" y="3" width="7" height="7" />
<rect x="14" y="3" width="7" height="7" />
<rect x="14" y="14" width="7" height="7" />
<rect x="3" y="14" width="7" height="7" />
</svg>
<span class="btn-text">模型库</span>
</el-button>
</el-tooltip>
</div>
</template>
<style scoped lang="scss">
.model-library-btn-container {
display: flex;
align-items: center;
cursor: pointer;
.header-btn {
display: flex;
align-items: center;
gap: 6px;
padding: 8px 12px;
color: #606266;
transition: all 0.3s;
&:hover {
color: #409eff;
background-color: rgba(64, 158, 255, 0.1);
}
.btn-text {
font-size: 14px;
font-weight: 500;
}
svg {
flex-shrink: 0;
}
}
}
</style>

View File

@@ -10,6 +10,7 @@ import Avatar from './components/Avatar.vue';
import Collapse from './components/Collapse.vue';
import CreateChat from './components/CreateChat.vue';
import LoginBtn from './components/LoginBtn.vue';
import ModelLibraryBtn from './components/ModelLibraryBtn.vue';
import TitleEditing from './components/TitleEditing.vue';
const userStore = useUserStore();
@@ -72,6 +73,7 @@ onKeyStroke(event => event.ctrlKey && event.key.toLowerCase() === 'k', handleCtr
<!-- 右边 -->
<div class="right-box flex h-full items-center pr-20px flex-shrink-0 mr-auto flex-row">
<AnnouncementBtn />
<ModelLibraryBtn />
<AiTutorialBtn />
<Avatar v-show="userStore.userInfo" />
<LoginBtn v-show="!userStore.userInfo" />