This commit is contained in:
2024-12-25 16:07:51 +08:00
parent e39ea741ea
commit 453208f593
28 changed files with 867 additions and 63 deletions

View File

@@ -12,6 +12,9 @@ import { bg, avatar, illustration } from "./utils/static";
import { useRenderIcon } from "@/components/ReIcon/src/hooks";
import { ref, reactive, toRaw, onMounted, onBeforeUnmount } from "vue";
import { useDataThemeChange } from "@/layout/hooks/useDataThemeChange";
import { request, loginApi } from "@/api/utils";
import { ElMessage } from "element-plus";
import { setToken } from "@/utils/auth";
import dayIcon from "@/assets/svg/day.svg?component";
import darkIcon from "@/assets/svg/dark.svg?component";
@@ -39,39 +42,47 @@ const ruleForm = reactive({
const onLogin = async (formEl: FormInstance | undefined) => {
if (!formEl) return;
await formEl.validate((valid, fields) => {
await formEl.validate(async (valid, fields) => {
if (valid) {
loading.value = true;
useUserStoreHook()
.loginByUsername({
username: ruleForm.username,
password: ruleForm.password,
isBackendUser: 1
})
.then(res => {
console.log(res);
console.log("res.status = " + res.status);
console.log("res.success = " + res.success);
// if (res.success) {
console.info(typeof res.status);
if (res.status) {
console.log(res.status);
} else {
console.info(res);
console.error("res.status is undefined");
}
if (res.status === 200) {
// 获取后端路由
return initRouter().then(() => {
router.push(getTopMenu(true).path).then(() => {
message("登录成功", { type: "success" });
});
});
} else {
message("登录失败", { type: "error" });
}
})
.finally(() => (loading.value = false));
try {
const res = await request(loginApi("login"), {
method: "POST",
body: JSON.stringify({
username: ruleForm.username,
password: ruleForm.password,
isBackendUser: 1
})
});
console.log("登录响应:", res);
if (res.status === 200) {
console.log("登录成功,开始初始化路由");
console.log("accessToken:", res.data.accessToken);
// 存储token
setToken(res.data.accessToken);
// 更新用户信息
const userStore = useUserStoreHook();
await userStore.setUserInfo(res.data);
// 初始化路由
await initRouter();
// 显示成功消息
ElMessage.success("登录成功");
// 跳转到首页
await router.push(getTopMenu(true).path);
}
} catch (error) {
console.error("登录错误详情:", error);
ElMessage.error(error.message || "登录失败");
} finally {
loading.value = false;
}
}
});
};