@@ -776,6 +776,10 @@ button:disabled {
border-radius: 4px;
}
+.slide-out-left{-webkit-animation:slide-out-left .5s cubic-bezier(.55,.085,.68,.53) both;animation:slide-out-left .5s cubic-bezier(.55,.085,.68,.53) both}
+.swing-in-top-fwd {-webkit-animation: swing-in-top-fwd 0.5s cubic-bezier(0.175, 0.885, 0.320, 1.275) both;animation: swing-in-top-fwd 0.5s cubic-bezier(0.175, 0.885, 0.320, 1.275) both;}
+@-webkit-keyframes swing-in-top-fwd{0%{-webkit-transform:rotateX(-100deg);transform:rotateX(-100deg);-webkit-transform-origin:top;transform-origin:top;opacity:0}100%{-webkit-transform:rotateX(0deg);transform:rotateX(0deg);-webkit-transform-origin:top;transform-origin:top;opacity:1}}@keyframes swing-in-top-fwd{0%{-webkit-transform:rotateX(-100deg);transform:rotateX(-100deg);-webkit-transform-origin:top;transform-origin:top;opacity:0}100%{-webkit-transform:rotateX(0deg);transform:rotateX(0deg);-webkit-transform-origin:top;transform-origin:top;opacity:1}}
+@-webkit-keyframes slide-out-left{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(-1000px);transform:translateX(-1000px);opacity:0}}@keyframes slide-out-left{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(-1000px);transform:translateX(-1000px);opacity:0}}
@media (max-width: 520px) {
.chat {
diff --git a/web/src/views/ChatView.vue b/web/src/views/ChatView.vue
index dd0a00f3..d924aa94 100644
--- a/web/src/views/ChatView.vue
+++ b/web/src/views/ChatView.vue
@@ -1,6 +1,6 @@
-
+
对话历史
@@ -120,20 +120,29 @@ onMounted(() => {
position: relative;
}
-.chat-container .conversations {
- flex: 1 1 auto;
+.chat-container .conversations:not(.is-open) {
+ width: 0;
+ opacity: 0;
+ flex: 0 0 0;
}
+.chat-container .conversations.is-open {
+ overflow: hidden; /* 确保内容不溢出 */
+ white-space: nowrap; /* 防止文本换行 */
+ flex: 1 1 auto; /* 当侧边栏打开时,占据可用空间 */
+}
.conversations {
display: flex;
flex-direction: column;
- width: 100px;
+ width: 230px; /* 初始宽度 */
height: 100%;
+ max-width: 230px;
overflow-y: auto;
border-right: 1px solid var(--main-light-3);
- min-width: var(--min-sider-width);
- max-width: 200px;
background-color: #FAFCFD;
+ overflow: hidden; /* 确保内容不溢出 */
+ white-space: nowrap; /* 防止文本换行 */
+ transition: all 0.2s ease-out;
& .actions {
height: var(--header-height);
@@ -234,7 +243,6 @@ onMounted(() => {
border-radius: 4px;
}
-
@media (max-width: 520px) {
.conversations {
position: absolute;
diff --git a/web/src/views/SettingView.vue b/web/src/views/SettingView.vue
index 3022df9e..7c6353fb 100644
--- a/web/src/views/SettingView.vue
+++ b/web/src/views/SettingView.vue
@@ -3,6 +3,7 @@
设置
模型配置
+
请在 src/.env 文件中配置对应的 APIKEY,可参考 src/.env.template