diff --git a/index.html b/index.html index a922bc6..15523f4 100644 --- a/index.html +++ b/index.html @@ -36,6 +36,8 @@
自动语音分析
+ 警报声音 +
diff --git a/main.js b/main.js index c01f6da..5f481f0 100644 --- a/main.js +++ b/main.js @@ -19,8 +19,8 @@ const createWindow = () => { win.loadFile('index.html').then((r) => { }) - ipcMain.on('start-book', (event, startNumber, endNumber, selectedStore, audioAnalyse) => { - startBook(startNumber, endNumber, selectedStore, audioAnalyse) + ipcMain.on('start-book', (event, startNumber, endNumber, selectedStore, audioAnalyse, alertBeep) => { + startBook(startNumber, endNumber, selectedStore, audioAnalyse, alertBeep) }) ipcMain.on('clearAllBrowsers', (event) => { clearAllBrowsers() @@ -69,7 +69,7 @@ function clearAllBrowsers() { }); } -function startBook(startNumber, endNumber, selectedStore, audioAnalyse) { +function startBook(startNumber, endNumber, selectedStore, audioAnalyse, alertBeep) { console.log("startNumber: " + startNumber); console.log("endNumber: " + endNumber); console.log("selectedStore: " + selectedStore); @@ -78,7 +78,7 @@ function startBook(startNumber, endNumber, selectedStore, audioAnalyse) { let config = loadIniFile.sync(configFilePath); console.log(config); let contactExcelFilePath = config.DEFAULT.contact_list_file; - startBookWithNumbers(startNumber, endNumber, selectedStore, contactExcelFilePath, audioAnalyse).then(() => { + startBookWithNumbers(startNumber, endNumber, selectedStore, contactExcelFilePath, audioAnalyse, alertBeep).then(() => { console.log("stop") }) } diff --git a/preload.js b/preload.js index 1641ed6..565c766 100644 --- a/preload.js +++ b/preload.js @@ -1,7 +1,7 @@ const {contextBridge, ipcRenderer} = require('electron') contextBridge.exposeInMainWorld('appointment', { - startBook: (startNumber, endNumber, selectedStore, audioAnalyse) => ipcRenderer.send('start-book', startNumber, endNumber, selectedStore, audioAnalyse), + startBook: (startNumber, endNumber, selectedStore, audioAnalyse, alertBeep) => ipcRenderer.send('start-book', startNumber, endNumber, selectedStore, audioAnalyse, alertBeep), clearAllBrowsers: () => ipcRenderer.send('clearAllBrowsers'), scanDevices: () => ipcRenderer.invoke('scan-devices') }) \ No newline at end of file diff --git a/renderer.js b/renderer.js index ad503c8..7e209c4 100644 --- a/renderer.js +++ b/renderer.js @@ -17,7 +17,9 @@ window.addEventListener('load', () => { }) document.getElementById("start_book_btn").addEventListener('click', () => { let audioAnalyse = document.getElementById("audio_analyse").checked; - window.appointment.startBook(startNumber, endNumber, selectedStore, audioAnalyse); + let alertBeep = document.getElementById("alert_beep").checked; + alert("alertBeep is "+alertBeep) + window.appointment.startBook(startNumber, endNumber, selectedStore, audioAnalyse, alertBeep); }) document.getElementById("clear_all_browsers").addEventListener('click', () => { diff --git a/src/appointment.js b/src/appointment.js index 7c8d62b..f8f4d56 100644 --- a/src/appointment.js +++ b/src/appointment.js @@ -35,11 +35,11 @@ async function needToBook(contact, mongoManager) { return toReturn } -async function startBook(contactPojo, device, selectedStore, audioAnalyse) { +async function startBook(contactPojo, device, selectedStore, audioAnalyse, alertBeep) { console.log(`型号: ${device.model()}`); console.log(`序列号: ${device.serial()}`); if (await needToBook(contactPojo, mongoManager)) { - let commandor = new CommandorPage(contactPojo, device, mongoManager, selectedStore, audioAnalyse); + let commandor = new CommandorPage(contactPojo, device, mongoManager, selectedStore, audioAnalyse, alertBeep); //read contacts form excel return await commandor.loadPage(); } else { @@ -47,18 +47,18 @@ async function startBook(contactPojo, device, selectedStore, audioAnalyse) { } } -async function startWithList(contacts, device, selectedStore, audioAnalyse) { +async function startWithList(contacts, device, selectedStore, audioAnalyse, alertBeep) { await contacts.reduce(async (promise, contactPojo) => { // This line will wait for the last async function to finish. // The first iteration uses an already resolved Promise // so, it will immediately continue. await promise; - const contents = await startBook(contactPojo, device, selectedStore, audioAnalyse); + const contents = await startBook(contactPojo, device, selectedStore, audioAnalyse, alertBeep); console.log(contents); }, Promise.resolve()); } -async function startBookWithNumbers(startNumber, endNumber, selectedStore, pathToExcelFile = '/Users/lpan/Desktop/contact_all.xlsx', audioAnalyse = false) { +async function startBookWithNumbers(startNumber, endNumber, selectedStore, pathToExcelFile = '/Users/lpan/Desktop/contact_all.xlsx', audioAnalyse = false, alertBeep = false) { let allContactList = excelUtil.readContacts(pathToExcelFile); let contactList; if (endNumber <= allContactList.length) { @@ -80,7 +80,7 @@ async function startBookWithNumbers(startNumber, endNumber, selectedStore, pathT } let segmentNumber = listToBook.length / devices.length; for (let i = 0; i < devices.length; i++) { - startWithList(listToBook.slice(i * segmentNumber, segmentNumber * (i + 1)), devices[i], selectedStore, audioAnalyse); + startWithList(listToBook.slice(i * segmentNumber, segmentNumber * (i + 1)), devices[i], selectedStore, audioAnalyse, alertBeep); } }) }) diff --git a/src/workers/CommandorPage.js b/src/workers/CommandorPage.js index b93d26f..2c0d7f2 100644 --- a/src/workers/CommandorPage.js +++ b/src/workers/CommandorPage.js @@ -57,7 +57,7 @@ function log(message) { } class CommandorPage { - constructor(contact, device, mongoManager, selectedStore = DEFAULT_STORE, audioAnalyse = false) { + constructor(contact, device, mongoManager, selectedStore = DEFAULT_STORE, audioAnalyse = false, alertBeep = false) { this.contact = contact; this.device = device; this.mongoManager = mongoManager; @@ -66,6 +66,7 @@ class CommandorPage { this.isFillingFields = false; this.isTerminated = false; this.audioAnalyse = audioAnalyse; + this.alertBeep = alertBeep; } @@ -298,9 +299,11 @@ class CommandorPage { if (this.audioAnalyse) { await this.checkAudioBtn(); } - for (let i = 0; i < 15; i++) { - await delay(1000) - shell.beep() + if (this.alertBeep) { + for (let i = 0; i < 15; i++) { + await delay(1000) + shell.beep() + } } log("发现datadome"); } else {