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, } 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:{ }, }, 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 }, }, 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('') } }) }) } return await Promise.all(getList.map(item => axiosGet(item))) // Https.axiosGet(Https.httpUrls.workspaceenumValues,{params:{enumName:'DesignElementsEnum'}}).then((rv: any) => { // if (rv) { // rv.forEach((item:any) => { // let name = item.name // item.name = item.value // item.value = name // }); // context.commit('setDesignElementsType',rv) // } // }) // Https.axiosGet(Https.httpUrls.workspaceenumValues,{params:{enumName:'PrintboardLevel2TypeEnum'}}).then((rv: any) => { // if (rv) { // rv.forEach((item:any) => { // let name = item.name // item.name = item.value // item.value = name // }); // context.commit('setPrintType',rv) // } // }) // Https.axiosGet(Https.httpUrls.workspaceenumValues,{params:{enumName:'FemalePosition'}}).then((rv: any) => { // if (rv) { // rv.forEach((item:any) => { // let name = item.name // item.name = item.value // item.value = name // }); // context.commit('setFemalePosition',rv) // } // }) // Https.axiosGet(Https.httpUrls.workspaceenumValues,{params:{enumName:'MalePosition'}}).then((rv: any) => { // if (rv) { // rv.forEach((item:any) => { // let name = item.name // item.name = item.value // item.value = name // }); // context.commit('setMalePosition',rv) // context.commit('setPosition','MalePosition') // } // }) } } } export default userHabit