36 lines
1.0 KiB
JavaScript
Executable File
36 lines
1.0 KiB
JavaScript
Executable File
if (localStorage.getItem("user-token") == null) {
|
|
window.location.replace(document.location.origin + "/login");
|
|
} else {
|
|
getArticles();
|
|
}
|
|
|
|
function apiCall(url, method) {
|
|
let xhr = new XMLHttpRequest();
|
|
xhr.withCredentials = true;
|
|
|
|
xhr.addEventListener("readystatechange", function () {
|
|
if (this.readyState === this.DONE) {
|
|
if (this.status === 401) {
|
|
window.location.replace(document.location.origin + "/login/");
|
|
} else {
|
|
runRenderProcess(JSON.parse(this.responseText));
|
|
localStorage.setItem("item-cache-date", new Date());
|
|
localStorage.setItem("item-cache-data", this.responseText);
|
|
}
|
|
}
|
|
});
|
|
xhr.open(method, "/api/v1" + url);
|
|
xhr.setRequestHeader("content-type", "application/json");
|
|
xhr.setRequestHeader("user-token", localStorage.getItem("user-token"));
|
|
return xhr;
|
|
}
|
|
|
|
function runRenderProcess(params) {
|
|
document.getElementById("mainContainer").innerHtml = params;
|
|
}
|
|
|
|
function getArticles() {
|
|
let call = apiCall("/article/get", "GET");
|
|
call.send();
|
|
}
|