diff --git a/apps/frontend/src/components/CanvasEditor.vue b/apps/frontend/src/components/CanvasEditor.vue new file mode 100644 index 0000000..8921c1a --- /dev/null +++ b/apps/frontend/src/components/CanvasEditor.vue @@ -0,0 +1,546 @@ + + + + + + 画笔颜色: + + + + + + + 画笔大小: + + + + + + 橡皮擦 + + + + 清空 + + + + 确定 + + + + + + + 加载图片中... + + + + 图片加载失败 + 重试 + 关闭 + + + + + + + + + + + + + diff --git a/apps/frontend/src/components/IPCard/index.vue b/apps/frontend/src/components/IPCard/index.vue index a1e8ca6..eb88676 100644 --- a/apps/frontend/src/components/IPCard/index.vue +++ b/apps/frontend/src/components/IPCard/index.vue @@ -15,7 +15,7 @@ ref="textInputRef" v-model="textInputValue" class="text-input-area" - placeholder="请输入文本内容..." + :placeholder="t('modelModal.textInputPlaceholder')" rows="4" @keydown.enter.ctrl="handleTextInputConfirm" @keydown.esc="handleTextInputCancel" @@ -74,6 +74,10 @@ + + + + @@ -91,7 +95,7 @@ import { GiminiServer } from '@deotaland/utils'; // import anTypeImg from '@/assets/sketches/dwww2.png'; // import cz2 from '@/assets/material/cz2.png'; // 引入Element Plus图标库和组件 -import { Cpu, ChatDotRound, CloseBold,Grid,View } from '@element-plus/icons-vue' +import { Cpu, ChatDotRound, CloseBold,Grid,View,EditPen } from '@element-plus/icons-vue' import { ElIcon,ElMessage,ElSkeleton,ElImage } from 'element-plus' const { t } = useI18n(); const formData = ref({ @@ -221,8 +225,10 @@ const props = defineProps({ }); // 定义事件 -const emit = defineEmits(['generate-model-requested', 'create-new-card','create-prompt-card','delete','preview-image','customize-to-home']); - +const emit = defineEmits(['generate-model-requested', 'create-new-card','create-prompt-card','delete','preview-image','customize-to-home','handlePartialEdit']); +const handlePartialEdit = ()=>{ + emit('handlePartialEdit', formData.value.internalImageUrl); +} // 处理图片生成 const handleGenerateImage = async () => { const iscjt = props?.cardData?.diyPromptText&&props?.cardData?.diyPromptText?.indexOf('[CJT_DEOTA]')!=-1; diff --git a/apps/frontend/src/locales/index.js b/apps/frontend/src/locales/index.js index 7660310..dc44f64 100644 --- a/apps/frontend/src/locales/index.js +++ b/apps/frontend/src/locales/index.js @@ -124,7 +124,8 @@ export default { } }, modelModal: { - customizeToHome: '定制到家' + customizeToHome: '定制到家', + textInputPlaceholder: '请输入调整内容,例如:更改角色表情' }, modelCard: { generateModelButton: '生成模型', @@ -1446,7 +1447,8 @@ export default { } }, modelModal: { - customizeToHome: 'Customize to Home' + customizeToHome: 'Customize to Home', + textInputPlaceholder: 'Please enter adjustment content, e.g. change character expression' }, modelCard: { generateModelButton: 'Generate Model', diff --git a/apps/frontend/src/views/Project/CreateProject.vue b/apps/frontend/src/views/Project/CreateProject.vue index 5c522ba..b9c9cab 100644 --- a/apps/frontend/src/views/Project/CreateProject.vue +++ b/apps/frontend/src/views/Project/CreateProject.vue @@ -55,6 +55,8 @@ class="delete-button" @click.stop="handleDeleteCard(index)" @mousedown.stop + @touchstart.stop + @touchend.stop title="删除卡片" > @@ -65,6 +67,7 @@ handlePartialEdit(imageUrl, index)" @customize-to-home="handleCustomizeToHome(index)" @preview-image="handlePreviewImage" @generate-smooth-white-model="(imageUrl)=>handleGenerateSmoothWhiteModel(index,imageUrl)" @@ -120,7 +123,11 @@ :initialIndex="currentImageIndex" @close="showImagePreview = false" /> - +
图片加载失败