mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-10-02 08:29:21 +00:00
feat(store): 为 notice、user 和 config store 启用持久化
在 store/index.js 中为 noticeStore、userStore 和 configStore 添加了 persist: true,以确保这些 store 的状态在页面刷新后能够持久化保存。 refactor(layout): 优化退出登录逻辑 在 basicLayout.vue 中,退出登录时增加了清空 Pinia 状态的逻辑,确保用户信息、配置和通知等状态在退出时被重置。 fix(dict): 修复字典类型选项加载问题 在 system/dict/data.vue 中,确保在 onMounted 钩子中加载字典类型选项,并根据路由参数初始化查询状态。
This commit is contained in:
@@ -156,9 +156,8 @@ import {
|
||||
BulbOutlined,
|
||||
BulbFilled
|
||||
} from '@ant-design/icons-vue';
|
||||
import { useUserStore } from "@/store/index";
|
||||
import { useUserStore, useNoticeStore, useDictStore, useConfigStore } from "@/store/index";
|
||||
import { logout } from '@/api/system/auth';
|
||||
import { useConfigStore, useNoticeStore } from "@/store/index";
|
||||
|
||||
const userStore = useUserStore();
|
||||
|
||||
@@ -198,10 +197,17 @@ const handleUserMenuClick: MenuProps['onClick'] = ({ key }) => {
|
||||
// 处理退出登录
|
||||
const handleLogout = async () => {
|
||||
try {
|
||||
// 清空 Pinia 状态
|
||||
|
||||
await logout({ token: storage.get('Access-Token') });
|
||||
|
||||
// 重置 store 状态
|
||||
userStore.$reset();
|
||||
|
||||
storage.remove('Access-Token');
|
||||
storage.remove('Refresh-Token');
|
||||
await userStore.clearUserInfo;
|
||||
// 强制刷新页面
|
||||
router.push('/login');
|
||||
} catch (error) {
|
||||
console.error('退出登录失败:', error);
|
||||
|
||||
Reference in New Issue
Block a user