From b4d6944076f1df6eedaae35c4c2a7072fe988e8a Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期二, 30 四月 2024 15:34:02 +0800 Subject: [PATCH] update: package-lock.json --- PAMapp/middleware/isLogin.ts | 28 +++++++++++++++++++--------- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git a/PAMapp/middleware/isLogin.ts b/PAMapp/middleware/isLogin.ts index 8f178a1..dd1e2b6 100644 --- a/PAMapp/middleware/isLogin.ts +++ b/PAMapp/middleware/isLogin.ts @@ -3,6 +3,7 @@ const isLogin: Middleware = (context) => { const isUserLogin = context.store.getters['localStorage/isUserLogin']; const isAdminLogin = context.store.getters['localStorage/isAdminLogin']; + const isGuest = !isUserLogin && !isAdminLogin; const currentRouteName = context.route.name; const noNeedLoginFunctionList = [ 'index', 'login', @@ -13,21 +14,30 @@ 'questionnaire-agentNo' // NOTE: �ㄐ���銝� authGuard ����嚗迨 route ��撌梁��靘�� login�� ]; - if (!isUserLogin && !isAdminLogin) { - const routeNeedLogin = !(noNeedLoginFunctionList.some((routeName) => routeName === currentRouteName)); - if (routeNeedLogin) { + if (isGuest) { + const guestCannotAccess = !(noNeedLoginFunctionList.includes(currentRouteName!)); + if (guestCannotAccess) { context.redirect('/'); } } else if(isUserLogin) { - const userFunctions = ['notification', 'satisfactionList', 'accountSetting', 'userReviews', 'userReviewsRecord', ...noNeedLoginFunctionList]; - const routeNeedUserLogin = !(userFunctions.some((routeName) => routeName === currentRouteName)); - if (routeNeedUserLogin) { + const userFunctions = [ + 'notification', 'satisfactionList', 'accountSetting', + 'userReviews', 'userReviewsRecord', + ...noNeedLoginFunctionList]; + const userCannotAccess = !(userFunctions.includes(currentRouteName!)); + if (userCannotAccess) { context.redirect('/'); } } else if(isAdminLogin) { - const agentFunctions = ['notification', 'agentInfo-agentNo', 'agentInfo-edit-agentNo', 'record', 'myAppointmentList-appointmentList', 'myAppointmentList-contactedList', 'myAppointmentList-closedList', 'appointment-appointmentId', 'appointment-appointmentId-close', ...noNeedLoginFunctionList]; - const routeNeedAgentLogin = !(agentFunctions.some((routeName) => routeName === currentRouteName)); - if (routeNeedAgentLogin) { + const agentFunctions = [ + 'notification', 'agentInfo-agentNo', 'agentInfo-edit-agentNo', 'record', + 'myAppointmentList-appointmentList', 'myAppointmentList-contactedList', 'myAppointmentList-closedList', + 'appointment-appointmentId', 'appointment-appointmentId-close', + 'appointment-appointmentId-interview-new', 'appointment-appointmentId-interviewList', + 'appointment-appointmentId-interview-interviewId', 'appointment-appointmentId-recordList', + ...noNeedLoginFunctionList]; + const agentCannotAccess = !(agentFunctions.includes(currentRouteName!)); + if (agentCannotAccess) { context.redirect('/'); } } -- Gitblit v1.8.0