初版程式完成
一開始的初始程式是由ChatGPT幫我寫的,包含ElectronJS的主程式(main.js)、頁面(index.html)、sqlite資料庫存取…等程式。
雖然初步的想法功能不多,僅是自動化記錄上下班時間而已,但是實際實作的時候,總是會冒出很多的想法,一有想法就想要快速的執行,應用到程式中,也因為如此,初版的程式一直調整,就一直無法完成。
當意識到這個狀況的時候,已經過了好幾天,浪費了好幾天的時間一直調整我認為「進階」的功能,所以就重新思考,一開始想要什麼功能,什麼功能才是必要的,就有了如下的示意圖:
很簡單的,就是一個視窗內有一張圖,顯示目前的上班時間。
初版程式
- Electron.js進立一個視窗介面的程式。
- 使用sqlite資料庫,資料表workLog記錄上班時間。
- 只要啟用程式,就會紀錄一筆啟用時間的記錄,當天第一筆即為上班時間。
- node.js利用schtasks,新增一筆排程工作,用來自動啟用程式,顯示下班。
上述的初版規劃一定會有很多bug,不過就目前使用來說,已經很滿意了,也因為是自己使用,我不會主動去觸發那些BUG(笑)。
原本想做,但暫時被我擱置的功能
-
設定頁-可以設定:
- 每日工時,例如8小時。
- 扣除時數,例如午休1.5小時。
- 最早認列上班時間,避免00:01登入系統,被認列為上班,結果會在9點31分的 時候就提示該下班了。
- 建立排程,目前上班的排程是直接在工作排程器加入,預期設定頁新增功能可以一鍵設定,不需要自行設定排程。
…等,其實這些參數目前都有拉出來為一個變數,不過待設定頁出來後,就會更加好用。
-
上班的提示視窗,提供按鈕,讓使用者決定當天如何定義下班,例如下午休假,就不需處理午休時間,當天工時只有4小時,而非8小時…等,再根據設定,建立下班的小幫手排程。
-
下班的提示視窗,提供「再給我5分鐘」,5分鐘後再做提醒。
-
提醒視窗都加上倒數關閉的機制,避免沒有關閉視窗,下次執行會異常。
-
多張上、下班圖片,隨機顯示圖片。(或是依星期顯示圖片)
-
查詢頁,可以查閱上下班的時間記錄。
初版程式:上班
此為手動加入的工作排程,預期後續改版會在設定頁加入一鍵設定的功能
初版程式,每天登入電腦後,會自動加入「下班小幫手-下班」的排程。