mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
fix: 修复不同页签之间认证共享问题 (#559)
This commit is contained in:
parent
a03a2e88fd
commit
a22e0aaec2
|
|
@ -65,7 +65,14 @@ const useApplicationStore = defineStore({
|
|||
applicationApi
|
||||
.postAppAuthentication(token, loading)
|
||||
.then((res) => {
|
||||
sessionStorage.setItem('accessToken', res.data)
|
||||
const accessTokenObjStr = localStorage.getItem('accessTokenObj')
|
||||
if (accessTokenObjStr) {
|
||||
const accessTokenObj = JSON.parse(accessTokenObjStr)
|
||||
accessTokenObj[token] = res.data
|
||||
localStorage.setItem('accessTokenObj', JSON.stringify(accessTokenObj))
|
||||
} else {
|
||||
localStorage.setItem('accessTokenObj', JSON.stringify({ [token]: res.data }))
|
||||
}
|
||||
resolve(res)
|
||||
})
|
||||
.catch((error) => {
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ export interface userStateTypes {
|
|||
userInfo: User | null
|
||||
token: any
|
||||
version?: string
|
||||
accessToken?: string
|
||||
}
|
||||
|
||||
const useUserStore = defineStore({
|
||||
|
|
@ -15,16 +16,26 @@ const useUserStore = defineStore({
|
|||
userType: 1,
|
||||
userInfo: null,
|
||||
token: '',
|
||||
version: ''
|
||||
version: '',
|
||||
accessToken: ''
|
||||
}),
|
||||
actions: {
|
||||
getToken(): String | null {
|
||||
if (this.token) {
|
||||
return this.token
|
||||
}
|
||||
return this.userType === 1
|
||||
? localStorage.getItem('token')
|
||||
: sessionStorage.getItem('accessToken')
|
||||
return this.userType === 1 ? localStorage.getItem('token') : this.getAccessToken()
|
||||
},
|
||||
getAccessToken() {
|
||||
const accessTokenObjStr = localStorage.getItem('accessTokenObj')
|
||||
if (accessTokenObjStr && this.accessToken) {
|
||||
const accessTokenObj = JSON.parse(accessTokenObjStr)
|
||||
const result = accessTokenObj[this.accessToken]
|
||||
if (result) {
|
||||
return result
|
||||
}
|
||||
}
|
||||
return null
|
||||
},
|
||||
|
||||
getPermissions() {
|
||||
|
|
@ -44,6 +55,9 @@ const useUserStore = defineStore({
|
|||
changeUserType(num: number) {
|
||||
this.userType = num
|
||||
},
|
||||
setAccessToken(accessToken: string) {
|
||||
this.accessToken = accessToken
|
||||
},
|
||||
|
||||
async asyncGetVersion() {
|
||||
return UserApi.getVersion().then((ok) => {
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ function getProfile() {
|
|||
|
||||
onMounted(() => {
|
||||
user.changeUserType(2)
|
||||
user.setAccessToken(accessToken)
|
||||
getAccessToken(accessToken)
|
||||
})
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -199,6 +199,7 @@ function refresh(id: string) {
|
|||
|
||||
onMounted(() => {
|
||||
user.changeUserType(2)
|
||||
user.setAccessToken(accessToken)
|
||||
getAccessToken(accessToken)
|
||||
})
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -286,6 +286,7 @@ async function exportHTML(): Promise<void> {
|
|||
|
||||
onMounted(() => {
|
||||
user.changeUserType(2)
|
||||
user.setAccessToken(accessToken)
|
||||
getAccessToken(accessToken)
|
||||
})
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue