原來實現釘釘自動簽到如此簡單,每天準時上下班不是夢

本文主要介紹瞭如何利用現成軟件快速實現釘釘自動簽到功能,核心思路非常簡單,甚至無任何編程基礎的小白也能輕鬆實現定時自動打卡功能.

通過本節課程,你將學習到以下內容:

  • 怎麼開啓釘釘極速打卡功能;
  • 如何喚醒手機中的知名軟件;
  • 如何自己給自己發推送提醒;
  • 怎麼運行24h不間斷定時程序.

大綱

dingtalk-reminder-simple-mind-map.png

前言

關鍵詞

+ 提醒鬧鐘
+ 極速打卡

如今釘釘早已經成爲全國性的 app,不僅正在工作中的上班族離不開就連小學生也不逃不開被操控的宿命,不得不說釘釘真的是讓人又愛又恨!

例如: 功能非常簡單也是使用頻率相當高的打卡簽到功能就讓我忍不住吐槽,提醒方式只有兩種而且還是單選,要麼設置鬧鐘要麼設置極速打卡!

當然還有第三種方式: 你也可以選擇關閉提醒,呵呵.

dingtalk-reminder-setting-preview.png

所以最簡單操作流程如下:

dingtalk-reminder-before-flow.png

上述流程中讓我覺得不爽的是每次除了打開 app 響應時間過長之外,還有就是每次打卡都要自己心裏盤算着打卡時間,浪費了爲數不多的腦細胞.

因此需要一種更加傻瓜式操作流程來解放大腦,最好能實現自動打卡或者去掉打卡功能也可以,讓我沉浸在工作的海洋中吧!

效果

上下班時間定時推送打卡通知,點擊確認後自動完成打卡操作,省心省力不用記憶打卡時間,交給程序處理吧!

dingtalk-reminder-dingtalk-preview.gif

原理

關鍵詞

+ 極速打卡
+ URL Scheme
+ 定時喚醒

由於釘釘簽到打卡只有兩種快捷方式可供選擇,相比於提醒鬧鐘個人更偏愛極速打卡方式,因此開啓極速打卡功能後,只要在打卡時間段內打開 app 就會自動打卡,所以只要簡化某些流程就能實現傻瓜式打卡簽到.

在衆多喚醒手機中知名 app 的解決方案中有一種比較簡單的方式,那就是 URL Scheme 方案.

自定義 URL Scheme 協議

常用的URL Scheme

URL Scheme 是一種頁面跳轉協議,類似於網頁中的 url 鏈接,常用於 h5 網站引流到 app 應用的跳轉訪問,不同於普通 urlhttp/https 協議,URL Scheme 一般由 app 自定義協議頭,例如 dingtalk .

例如: 釘釘的跳轉協議是 dingtalk://具體什麼內容由釘釘自主規定 ,如果是普通的 url 鏈接用戶點擊就會跳轉到指定網頁,而 URL Scheme 鏈接點擊後就會跳轉到相應的 app 界面.

所以只要在瀏覽器中訪問到類似於 dingtalk://snowdreams1006.tech/ 這樣的鏈接就能實現自動跳轉到釘釘 app 中,既然已經解決了如何打開 app 的問題,那麼接下來的事情就是什麼時候訪問鏈接的問題了.

不知疲倦的crontab定時程序

Linux crontab 命令

對於編程開發者來說,實現定時程序的最簡單方式之一當屬於 crontab 命令了,屬於 linux 環境的基本命令之一,可用來執行定時程序,類似於日常生活中的日程表的功能.

# 早上 8 點半和下午 5 點半運行 dingtalk.sh 腳本文件並將運行結果寫入到 dingtalk.log 文件
30 08,17 * * * sudo ~/reminder/dingtalk.sh >> ~/reminder/dingtalk.log

現在搞定了定時運行腳本程序的問題,接下來的事情就比較簡單了,在 24h 不間斷運行的服務器上需要定時執行什麼命令才能實現用戶實現訪問到自定義鏈接呢?

狗吠狼吼bark給自己推送通知

Bark is an iOS App which allows you to push customed notifications to your iPhone : https://github.com/Finb/Bark

