1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
| export default {
| // Disable server-side rendering: https://go.nuxtjs.dev/ssr-mode
| ssr: false,
|
| // Target: https://go.nuxtjs.dev/config-target
| target: 'static',
|
| // Global page headers: https://go.nuxtjs.dev/config-head
| head: {
| title: '保誠人壽保險顧問媒合平台',
| htmlAttrs: {
| lang: 'en'
| },
| meta: [
| { charset: 'utf-8' },
| { name: 'viewport', content: 'width=device-width, initial-scale=1' },
| { hid: 'description', name: 'description', content: '' },
| { name: 'format-detection', content: 'telephone=no' }
| ],
| link: [
| { 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/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/dotenv', { filename: '.env.' + process.env.ENV }],
| '@nuxtjs/gtm',
| ],
|
| // Modules: https://go.nuxtjs.dev/config-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: {
| },
| styleResources: {
| scss: [
| '~/assets/scss/main.scss'
| ]
| },
| router: {
| base: process.env.ENV === 'dev' ? '' : '/pam/',
| mode: 'hash',
| middleware: [ 'isLogin', 'getUrlQuery', 'errorRoute']
| }
| }
|
|