145 lines
3.7 KiB
TypeScript
145 lines
3.7 KiB
TypeScript
// 每一个存储的模块,命名规则use开头,store结尾
|
||
import { defineStore } from 'pinia'
|
||
import MyEvent from '@/utils/myEvent'
|
||
MyEvent.add('clear-generate-state', () => useGenerateStore().clearGenerateData())
|
||
|
||
export const useGenerateStore = defineStore({
|
||
id: 'generate', // 必须指明唯一的pinia仓库的id
|
||
state: () => {
|
||
return {
|
||
style: {
|
||
id: '',
|
||
oldId: '' //表示从生成页面返回回来,需要调整的样式id
|
||
},
|
||
styleList: [{},{},{},{}],
|
||
model: {
|
||
id: ''
|
||
},
|
||
originalTryOn: {
|
||
//生成穿好衣服的回参
|
||
id: '',
|
||
isLike: false, //是否喜欢
|
||
tryOnUrl: ''
|
||
},
|
||
isGenerate: false, //点击继续按钮后是否需要生成
|
||
|
||
/** 顾客照片信息 */
|
||
photoInfo: {
|
||
id: '',
|
||
url: '',
|
||
file: null
|
||
},
|
||
/** AI魔改信息 */
|
||
customizeInfo: {
|
||
inputText: '',
|
||
count: 0,
|
||
oldInputText: '',
|
||
oldTryOnId: '',
|
||
|
||
tryOnId: '',
|
||
tryOnUrl: '',
|
||
styleUrl: '',
|
||
isRegenerated: '',
|
||
isFavorite: false
|
||
},
|
||
customerInfo: {
|
||
customerId: '',
|
||
visitRecordId: ''
|
||
}
|
||
}
|
||
},
|
||
getters: {
|
||
/** 顾客id */
|
||
customerId: (state) => state.customerInfo.customerId,
|
||
/** 进店记录id */
|
||
visitRecordId: (state) => state.customerInfo.visitRecordId,
|
||
/** 服装id */
|
||
styleId: (state) => state.style.id || state.style.oldId,
|
||
/** 模特照片id */
|
||
modelPhotoId: (state) => state.model.id,
|
||
/** 原始试穿id-优先AI魔改 */
|
||
originalTryOnId: (state) => state.customizeInfo.tryOnId || state.originalTryOn.id,
|
||
/** 顾客照片id */
|
||
customerPhotoId: (state) => state.photoInfo.id
|
||
},
|
||
actions: {
|
||
selectStyle(data: any) {
|
||
this.style.id = data.id
|
||
console.log(this)
|
||
},
|
||
//生成后去掉id 设置oldId来修改样式
|
||
useStyleGenerate() {
|
||
if (!this.style.id) return
|
||
this.style.oldId = this.style.id
|
||
this.style.id = ''
|
||
},
|
||
updateStyle(data) {
|
||
console.log(data)
|
||
if (data.id == this.style.oldId) {
|
||
this.style.oldId = ''
|
||
}
|
||
},
|
||
//模特相关
|
||
selectModel(data: any) {
|
||
this.model.id = data.id
|
||
},
|
||
setIsGenerate(isGenerate: boolean) {
|
||
this.isGenerate = isGenerate
|
||
},
|
||
clearProductData() {
|
||
this.styleList = [{},{},{},{}]
|
||
this.style = {
|
||
id: '',
|
||
oldId: ''
|
||
}
|
||
this.model = {
|
||
id: ''
|
||
}
|
||
this.originalTryOn = {
|
||
id: '',
|
||
isLike: false,
|
||
tryOnUrl: ''
|
||
}
|
||
this.isGenerate = false
|
||
},
|
||
/** 更新顾客照片信息 */
|
||
updatePhotoInfo(data: any) {
|
||
this.photoInfo.id = data.id || ''
|
||
if (!data.photoUrl) this.photoInfo.url = ''
|
||
this.photoInfo.file = data.file || null
|
||
},
|
||
/** 清空 AI魔改信息 */
|
||
clearCustomizeInfo() {
|
||
this.customizeInfo.inputText = ''
|
||
this.customizeInfo.count = 0
|
||
this.customizeInfo.oldInputText = ''
|
||
this.customizeInfo.oldTryOnId = ''
|
||
this.customizeInfo.tryOnId = ''
|
||
this.customizeInfo.tryOnUrl = ''
|
||
this.customizeInfo.styleUrl = ''
|
||
this.customizeInfo.isRegenerated = ''
|
||
this.customizeInfo.isFavorite = false
|
||
},
|
||
uploadCustomizeInfo(data: object){
|
||
for (const key in data) {
|
||
this.customizeInfo[key] = data[key]
|
||
}
|
||
},
|
||
clearCustomerInfo(){
|
||
this.customerInfo = {
|
||
customerId: '',
|
||
visitRecordId: ''
|
||
}
|
||
},
|
||
//设置默认数据
|
||
clearGenerateData() {
|
||
this.clearProductData()
|
||
this.updatePhotoInfo({})
|
||
this.clearCustomizeInfo()
|
||
this.clearCustomerInfo()
|
||
},
|
||
setCustomerInfo(data: any) {
|
||
this.customerInfo = data
|
||
}
|
||
}
|
||
}) |