This commit is contained in:
李志鹏
2025-10-23 16:37:59 +08:00
parent ea81b784d6
commit b6124a9483
3 changed files with 98 additions and 53 deletions

View File

@@ -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)
}
}
}
})

View File

@@ -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')

View File

@@ -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' })
})
}
</script>