diff --git a/.env.test b/.env.test deleted file mode 100644 index f904b9e..0000000 --- a/.env.test +++ /dev/null @@ -1 +0,0 @@ -VITE_APP_URL = http://18.167.251.121:10095 \ No newline at end of file diff --git a/package.json b/package.json index 4c3fc9e..c043098 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/src/stores/modules/generate.ts b/src/stores/modules/generate.ts index bc3ed67..11c4fa8 100644 --- a/src/stores/modules/generate.ts +++ b/src/stores/modules/generate.ts @@ -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 - } - } -}) \ No newline at end of file + }, + 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 + } + } +}) diff --git a/src/utils/request.ts b/src/utils/request.ts index 07a3761..b78decc 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -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) } ) diff --git a/src/views/Workshop/product.vue b/src/views/Workshop/product.vue index 77b3eff..a953425 100644 --- a/src/views/Workshop/product.vue +++ b/src/views/Workshop/product.vue @@ -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()