feat: 🚀 切换站点清空语言
This commit is contained in:
@@ -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);
|
||||
// // }
|
||||
});
|
||||
};
|
||||
|
||||
// 退出登录
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user