pref:优化登录时获取不到用户页面无提示

This commit is contained in:
王中奇 2023-09-05 22:42:08 +08:00
parent d12d21c46d
commit af7a81e3f0
2 changed files with 25 additions and 1 deletions

View File

@ -36,6 +36,10 @@ export const useUserStore = defineStore('user', () => {
if (res) {
const data = res.data;
const user = data.user;
// 对用户进行校验,防止为空时卡死在登录页
if (user === null) {
return Promise.reject('用户不存在,请联系相关人员');
}
const profile = user.avatar == '' || user.avatar == null ? defAva : user.avatar;
if (data.roles && data.roles.length > 0) {

View File

@ -65,6 +65,8 @@ import { useUserStore } from '@/store/modules/user';
import { LoginData, TenantVO } from '@/api/types';
import { to } from 'await-to-js';
import { HttpStatus } from "@/enums/RespEnum";
import usePermissionStore from "@/store/modules/permission";
import { isHttp } from "@/utils/validate";
const userStore = useUserStore();
const router = useRouter();
@ -123,9 +125,27 @@ const handleLogin = () => {
}
// action
const [err] = await to(userStore.login(loginForm.value));
if (!err) {
//
const [getUserInfoError] = await to(useUserStore().getInfo());
if (!err && !getUserInfoError) {
//
const accessRoutes = await usePermissionStore().generateRoutes();
// roles访
accessRoutes.forEach((route) => {
if (!isHttp(route.path)) {
router.addRoute(route); // 访
}
});
await router.push({ path: redirect.value || '/' });
} else {
if(err){
ElMessage.error(err);
}
if(getUserInfoError){
ElMessage.error(getUserInfoError);
}
loading.value = false;
//
if (captchaEnabled.value) {