Перейти к основному содержимому

Vue Client SDK

Background

Vue Client SDK повторно использует ряд концепций javaScript.

Vue Client включает в себя:

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

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

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

npm install expf-sigma.js

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

<script>
export default {
data() {
return {
token: <TOKEN>,
userData: {
userId: <USER_ID>,
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>