From 114cea1a2906f99f432d2214ca64b60d979b1753 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E9=B9=8F?= <2916022834@qq.com> Date: Fri, 24 Oct 2025 15:19:29 +0800 Subject: [PATCH] 1 --- .env.development | 2 +- src/stores/modules/generate.ts | 15 ++++++------ src/views/Workshop/creation/creation-list.vue | 5 +++- src/views/Workshop/customize.vue | 24 +++++++++---------- src/views/Workshop/library.vue | 5 ++-- src/views/Workshop/uploadFace2.vue | 10 +++++--- 6 files changed, 35 insertions(+), 26 deletions(-) diff --git a/.env.development b/.env.development index 7793d5e..e39cfae 100644 --- a/.env.development +++ b/.env.development @@ -1 +1 @@ -VITE_APP_URL = https://b0cd77b2f755.ngrok-free.app \ No newline at end of file +VITE_APP_URL = http://192.168.31.82:8771 \ No newline at end of file diff --git a/src/stores/modules/generate.ts b/src/stores/modules/generate.ts index 9ab7e87..6d7290f 100644 --- a/src/stores/modules/generate.ts +++ b/src/stores/modules/generate.ts @@ -11,11 +11,12 @@ export const useGenerateStore = defineStore({ model: { id: -1, }, - tryOnId:{//生成穿好衣服的回参 + tryOnId: {//生成穿好衣服的回参 id: -1, isLike: false,//是否喜欢 }, isGenerate: false,//点击继续按钮后是否需要生成 + /** 顾客照片信息 */ photoInfo: { id: "", @@ -40,11 +41,11 @@ export const useGenerateStore = defineStore({ /** 进店记录id */ visitRecordId: (state) => 1, /** 服装id */ - styleId: (state) => 1, + styleId: (state) => state.style.id, /** 模特照片id */ - modelPhotoId: (state) => 1, - /** 原始试穿id */ - originalTryOnId: (state) => 1, + modelPhotoId: (state) => state.model.id, + /** 原始试穿id-优先AI魔改 */ + originalTryOnId: (state) => state.customizeInfo.tryOnId || state.tryOnId.id, /** 顾客照片id */ customerPhotoId: (state) => state.photoInfo.id, }, @@ -74,8 +75,8 @@ export const useGenerateStore = defineStore({ }, /** 更新顾客照片信息 */ updatePhotoInfo(data: any) { - this.photoInfo.id = data.visitRecordId || "" - this.photoInfo.url = data.defaultImageUrl || "" + this.photoInfo.id = data.id || "" + if (!data.photoUrl) this.photoInfo.url = "" this.photoInfo.file = null }, /** 清空 AI魔改信息 */ diff --git a/src/views/Workshop/creation/creation-list.vue b/src/views/Workshop/creation/creation-list.vue index eb3caa9..73544bb 100644 --- a/src/views/Workshop/creation/creation-list.vue +++ b/src/views/Workshop/creation/creation-list.vue @@ -14,6 +14,8 @@ const emit = defineEmits(['view-type']) const query = computed(() => router.currentRoute.value.query) const visitRecordId = computed(() => query.value.visitRecordId) + import { useGenerateStore } from '@/stores' + const generateStore = useGenerateStore() onMounted(() => { emit('view-type', 1) @@ -28,7 +30,8 @@ const onLoad = () => { loading.value = true const http = visitRecordId.value ? getTryOnEffectFavoriteList : getTryOnEffectStyleList - http(visitRecordId.value) + const id = visitRecordId.value || generateStore.visitRecordId; + http(id) .then((data) => { data?.forEach((v) => { const obj = { diff --git a/src/views/Workshop/customize.vue b/src/views/Workshop/customize.vue index 0573bb4..00feb45 100644 --- a/src/views/Workshop/customize.vue +++ b/src/views/Workshop/customize.vue @@ -11,9 +11,9 @@ const emit = defineEmits(['viewType']) import { useRouter } from 'vue-router' import { useGenerateStore } from '@/stores' - const store = useGenerateStore() + const generateStore = useGenerateStore() - const customizeInfo = store.customizeInfo + const customizeInfo = generateStore.customizeInfo const router = useRouter() const loading = ref(false) const onSend = () => { @@ -26,21 +26,21 @@ } const onReload = () => { customizeInfo.inputText = '' - generate(true) + generate() } // 生成结果 - const generate = (isRegenerated = false) => { + const generate = () => { const data = { - customerId: store.customerId, - visitRecordId: store.visitRecordId, - styleId: store.styleId, - modelPhotoId: store.modelPhotoId, - customerPhotoId: store.customerPhotoId, - originalTryOnId: store.originalTryOnId, - isRegenerated: isRegenerated ? 1 : 0, + customerId: generateStore.customerId, + visitRecordId: generateStore.visitRecordId, + styleId: generateStore.styleId, + // modelPhotoId: generateStore.modelPhotoId, + originalTryOnId: generateStore.originalTryOnId, + isRegenerated: 1, prompt: customizeInfo.inputText } + if (generateStore.customerPhotoId) data.customerPhotoId = generateStore.customerPhotoId loading.value = true generateTryOnEffect(data) .then((res) => { @@ -65,7 +65,7 @@ const http = customizeInfo.isFavorite ? cancelTryOnEffectFavorite : setTryOnEffectFavorite customizeInfo.isFavorite = !customizeInfo.isFavorite isLoveLoading.value = true - http('tryOnId') + http(customizeInfo.tryOnId) .then(() => { isLoveLoading.value = false }) diff --git a/src/views/Workshop/library.vue b/src/views/Workshop/library.vue index ad7053d..274a243 100644 --- a/src/views/Workshop/library.vue +++ b/src/views/Workshop/library.vue @@ -8,6 +8,8 @@ import { getCustomerPhotos, deleteCustomerPhoto } from '@/api/workshop' const emit = defineEmits(['view-type']) import { showConfirmDialog } from 'vant' + import { useGenerateStore } from '@/stores' + const generateStore = useGenerateStore() onMounted(() => { emit('view-type', 1) @@ -18,8 +20,7 @@ const onLoad = () => { loading.value = true - const customerId = '123123123' - getCustomerPhotos(customerId) + getCustomerPhotos(generateStore.customerId) .then((data) => { data?.forEach((v) => { const obj = { diff --git a/src/views/Workshop/uploadFace2.vue b/src/views/Workshop/uploadFace2.vue index 835251e..557d876 100644 --- a/src/views/Workshop/uploadFace2.vue +++ b/src/views/Workshop/uploadFace2.vue @@ -39,8 +39,8 @@ if (fileData.id) return router.push({ name: 'customize' }) if (!fileData.file) return const formData = new FormData() - formData.append('customerId', '1') - formData.append('visitRecordId', '1') + formData.append('customerId', generateStore.customerId + '') + formData.append('visitRecordId', generateStore.visitRecordId + '') formData.append('file', fileData.file) uploadCustomerPhoto(formData).then((res) => { generateStore.updatePhotoInfo(res) @@ -48,6 +48,10 @@ router.push({ name: 'customize' }) }) } + // 处理照片加载错误 + const pictureLoadError = (e: any) => { + // generateStore.updatePhotoInfo({}) + }