From 6ad265f936d752263c5343a81330356679df1d51 Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Fri, 24 Oct 2025 11:48:15 +0800 Subject: [PATCH 1/2] =?UTF-8?q?style=E7=94=9F=E6=88=90=E6=8E=A5=E5=85=A5?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/css/style.css | 8 ++--- src/assets/css/style.less | 3 ++ src/router/index.ts | 2 +- src/stores/modules/generate.ts | 53 +++++++++++++-------------- src/views/Workshop/customize.vue | 2 +- src/views/Workshop/product.vue | 57 ++++++++++++++++++++++++------ src/views/Workshop/selectModel.vue | 2 +- src/views/Workshop/selectStyle.vue | 13 +++++-- 8 files changed, 92 insertions(+), 48 deletions(-) diff --git a/src/assets/css/style.css b/src/assets/css/style.css index 1041d46..f1fc58c 100644 --- a/src/assets/css/style.css +++ b/src/assets/css/style.css @@ -52,12 +52,8 @@ html:root { --van-dialog-has-title-message-padding-top: 2.5rem; --van-button-default-color: #1B73E7; --van-dialog-confirm-button-text-color: #1B73E7; -} -.van-toast__text { - font-size: 4rem; - height: 5rem; - line-height: 5rem; - padding: 0 2rem; + --van-notify-font-size: 3.5rem; + --van-notify-line-height: 10rem; } .van-toast__text { font-size: 4rem; diff --git a/src/assets/css/style.less b/src/assets/css/style.less index 85626d2..d4b0034 100644 --- a/src/assets/css/style.less +++ b/src/assets/css/style.less @@ -61,6 +61,9 @@ html:root { --van-dialog-has-title-message-padding-top: 2.5rem; --van-button-default-color: #1B73E7; --van-dialog-confirm-button-text-color: #1B73E7; + //消息提示 + --van-notify-font-size: 3.5rem; + --van-notify-line-height: 10rem } diff --git a/src/router/index.ts b/src/router/index.ts index d70abe6..1ddc069 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -82,7 +82,7 @@ const router = createRouter({ { path: '/workshop/selectStyle', name: 'SelectStyle', - component: () => import('../views/Workshop/selectStyle.vue') + component: () => import('../views/Workshop/selectStyle.vue'), }, { path: '/workshop/selectModel', diff --git a/src/stores/modules/generate.ts b/src/stores/modules/generate.ts index 6da1adc..e35fa9f 100644 --- a/src/stores/modules/generate.ts +++ b/src/stores/modules/generate.ts @@ -4,49 +4,50 @@ export const useGenerateStore = defineStore({ id: 'generate', // 必须指明唯一的pinia仓库的id state: () => { return { - userData: { - title: '123123', - name: '123123', - describe: '', - id: '', - style: { - id: -1, - oldId: -1,//表示从生成页面返回回来,需要调整的样式id - }, - model: { - id: -1, - } + style: { + id: -1, + oldId: -1,//表示从生成页面返回回来,需要调整的样式id }, - queryList: [] + model: { + id: -1, + }, + tryOnId:{//生成穿好衣服的回参 + id: -1, + isLike: false,//是否喜欢 + }, + isGenerate: false,//点击继续按钮后是否需要生成 } }, getters: { - customerId: (state) => state.userData.style.id,//顾客id - visitRecordId: (state) => state.userData.style.id,//进店记录id - styleId: (state) => state.userData.style.id,//服装id - modelPhotoId: (state) => state.userData.model.id,//模特照片id - originalTryOnId: (state) => state.userData.style.id,//原始试穿id + customerId: (state) => state.style.id,//顾客id + visitRecordId: (state) => state.style.id,//进店记录id + styleId: (state) => state.style.id,//服装id + modelPhotoId: (state) => state.model.id,//模特照片id + originalTryOnId: (state) => state.style.id,//原始试穿id }, actions: { selectStyle(data: any) { - this.userData.style.id = data.id - console.log(this.userData) + this.style.id = data.id + console.log(this) }, //生成后去掉id 设置oldId来修改样式 useStyleGenerate() { - this.userData.style.oldId = this.userData.style.id - this.userData.style.id = -1 + this.style.oldId = this.style.id + this.style.id = -1 }, updateStyle(data) { console.log(data) - if (data.id == this.userData.style.oldId) { - this.userData.style.oldId = -1 + if (data.id == this.style.oldId) { + this.style.oldId = -1 } }, //模特相关 selectModel(data: any) { - this.userData.model.id = data.id - console.log(this.userData) + this.model.id = data.id + console.log(this) + }, + setIsGenerate(isGenerate: boolean) { + this.isGenerate = isGenerate } } }) diff --git a/src/views/Workshop/customize.vue b/src/views/Workshop/customize.vue index b3a97e7..b4a7bfc 100644 --- a/src/views/Workshop/customize.vue +++ b/src/views/Workshop/customize.vue @@ -32,7 +32,7 @@ visitRecordId: store.visitRecordId, styleId: store.styleId, modelPhotoId: store.modelPhotoId, - customerPhotoId: store.userData.id, + customerPhotoId: store.id, originalTryOnId: store.originalTryOnId, isRegenerated: isRegenerated ? 1 : 0, prompt: inputText.value, diff --git a/src/views/Workshop/product.vue b/src/views/Workshop/product.vue index f2d5ad0..78337a8 100644 --- a/src/views/Workshop/product.vue +++ b/src/views/Workshop/product.vue @@ -2,9 +2,10 @@ import { onMounted, onUnmounted, reactive, toRefs } from "vue"; import HeaderTitle from '@/components/HeaderTitle.vue' import FooterNavigation from '@/components/FooterNavigation.vue' -import { useRouter } from 'vue-router' +import { useRouter, useRoute } from 'vue-router' import GenerateLoading from '@/views/asistant/components/GenerateLoading.vue' import { useGenerateStore } from '@/stores' +import { generateTryOnEffect, setTryOnEffectFavorite, cancelTryOnEffectFavorite } from '@/api/workshop' const router = useRouter() //const props = defineProps({ //}) @@ -17,6 +18,8 @@ let data = reactive({ isLoading: false, }) +const generateStore = useGenerateStore() + // const setSelectedModelId = (item)=>{ // data.selectedModelId = item.id; // } @@ -30,13 +33,45 @@ const changeModel = ()=>{ router.push('selectModel') } +const startGenerate = ()=>{ + data.isLoading = true; + let value = { + customerId:generateStore.customerId, + visitRecordId:generateStore.visitRecordId, + styleId:generateStore.style.id, + customerPhotoId:null, + modelPhotoId:null, + prompt:null, + originalTryOnId:null, + isRegenerated:0, + } + generateTryOnEffect(value).then((res:any)=>{ + data.isLoading = false; + generateStore.tryOnId.id = res.id + generateStore.tryOnId.isLike = false + generateStore.useStyleGenerate()//生成后需要对选择衣服页面设置不可选中样式 + generateStore.setIsGenerate(false) + }) +} + +const setLike = ()=>{ + let tryOnId = generateStore.tryOnId.id + if(generateStore.tryOnId.isLike){ + cancelTryOnEffectFavorite(tryOnId).then(()=>{ + generateStore.tryOnId.isLike = false + }) + }else{ + setTryOnEffectFavorite(tryOnId).then(()=>{ + generateStore.tryOnId.isLike = true + }) + } +} + onMounted(() => { emit('view-type', 1) - data.isLoading = true; - setTimeout(()=>{ - useGenerateStore().useStyleGenerate() - data.isLoading = false; - }, 2000) + if (generateStore.isGenerate) { + startGenerate() + } }) onUnmounted(()=>{ }) @@ -62,15 +97,15 @@ const { isLoading } = toRefs(data);