import { defineStore } from "pinia" import { login, refreshToken } from "@/service/api/authentication" import cache from "@/utils/cache" import router from "@/router" import { ElMessage } from "element-plus" export const useLoginStore = defineStore("loginStore", { state: () => ({ token: cache.getItem("token") ?? "" }), actions: { setToken(accessToken) { this.token = accessToken cache.setItem("token", accessToken) }, async loginForAccessToken(userInfo) { const res = await login(userInfo) if (res.code != 200) return this.setToken(res.data.accessToken) ElMessage.success("登录成功!") router.push("/navigation") }, async loginForRefreshToken() { const res = await refreshToken() if (res.code == 200) { this.setToken(res.data.accessToken) return true // 刷新成功 } else { return false } } } })