diff --git a/src/api/flow-canvas.ts b/src/api/flow-canvas.ts index d4590cc..b499d31 100644 --- a/src/api/flow-canvas.ts +++ b/src/api/flow-canvas.ts @@ -79,17 +79,17 @@ export const getTaskidResult = (data:taskIdList) => { * 图片转真是风格 * @param data 图片转真是风格的参数 * @param data.sketchId sketch id + * @param data.imageUrl 进行生成的图片。minio地址和正常地址都可以 * @param data.mode 选择的模型 * @param data.size 生成图片的大小 - * @param data.imageUrl 进行生成的图片。minio地址和正常地址都可以 * @param data.userPrompt 生成图片的提示词 * @returns 图片转真是风格 */ export interface toRealStyleData { sketchId?: string + imageUrl?: string mode?: string size?: string - imageUrl?: string userPrompt?: string } export const toRealStyleApi = (data:toRealStyleData) => { @@ -98,11 +98,66 @@ export const toRealStyleApi = (data:toRealStyleData) => { method: 'post', data:{ sketchId: data.sketchId, + imageUrl: data.imageUrl, mode: data.mode, size: data.size, - imageUrl: data.imageUrl, userPrompt: data.userPrompt } }) } +/** + * 线稿图上色 + * @param data 线稿图上色的参数 + * @param data.sketchId sketch id + * @param data.imageUrl 进行生成的图片。minio地址和正常地址都可以 + * @param data.variantCount 生成图片的数量 + * @param data.colors 生成上色的图片颜色列表 + * @returns 线稿图上色 + */ +export interface toColorPaletteData { + sketchId?: string + imageUrl?: string + variantCount?: string + colors?: Array +} +export const toColorPaletteApi = (data:toColorPaletteData) => { + return request({ + url: `/api/image/color-palette`, + method: 'post', + data:{ + sketchId: data.sketchId, + imageUrl: data.imageUrl, + variantCount: data.variantCount, + colors: data.colors + } + }) +} + +/** + * 场景构图 + * @param data 场景构图的参数 + * @param data.sketchId sketch id + * @param data.imageUrl 进行生成的图片。minio地址和正常地址都可以 + * @param data.styles 生成上色的图片颜色列表 + * @param data.userPrompt 生成上色的图片颜色列表 + * @returns 场景构图 + */ +export interface toSceneCompositionData { + sketchId?: string + imageUrl?: string + userPrompt?: string + styles?: Array +} +export const toSceneCompositionApi = (data:toSceneCompositionData) => { + return request({ + url: `/api/image/scene-composition`, + method: 'post', + data:{ + sketchId: data.sketchId, + imageUrl: data.imageUrl, + userPrompt: data.userPrompt, + styles: data.styles + } + }) +} diff --git a/src/assets/images/generateLoading.png b/src/assets/images/generateLoading.png new file mode 100644 index 0000000..1df9d8b Binary files /dev/null and b/src/assets/images/generateLoading.png differ diff --git a/src/components/Canvas/FlowCanvas/components/node.vue b/src/components/Canvas/FlowCanvas/components/node.vue index 4a3ec70..6b65ca6 100644 --- a/src/components/Canvas/FlowCanvas/components/node.vue +++ b/src/components/Canvas/FlowCanvas/components/node.vue @@ -21,7 +21,7 @@ import { Handle, Position } from '@vue-flow/core' import { NODE_TYPE } from '../tools/index.d' import { NODE_DATATYPE, NODE_DATATIER } from '../tools/index.d' - import { computed, ref } from 'vue' + import { computed, ref, inject } from 'vue' const handles = ref({ [NODE_TYPE.INPUT]: [{ id: 'Right', type: 'source', position: Position.Right }], [NODE_TYPE.SECONDARY]: [ @@ -49,14 +49,19 @@ default: false } }) + const stateManager = inject('stateManager') as any const nodes = computed(() => props.stateManager.nodes.value) const isSubord = computed(() => nodes.value.some((v) => v.data.superiorID === props.node.id)) const tier = computed(() => Number(props.node?.data?.tier || 0)) + const isReturned = computed(() => { + return props.node.data.type == 'result-image' && props.node.data.data.imageProcessTasks[0].status == 'RETURNED' + }) const isAdd = computed( () => !isSubord.value && NODE_DATATYPE.RESULT_IMAGE === props.node.data.type && - !(tier.value === NODE_DATATIER.TO_3VIEW) + !(tier.value === NODE_DATATIER.TO_3VIEW) && + isReturned.value ) const onAdd = () => { const tier_ = tier.value + 1 diff --git a/src/components/Canvas/FlowCanvas/components/nodes/cards/color-palette.vue b/src/components/Canvas/FlowCanvas/components/nodes/cards/color-palette.vue index a8691f7..19210ae 100644 --- a/src/components/Canvas/FlowCanvas/components/nodes/cards/color-palette.vue +++ b/src/components/Canvas/FlowCanvas/components/nodes/cards/color-palette.vue @@ -26,6 +26,7 @@ const data = reactive({ colors: [] }) + const emit = defineEmits(['update-data']) const maxColor = 5 const delColor = (i: number) => { data.colors.splice(i, 1) @@ -41,7 +42,17 @@ data.colors.push(target.value) } - defineExpose({ data }) + const getApiData = ()=>{ + return { + variantCount: '2', + colors: data.colors + } + } + + onMounted(()=>{ + }) + + defineExpose({ data, getApiData }) \ No newline at end of file