|
@@ -4,28 +4,34 @@ import { getToken,setToken,removeToken } from '@/utils/auth.js'
|
|
|
export const useAuthStore = defineStore('auth', {
|
|
|
state: () => ({
|
|
|
token: null,
|
|
|
+ tokenExp:null,
|
|
|
userInfo: null,
|
|
|
phone: null,
|
|
|
creditCard: '',
|
|
|
openid: null,
|
|
|
}),
|
|
|
actions: {
|
|
|
- setAuthToken(newToken) {
|
|
|
+ setCreditCard(creditCard) {
|
|
|
+ this.creditCard = creditCard
|
|
|
+ },
|
|
|
+ setAuthToken(newToken, newTokenExp) {
|
|
|
this.token = newToken
|
|
|
+ this.tokenExp = newTokenExp
|
|
|
+ uni.setStorageSync('tokenExp', newTokenExp)
|
|
|
// 可以选择将 token 存储到 localStorage 或 sessionStorage
|
|
|
setToken(newToken)
|
|
|
},
|
|
|
- setCreditCard(creditCard) {
|
|
|
- this.creditCard = creditCard
|
|
|
- },
|
|
|
clearAuthToken() {
|
|
|
this.token = null
|
|
|
+ this.tokenExp = null
|
|
|
+ uni.removeStorageSync("tokenExp")
|
|
|
removeToken()
|
|
|
},
|
|
|
loadAuthToken() {
|
|
|
const savedToken = getToken()
|
|
|
if (savedToken) {
|
|
|
this.token = savedToken
|
|
|
+ this.tokenExp = uni.getStorageSync('tokenExp') || null
|
|
|
}
|
|
|
},
|
|
|
setUserInfo(data) {
|
|
@@ -34,7 +40,7 @@ export const useAuthStore = defineStore('auth', {
|
|
|
},
|
|
|
setUserIcon(data) {
|
|
|
this.userInfo.userIcon = data
|
|
|
- uni.setStorageSync('USER_INFO', this.userInfo)
|
|
|
+ uni.setStorageSync('USER_INFO', this.userInfo)
|
|
|
},
|
|
|
// 初始化时从Storage加载
|
|
|
loadUserInfo() {
|
|
@@ -78,6 +84,10 @@ export const useAuthStore = defineStore('auth', {
|
|
|
},
|
|
|
isOpenid(state){
|
|
|
return !!state.openid;
|
|
|
+ },
|
|
|
+ isTokenExp(state){
|
|
|
+ const now = Date.now();
|
|
|
+ return !this.tokenExp || now > this.tokenExp;
|
|
|
}
|
|
|
}
|
|
|
})
|