添加历史流程数据状态
All checks were successful
git提交控制 AiDA WEB-Node.js main 分支构建部署 / build (20.19.0) (push) Has been skipped

This commit is contained in:
李志鹏
2025-12-22 16:34:43 +08:00
parent d45fd93c4f
commit 51336fff77
3 changed files with 78 additions and 12 deletions

View File

@@ -5,6 +5,7 @@ const store = createPinia()
// 使用持久化插件(全局持久化)
store.use(createPersistedState())
export default store
export * from './modules/h_generate'
export * from './modules/generate'
export * from './modules/overall'
export * from './modules/userInfo'

View File

@@ -0,0 +1,67 @@
// 每一个存储的模块命名规则use开头store结尾
import { defineStore } from 'pinia'
import MyEvent from '@/utils/myEvent'
MyEvent.add('clear-generate-state', () => useHGenerateStore().clearGenerateData())
export const useHGenerateStore = defineStore({
id: 'h_generate', // 必须指明唯一的pinia仓库的id
state: () => {
return {
style: {
id: '',
url: ''
},
originalTryOn: {
//生成穿好衣服的回参
id: '',
isLike: false, //是否喜欢
tryOnUrl: ''
},
/** AI魔改信息 */
customizeInfo: {
inputText: '',
count: 0,
oldInputText: '',
oldTryOnId: '',
tryOnId: '',
tryOnUrl: '',
styleUrl: '',
isRegenerated: '',
isFavorite: false
},
}
},
getters: {
/** 服装id */
styleId: (state) => state.style.id,
/** 原始试穿id不包含魔改id */
originalTryOnIdNoRein: (state) => state.originalTryOn.id,
/** 原始试穿id-优先AI魔改 */
originalTryOnId: (state) => state.customizeInfo.tryOnId || state.originalTryOn.id,
},
actions: {
/** 清空 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]
}
},
//设置默认数据
clearGenerateData() {
this.clearProductData()
this.clearCustomizeInfo()
},
}
})

View File

@@ -14,8 +14,9 @@
const emit = defineEmits(['view-type'])
const query = computed(() => router.currentRoute.value.query)
const visitRecordId = computed(() => query.value.visitRecordId) // 访问记录ID
import { useGenerateStore } from '@/stores'
import { useGenerateStore, useHGenerateStore } from '@/stores'
const generateStore = useGenerateStore()
const hGenerateStore = useHGenerateStore()
const props = defineProps({
// 是否单选模式
isChooseOne: { type: Boolean, default: false }
@@ -70,8 +71,8 @@
styleUrl: v.styleUrl,
isFavorite: !!v.isFavorite,
isRegenerated: !!v.isRegenerated,
url: v.url,
id: v.id,
url: v.url,
selected: false,
loading: false,
@@ -220,18 +221,15 @@
const nav = navLst.find((v) => v.value === navActive.value)
if (!selectedItem || !nav) return showToast({ message: 'Please select one only.' })
if (nav.flowType !== FlowType.H_OUTFIT) {
generateStore.clearCustomizeInfoDemo()
generateStore.uploadCustomizeInfoDemo({
tryOnId: selectedItem.id,
tryOnUrl: selectedItem.tryOnUrl,
styleUrl: selectedItem.styleUrl,
isFavorite: selectedItem.isFavorite,
isRegenerated: selectedItem.isRegenerated
})
hGenerateStore.originalTryOn.id = selectedItem.id
hGenerateStore.originalTryOn.tryOnUrl = selectedItem.tryOnUrl
hGenerateStore.originalTryOn.isLike = selectedItem.isFavorite
hGenerateStore.style.id = '';
hGenerateStore.style.url = selectedItem.styleUrl
} else {
// style
// selectedItem.id
// selectedItem.url
hGenerateStore.style.id = selectedItem.id;
hGenerateStore.style.url = selectedItem.url
// selectedItem.isFavorite
}
router.push({ name: 'HomeNav', query: { flowType: nav.flowType } })