介绍
一般情况下是在Vue文件里面使用Pinia,但有时候会在单js文件去封装一下全局的方法。
Pinia
文件结构:src/store/modules/user.js
javascript
import { ref } from 'vue'
import { defineStore } from 'pinia'
import { selectUserMessage } from '@/api/user/user'
import { setSessionToken, getSessionToken } from '@/uilts/user'
export default defineStore("user", () => {
const token = ref(getSessionToken())
const userMsg = ref({})
setUser()
function setUser() { //获取用户信息
if (token.value == null) { return }
selectUserMessage().then(r => {
userMsg.value = r.data
})
}
function updateUserMessage() //更新用户信息
{
selectUserMessage().then(r => {
userMsg.value = r.data
})
}
return {
token,
userMsg,
updateUserMessage
}
})
封装JS
把updateUserMessage封装成单条调用
javascript
import userUser from '@/store/modules/user'
export function updateUserMessage() {
const userStore = userUser()
//这句一定要在里面
userStore.updateUserMessage()
}//更新用户信息