Skip to main content

Vue Client SDK

Background#

этот SDK повторно использует ряд концепций javaScript, представленных в этом SDK. Vue Client включает в себя:

  • параметры инициализации имеют тот же набор параметров, но специфичными для vue.
  • hooks для Dynamic Configs возвращают DynamicConfig object
  • синглтон sigma

Инициализация SDK#

Вы можете установить модуль Sigma через npm или yarn.

npm install expf-sigma.js

Пример работы sigam в компоненте vue.js#

<script>export default {  data() {    return {      token: "token",      userData: {        userId: "userId",        email: "example@mail.ru",        appVersion: "1.2.1",        ip: "70.123.12.84",        custom: {          cookieKey: "1",          example: false,        },      },    };  },  methods: {    async flagUpdates() {      const sigma = new Sigma();
      sigma.init({        token: this.token,        userData: this.userData,      });      const price = await sigma.checkFlag("price");      if (price) {        document.querySelector(".h1").textContent = sigma.getFlag("price");      }
      // Experiments with parameters      const applePay = await sigma.getExperiment('exp_name').then(res => res.getParamValue('apple_pay'));
      if (applePay && applePay === true) {        applePay.textContent = `applePayVariant 1`;      } else if (applePay && applePay === false) {        applePay.textContent = `applePayVariant 2`;      }
      // Experiments with feature flags      const pay = await sigma.getExperiment('exp_name_pay').then(res => res.getFeatureValue('pay'));
      if (pay && pay === 'masterCard') {        button.textContent = `masterCard`;      } else if (pay && pay === 'visa`) {        button.textContent = `visa`;      } else {        button.textContent = `cash`;      }    },  },  created() {    this.flagUpdates();  },};</script>