// // Simple JSON preset system // const jsonPresets = { // default: { // type: "configuration", // navItems: [ // { // navPage: "NAV_HOME", // navName: "Оплата", // icon: { type: "resource", value: "home" }, // position: 0, // enabled: true // }, // { // navPage: "NAV_SCAN", // navName: "Сканнер", // icon: { type: "resource", value: "scan" }, // position: 1, // enabled: true // }, // { // navPage: "NAV_PRINTER", // navName: "Принтер", // icon: { type: "resource", value: "printer" }, // position: 2, // enabled: true // }, // { // navPage: "NAV_SETTINGS", // navName: "Настройки", // icon: { type: "resource", value: "settings" }, // position: 3, // enabled: true // } // ], // mainLogo: { type: "resource", value: "mulberry" }, // footerLogo: { type: "resource", value: "mulberry" }, // printLogo: { type: "resource", value: "mulberry" }, // printURL: "www.mulberrypos.ru", // footerLogoVisibility: true, // bankMode: false, // footerGreetingText: "Hello!", // footerText: "©Mulberry 2025", // primaryColor: "#bb2aa1", // SecondaryColor: "#4aa6d3" // }, // D30_bankmode_false: { // type: "configuration", // navItems: [ // { // navPage: "NAV_HOME", // navName: "Оплата", // icon: { type: "resource", value: "scan" }, // position: 0, // enabled: true // }, // { // navPage: "NAV_SCAN", // navName: "Сканнер", // icon: { type: "resource", value: "scan" }, // position: 1, // enabled: true // }, // { // navPage: "NAV_CASHIER", // navName: "Касса", // icon: { type: "resource", value: "cashier" }, // position: 2, // enabled: true // }, // { // navPage: "NAV_SETTINGS", // navName: "Настройки", // icon: { type: "resource", value: "settings" }, // position: 3, // enabled: true // } // ], // mainLogo: { type: "resource", value: "mulberry" }, // footerLogo: { type: "resource", value: "mulberry" }, // printLogo: { type: "resource", value: "mulberry" }, // printURL: "www.mulberrypos.ru", // footerLogoVisibility: true, // bankMode: false, // footerGreetingText: "Hello!", // footerText: "©Mulberry 2025", // primaryColor: "#bb2aa1", // SecondaryColor: "#4aa6d3" // }, // D30_bankmode_true: { // type: "configuration", // navItems: [ // { // navPage: "NAV_HOME", // navName: "Оплата", // icon: { type: "resource", value: "home" }, // position: 0, // enabled: true // }, // { // navPage: "NAV_SCAN", // navName: "Сканнер", // icon: { type: "resource", value: "scan" }, // position: 1, // enabled: true // }, // { // navPage: "NAV_CASHIER", // navName: "Касса", // icon: { type: "resource", value: "cashier" }, // position: 2, // enabled: true // }, // { // navPage: "NAV_SETTINGS", // navName: "Настройки", // icon: { type: "resource", value: "settings" }, // position: 3, // enabled: true // } // ], // mainLogo: { type: "resource", value: "mulberry" }, // footerLogo: { type: "resource", value: "mulberry" }, // printLogo: { type: "resource", value: "mulberry" }, // printURL: "www.mulberrypos.ru", // footerLogoVisibility: true, // bankMode: true, // footerGreetingText: "Hello!", // footerText: "©Mulberry 2025", // primaryColor: "#000000ff", // SecondaryColor: "#6a6a6aff" // }, // bank: { // type: "configuration", // navItems: [ // { // navPage: "NAV_HOME", // navName: "Счета", // icon: { type: "resource", value: "home" }, // position: 0, // enabled: true // }, // { // navPage: "NAV_SCAN", // navName: "Депозит", // icon: { type: "resource", value: "scan" }, // position: 1, // enabled: true // }, // { // navPage: "NAV_PRINTER", // navName: "Чеки", // icon: { type: "resource", value: "printer" }, // position: 2, // enabled: true // }, // { // navPage: "NAV_SETTINGS", // navName: "Безопасность", // icon: { type: "resource", value: "settings" }, // position: 3, // enabled: true // } // ], // mainLogo: { type: "resource", value: "citibank" }, // footerLogo: { type: "resource", value: "citibank" }, // printLogo: { type: "resource", value: "citibank" }, // printURL: "www.bank.com", // footerLogoVisibility: true, // bankMode: true, // footerGreetingText: "Добро пожаловать", // footerText: "Банковский режим ©2025", // primaryColor: "#0047AB", // SecondaryColor: "#FFFFFF" // }, // minimal: { // type: "configuration", // navItems: [ // { // navPage: "NAV_HOME", // navName: "Оплата", // icon: { type: "resource", value: "home" }, // position: 0, // enabled: true // }, // { // navPage: "NAV_SCAN", // navName: "Сканнер", // icon: { type: "resource", value: "scan" }, // position: 1, // enabled: true // }, // { // enabled: false // }, // { // enabled: false // } // ], // mainLogo: { // type: "base64", // value: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAAKYB3X3/OAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAADTSURBVDiNpZOxCsIwEEWfiaCToKODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg极简主义" // }, // footerLogo: { type: "resource", value: "mulberry" }, // printLogo: { type: "resource", value: "mulberry" }, // printURL: "", // footerLogoVisibility: false, // bankMode: false, // footerGreetingText: "", // footerText: "", // primaryColor: "#333333", // SecondaryColor: "#CCCCCC" // } // }; // // Function to apply JSON preset // function applyJsonPreset(presetName) { // if (!jsonPresets[presetName]) return; // const preset = jsonPresets[presetName]; // const displayConfig = { // ...preset, // mainLogo: { // type: preset.mainLogo.type, // value: preset.mainLogo.value // }, // footerLogo: { // type: preset.footerLogo.type, // value: preset.footerLogo.value // }, // printLogo: { // type: preset.printLogo.type, // value: preset.printLogo.value // } // }; // document.getElementById('configLog').value = JSON.stringify(displayConfig, null, 2); // } // // Function to send preset to device // function sendPresetToDevice() { // const presetSelector = document.getElementById('presetSelector'); // const selectedPreset = presetSelector.value; // if (!selectedPreset) { // console.log('Please select a preset first!'); // return; // } // const presetConfig = jsonPresets[selectedPreset]; // const topicSelect = document.querySelector('select[name="topic"]'); // const selectedTopic = topicSelect.value; // if (!selectedTopic) { // console.log('Please select a preset first!'); // return; // } // console.log('[DEBUG] Sending preset to device:', presetConfig); // fetch('/sendToDevice', { // method: 'POST', // headers: { 'Content-Type': 'application/json' }, // body: JSON.stringify({ // config: presetConfig, // topic: selectedTopic // }) // }) // .then(response => { // if (!response.ok) { // throw new Error('Network response was not ok'); // } // return response.json(); // }) // .then(data => { // console.log('[DEBUG] Configuration published successfully'); // }) // .catch(err => { // console.error('[ERROR] Publish failed:', err); // }); // } // // Add event listeners when DOM is loaded // document.addEventListener('DOMContentLoaded', function() { // const presetSelector = document.getElementById('presetSelector'); // const sendPresetBtn = document.getElementById('sendPresetBtn'); // if (presetSelector) { // presetSelector.addEventListener('change', function() { // if (this.value) { // applyJsonPreset(this.value); // } // }); // } // if (sendPresetBtn) { // sendPresetBtn.addEventListener('click', sendPresetToDevice); // } // });