很顯然,我們需要一款推送服務,服務器定時下發推送通知給註冊手機用戶,由用戶主動點擊確認後跳轉到自定義協議網頁,緊接着就會觸發釘釘 app 的喚醒操作,從而實現自動打卡功能.

正常來說,手機上的 app 應用絕大多數都具備推送功能,然而推送內容都是由 app 自主控制,用戶只能選擇開啓或關閉通知功能,並不能決定通知內容,而 bark 卻是一款自己給自己發推送通知的軟件,簡單且開源.

# 點擊推送將跳轉到url的地址(發送時,URL參數需要編碼)
https://api.day.app/yourkey/百度網址?url=https://www.baidu.com 

dingtalk-reminder-bark-preview.png

只要訪問指定鏈接就能發送推送通知給用戶手機,進而用戶主動點擊通知就能跳轉到指定網頁,從而實現喚醒釘釘 app 的目的.

# bark 客戶端和服務器均開源,可以獨立部署也可以使用默認服務.
https://api.day.app/yourkey/釘釘打卡提醒/帶我去極速打卡?url=dingtalk://snowdreams1006.tech

命令行curl網絡請求神器

curl 的用法指南

現在已經構造出推送通知請求鏈接,只需要訪問該鏈接就能完成推送通知,由用戶直接操作的話可以複製到瀏覽器直接回車,但是如果要用程序運行的話就需要使用腳本命令 curl 神器.

curl -i -X GET \
 "https://api.day.app/yourkey/%E9%92%89%E9%92%89%E6%89%93%E5%8D%A1%E6%8F%90%E9%86%92/%E5%B8%A6%E6%88%91%E5%8E%BB%E6%9E%81%E9%80%9F%E6%89%93%E5%8D%A1?url=dingtalk://snowdreams1006.tech"

dingtalk-reminder-bark-push.png

現在總算實現了定時推送通知打開釘釘 app 實現自動簽到的功能,其實整個流程並不複雜,解決的是釘釘 app 並沒有提供定時自動簽到的功能這一問題.

總結

關鍵詞

+ 前提條件
+ 核心重點
+ 實現步驟
+ 主要技術
+ 感謝支持

本文的主要目的是解決釘釘上下班簽到打卡問題,提醒鬧鐘和極速打開只能二者選其一,並且也沒有定時自動簽到功能,所以本文的解決思路是利用 URL Scheme 定時喚醒 app,然後藉助極速打卡實現自動簽到功能.

前提條件

  • 支持固定上下班時間且開啓極速打卡功能

只有固定上下班時間才支持極速打卡功能,否則喚醒 app 後還是需要手動打卡豈不是多此一舉?

  • 擁有至少一臺 24h 不間斷運行的服務器

用於提供定時推送服務,如果有其他手段完成定時訪問喚醒鏈接的任務也可以不需要服務器.

  • 下載並註冊 bark 軟件或者其他類似軟件

用於接收推送通知,點擊推送通知內容確認後進而自動完成簽到打卡操作,省去了勞心費神的記憶時間.

核心重點

瀏覽器打開類似於 dingtalk://snowdreams1006.tech/ 這樣的帶有 dingtalk:// 協議的自定義鏈接即可實現打開釘釘 app 操作.

實現步驟

crontab 定時推送喚醒鏈接到註冊手機,用戶點擊推送通知確認後自動打開釘釘 app 進行極速簽到,從而變相實現了自動簽到的目的.

由於不需要心裏暗自計算上下班時間,只需要接收到推送後手動點擊進行簽到確認,所以大大節省了不少腦細胞,剩下的時間又可以愉快敲代碼了!

dingtalk-reminder-after-flow.png

主要技術

  • 高度自定義的網頁跳轉協議 : dingtalk
  • 不知疲倦的定時任務命令: crontab
  • 命令行下的網絡請求命令: curl
  • 自己給自己發推送通知軟件: bark

感謝支持

如果本文對你有所幫助,歡迎點贊留言告訴我一聲,你的支持和鼓勵將會是我繼續創作的動力!

雪之夢技術驛站

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章