保誠-保戶業務員媒合平台
Tomas
2023-08-14 13d12903240fa421e9cab00d5cb73735d32b0e52
PAMapp/nuxt.config.js
@@ -1,3 +1,7 @@
const gtmCode = process.env.ENV === 'prod'
    ? 'GTM-TFKVGTH'
    : process.env.ENV === 'uat' ? 'GTM-W2XMVJZT' : 'GTM_XXXXXXX';
export default {
  // Disable server-side rendering: https://go.nuxtjs.dev/ssr-mode
  ssr: false,
@@ -7,7 +11,7 @@
  // Global page headers: https://go.nuxtjs.dev/config-head
  head: {
    title: 'PAMapp',
    title: '保誠人壽保險顧問媒合平台',
    htmlAttrs: {
      lang: 'en'
    },
@@ -19,39 +23,83 @@
    ],
    link: [
      { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
    ]
    ],
    script: [
      {
        src: `https://www.googletagmanager.com/gtm.js?id=${ gtmCode }`,
        async: true,
      },
    ],
  },
  layoutTransition:'pam-fade-in',
  pageTransition:'pam-fade-in',
  // Global CSS: https://go.nuxtjs.dev/config-css
  css: [
    'element-ui/lib/theme-chalk/index.css',
    'swiper/css/swiper.css',
    'vue-scroll-picker/dist/style.css',
    '~/assets/scss/main.scss',
    '~/assets/pam-animation.css'
  ],
  // Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
  plugins: [
    '~/plugins/element-ui.js',
    { src: '~/plugins/vue-awesome-swiper.js', mode: 'client' },
    '~/plugins/service.ts',
    '~/plugins/vue-scroll-picker'
    '~/plugins/vue-scroll-picker',
    '~/plugins/filters/date.filter.ts',
    '~/plugins/filters/age.filter.ts',
    '~/plugins/filters/consultation-method.filter.ts',
    '~/plugins/filters/appointment-fail-reason.filter.ts',
    '~/plugins/filters/serve-area.filter.ts',
  ],
  // Auto import components: https://go.nuxtjs.dev/config-components
  components: true,
  // loading
  loading: '~/components/loading.vue',
  // Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
  buildModules: [
    // https://go.nuxtjs.dev/typescript
    '@nuxt/typescript-build',
    '@nuxtjs/axios',
    '@nuxtjs/style-resources'
    '@nuxtjs/style-resources',
    ['@nuxtjs/dotenv', { filename: '.env.' + process.env.ENV }],
    // '@nuxtjs/gtm',
  ],
  // Modules: https://go.nuxtjs.dev/config-modules
  modules: [
  ],
  // gtm: {
  //   enabled: true, /* see below */
  //   debug: false,
  //
  //   id: process.env.ENV === 'prod'
  //     ? 'GTM-TFKVGTH'
  //     : process.env.ENV === 'uat' ? 'GTM-W2XMVJZT' : 'GTM_XXXXXXX',
  //   layer: 'dataLayer',
  //   variables: {},
  //
  //   pageTracking: true,
  //   pageViewEventName: 'nuxtRoute',
  //
  //   autoInit: true,
  //   respectDoNotTrack: true,
  //
  //   scriptId: 'gtm-script',
  //   scriptDefer: false,
  //   scriptURL: 'https://www.googletagmanager.com/gtm.js',
  //   crossOrigin: false,
  //
  //   noscript: true,
  //   noscriptId: 'gtm-noscript',
  //   noscriptURL: 'https://www.googletagmanager.com/ns.html'
  // },
  //
  // publicRuntimeConfig: {
  //   gtm: {
  //     id: process.env.GOOGLE_TAG_MANAGER_ID
  //   }
  // },
  // Build Configuration: https://go.nuxtjs.dev/config-build
  build: {
@@ -62,13 +110,8 @@
    ]
  },
  router: {
    scrollBehavior (to, from, savedPosition) {
      if (savedPosition) {
        return savedPosition;
      } else {
        document.body.scrollTop = 0;
        document.documentElement.scrollTop = 0;
      }
    }
    base: process.env.ENV === 'dev' ? '' : '/pam/',
    mode: 'hash',
    middleware: [ 'isLogin', 'getUrlQuery', 'errorRoute']
  }
}