Я работаю над системой заказа в ресторане, которая будет развернута в сервисе облачного хостинга, в данном случае. На панели администратора системы упорядочения пользователь администратора может ввести IP-адрес и хост теплового принтера и сохранить его в системе и может выполнить тестовую печать с помощью атрибутов принтера, введенного пользователя. Однако, если сервер Flask развернут в службе облачного хостинга, как сервер Flask может сообщить тепловому принтеру, который подключен к клиенту для печати квитанции?const testStatus = document.getElementById('test-status');
const btnTestPrinter = document.getElementById('btn-test');
btnTestPrinter.addEventListener('click', async function(event) {
var name = document.getElementById('name').value;
var ipAddress = document.getElementById('ip_address').value;
var port = document.getElementById('port').value;
printer = {
"name": name,
"ip_address": ipAddress,
"port": port
}
const testPrinterUrl = window.location.origin+'{{ url_for("test_printer") }}';
try {
console.log("Testing printer: "+name);
const placeOrderResponse = await fetch(testPrinterUrl, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(printer)
});
const testResult = await placeOrderResponse.json();
var success = testResult.success;
if (success) {
testStatus.textContent = "Test print success";
} else {
testStatus.textContent = "Unable to perform test print";
}
} catch (error) {
console.error("Error: ", error);
}
});
Flask Server
@route('/test_printer', methods=['POST'])
def test_printer():
data:dict = json.loads(request.data)
print("Printer info: "+data.__repr__())
name = data['name']
ip_address = data['ip_address']
port = int(data['port'])
date_str = datetime.now().strftime("%m/%d/%Y, %H:%M:%S")
try:
p = printer.Network(ip_address, port=port, timeout=30)
p.text("Receipt text goes here")
p.cut() # Cut the paper
p.close()
except Exception as e:
print(f"Error: {e}")
return json.dumps({'success': False}), 500, {'ContentType':'application/json'}
return json.dumps({'success':True}), 200, {'ContentType':'application/json'}
Подробнее здесь: https://stackoverflow.com/questions/796 ... d-on-cloud
Подключитесь к термическому принтеру на клиенте от Flask Web App, развернутой в облаке ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение