diff --git a/ui/src/api/API_README.md b/ui/src/api/API_README.md index 1487c7834d9..66b1cfce0b9 100644 --- a/ui/src/api/API_README.md +++ b/ui/src/api/API_README.md @@ -60,6 +60,10 @@ src/api/ ## 业务接口组织 +`admin/system/portal.ts` 通过 Admin `/portal` 读取和局部保存门户配置,公共类型维护在 +`types/portal.ts`。JSON 用于访问开关和认证配置,门户名称与 Logo 使用 FormData;保存返回完整配置。 +认证配置保留未编辑字段,跨域 `cors_config` 暂按不透明对象保留,待后端定义其字段与执行协议。 + - 业务 API 先按 Admin 入口下的 `auth`、`workspace`、`system` 等一级业务域归类。Workspace 和 System 内部可继续按明确的功能域建立子目录,例如 `workspace/application/`、 `workspace/tool/`、`system/chat-user/` 和 `system/settings/`;不需要分组的单资源接口直接放在 diff --git a/ui/src/api/admin/system/chat-user/chat-user-auth-scan.ts b/ui/src/api/admin/system/chat-management/chat-user-auth-scan.ts similarity index 100% rename from ui/src/api/admin/system/chat-user/chat-user-auth-scan.ts rename to ui/src/api/admin/system/chat-management/chat-user-auth-scan.ts diff --git a/ui/src/api/admin/system/chat-user/chat-user-auth.ts b/ui/src/api/admin/system/chat-management/chat-user-auth.ts similarity index 100% rename from ui/src/api/admin/system/chat-user/chat-user-auth.ts rename to ui/src/api/admin/system/chat-management/chat-user-auth.ts diff --git a/ui/src/api/admin/system/chat-user/chat-user-groups.ts b/ui/src/api/admin/system/chat-management/chat-user-groups.ts similarity index 100% rename from ui/src/api/admin/system/chat-user/chat-user-groups.ts rename to ui/src/api/admin/system/chat-management/chat-user-groups.ts diff --git a/ui/src/api/admin/system/chat-user/chat-user.ts b/ui/src/api/admin/system/chat-management/chat-user.ts similarity index 100% rename from ui/src/api/admin/system/chat-user/chat-user.ts rename to ui/src/api/admin/system/chat-management/chat-user.ts diff --git a/ui/src/api/admin/system/chat-management/portal-setting.ts b/ui/src/api/admin/system/chat-management/portal-setting.ts new file mode 100644 index 00000000000..5f02ce3e36d --- /dev/null +++ b/ui/src/api/admin/system/chat-management/portal-setting.ts @@ -0,0 +1,10 @@ +import { get, put } from '../../core/request' +import type { PortalSetting, PortalSettingPayload } from '@/api/types' + +/** 获取门户基本信息与访问配置。 */ +const getPortalSetting = () => get('/portal') + +/** 保存门户基本信息或访问配置。 */ +const putPortalSetting = (payload: PortalSettingPayload | FormData) => put('/portal', payload) + +export default { getPortalSetting, putPortalSetting } diff --git a/ui/src/api/types/index.ts b/ui/src/api/types/index.ts index 1ed9d42c6eb..f2193959be6 100644 --- a/ui/src/api/types/index.ts +++ b/ui/src/api/types/index.ts @@ -24,3 +24,4 @@ export type * from './workflow-template' export type * from './homepage' export type * from './file' export type * from './state' +export type * from './portal' diff --git a/ui/src/api/types/portal.ts b/ui/src/api/types/portal.ts new file mode 100644 index 00000000000..487af09d0c3 --- /dev/null +++ b/ui/src/api/types/portal.ts @@ -0,0 +1,25 @@ +import type { Dict } from './common' + +export interface PortalAuthConfig extends Dict { + login_value?: string[] + max_attempts?: number + failed_attempts?: number + lock_time?: number +} + +export interface PortalSetting { + id: string + name: string + description: string | null + logo: string | null + tab_logo: string | null + enable_public_access: boolean + enable_api: boolean + enable_knowledge_base_api: boolean + enable_auth: boolean + auth_config: PortalAuthConfig + enable_cors: boolean + cors_config: Dict +} + +export type PortalSettingPayload = Partial> diff --git a/ui/src/assets/iconfont.js b/ui/src/assets/iconfont.js index 69fd9d3a84b..462194ad8a3 100644 --- a/ui/src/assets/iconfont.js +++ b/ui/src/assets/iconfont.js @@ -1 +1 @@ -window._iconfont_svg_string_5200172='',(l=>{var a=(h=(h=document.getElementsByTagName("script"))[h.length-1]).getAttribute("data-injectcss"),h=h.getAttribute("data-disable-injectsvg");if(!h){var o,v,t,i,c,d=function(a,h){h.parentNode.insertBefore(a,h)};if(a&&!l.__iconfont__svg__cssinject__){l.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}o=function(){var a,h=document.createElement("div");h.innerHTML=l._iconfont_svg_string_5200172,(h=h.getElementsByTagName("svg")[0])&&(h.setAttribute("aria-hidden","true"),h.style.position="absolute",h.style.width=0,h.style.height=0,h.style.overflow="hidden",h=h,(a=document.body).firstChild?d(h,a.firstChild):a.appendChild(h))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(o,0):(v=function(){document.removeEventListener("DOMContentLoaded",v,!1),o()},document.addEventListener("DOMContentLoaded",v,!1)):document.attachEvent&&(t=o,i=l.document,c=!1,m(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,e())})}function e(){c||(c=!0,t())}function m(){try{i.documentElement.doScroll("left")}catch(a){return void setTimeout(m,50)}e()}})(window); \ No newline at end of file +window._iconfont_svg_string_5200172='',(l=>{var a=(h=(h=document.getElementsByTagName("script"))[h.length-1]).getAttribute("data-injectcss"),h=h.getAttribute("data-disable-injectsvg");if(!h){var o,v,t,i,c,d=function(a,h){h.parentNode.insertBefore(a,h)};if(a&&!l.__iconfont__svg__cssinject__){l.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}o=function(){var a,h=document.createElement("div");h.innerHTML=l._iconfont_svg_string_5200172,(h=h.getElementsByTagName("svg")[0])&&(h.setAttribute("aria-hidden","true"),h.style.position="absolute",h.style.width=0,h.style.height=0,h.style.overflow="hidden",h=h,(a=document.body).firstChild?d(h,a.firstChild):a.appendChild(h))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(o,0):(v=function(){document.removeEventListener("DOMContentLoaded",v,!1),o()},document.addEventListener("DOMContentLoaded",v,!1)):document.attachEvent&&(t=o,i=l.document,c=!1,m(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,e())})}function e(){c||(c=!0,t())}function m(){try{i.documentElement.doScroll("left")}catch(a){return void setTimeout(m,50)}e()}})(window); \ No newline at end of file diff --git a/ui/src/components.d.ts b/ui/src/components.d.ts index dec2508e6ad..6779c68675e 100644 --- a/ui/src/components.d.ts +++ b/ui/src/components.d.ts @@ -14,8 +14,8 @@ declare module 'vue' { export interface GlobalComponents { ApplicationIcon: typeof import('./components/global/mk-icon/ApplicationIcon.vue')['default'] KnowledgeIcon: typeof import('./components/global/mk-icon/KnowledgeIcon.vue')['default'] - LayoutAside: typeof import('./components/global/mk-view-layout/layout-aside.vue')['default'] - LayoutBatchFooter: typeof import('./components/global/mk-view-layout/layout-batch-footer.vue')['default'] + LayoutAside: typeof import('./components/global/mk-view-layout/LayoutAside.vue')['default'] + LayoutBatchFooter: typeof import('./components/global/mk-view-layout/LayoutBatchFooter.vue')['default'] LoadingIcon: typeof import('./components/global/mk-icon/LoadingIcon.vue')['default'] MdEditor: typeof import('./components/global/markdown-editor/MdEditor.vue')['default'] MdEditorMagnify: typeof import('./components/global/markdown-editor/MdEditorMagnify.vue')['default'] @@ -25,8 +25,8 @@ declare module 'vue' { MkDialog: typeof import('./components/global/mk-dialog/index.vue')['default'] MkDrawer: typeof import('./components/global/mk-drawer/index.vue')['default'] MkDropdown: typeof import('./components/global/mk-dropdown/index.vue')['default'] - MkDropdownItem: typeof import('./components/global/mk-dropdown/mk-dropdown-item.vue')['default'] - MkDropdownMenu: typeof import('./components/global/mk-dropdown/mk-dropdown-menu.vue')['default'] + MkDropdownItem: typeof import('./components/global/mk-dropdown/MkDropdownItem.vue')['default'] + MkDropdownMenu: typeof import('./components/global/mk-dropdown/MkDropdownMenu.vue')['default'] MkEmpty: typeof import('./components/global/mk-empty/index.vue')['default'] MkFormList: typeof import('./components/global/mk-form-list/index.vue')['default'] MkIcon: typeof import('./components/global/mk-icon/index.vue')['default'] @@ -35,12 +35,12 @@ declare module 'vue' { MkSearchInput: typeof import('./components/global/mk-search-input/index.vue')['default'] MkSlider: typeof import('./components/global/mk-slider/index.vue')['default'] MkSourceCard: typeof import('./components/global/mk-source-card/index.vue')['default'] - MkSourceCardAction: typeof import('./components/global/mk-source-card/mk-source-card-action.vue')['default'] - MkSourceCardActionDropdown: typeof import('./components/global/mk-source-card/mk-source-card-action-dropdown.vue')['default'] + MkSourceCardAction: typeof import('./components/global/mk-source-card/MkSourceCardAction.vue')['default'] + MkSourceCardActionDropdown: typeof import('./components/global/mk-source-card/MkSourceCardActionDropdown.vue')['default'] MkStatusLabel: typeof import('./components/global/mk-status-label/index.vue')['default'] MkTable: typeof import('./components/global/mk-table/index.vue')['default'] - MkTableFilter: typeof import('./components/global/mk-table/mk-table-filter.vue')['default'] - MkTableMoreDropdown: typeof import('./components/global/mk-table/mk-table-more-dropdown.vue')['default'] + MkTableFilter: typeof import('./components/global/mk-table/MkTableFilter.vue')['default'] + MkTableMoreDropdown: typeof import('./components/global/mk-table/MkTableMoreDropdown.vue')['default'] MkTagGroup: typeof import('./components/global/mk-tag-group/index.vue')['default'] MkTooltip: typeof import('./components/global/mk-tooltip/index.vue')['default'] MkViewLayout: typeof import('./components/global/mk-view-layout/index.vue')['default'] @@ -55,8 +55,8 @@ declare module 'vue' { declare global { const ApplicationIcon: typeof import('./components/global/mk-icon/ApplicationIcon.vue')['default'] const KnowledgeIcon: typeof import('./components/global/mk-icon/KnowledgeIcon.vue')['default'] - const LayoutAside: typeof import('./components/global/mk-view-layout/layout-aside.vue')['default'] - const LayoutBatchFooter: typeof import('./components/global/mk-view-layout/layout-batch-footer.vue')['default'] + const LayoutAside: typeof import('./components/global/mk-view-layout/LayoutAside.vue')['default'] + const LayoutBatchFooter: typeof import('./components/global/mk-view-layout/LayoutBatchFooter.vue')['default'] const LoadingIcon: typeof import('./components/global/mk-icon/LoadingIcon.vue')['default'] const MdEditor: typeof import('./components/global/markdown-editor/MdEditor.vue')['default'] const MdEditorMagnify: typeof import('./components/global/markdown-editor/MdEditorMagnify.vue')['default'] @@ -66,8 +66,8 @@ declare global { const MkDialog: typeof import('./components/global/mk-dialog/index.vue')['default'] const MkDrawer: typeof import('./components/global/mk-drawer/index.vue')['default'] const MkDropdown: typeof import('./components/global/mk-dropdown/index.vue')['default'] - const MkDropdownItem: typeof import('./components/global/mk-dropdown/mk-dropdown-item.vue')['default'] - const MkDropdownMenu: typeof import('./components/global/mk-dropdown/mk-dropdown-menu.vue')['default'] + const MkDropdownItem: typeof import('./components/global/mk-dropdown/MkDropdownItem.vue')['default'] + const MkDropdownMenu: typeof import('./components/global/mk-dropdown/MkDropdownMenu.vue')['default'] const MkEmpty: typeof import('./components/global/mk-empty/index.vue')['default'] const MkFormList: typeof import('./components/global/mk-form-list/index.vue')['default'] const MkIcon: typeof import('./components/global/mk-icon/index.vue')['default'] @@ -76,12 +76,12 @@ declare global { const MkSearchInput: typeof import('./components/global/mk-search-input/index.vue')['default'] const MkSlider: typeof import('./components/global/mk-slider/index.vue')['default'] const MkSourceCard: typeof import('./components/global/mk-source-card/index.vue')['default'] - const MkSourceCardAction: typeof import('./components/global/mk-source-card/mk-source-card-action.vue')['default'] - const MkSourceCardActionDropdown: typeof import('./components/global/mk-source-card/mk-source-card-action-dropdown.vue')['default'] + const MkSourceCardAction: typeof import('./components/global/mk-source-card/MkSourceCardAction.vue')['default'] + const MkSourceCardActionDropdown: typeof import('./components/global/mk-source-card/MkSourceCardActionDropdown.vue')['default'] const MkStatusLabel: typeof import('./components/global/mk-status-label/index.vue')['default'] const MkTable: typeof import('./components/global/mk-table/index.vue')['default'] - const MkTableFilter: typeof import('./components/global/mk-table/mk-table-filter.vue')['default'] - const MkTableMoreDropdown: typeof import('./components/global/mk-table/mk-table-more-dropdown.vue')['default'] + const MkTableFilter: typeof import('./components/global/mk-table/MkTableFilter.vue')['default'] + const MkTableMoreDropdown: typeof import('./components/global/mk-table/MkTableMoreDropdown.vue')['default'] const MkTagGroup: typeof import('./components/global/mk-tag-group/index.vue')['default'] const MkTooltip: typeof import('./components/global/mk-tooltip/index.vue')['default'] const MkViewLayout: typeof import('./components/global/mk-view-layout/index.vue')['default'] diff --git a/ui/src/components/COMPONENT_README.md b/ui/src/components/COMPONENT_README.md index 663e8dde0a7..7bb21a14f0d 100644 --- a/ui/src/components/COMPONENT_README.md +++ b/ui/src/components/COMPONENT_README.md @@ -49,6 +49,8 @@ import { MkDynamicsForm, MkDynamicsFormConstructor } from '@/components/mk-dynam 此规则适用于公共、页面和画布按钮组件;文件名、导入名、模板标签及已有的 `defineOptions.name` 保持一致,打开方法仍可命名为 `handleOpenXxx`。 - 目录使用 kebab-case,默认入口为 `index.vue`,通过 `defineOptions` 声明 PascalCase 多单词组件名。 + `global/` 下除默认入口 `index.vue` 外,Vue 组件文件统一使用 PascalCase(大驼峰),例如 + `MkDropdownMenu.vue`、`LayoutBatchFooter.vue`,与组件名及导入名保持一致。 Markdown 编辑器、CodeMirror 和 Logo 按下文的专用入口使用。 - Props、Emits、Slots 保持类型化。类型归属遵循 [API_README.md](../api/API_README.md), API 与组件共用类型从 `@/api/types` 导入。 @@ -417,6 +419,8 @@ const avatar = ref('') 默认主题下展示内置蓝紫渐变 Logo,自定义主题下使用 Theme Store 中的当前主题色。`LogoFull` 还会优先展示 Theme Store 中配置的 `loginLogo`。两个组件都只接收可选的 `height`,其余主题与 Logo 数据统一从 Theme Store 获取。 +`height` 通过 CSS 高度应用到所有图片和 SVG 分支,数字及纯数字字符串按 px 处理,也支持 +`24px`、`2rem` 等 CSS 长度;例如 `:height="24"` 和 `height="24"` 均显示为 24px 高。 ### MkEchart、MkLineChart diff --git a/ui/src/components/business/workspace-relation-tags/index.vue b/ui/src/components/business/workspace-relation-tags/index.vue index 4ee17279c5f..bfb7976103a 100644 --- a/ui/src/components/business/workspace-relation-tags/index.vue +++ b/ui/src/components/business/workspace-relation-tags/index.vue @@ -6,12 +6,15 @@ defineOptions({ name: 'WorkspaceRelationTags' }) const props = defineProps<{ tableRenderParams: Record<'property' | 'value', string>; tags?: string[]; tagWorkspace?: Record }>() const tableData = computed(() => { - return Object.entries(props.tagWorkspace ?? {}).map(([tagName, workspaces]) => ({ property: tagName, value: workspaces[0] === 'None' ? '-' : workspaces.join(', ') })) + return Object.entries(props.tagWorkspace ?? {}).map(([tagName, workspaces]) => ({ + property: tagName, + value: workspaces[0] === 'None' ? '-' : workspaces.join(', '), + })) }) -
+
本次对话
{{ data.question || '-' }}
-
+
负向提示词
{{ data.negative_prompt || '-' }}
-
+
AI 回答
diff --git a/ui/src/workflow-canvas/nodes/image-to-video-node/details/index.vue b/ui/src/workflow-canvas/nodes/image-to-video-node/details/index.vue index 31328d1d48b..c21cfc91f6a 100644 --- a/ui/src/workflow-canvas/nodes/image-to-video-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/image-to-video-node/details/index.vue @@ -16,21 +16,21 @@ defineProps<{ -
+
本次对话
{{ data.question || '-' }}
-
+
负向提示词
{{ data.negative_prompt || '-' }}
-
+
首帧
-
+
末帧
-
+
AI 回答
diff --git a/ui/src/workflow-canvas/nodes/image-understand-node/details/application.vue b/ui/src/workflow-canvas/nodes/image-understand-node/details/application.vue index 5b73e1becc1..7d4936aceb3 100644 --- a/ui/src/workflow-canvas/nodes/image-understand-node/details/application.vue +++ b/ui/src/workflow-canvas/nodes/image-understand-node/details/application.vue @@ -16,12 +16,12 @@ defineProps<{ -
+
系统提示词
{{ data.system || '-' }}
-
+
历史记录
-
+
系统提示词
{{ data.system || '-' }}
-
+
用户提示词
@@ -42,7 +42,7 @@ defineProps<{
-
+
思考过程
@@ -50,7 +50,7 @@ defineProps<{
-
+
AI 回答
diff --git a/ui/src/workflow-canvas/nodes/intent-node/details/index.vue b/ui/src/workflow-canvas/nodes/intent-node/details/index.vue index fbcd7fcc290..f2be2179d24 100644 --- a/ui/src/workflow-canvas/nodes/intent-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/intent-node/details/index.vue @@ -17,13 +17,13 @@ defineProps<{ -
+
系统提示词
{{ data.system || '-' }}
-
+
历史记录
-
+
写入内容(每个文档仅展示前 5 个分段)
diff --git a/ui/src/workflow-canvas/nodes/loop-break-node/details/index.vue b/ui/src/workflow-canvas/nodes/loop-break-node/details/index.vue index 372316b59a4..32b9ffa98b3 100644 --- a/ui/src/workflow-canvas/nodes/loop-break-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/loop-break-node/details/index.vue @@ -16,7 +16,7 @@ defineProps<{ -
+
输出参数
是否退出:{{ data.is_break }}
diff --git a/ui/src/workflow-canvas/nodes/loop-continue-node/details/index.vue b/ui/src/workflow-canvas/nodes/loop-continue-node/details/index.vue index 856e1c5a990..9f501815c18 100644 --- a/ui/src/workflow-canvas/nodes/loop-continue-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/loop-continue-node/details/index.vue @@ -16,7 +16,7 @@ defineProps<{ -
+
输出参数
是否继续:{{ data.is_continue }}
diff --git a/ui/src/workflow-canvas/nodes/loop-node/details/index.vue b/ui/src/workflow-canvas/nodes/loop-node/details/index.vue index 1ed9e1fa3af..b988e911c2a 100644 --- a/ui/src/workflow-canvas/nodes/loop-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/loop-node/details/index.vue @@ -34,7 +34,7 @@ const currentLoopDetail = computed(() => Object.values(pr -
+
循环设置

循环类型:{{ data.loop_type || '-' }}

@@ -46,7 +46,7 @@ const currentLoopDetail = computed(() => Object.values(pr
-
+
循环详情
-
+
输入参数

循环项:{{ data.current_item }}

diff --git a/ui/src/workflow-canvas/nodes/mcp-node/details/index.vue b/ui/src/workflow-canvas/nodes/mcp-node/details/index.vue index fbd891e5a7a..7fb629a1952 100644 --- a/ui/src/workflow-canvas/nodes/mcp-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/mcp-node/details/index.vue @@ -16,14 +16,14 @@ defineProps<{ -
+
工具
{{ data.mcp_tool || '-' }}
-
+
工具参数

@@ -32,7 +32,7 @@ defineProps<{

-
+
输出参数

result:{{ f }}

diff --git a/ui/src/workflow-canvas/nodes/parameter-extraction-node/details/index.vue b/ui/src/workflow-canvas/nodes/parameter-extraction-node/details/index.vue index 0759ce8e120..671f29a4d03 100644 --- a/ui/src/workflow-canvas/nodes/parameter-extraction-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/parameter-extraction-node/details/index.vue @@ -16,14 +16,14 @@ defineProps<{ -
+
输入参数
{{ data.request || '-' }}
-
+
输出参数

diff --git a/ui/src/workflow-canvas/nodes/question-node/details/index.vue b/ui/src/workflow-canvas/nodes/question-node/details/index.vue index 2016a6675a1..fa3d7742288 100644 --- a/ui/src/workflow-canvas/nodes/question-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/question-node/details/index.vue @@ -16,12 +16,12 @@ defineProps<{ -

+
系统提示词
{{ data.system || '-' }}
-
+
历史记录
-
+
回复内容
diff --git a/ui/src/workflow-canvas/nodes/reranker-node/details/index.vue b/ui/src/workflow-canvas/nodes/reranker-node/details/index.vue index ba214e3b192..2433a95ed15 100644 --- a/ui/src/workflow-canvas/nodes/reranker-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/reranker-node/details/index.vue @@ -18,12 +18,12 @@ defineProps<{ -
+
检索内容
{{ data.question || '-' }}
-
+
重排内容
-
+
检索内容
{{ data.question || '-' }}
-
+
检索结果
-
+
输入参数
@@ -28,7 +28,7 @@ defineProps<{
-
+
输出参数
-
+
输入参数

问题:{{ data.question || '-' }}

diff --git a/ui/src/workflow-canvas/nodes/text-to-speech-node/details/index.vue b/ui/src/workflow-canvas/nodes/text-to-speech-node/details/index.vue index 639dd8f7727..3a73721f72b 100644 --- a/ui/src/workflow-canvas/nodes/text-to-speech-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/text-to-speech-node/details/index.vue @@ -16,7 +16,7 @@ defineProps<{ -
+
输入参数

文本内容:

@@ -24,7 +24,7 @@ defineProps<{
-
+
输出参数

音频文件:

diff --git a/ui/src/workflow-canvas/nodes/text-to-video-node/details/index.vue b/ui/src/workflow-canvas/nodes/text-to-video-node/details/index.vue index 806f4b7e195..c00b0e309be 100644 --- a/ui/src/workflow-canvas/nodes/text-to-video-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/text-to-video-node/details/index.vue @@ -16,21 +16,21 @@ defineProps<{ -
+
本次对话
{{ data.question || '-' }}
-
+
负向提示词
{{ data.negative_prompt || '-' }}
-
+
AI 回答
diff --git a/ui/src/workflow-canvas/nodes/tool-custom-node/details/index.vue b/ui/src/workflow-canvas/nodes/tool-custom-node/details/index.vue index 1da723bcea4..aa5f12f22fe 100644 --- a/ui/src/workflow-canvas/nodes/tool-custom-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/tool-custom-node/details/index.vue @@ -17,7 +17,7 @@ defineProps<{ -
+
输入
{{ data.params || '-' }} @@ -25,7 +25,7 @@ defineProps<{
-
+
输出
{{ data.result || '-' }} diff --git a/ui/src/workflow-canvas/nodes/tool-lib-node/details/index.vue b/ui/src/workflow-canvas/nodes/tool-lib-node/details/index.vue index 7b0a40105f9..5b77d3a6fbc 100644 --- a/ui/src/workflow-canvas/nodes/tool-lib-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/tool-lib-node/details/index.vue @@ -16,14 +16,14 @@ defineProps<{ -
+
输入
{{ data.params || '-' }}
-
+
输出
{{ data.result || '-' }} diff --git a/ui/src/workflow-canvas/nodes/tool-start-node/details/index.vue b/ui/src/workflow-canvas/nodes/tool-start-node/details/index.vue index 275a9d92d43..9f5fcc0b65c 100644 --- a/ui/src/workflow-canvas/nodes/tool-start-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/tool-start-node/details/index.vue @@ -16,7 +16,7 @@ defineProps<{ -
+
输入参数

diff --git a/ui/src/workflow-canvas/nodes/tool-workflow-lib-node/details/index.vue b/ui/src/workflow-canvas/nodes/tool-workflow-lib-node/details/index.vue index f2c5412174a..bd219223606 100644 --- a/ui/src/workflow-canvas/nodes/tool-workflow-lib-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/tool-workflow-lib-node/details/index.vue @@ -24,7 +24,7 @@ withDefaults( -

+
输入参数

@@ -33,7 +33,7 @@ withDefaults(

-
+
输出参数

@@ -42,7 +42,7 @@ withDefaults(

-
+
执行详情
diff --git a/ui/src/workflow-canvas/nodes/variable-aggregation-node/details/index.vue b/ui/src/workflow-canvas/nodes/variable-aggregation-node/details/index.vue index 89ec2741e6f..69804ff576e 100644 --- a/ui/src/workflow-canvas/nodes/variable-aggregation-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/variable-aggregation-node/details/index.vue @@ -22,14 +22,14 @@ const strategyLabel = (strategy?: string) => { -
+
聚合策略
{{ strategyLabel(data.strategy) }}
-
+
{{ group.label }}输入参数
@@ -40,7 +40,7 @@ const strategyLabel = (strategy?: string) => {
-
+
输出参数
diff --git a/ui/src/workflow-canvas/nodes/variable-assign-node/details/index.vue b/ui/src/workflow-canvas/nodes/variable-assign-node/details/index.vue index 718ca2b9ebc..b0670d3f4ff 100644 --- a/ui/src/workflow-canvas/nodes/variable-assign-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/variable-assign-node/details/index.vue @@ -17,7 +17,7 @@ defineProps<{ -
+
输入参数

@@ -27,7 +27,7 @@ defineProps<{

-
+
输出参数

diff --git a/ui/src/workflow-canvas/nodes/variable-splitting-node/details/index.vue b/ui/src/workflow-canvas/nodes/variable-splitting-node/details/index.vue index 45b78c1e1e4..3d0df036795 100644 --- a/ui/src/workflow-canvas/nodes/variable-splitting-node/details/index.vue +++ b/ui/src/workflow-canvas/nodes/variable-splitting-node/details/index.vue @@ -16,14 +16,14 @@ defineProps<{ -

+
输入参数
{{ data.request || '-' }}
-
+
输出参数

diff --git a/ui/src/workflow-canvas/nodes/video-understand-node/details/application.vue b/ui/src/workflow-canvas/nodes/video-understand-node/details/application.vue index 11c19be54b1..9a43b72a28e 100644 --- a/ui/src/workflow-canvas/nodes/video-understand-node/details/application.vue +++ b/ui/src/workflow-canvas/nodes/video-understand-node/details/application.vue @@ -16,12 +16,12 @@ defineProps<{ -

+
系统提示词
{{ data.system || '-' }}
-
+
历史记录
-
+
系统提示词
{{ data.system || '-' }}
-
+
用户提示词
@@ -31,7 +31,7 @@ defineProps<{
-
+
思考过程
@@ -39,7 +39,7 @@ defineProps<{
-
+
AI 回答