feat: 🚀 切换站点清空语言

This commit is contained in:
2025-08-07 14:51:54 +08:00
parent 1566a72cb6
commit 29d6ba59c9
6 changed files with 387 additions and 48 deletions

View File

@@ -44,9 +44,16 @@ import { useMsg } from "@/hooks/useMsg";
import { useUserStore } from "@/stores/modules/user";
import { ElMessageBox } from "element-plus";
import { outLogin } from "@/utils/outLogin";
import { useKeepAliveStore } from "@/stores/modules/keepAlive";
import { getLanguageListApi, getLanguageCutoverApi } from "@/api/modules/global";
// import { HOME_URL } from "@/config";
// import { useRouter } from "vue-router";
import { useTabsStore } from "@/stores/modules/tabs";
const tabStore = useTabsStore();
const userStore = useUserStore();
// const router = useRouter();
const keepAliveStore = useKeepAliveStore();
document.cookie = `lang=zh_cn`;
const langs = ref<any>([]);
const name = ref("");
@@ -58,13 +65,13 @@ const getLanguageList = async () => {
const { data } = result;
langs.value = data;
let id = userStore?.languageType ? userStore?.languageType : data[0]?.id;
getLanguageCutover(id);
getLanguageCutover(id, "noCLick");
}
};
getLanguageList();
// 站点切换接口
const getLanguageCutover = async (id: any) => {
const getLanguageCutover = async (id: any, type: any) => {
const result = await getLanguageCutoverApi(id);
if (result?.code === 0) {
userStore.setLanguageType(id);
@@ -72,12 +79,33 @@ const getLanguageCutover = async (id: any) => {
return item.id === id;
});
name.value = names[0]?.country_name;
if (type === "click") {
tabStore.closeMultipleTab("/admin/index");
keepAliveStore.setKeepAliveName();
router.push(HOME_URL);
}
}
};
// 站点切换事件
const handleCommand = (val: string) => {
getLanguageCutover(val);
//切换语言将清空所有标签页面
ElMessageBox.confirm("切换语言将清空所有标签页面?", "温馨提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(async () => {
await getLanguageCutover(val, "click");
// // // 1. 退出登录
// // const result: any = await logoutApi();
// // if (result?.code === 0) {
// // getLanguageCutover(val);
// // // outLogin();
// // } else {
// // useMsg("error", result.message);
// // }
});
};
// 退出登录

View File

@@ -36,6 +36,7 @@ import MoreButton from "./components/MoreButton.vue";
const route = useRoute();
const router = useRouter();
const tabStore = useTabsStore();
const authStore = useAuthStore();
// const globalStore = useGlobalStore();