Files
aida_front/src/store/userHabit/userHabit.ts

327 lines
9.0 KiB
TypeScript
Raw Normal View History

2023-07-26 15:54:34 +08:00
import {Module} from 'vuex'
import {RootState} from '../index'
import { Https } from "@/tool/https";
2024-12-18 17:38:43 +08:00
import { setLang } from "@/tool/guide";
import store from '../index'
2024-06-01 10:02:21 +08:00
interface UserHabit{
2023-07-26 15:54:34 +08:00
clothingType:any,
2024-02-29 17:16:51 +08:00
credits:any,
2023-07-26 15:54:34 +08:00
// devise:any,
// deviseType:any,
// system_per:any,
// model:any,
2024-06-01 10:02:21 +08:00
printType:any,
designElementsType:any,
FemalePosition:any,
MalePosition:any,
Position:any,
SketchGenerateType:any,
SketchStyle:any,
2024-06-17 09:39:01 +08:00
systemUser:any,
2024-08-23 10:19:02 +08:00
userInfo:any,
2024-08-13 09:36:13 +08:00
messageSystem:any,
sex:any,
2024-12-11 16:26:36 +08:00
userDetail:any,
2023-07-26 15:54:34 +08:00
}
2024-06-01 10:02:21 +08:00
const userHabit : Module<UserHabit,RootState> = {
2023-07-26 15:54:34 +08:00
state:{
clothingType:[],
2024-02-29 17:16:51 +08:00
credits:{
value:0
},
2024-06-02 20:35:24 +08:00
printType:[{
name:'Pattern',
value:'Pattern'
},{
name:'Slogan',
value:'Slogan'
},{
name:'Logo',
value:'Logo'
},],
2024-06-01 10:02:21 +08:00
designElementsType:[],
FemalePosition:[],
MalePosition:[],
SketchGenerateType:[],
2024-06-01 10:02:21 +08:00
Position:[],
SketchStyle:[],
2024-06-17 09:39:01 +08:00
systemUser:{
2024-06-17 14:10:25 +08:00
value : -1
2024-08-23 10:19:02 +08:00
},
userInfo:{
2024-06-17 09:39:01 +08:00
},
2024-08-13 09:36:13 +08:00
messageSystem:{
2024-08-23 10:19:02 +08:00
messageNum:0,
2024-08-19 10:36:46 +08:00
messageType:{},
2024-08-13 09:36:13 +08:00
},
sex:{
},
2024-12-11 16:26:36 +08:00
userDetail:{
2024-12-18 17:38:43 +08:00
email:'-------------',
userName: "---",
userId: -1,
isBeginner: false,
systemUser: -1,
2024-12-11 16:26:36 +08:00
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",
2024-12-18 17:38:43 +08:00
followeeCount: '-',
followerCount: '-',
accountExtendList:null,
systemList:[],
expireTime:null,
language:'',
timeData:{
isExpiration:false,
text:''
},
subscriptionType:null,
subscriptionId:null,
2024-12-11 16:26:36 +08:00
}
2023-07-26 15:54:34 +08:00
},
mutations:{
res_clothingType(state,data){
state.clothingType = data
},
2024-02-29 17:16:51 +08:00
setCredits(state,data){
state.credits.value = data
},
2024-06-01 10:02:21 +08:00
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
},
2024-06-01 10:02:21 +08:00
setMalePosition(state,data){
state.MalePosition = data
},
setPosition(state,data){
if(data == 'Female'){
state.Position = state.FemalePosition
}else{
state.Position = state.MalePosition
}
},
2024-12-18 17:38:43 +08:00
upUserDetail(state,data){
2024-08-23 10:19:02 +08:00
if(!data)return
2024-12-18 17:38:43 +08:00
if(data.affiliate){
if(state.userDetail.systemList.indexOf(data.affiliate) == -1)state.userDetail.systemList.push(2)
}
2024-08-23 10:19:02 +08:00
for (const key in data) {
2024-12-18 17:38:43 +08:00
state.userDetail[key] = data[key]
2024-08-23 10:19:02 +08:00
}
},
2024-08-13 09:36:13 +08:00
setMessageSystem(state,data){
2024-08-19 10:36:46 +08:00
let num = 0
2024-10-02 11:33:14 +08:00
// let userInfo = ['-1']
let userInfo = ['followeeCount','followerCount']
2024-10-02 12:27:58 +08:00
data.forEach((item:any) => {
for (const iterator in item) {
if(userInfo.indexOf(iterator) > -1){
}else{
state.messageSystem.messageType[iterator] = item[iterator]
}
}
});
let allObj = state.messageSystem.messageType
for (const iterator in allObj) {
2024-09-30 17:59:24 +08:00
if(userInfo.indexOf(iterator) > -1){
}else{
2024-10-02 12:27:58 +08:00
if(iterator != 'newPosted')num+=allObj[iterator]
2024-08-19 10:36:46 +08:00
}
}
state.messageSystem.messageNum = num
},
closeMessageSystem(state,data){
if(!data){
state.messageSystem.messageNum = 0
2024-08-23 10:19:02 +08:00
state.messageSystem.messageType = null
2024-08-19 10:36:46 +08:00
}else{
}
},
setSex(state,data){
state.sex.value = data
2024-08-13 09:36:13 +08:00
},
2024-12-18 17:38:43 +08:00
createDetail(state,data){
state.userDetail = {
email:'-------------',
userName: "---",
userId: -1,
isBeginner: false,
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: '-',
followerCount: '-',
accountExtendList:null,
systemList:[],
expireTime:null,
language:'',
timeData:{
isExpiration:false,
text:''
},
subscriptionType:null,
subscriptionId:null,
//是否是affiliate用户
affiliate:false,
}
},
2024-12-11 16:26:36 +08:00
setUserDetail(state,data){
console.log(data);
2024-12-18 17:38:43 +08:00
// state.userDetail = data
state.userDetail.email = data.email?data.email:'------'
state.userDetail.userName = data.userName//用户名
state.userDetail.userId = data.userId//用户id
state.userDetail.avatar = data.avatar//头像
state.userDetail.isBeginner = data.isBeginner == 1 ? true : false;//是否完成新手指引
/**
*
* 0
* 1
* 2
* 3
* 4 306000
* 5
* 6
* 7
* 8
*/
state.userDetail.affiliate = data.affiliate
state.userDetail.systemUser = data.systemUser
// 身份列表1可以使用aida系统2:可以使用affiliate页面3系统管理员用户
state.userDetail.systemList = []
if(data.systemUser != 0)state.userDetail.systemList.push(1)
if(data.affiliate)state.userDetail.systemList.push(2)
let adminIdList = [88,6,46,31,73,83,87,4]
if(adminIdList.indexOf(data.userId) > -1)state.userDetail.systemList.push(3)
state.userDetail.followeeCount = data.followeeCount//粉丝数量
state.userDetail.followerCount = data.followerCount//关注数量
state.userDetail.accountExtendList = {}
if(data.accountExtendList){
if(!Array.isArray(data.accountExtendList)){
state.userDetail.accountExtendList = data.accountExtendList
}else{
let WeChat = data.accountExtendList.filter((item:any) => item.authType == 'WeChat')[0]
let Google = data.accountExtendList.filter((item:any) => item.authType == 'Google')[0]
let obj = {
WeChat,Google
}
state.userDetail.accountExtendList = obj//绑定相关内容
}
}
state.userDetail.email = data.email?data.email:'------'
let current = Math.floor(Date.now() / 1000);
let timeData
if(data.expireTime){
timeData = {
isExpiration:current<data.expireTime,
text:new Date(parseInt(String(data.expireTime*1000))).toLocaleDateString()
}
}else{
timeData = {
isExpiration:true,
text:'- - - - / - - / - -'
}
}
state.userDetail.timeData = timeData//有效期
state.userDetail.language = data.language//当前语言
setLang(data.language)
state.userDetail.expireTime = data.expireTime//有效期
state.userDetail.subscriptionType = data.subscriptionType//当前订阅类型
state.userDetail.status = data.status//当前订阅类型
state.userDetail.subscriptionId = data.subscriptionId//最新订阅id
2024-12-11 16:26:36 +08:00
}
2023-07-26 15:54:34 +08:00
},
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) => {
// });
2024-02-29 17:16:51 +08:00
},
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)
});
})
2024-06-01 10:02:21 +08:00
},
2024-09-13 21:26:17 +08:00
async getLangType(context){
2024-06-17 11:32:31 +08:00
let allPromise = [];
let getList = ['DesignElementsEnum','PrintboardLevel2TypeEnum','FemalePosition','MalePosition','SketchStyle','SketchGenerateType','Sex']
2024-06-17 11:32:31 +08:00
let axiosGet = (item:any)=>{
2024-12-18 17:38:43 +08:00
return new Promise((resolve,reject) => {
2024-06-17 11:32:31 +08:00
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
2024-06-17 11:32:31 +08:00
});
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)
2024-06-17 11:32:31 +08:00
}
resolve('')
}
2024-12-18 17:38:43 +08:00
}).catch(()=>{
reject('')
2024-06-17 11:32:31 +08:00
})
})
}
2024-12-11 16:26:36 +08:00
let getUserDetail = ()=>{
2024-12-18 17:38:43 +08:00
return new Promise((resolve,reject) => {
2024-12-11 16:26:36 +08:00
Https.axiosPost(Https.httpUrls.accountDetail).then((rv: any) => {
context.commit('setUserDetail',rv)
resolve('')
2024-12-18 17:38:43 +08:00
}).catch(()=>{
reject('')
2024-12-11 16:26:36 +08:00
})
})
}
return await Promise.all([...getList.map(item => axiosGet(item)),getUserDetail()])
2023-07-26 15:54:34 +08:00
}
}
}
2024-06-01 10:02:21 +08:00
export default userHabit