tailwind+vue3实现ai大模型全能技能工具输入切换表单聊天对话布局代码

代码语言:html

所属分类:布局界面

代码描述:tailwind+vue3实现ai大模型全能技能工具输入切换表单聊天对话布局代码

代码标签: tailwind vue ai 大模型 全能 技能 工具 输入 切换 表单 聊天 对话 布局 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue.global.3.5.18.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/tailwindcss.3.4.16.js"></script>
<link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/all.6.4.0.css">

    <style>
        /* 自定义滚动条 */
        .scrollbar-hide::-webkit-scrollbar { display: none; }
        .custom-scrollbar::-webkit-scrollbar { width: 5px; height: 5px; }
        .custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
        .custom-scrollbar::-webkit-scrollbar-track { background: transparent; }

        /* 动画类 */
        .fade-enter-active, .fade-leave-active { transition: opacity 0.3s ease; }
        .fade-enter-from, .fade-leave-to { opacity: 0; }
        
        .slide-up-enter-active, .slide-up-leave-active { transition: all 0.3s ease; }
        .slide-up-enter-from { opacity: 0; transform: translateY(10px); }
        .slide-up-leave-to { opacity: 0; transform: translateY(10px); }

        /* 模拟打字光标 */
        .typing-cursor::after { content: '|'; animation: blink 1s infinite; }
        @keyframes blink { 50% { opacity: 0; } }
    </style>
</head>
<body class="bg-gray-100 h-screen w-full overflow-hidden text-slate-800 font-sans">

    <div id="app" class="flex h-full">

        <!-- 1. 左侧历史会话侧边栏 -->
        <aside class="w-64 bg-gray-900 text-gray-300 flex flex-col shrink-0 transition-all duration-300 z-20" 
               :class="isSidebarOpen ? 'translate-x-0' : '-translate-x-full absolute md:relative md:translate-x-0'">
            
            <!-- Logo & 新建 -->
            <div class="p-4 border-b border-gray-800">
                <div class="flex items-center space-x-2 mb-6 text-white">
                    <div class="w-8 h-8 bg-gradient-to-tr from-blue-500 to-purple-600 rounded-lg flex items-center justify-center">
                        <i class="fa-solid fa-layer-group"></i>
                    </div>
                    <span class="font-bold text-lg tracking-wide">AI Matrix</span>
                </div>
                <button @click="createNewSession" class="w-full bg-gray-800 hover:bg-gray-700 text-white py-3 px-4 rounded-xl flex items-center justify-start space-x-3 transition-colors border border-gray-700">
                    <i class="fa-solid fa-plus"></i>
                    <span class="text-sm font-medium">新建创作会话</span>
                </button>
            </div>

            <!-- 会话列表 -->
            <div class="flex-1 overflow-y-auto custom-scrollbar p-2 space-y-1">
                <div v-for="session in sessions" :key="session.id" 
                     @click="switchSession(session.id)"
                     class="group flex items-center p-3 rounded-lg cursor-pointer transition-colors relative"
                     :class="currentSessionId === session.id ? 'bg-gray-800 text-white' : 'hover:bg-gray-800/50'">
                    
                    <i class="fa-regular fa-message w-5 text-center text-xs opacity-70"></i>
                    <div class="ml-3 text-sm truncate flex-1 pr-6">
                        {{ session.title || '新对话' }}
                    </div>
                    
                    <!-- 删除按钮 (hover显示) -->
                    <button @click.stop="deleteSession(session.id)" class="absolute right-2 opacity-0 group-hover:opacity-100 text-gray-500 hover:text-red-400 transition-opacity">
                        <i class="fa-solid fa-xmark text-xs"></i>
                    </button>
                </div>
            </div>

      .........完整代码请登录后点击上方下载按钮下载查看

网友评论0