@23perspective/pdpa 中文文档教程

发布于 4年前 浏览 27 更新于 3年前

@23perspective/pdpa

Nuxt.js cookie 同意管理

Setup

  1. Add @23perspective/pdpa dependency to your project
npm i @23perspective/pdpa # or yarn add @23perspective/pdpa
  1. Add @23perspective/pdpa to the modules section of nuxt.config.js
{
  modules: [
    // Simple usage
    '@23perspective/pdpa',

    // With options
    ['@23perspective/pdpa', {
      position: 'bottom',
      configEndpoint: 'api/pdpa/cookie/config',
      policyPageUrl: '#your-full-path-to-policy-page',
      companyLogoUrl: '#your-logo-url',
      strictlyGroup: ['C0001'],
      ...
    }],
  ],

  // Or you can define your options by this
  pdpa: {
    position: 'bottom',
    configEndpoint: 'api/pdpa/cookie/config',
    policyPageUrl: '#your-full-path-to-policy-page',
    companyLogoUrl: '#your-logo-url',
    strictlyGroup: ['C0001'],
    ...
  }
}
  1. Add component <CookieBanner /> or <cookie-banner /> into your last section of main layout (layouts\default.vue)

Available Parameters

{
  position: 'bottom', // only 'bottom' or 'center' (Default: 'bottom')
  configEndpoint: 'api/pdpa/cookie/config',
  policyPageUrl: '#your-full-path-to-policy-page',

  // Alternative: Multiple locale policy page (only select one)
  policyPageUrl: {
    th: '#your-full-path-to-thai-policy-page',
    en: '#your-full-path-to-eng-policy-page'
  }, 

  companyLogoUrl: '#your-logo-url',
  strictlyGroup: ['C0001'],
  gtm: { id: 'GTM-xxxxxxx', pageTracking: true }, // Optional
  gtmGroupCode: 'C0006', // Optional (which group is related to GTM, you have to provide this if you enable GTM)

  bannerText: {
    th: 'เราใช้คุกกี้เพื่อมอบประสบการณ์การใช้งานที่ดีที่สุดบนเว็บไซต์ของเรา รวมทั้งเพื่อ....',
    en: 'By clicking “Allow All”, you agree to the storing of cookies on your device to...'
  },

  defaultLang: 'th', // Optional (Default: 'th')
  langs: ['th', 'en'] // Optional (Locale switcher in cookies setting)

}

Example Usage

  • Component emit onSaveSetting event with selected cookies when settings are saved
<CookieBanner @onSaveSetting="yourFunction" \>

// Or with pug
cookie-banner(@onSaveSetting="yourFunction")
methods: {
  yourFunction(list) {
    console.log(list)
  }
}
  • You can check if cookie group is allowed by
this.$consent.isUserAllowed('C0001') // return Boolean
  • Manually toggle cookie settings by
this.$consent.showSetting()
  • Initial Consent Locale
<cookie-banner lang="en" />

License

MIT License

Copyright (c) 23perspective

@23perspective/pdpa

Nuxt.js cookie consent management

Setup

  1. Add @23perspective/pdpa dependency to your project
npm i @23perspective/pdpa # or yarn add @23perspective/pdpa
  1. Add @23perspective/pdpa to the modules section of nuxt.config.js
{
  modules: [
    // Simple usage
    '@23perspective/pdpa',

    // With options
    ['@23perspective/pdpa', {
      position: 'bottom',
      configEndpoint: 'api/pdpa/cookie/config',
      policyPageUrl: '#your-full-path-to-policy-page',
      companyLogoUrl: '#your-logo-url',
      strictlyGroup: ['C0001'],
      ...
    }],
  ],

  // Or you can define your options by this
  pdpa: {
    position: 'bottom',
    configEndpoint: 'api/pdpa/cookie/config',
    policyPageUrl: '#your-full-path-to-policy-page',
    companyLogoUrl: '#your-logo-url',
    strictlyGroup: ['C0001'],
    ...
  }
}
  1. Add component <CookieBanner /> or <cookie-banner /> into your last section of main layout (layouts\default.vue)

Available Parameters

{
  position: 'bottom', // only 'bottom' or 'center' (Default: 'bottom')
  configEndpoint: 'api/pdpa/cookie/config',
  policyPageUrl: '#your-full-path-to-policy-page',

  // Alternative: Multiple locale policy page (only select one)
  policyPageUrl: {
    th: '#your-full-path-to-thai-policy-page',
    en: '#your-full-path-to-eng-policy-page'
  }, 

  companyLogoUrl: '#your-logo-url',
  strictlyGroup: ['C0001'],
  gtm: { id: 'GTM-xxxxxxx', pageTracking: true }, // Optional
  gtmGroupCode: 'C0006', // Optional (which group is related to GTM, you have to provide this if you enable GTM)

  bannerText: {
    th: 'เราใช้คุกกี้เพื่อมอบประสบการณ์การใช้งานที่ดีที่สุดบนเว็บไซต์ของเรา รวมทั้งเพื่อ....',
    en: 'By clicking “Allow All”, you agree to the storing of cookies on your device to...'
  },

  defaultLang: 'th', // Optional (Default: 'th')
  langs: ['th', 'en'] // Optional (Locale switcher in cookies setting)

}

Example Usage

  • Component emit onSaveSetting event with selected cookies when settings are saved
<CookieBanner @onSaveSetting="yourFunction" \>

// Or with pug
cookie-banner(@onSaveSetting="yourFunction")
methods: {
  yourFunction(list) {
    console.log(list)
  }
}
  • You can check if cookie group is allowed by
this.$consent.isUserAllowed('C0001') // return Boolean
  • Manually toggle cookie settings by
this.$consent.showSetting()
  • Initial Consent Locale
<cookie-banner lang="en" />

License

MIT License

Copyright (c) 23perspective

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文