256 lines
7.7 KiB
JavaScript
256 lines
7.7 KiB
JavaScript
document.addEventListener('DOMContentLoaded', function () {
|
|
const terminateAction = document.getElementById('terminateAction');
|
|
const finishAction = document.getElementById('finishAction');
|
|
const exitAppButton = document.getElementById('exitAppButton');
|
|
|
|
const stackerStartButton = document.getElementById('stackerStartButton');
|
|
const stackerStopButton = document.getElementById('stackerStopButton');
|
|
const upDownOnButton = document.getElementById('upDownOnButton');
|
|
const upDownOffButton = document.getElementById('upDownOffButton');
|
|
const leftRightOnButton = document.getElementById('leftRightOnButton');
|
|
const leftRightOffButton = document.getElementById('leftRightOffButton');
|
|
|
|
function logAction(message) {
|
|
fetch('/writelog', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'text/plain',
|
|
},
|
|
body: message,
|
|
})
|
|
.then((response) => {
|
|
if (!response.ok) {
|
|
throw new Error('Failed to write log.');
|
|
}
|
|
return response.text();
|
|
})
|
|
.then((data) => {
|
|
console.log(`Log result: ${data}`);
|
|
})
|
|
.catch((error) => console.error('Error writing log:', error));
|
|
}
|
|
|
|
// 인덱스 표시 업데이트 함수
|
|
function updateIndexDisplay() {
|
|
fetch('/static/json/cache.json')
|
|
.then((response) => {
|
|
if (!response.ok) {
|
|
throw new Error('Network response was not ok');
|
|
}
|
|
return response.json();
|
|
})
|
|
.then((data) => {
|
|
document.getElementById('currentDataIndex').textContent =
|
|
data.currentDataIndex + 1;
|
|
document.getElementById('currentLayerIndex').textContent =
|
|
data.currentLayerIndex + 1;
|
|
console.log(data.currentDataIndex, data.currentLayerIndex);
|
|
})
|
|
.catch((error) => console.error('Error loading cache.json:', error));
|
|
}
|
|
|
|
// 페이지 로드 시 초기 인덱스 표시 업데이트
|
|
updateIndexDisplay();
|
|
|
|
// 일정 시간마다 인덱스 표시 업데이트
|
|
intervalId = setInterval(updateIndexDisplay, 5000); // 5초마다 업데이트
|
|
|
|
finishAction.addEventListener('click', function () {
|
|
finishAction.disabled = true;
|
|
fetch('/robot_immediately_take_book', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
},
|
|
body: JSON.stringify({
|
|
immediately_take_book: 'robot_immediately_take_book',
|
|
}),
|
|
})
|
|
.then((response) => {
|
|
if (!response.ok) {
|
|
throw new Error('immediately_take_book failed.');
|
|
}
|
|
return response.text();
|
|
})
|
|
.then((data) => {
|
|
console.log(data);
|
|
logAction(
|
|
'FE : robot_immediately_take_book api sent successfully - progress.js'
|
|
);
|
|
})
|
|
.catch((error) =>
|
|
console.error('Error Sending robot finish action:', error)
|
|
).finally(() => {
|
|
setTimeout(() => {
|
|
finishAction.disabled = false;
|
|
}, 10000);
|
|
})
|
|
});
|
|
|
|
terminateAction.addEventListener('click', function () {
|
|
fetch('/robot_finish_action', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
},
|
|
body: JSON.stringify({ action: 'robot_finish_action' }),
|
|
})
|
|
.then((response) => {
|
|
if (!response.ok) {
|
|
throw new Error('Failed to send robot finish action.');
|
|
}
|
|
return response.text();
|
|
})
|
|
.then((data) => {
|
|
console.log(data);
|
|
clearInterval(intervalId);
|
|
logAction(
|
|
'FE : robot_finish_action api sent successfully - progress.js'
|
|
);
|
|
|
|
window.location.href = '/';
|
|
})
|
|
.catch((error) =>
|
|
console.error('Error sending robot finish action:', error)
|
|
);
|
|
});
|
|
|
|
exitAppButton.addEventListener('click', function () {
|
|
fetch('/shutdown', {
|
|
method: 'POST',
|
|
})
|
|
.then((response) => response.text())
|
|
.then((data) => {
|
|
console.log(data);
|
|
logAction('FE : shutdown api sent successfully - progress.js');
|
|
})
|
|
.catch((error) => console.error('Error shutting down:', error));
|
|
});
|
|
|
|
stackerStartButton.addEventListener('click', function () {
|
|
fetch('/stacker_start', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
},
|
|
body: JSON.stringify({ action: 'stacker_start' }),
|
|
})
|
|
.then((response) => {
|
|
if (!response.ok) {
|
|
throw new Error('Failed to send stacker start.');
|
|
}
|
|
return response.text();
|
|
})
|
|
.then((data) => {
|
|
console.log(data);
|
|
logAction('FE : stacker_start api sent successfully - progress.js');
|
|
})
|
|
.catch((error) => console.error('Error sending stacker start:', error));
|
|
});
|
|
|
|
stackerStopButton.addEventListener('click', function () {
|
|
fetch('/stacker_stop', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
},
|
|
body: JSON.stringify({ action: 'stacker_stop' }),
|
|
})
|
|
.then((response) => {
|
|
if (!response.ok) {
|
|
throw new Error('Failed to send stacker stop.');
|
|
}
|
|
return response.text();
|
|
})
|
|
.then((data) => {
|
|
console.log(data);
|
|
logAction('FE : stacker_stop api sent successfully - progress.js');
|
|
})
|
|
.catch((error) => console.error('Error sending stacker stop:', error));
|
|
});
|
|
|
|
upDownOnButton.addEventListener('click', function () {
|
|
fetch('/updown_on', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
},
|
|
body: JSON.stringify({ action: 'updown_on' }),
|
|
})
|
|
.then((response) => {
|
|
if (!response.ok) {
|
|
throw new Error('Failed to send updown on');
|
|
}
|
|
return response.text();
|
|
})
|
|
.then((data) => {
|
|
console.log(data);
|
|
logAction('FE : updown_on api sent successfully - progress.js');
|
|
})
|
|
.catch((error) => console.error('Error sending updown on:', error));
|
|
});
|
|
|
|
upDownOffButton.addEventListener('click', function () {
|
|
fetch('/updown_off', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
},
|
|
body: JSON.stringify({ action: 'updown_off' }),
|
|
})
|
|
.then((response) => {
|
|
if (!response.ok) {
|
|
throw new Error('Failed to send updown off');
|
|
}
|
|
return response.text();
|
|
})
|
|
.then((data) => {
|
|
console.log(data);
|
|
logAction('FE : updown_off api sent successfully - progress.js');
|
|
})
|
|
.catch((error) => console.error('Error sending updown off:', error));
|
|
});
|
|
|
|
leftRightOnButton.addEventListener('click', function () {
|
|
fetch('/leftright_on', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
},
|
|
body: JSON.stringify({ action: 'leftright_on' }),
|
|
})
|
|
.then((response) => {
|
|
if (!response.ok) {
|
|
throw new Error('Failed to send leftright on');
|
|
}
|
|
return response.text();
|
|
})
|
|
.then((data) => {
|
|
console.log(data);
|
|
logAction('FE : leftright_on api sent successfully - progress.js');
|
|
})
|
|
.catch((error) => console.error('Error sending leftright on:', error));
|
|
});
|
|
|
|
leftRightOffButton.addEventListener('click', function () {
|
|
fetch('/leftright_off', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
},
|
|
body: JSON.stringify({ action: 'leftright_off' }),
|
|
})
|
|
.then((response) => {
|
|
if (!response.ok) {
|
|
throw new Error('Failed to send leftright off');
|
|
}
|
|
return response.text();
|
|
})
|
|
.then((data) => {
|
|
console.log(data);
|
|
logAction('FE : leftright_off api sent successfully - progress.js');
|
|
})
|
|
.catch((error) => console.error('Error sending leftright off:', error));
|
|
});
|
|
});
|