This commit is contained in:
zhangyh
2025-10-27 11:46:45 +08:00
5 changed files with 123 additions and 96 deletions

View File

@@ -1 +0,0 @@
VITE_APP_URL = http://18.167.251.121:10095

View File

@@ -4,7 +4,6 @@
"private": true,
"scripts": {
"dev": "vite",
"test": "vite --mode test",
"build": "run-p type-check build-only",
"preview": "vite preview",
"build-only": "vite build",

View File

@@ -1,9 +1,10 @@
// 每一个存储的模块命名规则use开头store结尾
import { defineStore } from 'pinia'
import { useUserInfoStore } from './userInfo'
export const useGenerateStore = defineStore({
id: 'generate', // 必须指明唯一的pinia仓库的id
state: () => {
return {
id: 'generate', // 必须指明唯一的pinia仓库的id
state: () => {
return {
style: {
id: '',
oldId: '' //表示从生成页面返回回来需要调整的样式id
@@ -37,65 +38,86 @@ export const useGenerateStore = defineStore({
},
customerInfo: {
customerId: '',
visitRecordId:''
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
},
/** 更新顾客照片信息 */
updatePhotoInfo(data: any) {
this.photoInfo.id = data.id || ""
if (!data.photoUrl) this.photoInfo.url = ""
this.photoInfo.file = null
},
/** 清空 AI魔改信息 */
clearCustomizeInfo() {
this.customizeInfo.inputText = ""
this.customizeInfo.tryOnId = ""
this.customizeInfo.tryOnUrl = ""
this.customizeInfo.styleUrl = ""
this.customizeInfo.isRegenerated = ""
this.customizeInfo.isFavorite = false
},
setCustomerInfo(data: any) {
this.customerInfo = data
}
}
})
},
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.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 = null
},
/** 清空 AI魔改信息 */
clearCustomizeInfo() {
this.customizeInfo.inputText = ''
this.customizeInfo.tryOnId = ''
this.customizeInfo.tryOnUrl = ''
this.customizeInfo.styleUrl = ''
this.customizeInfo.isRegenerated = ''
this.customizeInfo.isFavorite = false
},
//设置默认数据
clearGenerateData() {
this.clearProductData()
this.updatePhotoInfo({})
this.clearCustomizeInfo()
},
setCustomerInfo(data: any) {
this.customerInfo = data
}
}
})

View File

@@ -4,7 +4,7 @@ import { useUserInfoStore } from '@/stores/modules/userInfo'
const store = useUserInfoStore()
import { getLocal } from '@/utils/local'
import router from '@/router/index'
import { useOverallStore } from '@/stores'
import { useOverallStore, useGenerateStore } from '@/stores'
// 扩展 AxiosRequestConfig 接口
declare module 'axios' {
@@ -98,35 +98,38 @@ service.interceptors.response.use(
}
},
(error) => {
if (error?.response) {
if (error?.response?.status === 401) {
//如果是记录浏览器页面就不跳转login
// showConfirmDialog({
// title: '确定登出',
// message: '你已被登出,可以取消继续留在该页面,或者重新登录',
// confirmButtonText: '重新登录',
// cancelButtonText: '取消'
// }).then(() => {
// store.loginOut().then(() => {
// location.reload() // 为了重新实例化vue-router对象 避免bug
// })
// })
router.replace('/login')
return Promise.reject(error)
}
error.config && removePending(error.config)
// 关闭loading
if (error.config?.loading) {
closeLoading()
}
console.log('err' + error) // for debug
showToast({
message: error.message,
// type: 'fail',
duration: 5000,
position:'top'
})
}
if(error?.response){
if(error?.response?.status === 401){//如果是记录浏览器页面就不跳转login
// showConfirmDialog({
// title: '确定登出',
// message: '你已被登出,可以取消继续留在该页面,或者重新登录',
// confirmButtonText: '重新登录',
// cancelButtonText: '取消'
// }).then(() => {
// store.loginOut().then(() => {
// location.reload() // 为了重新实例化vue-router对象 避免bug
// })
// })
showToast({
message: 'Please log in and try again.',
duration: 5000
})
router.push('/welcome')
useGenerateStore().clearGenerateData()
return Promise.reject(false)
}
error.config && removePending(error.config)
// 关闭loading
if (error.config?.loading) {
closeLoading()
}
console.log('err' + error) // for debug
showToast({
message: error.message,
type: 'fail',
duration: 5000
})
}
return Promise.reject(error)
}
)

View File

@@ -54,7 +54,11 @@ const startGenerate = ()=>{
generateStore.setIsGenerate(false)
generateStore.clearCustomizeInfo()
}).catch(()=>{
}).catch((error)=>{
console.log(error)
if(error === false){
return
}
data.isLoading = false;
if(generateStore.originalTryOn.id){
router.back()