parent
d0cd93de5a
commit
60c74b991e
|
|
@ -60,12 +60,12 @@
|
||||||
class="py-0.5 px-2.5"
|
class="py-0.5 px-2.5"
|
||||||
style="
|
style="
|
||||||
max-width: 220px;
|
max-width: 220px;
|
||||||
|
overflow: hidden;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: var(--el-text-color-regular);
|
color: var(--el-text-color-regular);
|
||||||
overflow: hidden;
|
|
||||||
white-space: nowrap;
|
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
{{ conversation.title }}
|
{{ conversation.title }}
|
||||||
|
|
@ -103,9 +103,9 @@
|
||||||
<div
|
<div
|
||||||
class="absolute bottom-0 left-0 right-0 px-5 leading-8.75 flex justify-between items-center"
|
class="absolute bottom-0 left-0 right-0 px-5 leading-8.75 flex justify-between items-center"
|
||||||
style="
|
style="
|
||||||
|
color: var(--el-text-color);
|
||||||
background-color: var(--el-fill-color-extra-light);
|
background-color: var(--el-fill-color-extra-light);
|
||||||
box-shadow: 0 0 1px 1px var(--el-border-color-lighter);
|
box-shadow: 0 0 1px 1px var(--el-border-color-lighter);
|
||||||
color: var(--el-text-color);
|
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
|
|
|
||||||
|
|
@ -286,27 +286,29 @@ onUnmounted(() => {
|
||||||
--el-button-border-color: transparent;
|
--el-button-border-color: transparent;
|
||||||
--el-button-hover-bg-color: var(--el-fill-color-light);
|
--el-button-hover-bg-color: var(--el-fill-color-light);
|
||||||
--el-button-hover-border-color: transparent;
|
--el-button-hover-border-color: transparent;
|
||||||
|
|
||||||
color: var(--el-text-color-regular);
|
color: var(--el-text-color-regular);
|
||||||
}
|
}
|
||||||
|
|
||||||
.upload-btn.has-files {
|
.upload-btn.has-files {
|
||||||
color: var(--el-color-primary);
|
|
||||||
--el-button-hover-bg-color: var(--el-color-primary-light-9);
|
--el-button-hover-bg-color: var(--el-color-primary-light-9);
|
||||||
|
|
||||||
|
color: var(--el-color-primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
.file-tooltip {
|
.file-tooltip {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: calc(100% + 8px);
|
bottom: calc(100% + 8px);
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translateX(-50%);
|
z-index: 1000;
|
||||||
|
max-width: 320px;
|
||||||
|
min-width: 240px;
|
||||||
|
padding: 8px;
|
||||||
background: white;
|
background: white;
|
||||||
border: 1px solid var(--el-border-color-light);
|
border: 1px solid var(--el-border-color-light);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
transform: translateX(-50%);
|
||||||
z-index: 1000;
|
box-shadow: 0 4px 12px rgb(0 0 0 / 15%);
|
||||||
min-width: 240px;
|
|
||||||
max-width: 320px;
|
|
||||||
padding: 8px;
|
|
||||||
animation: fadeInDown 0.2s ease;
|
animation: fadeInDown 0.2s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -314,25 +316,25 @@ onUnmounted(() => {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: -5px;
|
bottom: -5px;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translateX(-50%);
|
|
||||||
width: 0;
|
width: 0;
|
||||||
height: 0;
|
height: 0;
|
||||||
border-left: 5px solid transparent;
|
|
||||||
border-right: 5px solid transparent;
|
|
||||||
border-top: 5px solid var(--el-border-color-light);
|
border-top: 5px solid var(--el-border-color-light);
|
||||||
|
border-right: 5px solid transparent;
|
||||||
|
border-left: 5px solid transparent;
|
||||||
|
transform: translateX(-50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tooltip 箭头伪元素 */
|
/* Tooltip 箭头伪元素 */
|
||||||
.tooltip-arrow::after {
|
.tooltip-arrow::after {
|
||||||
content: '';
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 1px;
|
bottom: 1px;
|
||||||
left: -4px;
|
left: -4px;
|
||||||
width: 0;
|
width: 0;
|
||||||
height: 0;
|
height: 0;
|
||||||
border-left: 4px solid transparent;
|
|
||||||
border-right: 4px solid transparent;
|
|
||||||
border-top: 4px solid white;
|
border-top: 4px solid white;
|
||||||
|
border-right: 4px solid transparent;
|
||||||
|
border-left: 4px solid transparent;
|
||||||
|
content: '';
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes fadeInDown {
|
@keyframes fadeInDown {
|
||||||
|
|
@ -340,6 +342,7 @@ onUnmounted(() => {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transform: translateX(-50%) translateY(4px);
|
transform: translateX(-50%) translateY(4px);
|
||||||
}
|
}
|
||||||
|
|
||||||
to {
|
to {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
transform: translateX(-50%) translateY(0);
|
transform: translateX(-50%) translateY(0);
|
||||||
|
|
@ -351,6 +354,7 @@ onUnmounted(() => {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transform: translateX(-50%) translateY(4px);
|
transform: translateX(-50%) translateY(4px);
|
||||||
}
|
}
|
||||||
|
|
||||||
to {
|
to {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
transform: translateX(-50%) translateY(0);
|
transform: translateX(-50%) translateY(0);
|
||||||
|
|
@ -374,6 +378,7 @@ onUnmounted(() => {
|
||||||
.file-list::-webkit-scrollbar-thumb:hover {
|
.file-list::-webkit-scrollbar-thumb:hover {
|
||||||
background: var(--el-border-color);
|
background: var(--el-border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 滚动条样式 */
|
/* 滚动条样式 */
|
||||||
.file-list::-webkit-scrollbar {
|
.file-list::-webkit-scrollbar {
|
||||||
width: 4px;
|
width: 4px;
|
||||||
|
|
|
||||||
|
|
@ -79,11 +79,11 @@ const toggleExpanded = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
.max-h-300px::-webkit-scrollbar-thumb {
|
.max-h-300px::-webkit-scrollbar-thumb {
|
||||||
background: rgba(156, 163, 175, 0.4);
|
background: rgb(156 163 175 / 40%);
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.max-h-300px::-webkit-scrollbar-thumb:hover {
|
.max-h-300px::-webkit-scrollbar-thumb:hover {
|
||||||
background: rgba(156, 163, 175, 0.6);
|
background: rgb(156 163 175 / 60%);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -228,8 +228,8 @@ onMounted(async () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tabs__header {
|
.el-tabs__header {
|
||||||
margin: 0 !important;
|
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
|
margin: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tabs__nav-wrap {
|
.el-tabs__nav-wrap {
|
||||||
|
|
@ -241,6 +241,6 @@ onMounted(async () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tab-pane {
|
.el-tab-pane {
|
||||||
padding: 8px 0 0 0 !important;
|
padding: 8px 0 0 !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -57,16 +57,16 @@
|
||||||
class="content-expand"
|
class="content-expand"
|
||||||
style="
|
style="
|
||||||
padding: 10px 20px;
|
padding: 10px 20px;
|
||||||
white-space: pre-wrap;
|
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
|
white-space: pre-wrap;
|
||||||
background-color: #f9f9f9;
|
background-color: #f9f9f9;
|
||||||
border-radius: 4px;
|
|
||||||
border-left: 3px solid #409eff;
|
border-left: 3px solid #409eff;
|
||||||
|
border-radius: 4px;
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="content-title"
|
class="content-title"
|
||||||
style="margin-bottom: 8px; color: #606266; font-size: 14px; font-weight: bold"
|
style="margin-bottom: 8px; font-size: 14px; font-weight: bold; color: #606266"
|
||||||
>
|
>
|
||||||
完整内容:
|
完整内容:
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -143,11 +143,12 @@ defineExpose({
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
:deep(.el-card__body) {
|
:deep(.el-card__body) {
|
||||||
|
@extend .hide-scroll-bar;
|
||||||
|
|
||||||
|
padding: 0;
|
||||||
|
overflow-y: auto;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
overflow-y: auto;
|
|
||||||
padding: 0;
|
|
||||||
@extend .hide-scroll-bar;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,7 @@ defineExpose({
|
||||||
:deep(.el-tabs) {
|
:deep(.el-tabs) {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
.el-tabs__content {
|
.el-tabs__content {
|
||||||
padding: 0 7px;
|
padding: 0 7px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
|
|
||||||
|
|
@ -237,14 +237,14 @@ defineExpose({
|
||||||
|
|
||||||
<style lang="css" scoped>
|
<style lang="css" scoped>
|
||||||
.result-content {
|
.result-content {
|
||||||
background: white;
|
|
||||||
padding: 12px;
|
|
||||||
border-radius: 4px;
|
|
||||||
max-height: 300px;
|
max-height: 300px;
|
||||||
|
padding: 12px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
font-family: Monaco, Consolas, monospace;
|
font-family: Monaco, Consolas, monospace;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
|
background: white;
|
||||||
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -110,11 +110,12 @@ watch(copied, (val) => {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
:deep(.el-card__body) {
|
:deep(.el-card__body) {
|
||||||
|
@extend .hide-scroll-bar;
|
||||||
|
|
||||||
|
padding: 0;
|
||||||
|
overflow-y: auto;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
overflow-y: auto;
|
|
||||||
padding: 0;
|
|
||||||
@extend .hide-scroll-bar;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
const props = withDefaults(
|
const props = withDefaults(
|
||||||
defineProps<{
|
defineProps<{
|
||||||
tags: { label: string; value: string }[]
|
tags?: { label: string; value: string }[]
|
||||||
modelValue: string
|
modelValue: string
|
||||||
[k: string]: any
|
[k: string]: any
|
||||||
}>(),
|
}>(),
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,9 @@
|
||||||
inline-prompt
|
inline-prompt
|
||||||
active-text="定时刷新"
|
active-text="定时刷新"
|
||||||
inactive-text="定时刷新"
|
inactive-text="定时刷新"
|
||||||
style="--el-switch-on-color: #13ce66"
|
style="
|
||||||
|
|
||||||
|
--el-switch-on-color: #13ce66"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,9 @@
|
||||||
inline-prompt
|
inline-prompt
|
||||||
active-text="定时刷新"
|
active-text="定时刷新"
|
||||||
inactive-text="定时刷新"
|
inactive-text="定时刷新"
|
||||||
style="--el-switch-on-color: #13ce66"
|
style="
|
||||||
|
|
||||||
|
--el-switch-on-color: #13ce66"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
|
||||||
|
|
@ -131,22 +131,22 @@ onMounted(() => {
|
||||||
.terminal-card {
|
.terminal-card {
|
||||||
margin-top: 32px;
|
margin-top: 32px;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
border-radius: 12px;
|
|
||||||
background-color: #1a1b26;
|
|
||||||
box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.4);
|
|
||||||
border: 1px solid #24283b;
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
font-family: 'Fira Code', 'JetBrains Mono', Consolas, Monaco, monospace;
|
font-family: 'Fira Code', 'JetBrains Mono', Consolas, Monaco, monospace;
|
||||||
|
background-color: #1a1b26;
|
||||||
|
border: 1px solid #24283b;
|
||||||
|
border-radius: 12px;
|
||||||
|
box-shadow: 0 10px 30px -10px rgb(0 0 0 / 40%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.terminal-header {
|
.terminal-header {
|
||||||
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
padding: 12px 16px;
|
padding: 12px 16px;
|
||||||
background-color: #24283b;
|
background-color: #24283b;
|
||||||
border-bottom: 1px solid #16161e;
|
border-bottom: 1px solid #16161e;
|
||||||
position: relative;
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
.terminal-dots {
|
.terminal-dots {
|
||||||
|
|
@ -160,53 +160,59 @@ onMounted(() => {
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
transition: transform 0.2s ease;
|
transition: transform 0.2s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dot:hover {
|
.dot:hover {
|
||||||
transform: scale(1.2);
|
transform: scale(1.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
.dot.red {
|
.dot.red {
|
||||||
background-color: #f7768e;
|
background-color: #f7768e;
|
||||||
box-shadow: 0 0 5px rgba(247, 118, 142, 0.4);
|
box-shadow: 0 0 5px rgb(247 118 142 / 40%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.dot.yellow {
|
.dot.yellow {
|
||||||
background-color: #e0af68;
|
background-color: #e0af68;
|
||||||
box-shadow: 0 0 5px rgba(224, 175, 104, 0.4);
|
box-shadow: 0 0 5px rgb(224 175 104 / 40%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.dot.green {
|
.dot.green {
|
||||||
background-color: #9ece6a;
|
background-color: #9ece6a;
|
||||||
box-shadow: 0 0 5px rgba(158, 206, 106, 0.4);
|
box-shadow: 0 0 5px rgb(158 206 106 / 40%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.terminal-title {
|
.terminal-title {
|
||||||
color: #a9b1d6;
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
letter-spacing: 0.8px;
|
letter-spacing: 0.8px;
|
||||||
position: absolute;
|
color: #a9b1d6;
|
||||||
left: 50%;
|
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.terminal-copy-btn {
|
.terminal-copy-btn {
|
||||||
|
display: flex;
|
||||||
|
padding: 6px 12px;
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #a9b1d6;
|
||||||
|
cursor: pointer;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border: 1px solid #414868;
|
border: 1px solid #414868;
|
||||||
color: #a9b1d6;
|
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 6px 12px;
|
|
||||||
font-size: 12px;
|
|
||||||
cursor: pointer;
|
|
||||||
transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 6px;
|
gap: 6px;
|
||||||
font-family: inherit;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.terminal-copy-btn:hover {
|
.terminal-copy-btn:hover {
|
||||||
|
color: #1a1b26;
|
||||||
background: #bb9af7;
|
background: #bb9af7;
|
||||||
border-color: #bb9af7;
|
border-color: #bb9af7;
|
||||||
color: #1a1b26;
|
|
||||||
transform: translateY(-2px);
|
transform: translateY(-2px);
|
||||||
box-shadow: 0 4px 12px rgba(187, 154, 247, 0.3);
|
box-shadow: 0 4px 12px rgb(187 154 247 / 30%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.terminal-copy-btn:active {
|
.terminal-copy-btn:active {
|
||||||
transform: translateY(0);
|
transform: translateY(0);
|
||||||
}
|
}
|
||||||
|
|
@ -217,17 +223,17 @@ onMounted(() => {
|
||||||
|
|
||||||
.terminal-body {
|
.terminal-body {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
color: #c0caf5;
|
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
|
color: #c0caf5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.terminal-desc {
|
.terminal-desc {
|
||||||
color: #7dcfff;
|
padding-bottom: 16px;
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
font-family: var(--el-font-family);
|
font-family: var(--el-font-family);
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
padding-bottom: 16px;
|
color: #7dcfff;
|
||||||
border-bottom: 1px dashed #292e42;
|
border-bottom: 1px dashed #292e42;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -237,9 +243,9 @@ onMounted(() => {
|
||||||
}
|
}
|
||||||
|
|
||||||
.terminal-code {
|
.terminal-code {
|
||||||
|
min-width: max-content;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
white-space: pre;
|
white-space: pre;
|
||||||
min-width: max-content;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.terminal-code code {
|
.terminal-code code {
|
||||||
|
|
@ -267,13 +273,16 @@ onMounted(() => {
|
||||||
.terminal-code-wrapper::-webkit-scrollbar {
|
.terminal-code-wrapper::-webkit-scrollbar {
|
||||||
height: 8px;
|
height: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.terminal-code-wrapper::-webkit-scrollbar-thumb {
|
.terminal-code-wrapper::-webkit-scrollbar-thumb {
|
||||||
background: #414868;
|
background: #414868;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.terminal-code-wrapper::-webkit-scrollbar-thumb:hover {
|
.terminal-code-wrapper::-webkit-scrollbar-thumb:hover {
|
||||||
background: #565f89;
|
background: #565f89;
|
||||||
}
|
}
|
||||||
|
|
||||||
.terminal-code-wrapper::-webkit-scrollbar-track {
|
.terminal-code-wrapper::-webkit-scrollbar-track {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue