Vue Client SDK
Background
Vue Client SDK повторно использует ряд концепций javaScript.
Vue Client включает в себя:
- параметры инициализации имеют тот же набор параметров, но специфичными для vue.
- hooks для Dynamic Configs возвращают DynamicConfig object
- синглтон
sigma
Инициализация SDK
Вы можете установить модуль Sigma через npm или yarn.
- NPM
- Yarn
npm install expf-sigma.js
yarn add 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>