From 0cc94a980d8ad837608698eaac7affe810a91b7a Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期四, 04 八月 2022 01:15:09 +0800 Subject: [PATCH] update: [isLogin] authGuard --- PAMapp/middleware/isLogin.ts | 23 ++++++++++++++++------- 1 files changed, 16 insertions(+), 7 deletions(-) diff --git a/PAMapp/middleware/isLogin.ts b/PAMapp/middleware/isLogin.ts index 2f2a658..ff15fef 100644 --- a/PAMapp/middleware/isLogin.ts +++ b/PAMapp/middleware/isLogin.ts @@ -1,24 +1,33 @@ import { Middleware } from '@nuxt/types'; - const isLogin: Middleware = (context) => { const isUserLogin = context.store.getters['localStorage/isUserLogin']; const isAdminLogin = context.store.getters['localStorage/isAdminLogin']; const currentRouteName = context.route.name; - const noNeedLoginFunctionList = ['index', 'login', 'myConsultantList-consultantList', 'faq', 'consultantLogin', 'agentInfo-agentNo']; + const noNeedLoginFunctionList = [ + 'index', 'login', + 'myConsultantList-consultantList', 'myConsultantList-contactedList', + 'faq', 'consultantLogin', 'agentInfo-agentNo', + 'recommendConsultant', 'recommendConsultant-result', + 'quickFilter', + 'questionnaire-agentNo' // NOTE: �ㄐ���銝� authGuard ����嚗迨 route ��撌梁��靘�� login�� + ]; if (!isUserLogin && !isAdminLogin) { - if (!(noNeedLoginFunctionList.some((routeName) => routeName === currentRouteName))) { + const routeNeedLogin = !(noNeedLoginFunctionList.some((routeName) => routeName === currentRouteName)); + if (routeNeedLogin) { context.redirect('/'); } } else if(isUserLogin) { - const userFunctions = ['accountSetting', 'userReviewsRecord', 'myConsultantList-consultantList', 'questionnaire-agentNo', ...noNeedLoginFunctionList]; - if (!(userFunctions.some((routeName) => routeName === currentRouteName))) { + const userFunctions = ['notification', 'satisfactionList', 'accountSetting', 'userReviews', 'userReviewsRecord', ...noNeedLoginFunctionList]; + const routeNeedUserLogin = !(userFunctions.some((routeName) => routeName === currentRouteName)); + if (routeNeedUserLogin) { context.redirect('/'); } } else if(isAdminLogin) { - const agentFunctions = ['agentInfo-agentNo', 'agentInfo-edit-agentNo', 'record', 'myAppointmentList-appointmentList', 'myAppointmentList-contactedList', 'myAppointmentList-closedList', 'appointment-appointmentId', 'appointment-appointmentId-close',...noNeedLoginFunctionList ]; - if (!(agentFunctions.some((routeName) => routeName === currentRouteName))) { + 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) { context.redirect('/'); } } -- Gitblit v1.8.0