mirror of
https://gitee.com/lijingbo-2021/open-anylink-web.git
synced 2025-12-30 11:02:25 +00:00
91 lines
1.7 KiB
JavaScript
91 lines
1.7 KiB
JavaScript
import { defineStore } from 'pinia'
|
|
import { ref } from 'vue'
|
|
import { userInfoService } from '@/api/user'
|
|
|
|
// 用户模块
|
|
export const userStore = defineStore(
|
|
'anyim-user',
|
|
() => {
|
|
const at = ref({
|
|
token: '',
|
|
secret: '',
|
|
expiretime: 0
|
|
})
|
|
const rt = ref({
|
|
token: '',
|
|
secret: '',
|
|
expiretime: 0
|
|
})
|
|
const setAt = (newAt) => {
|
|
const now = new Date()
|
|
at.value = {
|
|
token: newAt.token,
|
|
secret: newAt.secret,
|
|
expiretime: now.getTime() + newAt.expire * 1000
|
|
}
|
|
}
|
|
const setRt = (newRt) => {
|
|
const now = new Date()
|
|
rt.value = {
|
|
token: newRt.token,
|
|
secret: newRt.secret,
|
|
expiretime: now.getTime() + newRt.expire * 1000
|
|
}
|
|
}
|
|
const clearAt = () => {
|
|
at.value = {
|
|
token: '',
|
|
secret: '',
|
|
expiretime: 0
|
|
}
|
|
}
|
|
const clearRt = () => {
|
|
rt.value = {
|
|
token: '',
|
|
secret: '',
|
|
expiretime: 0
|
|
}
|
|
}
|
|
|
|
const user = ref({})
|
|
|
|
const getUser = async () => {
|
|
const res = await userInfoService()
|
|
user.value = res.data.data
|
|
}
|
|
|
|
const setUser = (obj) => {
|
|
user.value = obj
|
|
}
|
|
|
|
const isLogin = () => {
|
|
const now = new Date().getTime()
|
|
return at.value.expiretime && now < at.value.expiretime
|
|
}
|
|
|
|
const isRemenberMe = ref(false)
|
|
|
|
const setIsRemenberMe = (flag) => {
|
|
isRemenberMe.value = flag
|
|
}
|
|
|
|
return {
|
|
at,
|
|
rt,
|
|
setAt,
|
|
setRt,
|
|
clearAt,
|
|
clearRt,
|
|
user,
|
|
getUser,
|
|
setUser,
|
|
isLogin,
|
|
isRemenberMe,
|
|
setIsRemenberMe
|
|
}
|
|
},
|
|
{
|
|
persist: true
|
|
}
|
|
)
|