2025-10-09 09:29:36 +08:00
|
|
|
|
// 每一个存储的模块,命名规则use开头,store结尾
|
|
|
|
|
|
import { defineStore } from 'pinia'
|
2025-10-20 17:01:37 +08:00
|
|
|
|
import { ref, computed } from 'vue'
|
2025-10-27 11:43:07 +08:00
|
|
|
|
import { removeLocal, setLocal } from '@/utils/local'
|
2025-10-28 15:33:25 +08:00
|
|
|
|
import MyEvent from '@/utils/myEvent'
|
2025-10-20 17:01:37 +08:00
|
|
|
|
export const useUserInfoStore = defineStore('userInfo', () => {
|
2025-10-24 17:37:15 +08:00
|
|
|
|
const state = ref({
|
|
|
|
|
|
userInfo: {},
|
|
|
|
|
|
token: '',
|
|
|
|
|
|
generateParams: {
|
2025-10-28 11:33:20 +08:00
|
|
|
|
stylist: '',
|
2025-10-24 17:37:15 +08:00
|
|
|
|
sex: ''
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
2025-10-20 17:01:37 +08:00
|
|
|
|
|
|
|
|
|
|
// getters
|
2025-10-24 17:37:15 +08:00
|
|
|
|
const getUserInfo = computed(() => state.value.userInfo)
|
2025-10-20 17:01:37 +08:00
|
|
|
|
|
|
|
|
|
|
// actions
|
|
|
|
|
|
const setUserInfo = (data: any) => {
|
2025-10-24 17:37:15 +08:00
|
|
|
|
state.value.userInfo = data
|
2025-10-20 17:01:37 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-10-24 17:37:15 +08:00
|
|
|
|
const setToken = (data: string) => {
|
|
|
|
|
|
state.value.token = data
|
2025-10-27 11:43:07 +08:00
|
|
|
|
setLocal(data, 'token')
|
2025-10-24 17:37:15 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const getGenerateParams = () => {
|
|
|
|
|
|
return state.value.generateParams
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const setGenerateParams = (data: any) => {
|
|
|
|
|
|
state.value.generateParams = data
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const resetGenerateParams = () => {
|
|
|
|
|
|
state.value.generateParams = {
|
2025-10-28 11:33:20 +08:00
|
|
|
|
stylist: '',
|
2025-10-24 17:37:15 +08:00
|
|
|
|
sex: ''
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const logOut = () => {
|
2025-10-20 17:01:37 +08:00
|
|
|
|
// 处理退出登录的一些逻辑
|
2025-10-24 17:37:15 +08:00
|
|
|
|
return new Promise((resolve) => {
|
|
|
|
|
|
state.value.token = ''
|
|
|
|
|
|
state.value.userInfo = {}
|
2025-10-27 11:43:07 +08:00
|
|
|
|
removeLocal('token')
|
2025-10-24 17:37:15 +08:00
|
|
|
|
resetGenerateParams()
|
2025-10-28 15:33:25 +08:00
|
|
|
|
MyEvent.emit('clear-generate-state')
|
|
|
|
|
|
MyEvent.emit('clearAllCache')
|
2025-10-24 17:37:15 +08:00
|
|
|
|
resolve('')
|
2025-10-20 17:01:37 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
2025-10-24 17:37:15 +08:00
|
|
|
|
state,
|
2025-10-20 17:01:37 +08:00
|
|
|
|
getUserInfo,
|
2025-10-24 17:37:15 +08:00
|
|
|
|
setToken,
|
2025-10-20 17:01:37 +08:00
|
|
|
|
setUserInfo,
|
2025-10-24 17:37:15 +08:00
|
|
|
|
setGenerateParams,
|
|
|
|
|
|
getGenerateParams,
|
|
|
|
|
|
resetGenerateParams,
|
2025-10-27 11:08:26 +08:00
|
|
|
|
logOut
|
2025-10-09 09:29:36 +08:00
|
|
|
|
}
|
|
|
|
|
|
})
|