歡迎回到「:與時間賽跑的程式碼:!」 – 在這個部落格系列中,我將平凡的任務轉變為簡化、節省時間的奇蹟。今天,我很高興與大家分享一個項目,在這個項目中,我將重複的手動工作變成了自動化的動力室。準備好了解如何節省時間並為您的工作流程增添一絲興奮了嗎?讓我們開始吧!
正如你們很多人所知,我在一家新創公司擔任全端開發人員。我們使用Keka來管理員工考勤,每天進出辦公室時需要手動打卡。問題是什麼?有時,我忘記打卡上班或下班,這導致我的出勤被標記為缺席。這意味著我必須在 Keka 中提交罰單來糾正它——這是我想自動化的繁瑣任務。
最初,我為此目的尋找 Keka 提供的 API,但不幸的是,他們沒有提供。沒問題!身為開發人員,我接受了自己解決這個問題的挑戰。我首先分析 Keka 的網站來了解它是如何運作的。使用瀏覽器開發人員工具中的網路選項卡,我識別了打卡上下班時觸發的端點。
我寫了一個簡單的 Node.js 腳本,使用 fetch 來發出帶有不記名令牌的請求,而且它有效。然而,有一個問題:不記名令牌每天都會過期。我發現該網站在本地儲存中保留了刷新令牌,用於在舊令牌過期時獲取新的承載令牌。
在調整我的腳本來處理這個問題後,我面臨更多挑戰:
為了解決這些問題,我設計了以下解決方案:
一切就緒後,我安排了一個 cron 作業,每 15 分鐘運行一次我的腳本。這個設定完美運作了一年,有效地實現了我的考勤管理自動化。
一年後,我決定透過將腳本轉換為 Chrome 擴充功能來增強解決方案。這使得與同事分享變得更加容易。此擴充功能的工作原理如下:
這種簡化的方法讓管理我的出勤變得更加容易!
注意:如果您對原始碼感興趣,請隨時與我聯繫!
您是否曾經使用程式碼自動化執行任務?在下面的評論中分享您的經驗和技巧!您希望哪些任務可以自動化?我們來討論一下吧!
感謝您加入我的自動化之旅。不要忘記訂閱我的部落格以獲取更多提示和更新。快樂編碼!
以上是爭分奪秒的程式碼:自動化考勤管理的詳細內容。更多資訊請關注PHP中文網其他相關文章!