import {Module} from 'vuex' import {RootState} from '../index' import { Https } from "@/tool/https"; import store from '../index' interface UserHabit{ clothingType:any, credits:any, // devise:any, // deviseType:any, // system_per:any, // model:any, printType:any, designElementsType:any, FemalePosition:any, MalePosition:any, Position:any, SketchGenerateType:any, SketchStyle:any, systemUser:any, userInfo:any, messageSystem:any, sex:any, userDetail:any, } const userHabit : Module = { state:{ clothingType:[], credits:{ value:0 }, printType:[{ name:'Pattern', value:'Pattern' },{ name:'Slogan', value:'Slogan' },{ name:'Logo', value:'Logo' },], designElementsType:[], FemalePosition:[], MalePosition:[], SketchGenerateType:[], Position:[], SketchStyle:[], systemUser:{ value : -1 }, userInfo:{ }, messageSystem:{ messageNum:0, messageType:{}, }, sex:{ }, userDetail:{ email: "X1627315083@163.com", userName: "wxd", userId: 83, isTrial: 0, isBeginner: 0, systemUser: 1, avatar: "https://www.minio.aida.com.hk:12024/aida-users/87/avatar/default.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20241209%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241209T055108Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=04bb98c0a264b91f3c30173f7ab9e91de7bf31bd48440f4595fdd91f05629b80", followeeCount: 3, followerCount: 3 } }, mutations:{ res_clothingType(state,data){ state.clothingType = data }, setCredits(state,data){ state.credits.value = data }, setPrintType(state,data){ state.printType = data }, setDesignElementsType(state,data){ state.designElementsType = data }, setFemalePosition(state,data){ state.FemalePosition = data }, setSketchGenerateType(state,data){ state.SketchGenerateType = data }, setSketchStyle(state,data){ state.SketchStyle = data }, setMalePosition(state,data){ state.MalePosition = data }, setPosition(state,data){ if(data == 'Female'){ state.Position = state.FemalePosition }else{ state.Position = state.MalePosition } }, setSystemUser(state,data){ state.systemUser.value = data }, setUserInfo(state,data){ if(!data)return for (const key in data) { state.userInfo[key] = data[key] } }, clearSystemUser(state){ state.systemUser.value = -1 state.userInfo = {} }, setMessageSystem(state,data){ let num = 0 // let userInfo = ['-1'] let userInfo = ['followeeCount','followerCount'] let obj:any = {} console.log(data); data.forEach((item:any) => { for (const iterator in item) { if(userInfo.indexOf(iterator) > -1){ obj[iterator] = item[iterator] store.commit('setUserInfo', obj) }else{ // if(iterator != 'newPosted')num+=item[iterator] state.messageSystem.messageType[iterator] = item[iterator] } } }); let allObj = state.messageSystem.messageType for (const iterator in allObj) { if(userInfo.indexOf(iterator) > -1){ }else{ if(iterator != 'newPosted')num+=allObj[iterator] } } state.messageSystem.messageNum = num }, closeMessageSystem(state,data){ if(!data){ state.messageSystem.messageNum = 0 state.messageSystem.messageType = null }else{ } }, setSex(state,data){ state.sex.value = data }, setUserDetail(state,data){ // state.userDetail = data console.log(data); data.email = data.email?data.email:'------' data.userName = data.userName data.userId = data.userId data.avatar = data.avatar data.followeeCount = data.followeeCount data.followerCount = data.followerCount } }, actions:{ get_clothingType(context){ var arr = [{ id:11, name:"nv" },{ id:22, name:"nan", }] context.commit('res_clothingType',arr) // Https.axiosGet(url) // .then((rv: any) => { // context.commit('res_clothingType',rv) // }) // .catch((rv) => { // }); }, getCredits(context){ return new Promise( async (resolve) => { await Https.axiosGet(Https.httpUrls.getCredits,).then((rv) => { context.commit('setCredits',rv) resolve(true) }).catch((res) => { resolve(true) }); }) }, async getLangType(context){ let allPromise = []; let getList = ['DesignElementsEnum','PrintboardLevel2TypeEnum','FemalePosition','MalePosition','SketchStyle','SketchGenerateType','Sex'] let axiosGet = (item:any)=>{ return new Promise((resolve) => { Https.axiosGet(Https.httpUrls.workspaceenumValues,{params:{enumName:item}}).then((rv: any) => { if (rv) { rv.forEach((item:any) => { let name = item.name item.name = item.value item.value = name item.optype = false }); if(item == 'DesignElementsEnum'){ context.commit('setDesignElementsType',rv) }else if(item == 'PrintboardLevel2TypeEnum'){ context.commit('setPrintType',rv) }else if(item == 'FemalePosition'){ context.commit('setFemalePosition',rv) }else if(item == 'MalePosition'){ context.commit('setMalePosition',rv) context.commit('setPosition','MalePosition') }else if(item == 'SketchStyle'){ context.commit('setSketchStyle',rv) }else if(item == 'SketchGenerateType'){ context.commit('setSketchGenerateType',rv) }else if(item == 'Sex'){ context.commit('setSex',rv) } resolve('') } }) }) } let getUserDetail = ()=>{ return new Promise((resolve) => { Https.axiosPost(Https.httpUrls.accountDetail).then((rv: any) => { context.commit('setUserDetail',rv) resolve('') }) }) } return await Promise.all([...getList.map(item => axiosGet(item)),getUserDetail()]) } } } export default userHabit