+
@@ -85,15 +90,11 @@ function handleClick(item: GetSessionListVO) {
-
- {{ item.modelName }}
-
+ {{ item.modelName }}
@@ -106,11 +107,32 @@ function handleClick(item: GetSessionListVO) {
.model-switch-box {
color: var(--el-color-primary, #409eff);
border: 1px solid var(--el-color-primary, #409eff);
- border-radius: 15px;
+ border-radius: 10px;
}
.popover-content-box-item.is-select {
color: var(--el-color-primary, #409eff);
font-weight: 700;
}
+
+.popover-content-box {
+ // background-color: red;
+ height: 200px;
+ display: flex;
+ flex-direction: column;
+ overflow-y: auto;
+ overflow-x: hidden;
+
+ // 滚动条样式
+ &::-webkit-scrollbar {
+ width: 4px;
+ }
+ &::-webkit-scrollbar-track {
+ background: #f5f5f5;
+ }
+ &::-webkit-scrollbar-thumb {
+ background: #ccc;
+ border-radius: 4px;
+ }
+}
diff --git a/src/components/Popover/index copy.vue b/src/components/Popover/index copy.vue
new file mode 100644
index 0000000..3649bd5
--- /dev/null
+++ b/src/components/Popover/index copy.vue
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/Popover/index.vue b/src/components/Popover/index.vue
index d402c2b..07c3678 100644
--- a/src/components/Popover/index.vue
+++ b/src/components/Popover/index.vue
@@ -1,6 +1,29 @@
+
-
-
-
+
-
+
diff --git a/src/layouts/components/Header/components/Avatar.vue b/src/layouts/components/Header/components/Avatar.vue
index 1742c71..1afc833 100644
--- a/src/layouts/components/Header/components/Avatar.vue
+++ b/src/layouts/components/Header/components/Avatar.vue
@@ -95,7 +95,7 @@ function handleClick(item: any) {
diff --git a/src/pages/chat/layouts/chatDefaul/index.vue b/src/pages/chat/layouts/chatDefaul/index.vue
index 294e325..05c67e3 100644
--- a/src/pages/chat/layouts/chatDefaul/index.vue
+++ b/src/pages/chat/layouts/chatDefaul/index.vue
@@ -3,16 +3,12 @@
import ModelSelect from '@/components/ModelSelect/index.vue';
import WelecomeText from '@/components/WelecomeText/index.vue';
import { useUserStore } from '@/stores';
-import { useChatStore } from '@/stores/modules/chat';
import { useSessionStore } from '@/stores/modules/session';
const userStore = useUserStore();
-const chatStore = useChatStore();
const sessionStore = useSessionStore();
const senderValue = ref('');
-const isDeepThinking = computed(() => chatStore.isDeepThinking);
-
async function handleSend() {
localStorage.setItem('chatContent', senderValue.value);
await sessionStore.createSessionList({
@@ -22,11 +18,6 @@ async function handleSend() {
remark: senderValue.value.slice(0, 10),
});
}
-
-// 设置是否深度思考
-function setIsDeepThinking() {
- chatStore.setDeepThinking(!chatStore.isDeepThinking);
-}
@@ -47,25 +38,13 @@ function setIsDeepThinking() {
@@ -85,11 +64,5 @@ function setIsDeepThinking() {
.chat-defaul-sender {
width: 100%;
}
-
- .is-select {
- color: var(--el-color-primary, #409eff);
- border: 1px solid var(--el-color-primary, #409eff);
- border-radius: 15px;
- }
}
diff --git a/src/pages/chat/layouts/chatWithId/index.vue b/src/pages/chat/layouts/chatWithId/index.vue
index 2ffdd6d..3f79a83 100644
--- a/src/pages/chat/layouts/chatWithId/index.vue
+++ b/src/pages/chat/layouts/chatWithId/index.vue
@@ -28,7 +28,6 @@ const { startStream: _, cancel, data, error, isLoading } = useXStream();
const route = useRoute();
const chatStore = useChatStore();
const modelStore = useModelStore();
-const isDeepThinking = computed(() => chatStore.isDeepThinking);
const inputValue = ref('帮我写一篇小米手机介绍');
const senderRef = ref(null);
const bubbleItems = ref([]);
@@ -75,10 +74,6 @@ watch(
{ immediate: true, deep: true },
);
-// 设置是否深度思考
-function setIsDeepThinking() {
- chatStore.setDeepThinking(!chatStore.isDeepThinking);
-}
// 封装数据处理逻辑
function handleDataChunk(chunk: string) {
if (chunk === ' [DONE]') {
@@ -253,23 +248,12 @@ function handleChange(payload: { value: boolean; status: ThinkingStatus }) {
@@ -338,11 +322,5 @@ function handleChange(payload: { value: boolean; status: ThinkingStatus }) {
margin-bottom: 22px;
width: 100%;
}
-
- .is-select {
- color: var(--el-color-primary, #409eff);
- border: 1px solid var(--el-color-primary, #409eff);
- border-radius: 15px;
- }
}
diff --git a/src/styles/element-plus.scss b/src/styles/element-plus.scss
index ffa3dd1..249d6ac 100644
--- a/src/styles/element-plus.scss
+++ b/src/styles/element-plus.scss
@@ -20,10 +20,31 @@
}
}
-// rounded-tooltip
+// rounded-tooltip 提示框样式
.rounded-tooltip {
border-radius: 10px !important;
display: flex;
align-items: center;
height: fit-content;
}
+
+.zoom-fade-enter-from {
+ transform: scale(0.9); /* 进入前:缩小隐藏 */
+ opacity: 0;
+}
+.zoom-fade-enter-active,
+.zoom-fade-leave-active {
+ transition: transform 0.3s, opacity 0.3s; /* 缓入动画 */
+}
+.zoom-fade-enter-to {
+ transform: scale(1); /* 进入后:正常大小 */
+ opacity: 1;
+}
+.zoom-fade-leave-from {
+ transform: scale(1); /* 离开前:正常大小 */
+ opacity: 1;
+}
+.zoom-fade-leave-to {
+ transform: scale(0.9); /* 离开后:缩小隐藏 */
+ opacity: 0;
+}
diff --git a/types/components.d.ts b/types/components.d.ts
index e9ad9a3..c1278b0 100644
--- a/types/components.d.ts
+++ b/types/components.d.ts
@@ -3,12 +3,14 @@
// Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399
// biome-ignore lint: disable
-export {};
+export {}
/* prettier-ignore */
declare module 'vue' {
export interface GlobalComponents {
AccountPassword: typeof import('./../src/components/LoginDialog/components/FormLogin/AccountPassword.vue')['default']
+ copy: typeof import('./../src/components/Popover/index copy.vue')['default']
+ DeepThinking: typeof import('./../src/components/DeepThinking/index.vue')['default']
ElAvatar: typeof import('element-plus/es')['ElAvatar']
ElButton: typeof import('element-plus/es')['ElButton']
ElContainer: typeof import('element-plus/es')['ElContainer']
@@ -23,6 +25,7 @@ declare module 'vue' {
ElMain: typeof import('element-plus/es')['ElMain']
ElTooltip: typeof import('element-plus/es')['ElTooltip']
IconSelect: typeof import('./../src/components/IconSelect/index.vue')['default']
+ 'Index copy': typeof import('./../src/components/Popover/index copy.vue')['default']
LoginDialog: typeof import('./../src/components/LoginDialog/index.vue')['default']
ModelSelect: typeof import('./../src/components/ModelSelect/index.vue')['default']
Popover: typeof import('./../src/components/Popover/index.vue')['default']