mirror of
https://github.com/zclzone/vue-naive-admin.git
synced 2026-01-23 08:00:22 +08:00
init
This commit is contained in:
54
src/store/modules/auth.js
Normal file
54
src/store/modules/auth.js
Normal file
@@ -0,0 +1,54 @@
|
||||
/**********************************
|
||||
* @Author: Ronnie Zhang
|
||||
* @LastEditor: Ronnie Zhang
|
||||
* @LastEditTime: 2023/12/05 21:25:39
|
||||
* @Email: zclzone@outlook.com
|
||||
* Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top
|
||||
**********************************/
|
||||
|
||||
import { defineStore } from 'pinia'
|
||||
import { useUserStore, usePermissionStore, useTabStore } from '@/store'
|
||||
import { resetRouter, router } from '@/router'
|
||||
|
||||
export const useAuthStore = defineStore('auth', {
|
||||
state: () => ({
|
||||
accessToken: undefined,
|
||||
}),
|
||||
actions: {
|
||||
setToken({ accessToken }) {
|
||||
this.accessToken = accessToken
|
||||
},
|
||||
resetToken() {
|
||||
this.$reset()
|
||||
},
|
||||
toLogin() {
|
||||
const currentRoute = unref(router.currentRoute)
|
||||
router.replace({
|
||||
path: '/login',
|
||||
query: currentRoute.query,
|
||||
})
|
||||
},
|
||||
resetLoginState() {
|
||||
const { resetUser } = useUserStore()
|
||||
const { resetPermission } = usePermissionStore()
|
||||
const { resetTabs } = useTabStore()
|
||||
// 重置用户
|
||||
resetUser()
|
||||
// 重置权限
|
||||
resetPermission()
|
||||
// 重置Tabs
|
||||
resetTabs()
|
||||
// 重置路由
|
||||
resetRouter()
|
||||
// 重置token
|
||||
this.resetToken()
|
||||
},
|
||||
async logout() {
|
||||
this.resetLoginState()
|
||||
this.toLogin()
|
||||
},
|
||||
},
|
||||
persist: {
|
||||
key: 'vue-naivue-admin_auth',
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user