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.
|
|
|
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
|