11
This commit is contained in:
@@ -1 +1 @@
|
|||||||
VITE_APP_URL = http://18.167.251.121:10096
|
VITE_APP_URL = https://b0cd77b2f755.ngrok-free.app
|
||||||
@@ -52,12 +52,8 @@ html:root {
|
|||||||
--van-dialog-has-title-message-padding-top: 2.5rem;
|
--van-dialog-has-title-message-padding-top: 2.5rem;
|
||||||
--van-button-default-color: #1B73E7;
|
--van-button-default-color: #1B73E7;
|
||||||
--van-dialog-confirm-button-text-color: #1B73E7;
|
--van-dialog-confirm-button-text-color: #1B73E7;
|
||||||
}
|
--van-notify-font-size: 3.5rem;
|
||||||
.van-toast__text {
|
--van-notify-line-height: 10rem;
|
||||||
font-size: 4rem;
|
|
||||||
height: 5rem;
|
|
||||||
line-height: 5rem;
|
|
||||||
padding: 0 2rem;
|
|
||||||
}
|
}
|
||||||
.van-toast__text {
|
.van-toast__text {
|
||||||
font-size: 4rem;
|
font-size: 4rem;
|
||||||
|
|||||||
@@ -61,6 +61,9 @@ html:root {
|
|||||||
--van-dialog-has-title-message-padding-top: 2.5rem;
|
--van-dialog-has-title-message-padding-top: 2.5rem;
|
||||||
--van-button-default-color: #1B73E7;
|
--van-button-default-color: #1B73E7;
|
||||||
--van-dialog-confirm-button-text-color: #1B73E7;
|
--van-dialog-confirm-button-text-color: #1B73E7;
|
||||||
|
//消息提示
|
||||||
|
--van-notify-font-size: 3.5rem;
|
||||||
|
--van-notify-line-height: 10rem
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ const router = createRouter({
|
|||||||
{
|
{
|
||||||
path: '/workshop/selectStyle',
|
path: '/workshop/selectStyle',
|
||||||
name: 'SelectStyle',
|
name: 'SelectStyle',
|
||||||
component: () => import('../views/Workshop/selectStyle.vue')
|
component: () => import('../views/Workshop/selectStyle.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/workshop/selectModel',
|
path: '/workshop/selectModel',
|
||||||
|
|||||||
@@ -4,21 +4,18 @@ export const useGenerateStore = defineStore({
|
|||||||
id: 'generate', // 必须指明唯一的pinia仓库的id
|
id: 'generate', // 必须指明唯一的pinia仓库的id
|
||||||
state: () => {
|
state: () => {
|
||||||
return {
|
return {
|
||||||
userData: {
|
style: {
|
||||||
title: '123123',
|
id: -1,
|
||||||
name: '123123',
|
oldId: -1,//表示从生成页面返回回来,需要调整的样式id
|
||||||
describe: '',
|
|
||||||
id: '',
|
|
||||||
style: {
|
|
||||||
id: -1,
|
|
||||||
oldId: -1,//表示从生成页面返回回来,需要调整的样式id
|
|
||||||
},
|
|
||||||
model: {
|
|
||||||
id: -1,
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
queryList: [],
|
model: {
|
||||||
|
id: -1,
|
||||||
|
},
|
||||||
|
tryOnId:{//生成穿好衣服的回参
|
||||||
|
id: -1,
|
||||||
|
isLike: false,//是否喜欢
|
||||||
|
},
|
||||||
|
isGenerate: false,//点击继续按钮后是否需要生成
|
||||||
/** 顾客照片信息 */
|
/** 顾客照片信息 */
|
||||||
photoInfo: {
|
photoInfo: {
|
||||||
id: "",
|
id: "",
|
||||||
@@ -53,24 +50,27 @@ export const useGenerateStore = defineStore({
|
|||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
selectStyle(data: any) {
|
selectStyle(data: any) {
|
||||||
this.userData.style.id = data.id
|
this.style.id = data.id
|
||||||
console.log(this.userData)
|
console.log(this)
|
||||||
},
|
},
|
||||||
//生成后去掉id 设置oldId来修改样式
|
//生成后去掉id 设置oldId来修改样式
|
||||||
useStyleGenerate() {
|
useStyleGenerate() {
|
||||||
this.userData.style.oldId = this.userData.style.id
|
this.style.oldId = this.style.id
|
||||||
this.userData.style.id = -1
|
this.style.id = -1
|
||||||
},
|
},
|
||||||
updateStyle(data) {
|
updateStyle(data) {
|
||||||
console.log(data)
|
console.log(data)
|
||||||
if (data.id == this.userData.style.oldId) {
|
if (data.id == this.style.oldId) {
|
||||||
this.userData.style.oldId = -1
|
this.style.oldId = -1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//模特相关
|
//模特相关
|
||||||
selectModel(data: any) {
|
selectModel(data: any) {
|
||||||
this.userData.model.id = data.id
|
this.model.id = data.id
|
||||||
console.log(this.userData)
|
console.log(this)
|
||||||
|
},
|
||||||
|
setIsGenerate(isGenerate: boolean) {
|
||||||
|
this.isGenerate = isGenerate
|
||||||
},
|
},
|
||||||
/** 更新顾客照片信息 */
|
/** 更新顾客照片信息 */
|
||||||
updatePhotoInfo(data: any) {
|
updatePhotoInfo(data: any) {
|
||||||
|
|||||||
@@ -2,9 +2,10 @@
|
|||||||
import { onMounted, onUnmounted, reactive, toRefs } from "vue";
|
import { onMounted, onUnmounted, reactive, toRefs } from "vue";
|
||||||
import HeaderTitle from '@/components/HeaderTitle.vue'
|
import HeaderTitle from '@/components/HeaderTitle.vue'
|
||||||
import FooterNavigation from '@/components/FooterNavigation.vue'
|
import FooterNavigation from '@/components/FooterNavigation.vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter, useRoute } from 'vue-router'
|
||||||
import GenerateLoading from '@/views/asistant/components/GenerateLoading.vue'
|
import GenerateLoading from '@/views/asistant/components/GenerateLoading.vue'
|
||||||
import { useGenerateStore } from '@/stores'
|
import { useGenerateStore } from '@/stores'
|
||||||
|
import { generateTryOnEffect, setTryOnEffectFavorite, cancelTryOnEffectFavorite } from '@/api/workshop'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
//const props = defineProps({
|
//const props = defineProps({
|
||||||
//})
|
//})
|
||||||
@@ -17,6 +18,8 @@ let data = reactive({
|
|||||||
isLoading: false,
|
isLoading: false,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const generateStore = useGenerateStore()
|
||||||
|
|
||||||
// const setSelectedModelId = (item)=>{
|
// const setSelectedModelId = (item)=>{
|
||||||
// data.selectedModelId = item.id;
|
// data.selectedModelId = item.id;
|
||||||
// }
|
// }
|
||||||
@@ -30,13 +33,48 @@ const changeModel = ()=>{
|
|||||||
router.push('selectModel')
|
router.push('selectModel')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const startGenerate = ()=>{
|
||||||
|
data.isLoading = true;
|
||||||
|
let value = {
|
||||||
|
customerId:1 || generateStore.customerId,
|
||||||
|
visitRecordId:1 || generateStore.visitRecordId,
|
||||||
|
styleId:1 || generateStore.style.id,
|
||||||
|
customerPhotoId:null,
|
||||||
|
modelPhotoId:null,
|
||||||
|
prompt:null,
|
||||||
|
originalTryOnId:null,
|
||||||
|
isRegenerated:0,
|
||||||
|
}
|
||||||
|
generateTryOnEffect(value).then((res:any)=>{
|
||||||
|
data.isLoading = false;
|
||||||
|
generateStore.tryOnId.id = res.id
|
||||||
|
generateStore.tryOnId.isLike = false
|
||||||
|
generateStore.useStyleGenerate()//生成后需要对选择衣服页面设置不可选中样式
|
||||||
|
generateStore.setIsGenerate(false)
|
||||||
|
}).catch(()=>{
|
||||||
|
data.isLoading = false;
|
||||||
|
router.back()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const setLike = ()=>{
|
||||||
|
let tryOnId = generateStore.tryOnId.id
|
||||||
|
if(generateStore.tryOnId.isLike){
|
||||||
|
cancelTryOnEffectFavorite(tryOnId).then(()=>{
|
||||||
|
generateStore.tryOnId.isLike = false
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
setTryOnEffectFavorite(tryOnId).then(()=>{
|
||||||
|
generateStore.tryOnId.isLike = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
emit('view-type', 1)
|
emit('view-type', 1)
|
||||||
data.isLoading = true;
|
if (generateStore.isGenerate) {
|
||||||
setTimeout(()=>{
|
startGenerate()
|
||||||
useGenerateStore().useStyleGenerate()
|
}
|
||||||
data.isLoading = false;
|
|
||||||
}, 2000)
|
|
||||||
})
|
})
|
||||||
onUnmounted(()=>{
|
onUnmounted(()=>{
|
||||||
})
|
})
|
||||||
@@ -62,15 +100,15 @@ const { isLoading } = toRefs(data);
|
|||||||
<div class="model">
|
<div class="model">
|
||||||
<img src="@/assets/images/workshop/posture/posture_1.png" />
|
<img src="@/assets/images/workshop/posture/posture_1.png" />
|
||||||
<div class="operation">
|
<div class="operation">
|
||||||
<div><SvgIcon name="love_0" size="35" /></div>
|
<div><SvgIcon :name="`love_${generateStore.tryOnId.isLike ? '1' : '0'}`" size="35" @click="setLike" /></div>
|
||||||
<div><SvgIcon name="reload" size="35" /></div>
|
<div><SvgIcon name="reload" size="35" @click="startGenerate"/></div>
|
||||||
<div><SvgIcon name="download" size="35" /></div>
|
<!-- <div><SvgIcon name="download" size="35" /></div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="again">
|
<div class="again">
|
||||||
<div @click="changeModel">Change Model</div>
|
<!-- <div @click="changeModel">Change Model</div> -->
|
||||||
<div @click="onContinue">Continue</div>
|
<div @click="onContinue" style="margin-left: auto;">Continue</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ let data = reactive({
|
|||||||
},
|
},
|
||||||
|
|
||||||
],
|
],
|
||||||
selectModel:computed(()=>generateStore.userData.model),
|
selectModel:computed(()=>generateStore.model),
|
||||||
})
|
})
|
||||||
|
|
||||||
const setSelectedModelId = (item)=>{
|
const setSelectedModelId = (item)=>{
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import editProfile2 from '@/assets/images/workshop/selectStyle/selectStyle2.png'
|
|||||||
import editProfile3 from '@/assets/images/workshop/selectStyle/selectStyle3.png'
|
import editProfile3 from '@/assets/images/workshop/selectStyle/selectStyle3.png'
|
||||||
import editProfile4 from '@/assets/images/workshop/selectStyle/selectStyle4.png'
|
import editProfile4 from '@/assets/images/workshop/selectStyle/selectStyle4.png'
|
||||||
import { useGenerateStore } from '@/stores'
|
import { useGenerateStore } from '@/stores'
|
||||||
|
import { showNotify } from 'vant';
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
//const props = defineProps({
|
//const props = defineProps({
|
||||||
@@ -36,7 +37,7 @@ let data = reactive({
|
|||||||
imgUrl:editProfile4,
|
imgUrl:editProfile4,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
select:computed(()=>generateStore.userData.style)
|
select:computed(()=>generateStore.style)
|
||||||
})
|
})
|
||||||
|
|
||||||
const selectItem = (item)=>{
|
const selectItem = (item)=>{
|
||||||
@@ -52,11 +53,19 @@ const updateStyle = ({item,index})=>{
|
|||||||
}
|
}
|
||||||
|
|
||||||
const toProduct = ()=>{
|
const toProduct = ()=>{
|
||||||
|
console.log(generateStore.style)
|
||||||
|
if(generateStore.style.id == -1 && !generateStore.style.oldId){
|
||||||
|
showNotify({ message: 'Please select a style.', type:'warning' });
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(generateStore.style.id){
|
||||||
|
generateStore.setIsGenerate(true)
|
||||||
|
}
|
||||||
router.push({ path: 'product' })
|
router.push({ path: 'product' })
|
||||||
}
|
}
|
||||||
onMounted(()=>{
|
onMounted(()=>{
|
||||||
emit('view-type', 1)
|
emit('view-type', 1)
|
||||||
console.log(useGenerateStore())
|
|
||||||
})
|
})
|
||||||
onUnmounted(()=>{
|
onUnmounted(()=>{
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user