保誠-保戶業務員媒合平台
Tomas
2022-07-29 94f1c084f8694d097a3f61d7707e7726d1219cf8
update: authGuard
修改1個檔案
新增1個檔案
32 ■■■■■ 已變更過的檔案
PAMapp/middleware/isLogin.ts 30 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/nuxt.config.js 2 ●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/middleware/isLogin.ts
比對新檔案
@@ -0,0 +1,30 @@
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'];
    if (!isUserLogin && !isAdminLogin) {
        if (!(noNeedLoginFunctionList.some((routeName) => routeName === currentRouteName))) {
            context.redirect('/');
        }
    } else if(isUserLogin) {
        const userFunctions = ['accountSetting', 'userReviewsRecord', 'myConsultantList-consultantList', 'questionnaire-agentNo', ...noNeedLoginFunctionList];
        if (!(userFunctions.some((routeName) => routeName === currentRouteName))) {
            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))) {
            context.redirect('/');
        }
    }
    console.log('isLogin_currentRouteName', currentRouteName);
}
export default isLogin
PAMapp/nuxt.config.js
@@ -107,6 +107,6 @@
  router: {
    base: process.env.ENV === 'dev' ? '' : '/pam/',
    mode: 'hash',
    middleware: ['getUrlQuery', 'errorRoute']
    middleware: [ 'isLogin', 'getUrlQuery', 'errorRoute']
  }
}