From c6a9d91159cb3ecf0a08136970a78e825c3e224b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E9=B9=8F?= <2916022834@qq.com> Date: Tue, 23 Dec 2025 09:30:33 +0800 Subject: [PATCH] fix --- src/stores/modules/h_generate.ts | 1 - src/views/Workshop/creation/creation-list.vue | 4 ++++ src/views/Workshop/customize.vue | 18 +++++++++++------- src/views/Workshop/homeNav.vue | 15 ++++++++++++--- src/views/Workshop/product.vue | 4 ++-- src/views/Workshop/selectStyle.vue | 2 +- src/views/Workshop/uploadFace2.vue | 5 +++-- 7 files changed, 33 insertions(+), 16 deletions(-) diff --git a/src/stores/modules/h_generate.ts b/src/stores/modules/h_generate.ts index 871bdc8..cbb76b8 100644 --- a/src/stores/modules/h_generate.ts +++ b/src/stores/modules/h_generate.ts @@ -60,7 +60,6 @@ export const useHGenerateStore = defineStore({ }, //设置默认数据 clearGenerateData() { - this.clearProductData() this.clearCustomizeInfo() }, } diff --git a/src/views/Workshop/creation/creation-list.vue b/src/views/Workshop/creation/creation-list.vue index 9e1c179..793a6ad 100644 --- a/src/views/Workshop/creation/creation-list.vue +++ b/src/views/Workshop/creation/creation-list.vue @@ -40,6 +40,10 @@ navLst.forEach((v) => { if (v.flowType === query.value.flowType) navActive.value = v.value }) + navLst.forEach((v) => { + if (v.flowType === query.value.active) navActive.value = v.value + }) + const clickNav = (v) => { if (v.value === navActive.value || loading.value) return navActive.value = v.value diff --git a/src/views/Workshop/customize.vue b/src/views/Workshop/customize.vue index 77b2ede..2dd3429 100644 --- a/src/views/Workshop/customize.vue +++ b/src/views/Workshop/customize.vue @@ -3,21 +3,21 @@ import { ref, onMounted, computed } from 'vue' import { generateTryOnEffect, - generateTryOnEffectDemo, setTryOnEffectFavorite, cancelTryOnEffectFavorite } from '@/api/workshop' const emit = defineEmits(['viewType']) import { useRouter, useRoute } from 'vue-router' - import { useGenerateStore } from '@/stores' + import { useGenerateStore, useHGenerateStore } from '@/stores' import { FlowType, IsHistoryFlow } from '@/types/enum' const generateStore = useGenerateStore() + const hGenerateStore = useHGenerateStore() const router = useRouter() const route = useRoute() const query = computed(() => route.query) const isHistoryFlow = computed(() => IsHistoryFlow(query.value.flowType)) const customizeInfo = isHistoryFlow.value - ? generateStore.customizeInfoDemo + ? hGenerateStore.customizeInfo : generateStore.customizeInfo const loading = ref(false) const onSend = () => { @@ -53,7 +53,7 @@ } if (isHistoryFlow.value) { data['originalTryOnId'] = - type === 'reload' ? customizeInfo.oldTryOnId : generateStore.customizeInfoDemo.tryOnId + type === 'reload' ? customizeInfo.oldTryOnId : hGenerateStore.originalTryOnId } else { data['styleId'] = generateStore.styleId data['originalTryOnId'] = @@ -62,7 +62,7 @@ generateTryOnEffect(data) .then((res: any) => { customizeInfo.count++ - customizeInfo.tryOnId = res.tryOnId + customizeInfo.tryOnId = res.id customizeInfo.tryOnUrl = res.tryOnUrl customizeInfo.styleUrl = res.styleUrl customizeInfo.isRegenerated = res.isRegenerated @@ -102,7 +102,11 @@ } const onFinish = () => { // router.push({ name: 'creation', query: query.value }) - router.push({ name: 'creation', query: { flowType: FlowType.H_AI } }) + const query_ = { + ...query.value, + active: FlowType.H_AI + } + router.push({ name: 'creation', query: query_ }) // if (isHistoryFlow.value) { // router.push({ name: 'end' }) // } else { @@ -280,7 +284,7 @@ } > .btns { margin-top: 4rem; - width: 68%; + min-width: 68%; display: flex; // justify-content: center; justify-content: space-between; diff --git a/src/views/Workshop/homeNav.vue b/src/views/Workshop/homeNav.vue index 856ef77..be86596 100644 --- a/src/views/Workshop/homeNav.vue +++ b/src/views/Workshop/homeNav.vue @@ -6,8 +6,8 @@ const route = useRoute() import { showConfirmDialog } from 'vant' import MyEvent from '@/utils/myEvent' import { FlowType, IsHistoryFlow } from '@/types/enum' -import { useGenerateStore } from '@/stores' -const generateStore = useGenerateStore() +import { useHGenerateStore } from '@/stores' +const hGenerateStore = useHGenerateStore() //const props = defineProps({ @@ -66,13 +66,22 @@ onMounted(()=>{ path: 'uploadFace', imgPath: new URL('@/assets/images/nav3.png',import.meta.url).href, flowTypeList: [FlowType.H_TRYON,FlowType.H_AI], + click(){ + hGenerateStore.clearCustomizeInfo() + }, }, { path: 'customize', imgPath: new URL('@/assets/images/nav4.png',import.meta.url).href, flowTypeList: [FlowType.H_TRYON,FlowType.H_AI], click(){ - generateStore.updatePhotoInfo({}) + hGenerateStore.clearCustomizeInfo() + hGenerateStore.uploadCustomizeInfo({ + tryOnId: hGenerateStore.originalTryOn.id, + tryOnUrl: hGenerateStore.originalTryOn.tryOnUrl, + isFavorite: hGenerateStore.originalTryOn.isLike, + styleUrl: hGenerateStore.style.url, + }) }, }, ] diff --git a/src/views/Workshop/product.vue b/src/views/Workshop/product.vue index f139201..1eb25dc 100644 --- a/src/views/Workshop/product.vue +++ b/src/views/Workshop/product.vue @@ -35,7 +35,7 @@ const feedbackForm = ref({ const onContinue = ()=>{ const query = router.currentRoute.value.query - if(query?.flowType == FlowType.MAIN){ + if(query?.flowType == FlowType.MAIN || !query?.flowType){ router.push({ path: 'uploadFace', query: {...query} }) }else{ router.push({ path: 'creation', query: {...query} }) @@ -61,7 +61,7 @@ const startGenerate = ()=>{ generateTryOnEffect(value).then((res:any)=>{ data.isLoading = false; generateStore.originalTryOn.isLike = false - generateStore.originalTryOn.id = res.tryOnId + generateStore.originalTryOn.id = res.id generateStore.originalTryOn.tryOnUrl = res.tryOnUrl generateStore.useStyleGenerate()//生成后需要对选择衣服页面设置不可选中样式 generateStore.setIsGenerate(false) diff --git a/src/views/Workshop/selectStyle.vue b/src/views/Workshop/selectStyle.vue index 37d2dd8..5445e3e 100644 --- a/src/views/Workshop/selectStyle.vue +++ b/src/views/Workshop/selectStyle.vue @@ -47,7 +47,7 @@ const toProduct = ()=>{ generateStore.setIsGenerate(true) } const query = router.currentRoute.value.query - if(query?.flowType == FlowType.MAIN){ + if(query?.flowType == FlowType.MAIN || !query?.flowType){ router.push({ path: 'product', query: {...query} }) }else{ router.push({ path: 'creation', query: {...query} }) diff --git a/src/views/Workshop/uploadFace2.vue b/src/views/Workshop/uploadFace2.vue index d65d254..8099571 100644 --- a/src/views/Workshop/uploadFace2.vue +++ b/src/views/Workshop/uploadFace2.vue @@ -2,9 +2,10 @@ import { ref, reactive, onMounted, computed } from 'vue' import { useRouter, useRoute } from 'vue-router' import { uploadCustomerPhoto } from '@/api/workshop' - import { useGenerateStore } from '@/stores' + import { useGenerateStore, useHGenerateStore } from '@/stores' import { IsHistoryFlow } from '@/types/enum' const generateStore = useGenerateStore() + const hGenerateStore = useHGenerateStore() const emit = defineEmits(['view-type']) onMounted(() => { @@ -47,7 +48,7 @@ formData.append('file', fileData.file) uploadCustomerPhoto(formData).then((res) => { generateStore.updatePhotoInfo({ ...res, file: fileData.file }) - isHistoryFlow.value ? generateStore.clearCustomizeInfoDemo() : generateStore.clearCustomizeInfo() + isHistoryFlow.value ? hGenerateStore.clearCustomizeInfo() : generateStore.clearCustomizeInfo() router.push({ name: 'customize', query: query.value }) }) }