Files
lanecarford_front/src/stores/modules/userInfo.ts

71 lines
1.4 KiB
TypeScript
Raw Normal View History

2025-10-09 09:29:36 +08:00
// 每一个存储的模块命名规则use开头store结尾
import { defineStore } from 'pinia'
import { ref, computed } from 'vue'
export const useUserInfoStore = defineStore('userInfo', () => {
2025-10-24 17:37:15 +08:00
const state = ref({
userInfo: {},
customerId: '',
token: '',
generateParams: {
stylistId: '',
sex: ''
}
})
// getters
2025-10-24 17:37:15 +08:00
const getUserInfo = computed(() => state.value.userInfo)
// actions
const setUserInfo = (data: any) => {
2025-10-24 17:37:15 +08:00
state.value.userInfo = data
}
2025-10-24 17:37:15 +08:00
const setCustomerId = (data: string) => {
state.value.customerId = data
}
const setToken = (data: string) => {
state.value.token = data
}
const getGenerateParams = () => {
return state.value.generateParams
}
const setGenerateParams = (data: any) => {
state.value.generateParams = data
}
const resetGenerateParams = () => {
state.value.customerId = ''
state.value.generateParams = {
stylistId: '',
sex: ''
}
}
const logOut = () => {
// 处理退出登录的一些逻辑
2025-10-24 17:37:15 +08:00
return new Promise((resolve) => {
state.value.token = ''
state.value.userInfo = {}
state.value.customerId = ''
resetGenerateParams()
resolve('')
})
}
return {
2025-10-24 17:37:15 +08:00
state,
getUserInfo,
2025-10-24 17:37:15 +08:00
setToken,
setUserInfo,
2025-10-24 17:37:15 +08:00
setCustomerId,
setGenerateParams,
getGenerateParams,
resetGenerateParams,
2025-10-27 11:08:26 +08:00
logOut
2025-10-09 09:29:36 +08:00
}
})