保誠-保戶業務員媒合平台
Tomas
2023-07-28 ab9d102ce99644f73ff365a1e70afbda1e14276d
PAMapp/nuxt.config.js
@@ -7,7 +7,7 @@
  // Global page headers: https://go.nuxtjs.dev/config-head
  head: {
    title: 'PAMapp',
    title: '保誠人壽保險顧問媒合平台',
    htmlAttrs: {
      lang: 'en'
    },
@@ -21,38 +21,84 @@
      { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
    ]
  },
  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/filters/date.filter.ts'
    '~/plugins/filters/date.filter.ts',
    '~/plugins/filters/age.filter.ts',
    '~/plugins/filters/consult-type.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: [
  ],
  // modules: [
  //   '@nuxtjs/gtm',
  // ],
  // plugins: [
  //   '~/plugins/gtm'
  //  ],
  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: {
@@ -63,13 +109,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']
  }
}