fix: 修复管理端前端 lint 与构建问题

- 收敛 easyflow-ui-admin 的 lint、格式和类型问题

- 修正 demo 页面与管理端前端构建失败点

- 验证 pnpm lint 与 pnpm build 均已通过
This commit is contained in:
2026-04-05 21:39:13 +08:00
parent bb72e19c84
commit 7e7c236c2a
240 changed files with 5151 additions and 4701 deletions

View File

@@ -210,11 +210,11 @@ defineExpose({
}
.bot-modal-section {
border-radius: 14px;
border: 1px solid hsl(var(--modal-divider));
background: hsl(var(--modal-content-surface-strong));
box-shadow: none;
padding: 14px;
background: hsl(var(--modal-content-surface-strong));
border: 1px solid hsl(var(--modal-divider));
border-radius: 14px;
box-shadow: none;
}
.bot-modal-section--compact {
@@ -227,17 +227,17 @@ defineExpose({
.bot-modal-section__title {
margin: 0;
color: hsl(var(--text-strong));
font-size: 14px;
font-weight: 700;
line-height: 1.4;
color: hsl(var(--text-strong));
}
.bot-modal-section__description {
margin: 3px 0 0;
color: hsl(var(--text-muted));
font-size: 11px;
line-height: 1.45;
color: hsl(var(--text-muted));
}
.bot-modal-appearance-grid {
@@ -279,9 +279,9 @@ defineExpose({
.bot-modal-field-tip {
margin-top: 4px;
color: hsl(var(--text-muted));
font-size: 11px;
line-height: 1.5;
color: hsl(var(--text-muted));
}
.bot-modal-form :deep(.el-form-item) {
@@ -290,18 +290,18 @@ defineExpose({
.bot-modal-form :deep(.el-form-item__label) {
padding-bottom: 6px;
color: hsl(var(--text-strong));
font-size: 12px;
font-weight: 600;
line-height: 1.4;
color: hsl(var(--text-strong));
}
.bot-modal-form :deep(.el-input__wrapper),
.bot-modal-form :deep(.el-select__wrapper),
.bot-modal-form :deep(.el-textarea__inner) {
border-radius: 12px;
background: hsl(var(--input-background));
box-shadow: inset 0 0 0 1px hsl(var(--input) / 0.92);
border-radius: 12px;
box-shadow: inset 0 0 0 1px hsl(var(--input) / 92%);
transition:
box-shadow 0.2s ease,
transform 0.2s ease,
@@ -316,15 +316,15 @@ defineExpose({
.bot-modal-form :deep(.el-input__wrapper:hover),
.bot-modal-form :deep(.el-select__wrapper:hover),
.bot-modal-form :deep(.el-textarea__inner:hover) {
box-shadow: inset 0 0 0 1px hsl(var(--primary) / 0.18);
box-shadow: inset 0 0 0 1px hsl(var(--primary) / 18%);
}
.bot-modal-form :deep(.el-input__wrapper.is-focus),
.bot-modal-form :deep(.el-select__wrapper.is-focused),
.bot-modal-form :deep(.el-textarea__inner:focus) {
box-shadow:
inset 0 0 0 1px hsl(var(--primary) / 0.72),
0 0 0 4px hsl(var(--primary) / 0.12);
inset 0 0 0 1px hsl(var(--primary) / 72%),
0 0 0 4px hsl(var(--primary) / 12%);
}
.bot-modal-form :deep(.el-textarea__inner) {
@@ -336,8 +336,8 @@ defineExpose({
.bot-modal-form :deep(.el-form-item.is-error .el-select__wrapper),
.bot-modal-form :deep(.el-form-item.is-error .el-textarea__inner) {
box-shadow:
inset 0 0 0 1px hsl(var(--destructive) / 0.8),
0 0 0 4px hsl(var(--destructive) / 0.08);
inset 0 0 0 1px hsl(var(--destructive) / 80%),
0 0 0 4px hsl(var(--destructive) / 8%);
}
@media (max-width: 768px) {

View File

@@ -2,8 +2,8 @@
import type { BotInfo, Session } from '@easyflow/types';
import { onMounted, ref, watchEffect } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import ElConversations from 'vue-element-plus-x/es/Conversations/index.js';
import { useRoute, useRouter } from 'vue-router';
import { IconifyIcon } from '@easyflow/icons';
import { preferences } from '@easyflow/preferences';

View File

@@ -1466,10 +1466,12 @@ const handleBasicInfoChange = async (
</label>
<div class="publish-external-code-preview">
<div class="publish-external-code-topbar">HTML</div>
<!-- eslint-disable vue/no-v-html -->
<pre class="publish-external-code-block"><code
class="hljs language-xml"
v-html="iframeCodeHighlighted"
></code></pre>
<!-- eslint-enable vue/no-v-html -->
</div>
<div class="publish-external-actions">
<ElButton

View File

@@ -1,13 +1,13 @@
<script setup lang="ts">
import type {BotInfo} from '@easyflow/types';
import type { BotInfo } from '@easyflow/types';
import {computed, onMounted, ref} from 'vue';
import {useRoute, useRouter} from 'vue-router';
import { computed, onMounted, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import {tryit} from 'radash';
import { tryit } from 'radash';
import {getBotDetails} from '#/api';
import {hasPermission} from '#/api/common/hasPermission';
import { getBotDetails } from '#/api';
import { hasPermission } from '#/api/common/hasPermission';
import Config from './config.vue';
import Preview from './preview.vue';
@@ -77,14 +77,16 @@ const fetchBotDetail = async (id: string) => {
height: calc(100vh - 90px);
padding: 20px;
}
.row-container {
height: 100%;
display: flex;
gap: 20px;
}
.row-item {
height: 100%;
}
.row-item {
flex: 1;
min-width: 0;
height: 100%;
}
</style>