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:
zhangtao
2025-05-23 01:23:01 +08:00
parent cb138adc9b
commit b35a861dc4
3 changed files with 18 additions and 2 deletions
+8 -2
View File
@@ -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);