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'
|
|
|
|
|
|
|
|
|
|
|
|
export const useUserInfoStore = defineStore('userInfo', () => {
|
|
|
|
|
|
// state
|
|
|
|
|
|
const num = ref(0)
|
|
|
|
|
|
const name = ref('张三')
|
|
|
|
|
|
const token = ref('')
|
|
|
|
|
|
|
|
|
|
|
|
// getters
|
|
|
|
|
|
const getUserInfo = computed(() => ({
|
|
|
|
|
|
num: num.value,
|
|
|
|
|
|
name: name.value,
|
|
|
|
|
|
token: token.value
|
|
|
|
|
|
}))
|
|
|
|
|
|
|
|
|
|
|
|
// actions
|
|
|
|
|
|
const setUserInfo = (data: any) => {
|
|
|
|
|
|
name.value = data.name
|
|
|
|
|
|
token.value = data.token
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const loginOut = () => {
|
|
|
|
|
|
// 处理退出登录的一些逻辑
|
|
|
|
|
|
return new Promise((rez) => {
|
|
|
|
|
|
rez('111')
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
|
// state
|
|
|
|
|
|
num,
|
|
|
|
|
|
name,
|
|
|
|
|
|
token,
|
|
|
|
|
|
// getters
|
|
|
|
|
|
getUserInfo,
|
|
|
|
|
|
// actions
|
|
|
|
|
|
setUserInfo,
|
|
|
|
|
|
loginOut
|
2025-10-09 09:29:36 +08:00
|
|
|
|
}
|
|
|
|
|
|
})
|