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