fix(login): logout
This commit is contained in:
@@ -17,6 +17,7 @@ fetch 参数:
|
|||||||
"use client"
|
"use client"
|
||||||
|
|
||||||
import { useUserStore } from "@/app/store/user"
|
import { useUserStore } from "@/app/store/user"
|
||||||
|
import { usePermissionStore } from "@/components/label/store/auth"
|
||||||
import { deleteCookie, refreshKey } from "@/components/login/api"
|
import { deleteCookie, refreshKey } from "@/components/login/api"
|
||||||
import { isNumber } from "@/libs/util"
|
import { isNumber } from "@/libs/util"
|
||||||
|
|
||||||
@@ -40,6 +41,7 @@ interface OptionsProps {
|
|||||||
|
|
||||||
async function httpfetch<T>(options: OptionsProps): Promise<T> {
|
async function httpfetch<T>(options: OptionsProps): Promise<T> {
|
||||||
const { removeUserInfo, refreshToken } = useUserStore.getState()
|
const { removeUserInfo, refreshToken } = useUserStore.getState()
|
||||||
|
const { logout } = usePermissionStore.getState()
|
||||||
|
|
||||||
const access_token = useUserStore.getState().access_token
|
const access_token = useUserStore.getState().access_token
|
||||||
const refresh_token = useUserStore.getState().refresh_token
|
const refresh_token = useUserStore.getState().refresh_token
|
||||||
@@ -197,6 +199,7 @@ async function httpfetch<T>(options: OptionsProps): Promise<T> {
|
|||||||
} finally {
|
} finally {
|
||||||
// 清空身份信息并跳转至登录页面
|
// 清空身份信息并跳转至登录页面
|
||||||
removeUserInfo()
|
removeUserInfo()
|
||||||
|
logout()
|
||||||
window.location.href = "/login"
|
window.location.href = "/login"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -241,6 +244,7 @@ async function httpfetch<T>(options: OptionsProps): Promise<T> {
|
|||||||
} finally {
|
} finally {
|
||||||
// 清空身份信息并跳转至登录页面
|
// 清空身份信息并跳转至登录页面
|
||||||
removeUserInfo()
|
removeUserInfo()
|
||||||
|
logout()
|
||||||
window.location.href = "/login"
|
window.location.href = "/login"
|
||||||
}
|
}
|
||||||
} else if (status >= 510) {
|
} else if (status >= 510) {
|
||||||
|
|||||||
@@ -136,6 +136,7 @@ export default function AppLayout({
|
|||||||
|
|
||||||
const handleLogout = async () => {
|
const handleLogout = async () => {
|
||||||
useUserStore.getState().removeUserInfo()
|
useUserStore.getState().removeUserInfo()
|
||||||
|
usePermissionStore.getState().logout()
|
||||||
process.env.NEXT_PUBLIC_OUTPUT_TYPE === "standalone" &&
|
process.env.NEXT_PUBLIC_OUTPUT_TYPE === "standalone" &&
|
||||||
(await deleteCookie())
|
(await deleteCookie())
|
||||||
router.push("/login")
|
router.push("/login")
|
||||||
|
|||||||
Reference in New Issue
Block a user