diff --git a/src/stores/modules/generate.ts b/src/stores/modules/generate.ts index 21283d8..6da1adc 100644 --- a/src/stores/modules/generate.ts +++ b/src/stores/modules/generate.ts @@ -1,48 +1,52 @@ // 每一个存储的模块,命名规则use开头,store结尾 import { defineStore } from 'pinia' export const useGenerateStore = defineStore({ - id: 'generate', // 必须指明唯一的pinia仓库的id - state: () => { - return { - userData:{ - title: '123123', - name: '123123', - describe: '', - id:'', - style:{ - id:-1, - oldId:-1,//表示从生成页面返回回来,需要调整的样式id + id: 'generate', // 必须指明唯一的pinia仓库的id + state: () => { + return { + userData: { + title: '123123', + name: '123123', + describe: '', + id: '', + style: { + id: -1, + oldId: -1,//表示从生成页面返回回来,需要调整的样式id + }, + model: { + id: -1, + } }, - model:{ - id:-1, - } - }, - queryList:[] - } - }, - getters: { - // doubleCount: (state) => state.num * 2 - }, - actions: { - selectStyle(data:any) { - this.userData.style.id = data.id - console.log(this.userData) - }, - //生成后去掉id 设置oldId来修改样式 - useStyleGenerate(){ - this.userData.style.oldId = this.userData.style.id - this.userData.style.id = -1 - }, - updateStyle(data){ - console.log(data) - if(data.id == this.userData.style.oldId){ - this.userData.style.oldId = -1 + queryList: [] } }, - //模特相关 - selectModel(data:any){ - this.userData.model.id = data.id - console.log(this.userData) + 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 + }, + actions: { + selectStyle(data: any) { + this.userData.style.id = data.id + console.log(this.userData) + }, + //生成后去掉id 设置oldId来修改样式 + useStyleGenerate() { + this.userData.style.oldId = this.userData.style.id + this.userData.style.id = -1 + }, + updateStyle(data) { + console.log(data) + if (data.id == this.userData.style.oldId) { + this.userData.style.oldId = -1 + } + }, + //模特相关 + selectModel(data: any) { + this.userData.model.id = data.id + console.log(this.userData) + } } - } }) diff --git a/src/views/Workshop/customize.vue b/src/views/Workshop/customize.vue index 087092f..b3a97e7 100644 --- a/src/views/Workshop/customize.vue +++ b/src/views/Workshop/customize.vue @@ -3,28 +3,69 @@ import FooterNavigation from '@/components/FooterNavigation.vue' import GenerateLoading from '@/views/asistant/components/GenerateLoading.vue' import { ref, onMounted } from 'vue' - import { setTryOnEffectFavorite, cancelTryOnEffectFavorite } from '@/api/workshop' + import { generateTryOnEffect, setTryOnEffectFavorite, cancelTryOnEffectFavorite } from '@/api/workshop' const emit = defineEmits(['viewType']) import { useRouter } from 'vue-router' - const router = useRouter() + import { useGenerateStore } from '@/stores' + const store = useGenerateStore() + const router = useRouter() const inputText = ref('') const isLoved = ref(false) - const loading = ref(true) - setTimeout(() => { - loading.value = false - }, 500) + const loading = ref(false) const onSend = () => { if (inputText.value === '') return + generate(); const text = inputText.value inputText.value = '' console.log('发送消息:', text) } - const onLove = () => { - isLoved.value = !isLoved.value - } const onReload = () => { - console.log('reload') + inputText.value = '' + generate(true); + } + + // 生成结果 + const generate = (isRegenerated = false) => { + const data = { + customerId: store.customerId, + visitRecordId: store.visitRecordId, + styleId: store.styleId, + modelPhotoId: store.modelPhotoId, + customerPhotoId: store.userData.id, + originalTryOnId: store.originalTryOnId, + isRegenerated: isRegenerated ? 1 : 0, + prompt: inputText.value, + + }; + loading.value = true + generateTryOnEffect(data) + .then(res => { + console.log(res) + loading.value = false + }) + .catch(err => { + console.error(err) + loading.value = false + }) + } + generate(); + + // 喜欢 + const isLoveLoading = ref(false) + const onLove = () => { + if (isLoveLoading.value) return + const http = isLoved.value ? cancelTryOnEffectFavorite : setTryOnEffectFavorite + isLoveLoading.value = true + isLoved.value = !isLoved.value + http("tryOnId") + .then(() => { + isLoveLoading.value = false + }) + .catch((err) => { + console.error(err) + isLoveLoading.value = false + }) } const onDownload = () => { console.log('download') diff --git a/src/views/Workshop/uploadFace2.vue b/src/views/Workshop/uploadFace2.vue index ad973ce..b0fe7ca 100644 --- a/src/views/Workshop/uploadFace2.vue +++ b/src/views/Workshop/uploadFace2.vue @@ -36,15 +36,15 @@ } // 生成照片 const handleGenerate = () => { - console.log('生成照片') if (!fileData.file) return const formData = new FormData() formData.append('customerId', "1") formData.append('visitRecordId', "1") formData.append('file', fileData.file) uploadCustomerPhoto(formData).then(res => { - console.log(res) - // router.push({ name: 'customize' }) + console.log(res, res.photoUrl) + + router.push({ name: 'customize' }) }) }