Rumah >hujung hadapan web >tutorial js >Kod Melawan Jam : Mengautomasikan Pengurusan Kehadiran

Kod Melawan Jam : Mengautomasikan Pengurusan Kehadiran

Linda Hamilton
Linda Hamiltonasal
2024-12-21 12:04:10327semak imbas

Selamat datang kembali ke ": Code Against the Clock :!" – siri blog di mana saya mengubah tugasan biasa menjadi keajaiban yang diperkemas dan menjimatkan masa. Hari ini, saya teruja untuk berkongsi projek di mana saya mengubah kerja manual yang berulang-ulang kepada kuasa automatik. Bersedia untuk melihat cara anda boleh menjimatkan masa dan menambahkan sentuhan keseronokan pada aliran kerja anda? Mari selami!

Kisah Belakang

Seperti yang anda ketahui, saya bekerja sebagai pembangun tindanan penuh pada permulaan. Kami menggunakan Keka untuk menguruskan kehadiran pekerja, yang memerlukan masa masuk dan keluar secara manual setiap hari apabila masuk dan keluar dari pejabat. Isunya? Kadang-kadang, saya terlupa untuk masuk atau keluar, yang mengakibatkan kehadiran saya ditandakan sebagai tidak hadir. Ini bermakna saya perlu menaikkan tiket di Keka untuk membetulkannya – tugas yang membosankan yang ingin saya automasi.

Pecahan Masalah

Pada mulanya, saya mencari API yang disediakan oleh Keka untuk tujuan ini, tetapi malangnya, mereka tidak menawarkannya. Tiada masalah! Sebagai pembangun, saya menyahut cabaran untuk menyelesaikannya sendiri. Saya bermula dengan menganalisis tapak web Keka untuk memahami cara ia berfungsi. Dengan menggunakan tab rangkaian dalam alat pembangun penyemak imbas saya, saya mengenal pasti titik akhir yang dicetuskan apabila masuk dan keluar.

Saya menulis skrip Node.js mudah menggunakan fetch untuk membuat permintaan dengan token Pembawa dalam pengepala, dan ia berjaya. Walau bagaimanapun, terdapat tangkapan: token Pembawa tamat tempoh setiap hari. Saya mendapati bahawa tapak web itu mengekalkan token muat semula dalam storan tempatan, yang digunakan untuk mendapatkan token Pembawa baharu apabila token lama tamat tempoh.

Selepas menyesuaikan skrip saya untuk mengendalikan perkara ini, saya menghadapi beberapa lagi cabaran:

  • Bagaimanakah skrip tahu apabila saya memasuki pejabat?
  • Bagaimanakah ia menentukan masa untuk tamat?
  • Bagaimanakah saya akan diberitahu tentang sebarang ralat dan boleh masuk secara manual?

Penyelesaian

Untuk menangani isu ini, saya telah mencipta penyelesaian berikut:

  1. Pengesanan Kemasukan Pejabat: Saya mengkonfigurasi skrip dengan waktu pejabat tertentu. Skrip kemudiannya akan mula cuba mencatat masa apabila jam ini telah dicapai.
  2. Masa Habis Jam: Saya menetapkan tempoh boleh dikonfigurasikan dalam skrip untuk berapa jam selepas mencatat masa masa itu sepatutnya tamat secara automatik.
  3. Pemberitahuan Ralat dan Manual Jam Masuk: Saya menyepadukan pemberitahuan Slack ke dalam skrip. Dengan cara ini, saya akan menerima makluman untuk jam masuk dan keluar yang berjaya, serta ralat.
[CRON Job (Every 15 minutes)] ---> [Node.js Script]
                         \-------> [Check Time] ---> [Clock In/Out]
                         \-------> [Notify (Slack)]

Setelah semuanya siap, saya menjadualkan kerja cron untuk menjalankan skrip saya setiap 15 minit. Persediaan ini berfungsi dengan sempurna selama setahun, mengautomasikan pengurusan kehadiran saya dengan cekap.

Peralihan kepada Sambungan Chrome

Selepas setahun, saya memutuskan untuk meningkatkan penyelesaian dengan menukar skrip kepada sambungan Chrome. Ini memudahkan perkongsian dengan rakan sekerja. Begini cara sambungan berfungsi:

  1. Persediaan: Selepas memasang sambungan, anda digesa untuk memasuki waktu masuk dan keluar pejabat anda dan nyatakan tempoh selepas itu anda ingin tamatkan masa.
  2. Mekanisme Penggera: Sambungan menetapkan penggera Chrome untuk dijalankan setiap 15 minit. Apabila masa jam masuk dicapai, ia membuka tapak web Keka dengan parameter pertanyaan (?CLK_IN=true).
  3. Skrip Kandungan: Sambungan termasuk skrip kandungan yang menghuraikan parameter pertanyaan dan mencetuskan proses jam masuk atau jam keluar. Setelah berjaya, ia menghantar mesej kejayaan kepada perkhidmatan latar belakang, yang merekodkan masa masuk jam dan menjadualkan jam keluar dengan sewajarnya.

Code Against the Clock : Automating Attendance Management

[CRON Job (Every 15 minutes)] ---> [Node.js Script]
                         \-------> [Check Time] ---> [Clock In/Out]
                         \-------> [Notify (Slack)]

Pendekatan diperkemas ini menjadikan pengurusan kehadiran saya lebih mudah!

Nota: Jika anda berminat dengan kod sumber, sila hubungi saya!

Giliran Anda!

Pernahkah anda mengautomasikan tugasan menggunakan kod? Kongsi pengalaman dan petua anda dalam komen di bawah! Apakah tugasan yang anda harap anda boleh mengautomasikan? Jom bincang!

Terima kasih kerana menyertai saya dalam perjalanan automasi ini. Jangan lupa melanggan blog saya untuk lebih banyak petua dan kemas kini. Selamat mengekod!

Atas ialah kandungan terperinci Kod Melawan Jam : Mengautomasikan Pengurusan Kehadiran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn