refactor: 项目重构
This commit is contained in:
@@ -22,14 +22,24 @@ export const usePermissionStore = defineStore("permission", () => {
|
||||
*/
|
||||
function generateRoutes() {
|
||||
return new Promise<RouteRecordRaw[]>((resolve, reject) => {
|
||||
console.log("🔧 Starting to generate routes...");
|
||||
|
||||
MenuAPI.getRoutes()
|
||||
.then((data) => {
|
||||
const dynamicRoutes = parseDynamicRoutes(data);
|
||||
|
||||
routes.value = [...constantRoutes, ...dynamicRoutes];
|
||||
routesLoaded.value = true;
|
||||
|
||||
console.log("✅ Routes generation completed successfully");
|
||||
resolve(dynamicRoutes);
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("❌ Failed to generate routes:", error);
|
||||
|
||||
// 即使失败也要设置状态,避免无限重试
|
||||
routesLoaded.value = false;
|
||||
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import defaultSettings from "@/settings";
|
||||
import { SidebarColor, ThemeMode } from "@/enums/settings/theme.enum";
|
||||
import { LayoutMode } from "@/enums/settings/layout.enum";
|
||||
import type { LayoutMode } from "@/enums/settings/layout.enum";
|
||||
import { applyTheme, generateThemeColors, toggleDarkMode, toggleSidebarColor } from "@/utils/theme";
|
||||
|
||||
type SettingsValue = boolean | string;
|
||||
|
||||
@@ -90,6 +90,17 @@ export const useUserStore = defineStore("user", () => {
|
||||
// 清除标签视图
|
||||
useTagsViewStore().delAllViews();
|
||||
|
||||
// 3. 清理 WebSocket 连接
|
||||
// 动态导入避免循环依赖
|
||||
import("@/plugins/websocket")
|
||||
.then(({ cleanupWebSocket }) => {
|
||||
cleanupWebSocket();
|
||||
console.log("[UserStore] WebSocket connections cleaned up");
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("[UserStore] Failed to cleanup WebSocket:", error);
|
||||
});
|
||||
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user