миграция на vue.js 2.7->3.5; рабочий front-generator (только для мониторинга и QoS)
This commit is contained in:
132
front-generator/template/common/admin-methods.js.j2
Normal file
132
front-generator/template/common/admin-methods.js.j2
Normal file
@@ -0,0 +1,132 @@
|
||||
settingsSubmitNetwork() {
|
||||
if (this.submitStatus.network) { return }
|
||||
let query = {
|
||||
"network.managementIp": this.param.network.managementIp,
|
||||
"network.managementGateway": this.param.network.managementGateway,
|
||||
"network.mode": this.param.network.mode,
|
||||
"network.dataIp": this.param.network.dataIp,
|
||||
"network.dataMtu": this.param.network.dataMtu
|
||||
}
|
||||
if (confirm('Вы уверены, что хотите сохранить настройки сети? После этого модем может стать недоступным.')) {
|
||||
this.submitStatus.network = true
|
||||
fetch('/api/set/network', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify(query)
|
||||
}).then(async (resp) => {
|
||||
this.submitStatus.network = false
|
||||
this.updateNetworkSettings(await resp.json())
|
||||
}).catch((reason) => {
|
||||
this.submitStatus.network = false
|
||||
alert(`Ошибка при применении настроек: ${reason}`)
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
settingsSubmitDebugSend() {
|
||||
if (this.submitStatus.debugSend) { return }
|
||||
let query = {
|
||||
"debugSend.en": this.param.debugSend.en,
|
||||
"debugSend.receiverIp": this.param.debugSend.receiverIp,
|
||||
"debugSend.portCinC": this.param.debugSend.portCinC,
|
||||
"debugSend.portData": this.param.debugSend.portData,
|
||||
"debugSend.timeout": this.param.debugSend.timeout
|
||||
}
|
||||
this.submitStatus.debugSend = true
|
||||
fetch('/api/set/debugSend', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify(query)
|
||||
}).then(async (resp) => {
|
||||
this.submitStatus.debugSend = false
|
||||
this.updateNetworkSettings(await resp.json())
|
||||
}).catch((reason) => {
|
||||
this.submitStatus.debugSend = false
|
||||
alert(`Ошибка при применении настроек: ${reason}`)
|
||||
})
|
||||
},
|
||||
|
||||
async settingsUploadUpdate() {
|
||||
if (!this.uploadFw.filename) {
|
||||
alert('Выберите файл для загрузки');
|
||||
return;
|
||||
}
|
||||
|
||||
async function readFileAsArrayBuffer(fileName) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!fileName) { reject(`Файл не выбран`); return }
|
||||
const reader = new FileReader();
|
||||
reader.onload = (e) => { resolve(reader.result) }
|
||||
reader.onerror = (e) => { reject(e) }
|
||||
reader.readAsArrayBuffer(fileName)
|
||||
})
|
||||
}
|
||||
|
||||
try {
|
||||
this.submitStatus.firmwareUpload = true
|
||||
this.uploadFw.progress = 0
|
||||
const blob = await readFileAsArrayBuffer(this.uploadFw.filename)
|
||||
|
||||
const xhr = new XMLHttpRequest();
|
||||
await new Promise((resolve) => {
|
||||
xhr.upload.addEventListener("progress", (event) => {
|
||||
if (event.lengthComputable) {
|
||||
this.uploadFw.progress = Math.round((event.loaded / event.total) * 1000) / 10;
|
||||
}
|
||||
});
|
||||
xhr.addEventListener("loadend", () => {
|
||||
this.uploadFw.progress = 100
|
||||
const rep = JSON.parse(xhr.responseText);
|
||||
this.uploadFw.sha256 = rep['sha256']
|
||||
resolve(xhr.readyState === 4 && xhr.status === 200);
|
||||
});
|
||||
xhr.open("PUT", "/api/firmwareUpdate", true);
|
||||
xhr.setRequestHeader("Content-Type", "application/octet-stream");
|
||||
xhr.send(blob);
|
||||
});
|
||||
} catch (e) {
|
||||
alert(`Ошибка загрузки файла: ${e}`);
|
||||
}
|
||||
this.submitStatus.firmwareUpload = false
|
||||
},
|
||||
|
||||
async settingsPerformFirmwareUpgrade() {
|
||||
if (this.submitStatus.firmwareUpgrade) { return }
|
||||
this.submitStatus.firmwareUpgrade = true
|
||||
try {
|
||||
await fetch('/api/doFirmwareUpgrade', { method: 'POST' })
|
||||
} catch (e) {
|
||||
console.log("failed to perform upgrade firmware: ", e)
|
||||
}
|
||||
this.submitStatus.firmwareUpgrade = false
|
||||
},
|
||||
|
||||
updateNetworkSettings(vals) {
|
||||
this.submitStatus.network = false
|
||||
this.param.network.managementIp = vals["settings"]["network.managementIp"]
|
||||
this.param.network.managementGateway = vals["settings"]["network.managementGateway"]
|
||||
this.param.network.mode = vals["settings"]["network.mode"]
|
||||
this.param.network.dataIp = vals["settings"]["network.dataIp"]
|
||||
this.param.network.dataMtu = vals["settings"]["network.dataMtu"]
|
||||
},
|
||||
|
||||
updateDebugSendSettings(vals) {
|
||||
this.submitStatus.debugSend = false
|
||||
this.param.debugSend.en = vals["settings"]["debugSend.en"]
|
||||
this.param.debugSend.receiverIp = vals["settings"]["debugSend.receiverIp"]
|
||||
this.param.debugSend.portCinC = vals["settings"]["debugSend.portCinC"]
|
||||
this.param.debugSend.portData = vals["settings"]["debugSend.portData"]
|
||||
this.param.debugSend.timeout = vals["settings"]["debugSend.timeout"]
|
||||
},
|
||||
|
||||
doModemReboot() {
|
||||
if (this.submitStatus.modemReboot !== null) {
|
||||
return
|
||||
}
|
||||
this.submitStatus.modemReboot = 30
|
||||
fetch('/api/reboot', { method: 'POST' }).then((r) => {})
|
||||
},
|
Reference in New Issue
Block a user