From 285b2c50bf86f549cfa4d2572e01cbb8a3531cac Mon Sep 17 00:00:00 2001 From: linshen <32978552+linshenkx@users.noreply.github.com> Date: Sat, 27 Sep 2025 22:59:44 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ui):=20=E9=87=8D=E6=9E=84=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E6=9E=B6=E6=9E=84=E5=B9=B6=E6=96=B0=E5=A2=9E=E4=B8=8A?= =?UTF-8?q?=E4=B8=8B=E6=96=87=E6=A8=A1=E6=9D=BF=E7=B1=BB=E5=9E=8B=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - feat(TemplateManager): 新增3个上下文相关模板类型 - contextSystemOptimize: 上下文系统优化模板 - contextUserOptimize: 上下文用户优化模板 - contextIterate: 上下文迭代模板 - 完善类型映射和选择逻辑 - refactor(App): 组件统一化重构 - 将ModelSelectUI和TemplateSelectUI替换为SelectWithConfig - 实现统一的选择器组件,提高代码复用性 - 新增响应式数据管理和状态同步机制 - 优化模板和模型选择的刷新逻辑 - 改进v-model绑定方式,符合Vue 3最佳实践 - improve: 状态管理优化 - 新增templateOptions和textModelOptions响应式数据 - 实现自动状态同步和选择验证 - 优化错误处理和边界情况处理 --- .../ui/src/components/TemplateManager.vue | 20 +- packages/web/src/App.vue | 251 +++++++++++++++--- 2 files changed, 226 insertions(+), 45 deletions(-) diff --git a/packages/ui/src/components/TemplateManager.vue b/packages/ui/src/components/TemplateManager.vue index fad83d94..c6f4c5a7 100644 --- a/packages/ui/src/components/TemplateManager.vue +++ b/packages/ui/src/components/TemplateManager.vue @@ -593,7 +593,16 @@ const props = defineProps<{ selectedSystemOptimizeTemplate?: Template, selectedUserOptimizeTemplate?: Template, selectedIterateTemplate?: Template, - templateType: 'optimize' | 'userOptimize' | 'iterate' | 'text2imageOptimize' | 'image2imageOptimize' | 'imageIterate', + templateType: + | 'optimize' + | 'userOptimize' + | 'iterate' + | 'text2imageOptimize' + | 'image2imageOptimize' + | 'imageIterate' + | 'contextSystemOptimize' + | 'contextUserOptimize' + | 'contextIterate', show: boolean }>() @@ -638,10 +647,13 @@ const migrationDialog = ref<{ const selectedTemplate = computed(() => { switch (props.templateType) { case 'optimize': + case 'contextSystemOptimize': return props.selectedSystemOptimizeTemplate case 'userOptimize': + case 'contextUserOptimize': return props.selectedUserOptimizeTemplate case 'iterate': + case 'contextIterate': return props.selectedIterateTemplate default: return null @@ -663,6 +675,12 @@ function getCategoryFromProps() { return 'image-image2image-optimize' case 'imageIterate': return 'image-iterate' + case 'contextSystemOptimize': + return 'context-system-optimize' + case 'contextUserOptimize': + return 'context-user-optimize' + case 'contextIterate': + return 'context-iterate' default: return 'system-optimize' } diff --git a/packages/web/src/App.vue b/packages/web/src/App.vue index ed60c45f..0fe2cbc6 100644 --- a/packages/web/src/App.vue +++ b/packages/web/src/App.vue @@ -17,8 +17,8 @@ @@ -125,23 +125,44 @@ />