|
@@ -204,46 +204,50 @@ const route = useRoute();
|
|
|
function handleLogin() {
|
|
|
loginFormRef.value.validate((valid: boolean) => {
|
|
|
if (valid) {
|
|
|
- //保存用户名和密码
|
|
|
- localStorage.setItem("local_name", loginData.value.userName);
|
|
|
- localStorage.setItem("local_pwd", loginData.value.password);
|
|
|
-
|
|
|
- loading.value = true;
|
|
|
- userStore
|
|
|
- .login(loginData.value)
|
|
|
- .then(async () => {
|
|
|
- const query: LocationQuery = route.query;
|
|
|
- const redirect = (query.redirect as LocationQueryValue) ?? "/";
|
|
|
- const otherQueryParams = Object.keys(query).reduce(
|
|
|
- (acc: any, cur: string) => {
|
|
|
- if (cur !== "redirect") {
|
|
|
- acc[cur] = query[cur];
|
|
|
- }
|
|
|
- return acc;
|
|
|
- },
|
|
|
- {}
|
|
|
- );
|
|
|
- // 获取字典
|
|
|
- getUserDicts(dictStore.types).then((res) => {
|
|
|
- if (res.data) {
|
|
|
- dictStore.dicts = res?.data ?? [];
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- // router.push({ path: redirect, query: otherQueryParams });
|
|
|
- router.push("/welcome");
|
|
|
- })
|
|
|
- .catch(() => {
|
|
|
- // getCaptcha();
|
|
|
- console.log("catch");
|
|
|
- })
|
|
|
- .finally(() => {
|
|
|
- loading.value = false;
|
|
|
- });
|
|
|
+ toLogin();
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+const toLogin = () => {
|
|
|
+ //保存用户名和密码
|
|
|
+ localStorage.setItem("local_name", loginData.value.userName);
|
|
|
+ localStorage.setItem("local_pwd", loginData.value.password);
|
|
|
+
|
|
|
+ loading.value = true;
|
|
|
+ userStore
|
|
|
+ .login(loginData.value)
|
|
|
+ .then(async () => {
|
|
|
+ const query: LocationQuery = route.query;
|
|
|
+ const redirect = (query.redirect as LocationQueryValue) ?? "/";
|
|
|
+ const otherQueryParams = Object.keys(query).reduce(
|
|
|
+ (acc: any, cur: string) => {
|
|
|
+ if (cur !== "redirect") {
|
|
|
+ acc[cur] = query[cur];
|
|
|
+ }
|
|
|
+ return acc;
|
|
|
+ },
|
|
|
+ {}
|
|
|
+ );
|
|
|
+ // 获取字典
|
|
|
+ getUserDicts(dictStore.types).then((res) => {
|
|
|
+ if (res.data) {
|
|
|
+ dictStore.dicts = res?.data ?? [];
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ // router.push({ path: redirect, query: otherQueryParams });
|
|
|
+ router.push("/welcome");
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ // getCaptcha();
|
|
|
+ console.log("catch");
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ loading.value = false;
|
|
|
+ });
|
|
|
+};
|
|
|
+
|
|
|
/**
|
|
|
* 主题切换
|
|
|
*/
|
|
@@ -272,6 +276,13 @@ function checkCapslock(e: any) {
|
|
|
}
|
|
|
|
|
|
onMounted?.(() => {
|
|
|
+ // 处理SSO
|
|
|
+ const query: LocationQuery = route.query;
|
|
|
+ if (query.token) {
|
|
|
+ loginData.value.token = query.token + "";
|
|
|
+ toLogin();
|
|
|
+ }
|
|
|
+
|
|
|
getOrgList();
|
|
|
toggleTheme();
|
|
|
|