货无忧
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

59 lines
1.0 KiB

import {
defineStore
} from 'pinia';
import {
ref,
shallowRef
} from 'vue';
export const useUserStore = defineStore('useUserStore', () => {
// 是否登录
const isLogin = ref(uni.getStorageSync('isLogin') || false)
// 双token刷新
const access_token = ref(uni.getStorageSync('access_token') || '')
const refresh_token = ref(uni.getStorageSync('refresh_token') || '')
// 用户信息
const userInfo = shallowRef(uni.getStorageSync('userInfo') || {})
/**
* 修改用户登录状态
*/
const HANDLE_ISLOGIN = (_islogin) => {
isLogin.value = _islogin
}
/**
* 修改token
*/
const HANDLE_ACCTOKEN = (_token) => {
access_token.value = _token
}
/**
* 修改token
*/
const HANDLE_REFTOKEN = (_token) => {
refresh_token.value = _token
}
/**
* 更新用户信息
*/
const HANDLE_USERINFO = (_info) => {
userInfo.value = _info
}
return {
isLogin,
access_token,
refresh_token,
userInfo,
HANDLE_ISLOGIN,
HANDLE_ACCTOKEN,
HANDLE_REFTOKEN,
HANDLE_USERINFO
}
})
// 暴露仓库实例
export default useUserStore