add scheduler btn
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
const {app, BrowserWindow, ipcMain} = require('electron')
|
const {app, BrowserWindow, ipcMain} = require('electron')
|
||||||
const {_android: android} = require('playwright');
|
const {_android: android} = require('playwright');
|
||||||
const startBookWithNumbers = require('./src/appointment')
|
const {startBookWithNumbers, scheduleBookWithNumbers} = require('./src/appointment')
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const homedir = require('os').homedir();
|
const homedir = require('os').homedir();
|
||||||
const loadIniFile = require('read-ini-file')
|
const loadIniFile = require('read-ini-file')
|
||||||
@@ -22,6 +22,9 @@ const createWindow = () => {
|
|||||||
ipcMain.on('start-book', (event, startNumber, endNumber, selectedStore, audioAnalyse, alertBeep) => {
|
ipcMain.on('start-book', (event, startNumber, endNumber, selectedStore, audioAnalyse, alertBeep) => {
|
||||||
startBook(startNumber, endNumber, selectedStore, audioAnalyse, alertBeep)
|
startBook(startNumber, endNumber, selectedStore, audioAnalyse, alertBeep)
|
||||||
})
|
})
|
||||||
|
ipcMain.on('schedule-book', (event, startNumber, endNumber, selectedStore, audioAnalyse, alertBeep) => {
|
||||||
|
scheduleBook(startNumber, endNumber, selectedStore, audioAnalyse, alertBeep)
|
||||||
|
})
|
||||||
ipcMain.on('clearAllBrowsers', (event) => {
|
ipcMain.on('clearAllBrowsers', (event) => {
|
||||||
clearAllBrowsers()
|
clearAllBrowsers()
|
||||||
})
|
})
|
||||||
@@ -83,6 +86,20 @@ function startBook(startNumber, endNumber, selectedStore, audioAnalyse, alertBee
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function scheduleBook(startNumber, endNumber, selectedStore, audioAnalyse, alertBeep) {
|
||||||
|
console.log("scheduleBook: " + startNumber);
|
||||||
|
console.log("endNumber: " + endNumber);
|
||||||
|
console.log("selectedStore: " + selectedStore);
|
||||||
|
console.log("audioAnalyse: " + audioAnalyse);
|
||||||
|
//load config.ini file
|
||||||
|
let config = loadIniFile.sync(configFilePath);
|
||||||
|
console.log(config);
|
||||||
|
let contactExcelFilePath = config.DEFAULT.contact_list_file;
|
||||||
|
scheduleBookWithNumbers(startNumber, endNumber, selectedStore, contactExcelFilePath, audioAnalyse, alertBeep).then(() => {
|
||||||
|
console.log("stop")
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
async function scanDevices() {
|
async function scanDevices() {
|
||||||
exec("adb devices ", (error, stdout, stderr) => {
|
exec("adb devices ", (error, stdout, stderr) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
|
|||||||
@@ -2,6 +2,13 @@ const {contextBridge, ipcRenderer} = require('electron')
|
|||||||
|
|
||||||
contextBridge.exposeInMainWorld('appointment', {
|
contextBridge.exposeInMainWorld('appointment', {
|
||||||
startBook: (startNumber, endNumber, selectedStore, audioAnalyse, alertBeep) => ipcRenderer.send('start-book', startNumber, endNumber, selectedStore, audioAnalyse, alertBeep),
|
startBook: (startNumber, endNumber, selectedStore, audioAnalyse, alertBeep) => ipcRenderer.send('start-book', startNumber, endNumber, selectedStore, audioAnalyse, alertBeep),
|
||||||
|
scheduleBook: (startNumber, endNumber, selectedStore, audioAnalyse, alertBeep) => ipcRenderer.send('schedule-book', startNumber, endNumber, selectedStore, audioAnalyse, alertBeep),
|
||||||
clearAllBrowsers: () => ipcRenderer.send('clearAllBrowsers'),
|
clearAllBrowsers: () => ipcRenderer.send('clearAllBrowsers'),
|
||||||
scanDevices: () => ipcRenderer.invoke('scan-devices')
|
scanDevices: () => ipcRenderer.invoke('scan-devices')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// contextBridge.exposeInMainWorld('appointment', {
|
||||||
|
// startBook: (startNumber, endNumber, selectedStore, audioAnalyse, alertBeep) => ipcRenderer.send('schedule-book', startNumber, endNumber, selectedStore, audioAnalyse, alertBeep),
|
||||||
|
// clearAllBrowsers: () => ipcRenderer.send('clearAllBrowsers'),
|
||||||
|
// scanDevices: () => ipcRenderer.invoke('scan-devices')
|
||||||
|
// })
|
||||||
@@ -24,6 +24,12 @@ window.addEventListener('load', () => {
|
|||||||
window.appointment.startBook(startNumber, endNumber, selectedStore, audioAnalyse, alertBeep);
|
window.appointment.startBook(startNumber, endNumber, selectedStore, audioAnalyse, alertBeep);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
document.getElementById("scheduler_book_btn").addEventListener('click', () => {
|
||||||
|
let audioAnalyse = document.getElementById("audio_analyse").checked;
|
||||||
|
let alertBeep = document.getElementById("alert_beep").checked;
|
||||||
|
window.appointment.scheduleBook(startNumber, endNumber, selectedStore, audioAnalyse, alertBeep);
|
||||||
|
})
|
||||||
|
|
||||||
document.getElementById("clear_all_browsers").addEventListener('click', () => {
|
document.getElementById("clear_all_browsers").addEventListener('click', () => {
|
||||||
window.appointment.clearAllBrowsers();
|
window.appointment.clearAllBrowsers();
|
||||||
})
|
})
|
||||||
|
|||||||
+10
-1
@@ -3,6 +3,7 @@ const ExcelUtil = require("./excel/ExcelUtil");
|
|||||||
const CommandorPage = require("./workers/CommandorPage");
|
const CommandorPage = require("./workers/CommandorPage");
|
||||||
const {MongoManager, formatDate} = require("./workers/mongo_manager");
|
const {MongoManager, formatDate} = require("./workers/mongo_manager");
|
||||||
const alert = require('alert');
|
const alert = require('alert');
|
||||||
|
const schedule = require("node-schedule");
|
||||||
|
|
||||||
const mongoManager = new MongoManager();
|
const mongoManager = new MongoManager();
|
||||||
const SEVEN_DAYS_IN_S = 3600 * 24 * 7;
|
const SEVEN_DAYS_IN_S = 3600 * 24 * 7;
|
||||||
@@ -132,6 +133,14 @@ async function startWithList(contacts, device, selectedStore, audioAnalyse, aler
|
|||||||
}, Promise.resolve());
|
}, Promise.resolve());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function scheduleBookWithNumbers(startNumber, endNumber, selectedStore, pathToExcelFile = '/Users/lpan/Desktop/contact_all.xlsx', audioAnalyse = false, alertBeep = false) {
|
||||||
|
console.log("scheduleBookWithNumbers() called")
|
||||||
|
schedule.scheduleJob('45 9 * * *', function () {
|
||||||
|
console.log("start startBookWithNumbers")
|
||||||
|
startBookWithNumbers(startNumber, endNumber, selectedStore, pathToExcelFile, audioAnalyse = false, alertBeep = false)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
async function startBookWithNumbers(startNumber, endNumber, selectedStore, pathToExcelFile = '/Users/lpan/Desktop/contact_all.xlsx', audioAnalyse = false, alertBeep = false) {
|
async function startBookWithNumbers(startNumber, endNumber, selectedStore, pathToExcelFile = '/Users/lpan/Desktop/contact_all.xlsx', audioAnalyse = false, alertBeep = false) {
|
||||||
let allContactList = excelUtil.readContacts(pathToExcelFile);
|
let allContactList = excelUtil.readContacts(pathToExcelFile);
|
||||||
let contactList;
|
let contactList;
|
||||||
@@ -168,4 +177,4 @@ async function startBookWithNumbers(startNumber, endNumber, selectedStore, pathT
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = startBookWithNumbers
|
module.exports = {startBookWithNumbers, scheduleBookWithNumbers}
|
||||||
Reference in New Issue
Block a user