From abc8de79331d9911f64c636d965c9b00613dd3e4 Mon Sep 17 00:00:00 2001 From: PAN Lei Date: Wed, 14 Sep 2022 22:59:38 +0200 Subject: [PATCH] btn works --- appointment.js | 34 +++++++++++++++++++--------------- index.html | 29 ++++++++++++++++++++--------- main.js | 13 ++++++++++--- preload.js | 32 ++++++++++---------------------- renderer.js | 18 ++++++++++++++++++ 5 files changed, 77 insertions(+), 49 deletions(-) diff --git a/appointment.js b/appointment.js index 854b804..e7d68c1 100644 --- a/appointment.js +++ b/appointment.js @@ -6,7 +6,6 @@ const {MongoManager, formatDate} = require("./src/workers/mongo_manager"); const mongoManager = new MongoManager(); let excelUtil = new ExcelUtil(); -let contactList = excelUtil.readContacts() let collectionName = formatDate(new Date()) async function filterAlreadyBookedContacts(contactList) { @@ -20,18 +19,6 @@ async function filterAlreadyBookedContacts(contactList) { return contactsToBook; } -mongoManager.connect().then(r => { - filterAlreadyBookedContacts(contactList).then(listToBook => { - console.log(listToBook.length) - android.devices().then((devices) => { - let segmentNumber = listToBook.length / devices.length; - for (let i = 0; i < devices.length; i++) { - startWithList(listToBook.slice(i * segmentNumber, segmentNumber * (i + 1)), devices[i]); - } - }) - }) - } -) // Connect to the device. @@ -59,7 +46,6 @@ async function startBook(contactPojo, device) { } } - async function startWithList(contacts, device) { await contacts.reduce(async (promise, contactPojo) => { // This line will wait for the last async function to finish. @@ -69,4 +55,22 @@ async function startWithList(contacts, device) { const contents = await startBook(contactPojo, device); console.log(contents); }, Promise.resolve()); -} \ No newline at end of file +} + +async function startBookWithNumbers(startNumber, endNumber) { + let contactList = excelUtil.readContacts(); + mongoManager.connect().then(r => { + filterAlreadyBookedContacts(contactList).then(listToBook => { + console.log(listToBook.length) + android.devices().then((devices) => { + let segmentNumber = listToBook.length / devices.length; + for (let i = 0; i < devices.length; i++) { + startWithList(listToBook.slice(i * segmentNumber, segmentNumber * (i + 1)), devices[i]); + } + }) + }) + } + ) +} + +module.exports = startBookWithNumbers \ No newline at end of file diff --git a/index.html b/index.html index bab93d5..4e5e039 100644 --- a/index.html +++ b/index.html @@ -5,20 +5,31 @@ 爱马仕约会 - -开始联系人位置 -结束联系人位置 - - +
+

选择联系人

+
+ + +
+ + +
+
+
+
+ + +

+ \ No newline at end of file diff --git a/main.js b/main.js index 4f49240..b99d45e 100644 --- a/main.js +++ b/main.js @@ -1,4 +1,4 @@ -const {app, BrowserWindow} = require('electron') +const {app, BrowserWindow, ipcMain} = require('electron') const path = require("path"); const createWindow = () => { @@ -13,6 +13,10 @@ const createWindow = () => { win.loadFile('index.html').then((r) => { }) + ipcMain.on('start-book', (event, startNumber, endNumber, selectedStore) => { + startBook(startNumber, endNumber, selectedStore) + }) + win.webContents.openDevTools(); } app.whenReady().then(() => { @@ -25,8 +29,11 @@ app.whenReady().then(() => { app.on('window-all-closed', () => { if (process.platform !== 'darwin') app.quit() }) -const startBook = () => { - console.log("called") + +function startBook(startNumber, endNumber, selectedStore) { + console.log("startNumber: " + startNumber) + console.log("endNumber: " + endNumber) + console.log("selectedStore: " + selectedStore) } diff --git a/preload.js b/preload.js index b5fac9f..52697fa 100644 --- a/preload.js +++ b/preload.js @@ -1,25 +1,13 @@ -const startBookWithNumbers = require('appointment') -let startNumber = 0; -let endNumber = 0; -let selectedStore = 'faubourg'; -window.addEventListener('load', () => { - document.getElementById("start_book_btn").addEventListener('click', () => { - startBook() - }) - document.getElementById("store_selector").addEventListener('change', (event) => { - selectedStore = event.target.value - }) - document.getElementById("start_number").addEventListener('change', (event) => { - startNumber = event.target.value - }) - document.getElementById("end_number").addEventListener('change', (event) => { - endNumber = event.target.value - }) +const {contextBridge, ipcRenderer} = require('electron') + +contextBridge.exposeInMainWorld('appointment', { + startBook: (startNumber, endNumber, selectedStore) => ipcRenderer.send('start-book', startNumber, endNumber, selectedStore) }) -const startBook = () => { - alert("开始约会 " + "store:" + selectedStore + ",startNumber:" + startNumber + ",endNumber:" + endNumber) - console.log("开始约会 " + "store:" + selectedStore) - // startBookWithNumbers() -} +// +// const startBook = () => { +// console.log("开始约会 " + "store:" + selectedStore) +// window.appointment.startBook(startNumber, endNumber, selectedStore) +// // startBookWithNumbers() +// } diff --git a/renderer.js b/renderer.js index e69de29..0fba8dc 100644 --- a/renderer.js +++ b/renderer.js @@ -0,0 +1,18 @@ +let startNumber = 0; +let endNumber = 0; +let selectedStore = 'faubourg'; + +window.addEventListener('load', () => { + document.getElementById("start_book_btn").addEventListener('click', () => { + window.appointment.startBook(startNumber, endNumber, selectedStore) + }) + document.getElementById("store_selector").addEventListener('change', (event) => { + selectedStore = event.target.value + }) + document.getElementById("start_number").addEventListener('change', (event) => { + startNumber = event.target.value + }) + document.getElementById("end_number").addEventListener('change', (event) => { + endNumber = event.target.value + }) +}) \ No newline at end of file