Files
GymLink_Flutter/web/js/demo-js-interop.js

71 lines
2.3 KiB
JavaScript

(function () {
'use strict';
window._stateSet = function () {
window._stateSet = function () {
console.log('Call _stateSet only once');
};
let appState = window._appState;
function getToken() {
fetch(
'http://gymlink.freemyip.com:8080/api/auth/authorize_client',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
GymKey: 'eeb42dcb-8e5b-4f21-825a-3fc7ada43445', // Just testing token
id: '123',
}),
}
)
.then(res => res.json())
.catch(e => {
console.log(e);
setTimeout(getToken, 1000);
})
.then(data => {
if (data.payload)
appState.onTokenReceived(data.payload.token);
else {
console.log(data);
setTimeout(getToken, 1000);
}
});
}
let btn = document.getElementById('token');
btn.addEventListener('click', getToken);
let colorChangeBtnRed = document.getElementById('colorChangeBtnRed');
colorChangeBtnRed.addEventListener('click', function () {
var hexColor = '#FF0000'
.replace(
/^#?([a-f\d])([a-f\d])([a-f\d])$/i,
(m, r, g, b) => '#ff' + r + r + g + g + b + b
)
.substring(1);
var numColor = parseInt(hexColor, 16);
appState.changeColor(numColor);
});
let colorChangeBtnBlue = document.getElementById('colorChangeBtnBlue');
colorChangeBtnBlue.addEventListener('click', function () {
var hexColor = '#0000FF'
.replace(
/^#?([a-f\d])([a-f\d])([a-f\d])$/i,
(m, r, g, b) => '#ff' + r + r + g + g + b + b
)
.substring(1);
var numColor = parseInt(hexColor, 16);
appState.changeColor(numColor);
});
function onError() {
console.error('aboba');
}
appState.setOnError(onError);
};
})();