本文主要介紹瞭如何利用現成軟件快速實現釘釘自動簽到功能,核心思路很是簡單,甚至無任何編程基礎的小白也能輕鬆實現定時自動打卡功能.html
經過本節課程,你將學習到如下內容:linux
關鍵詞git
+ 提醒鬧鐘
+ 極速打卡
複製代碼
現在釘釘早已經成爲全國性的 app,不只正在工做中的上班族離不開就連小學生也不逃不開被操控的宿命,不得不說釘釘真的是讓人又愛又恨!github
例如: 功能很是簡單也是使用頻率至關高的打卡簽到功能就讓我忍不住吐槽,提醒方式只有兩種並且仍是單選,要麼設置鬧鐘要麼設置極速打卡!編程
固然還有第三種方式: 你也能夠選擇關閉提醒,呵呵.api
因此最簡單操做流程以下:瀏覽器
上述流程中讓我以爲不爽的是每次除了打開 app 響應時間過長以外,還有就是每次打卡都要本身內心盤算着打卡時間,浪費了爲數很少的腦細胞.bash
所以須要一種更加傻瓜式操做流程來解放大腦,最好能實現自動打卡或者去掉打卡功能也能夠,讓我沉浸在工做的海洋中吧!服務器
上下班時間定時推送打卡通知,點擊確認後自動完成打卡操做,省心省力不用記憶打卡時間,交給程序處理吧!markdown
關鍵詞
+ 極速打卡
+ URL Scheme
+ 定時喚醒
複製代碼
因爲釘釘簽到打卡只有兩種快捷方式可供選擇,相比於提醒鬧鐘我的更偏心極速打卡方式,所以開啓極速打卡功能後,只要在打卡時間段內打開 app 就會自動打卡,因此只要簡化某些流程就能實現傻瓜式打卡簽到.
在衆多喚醒手機中知名 app 的解決方案中有一種比較簡單的方式,那就是 URL Scheme
方案.
自定義 URL Scheme 協議
URL Scheme
是一種頁面跳轉協議,相似於網頁中的 url
連接,經常使用於 h5 網站引流到 app 應用的跳轉訪問,不一樣於普通 url
的http/https
協議,URL Scheme
通常由 app 自定義協議頭,例如 dingtalk
.
例如: 釘釘的跳轉協議是 dingtalk://具體什麼內容由釘釘自主規定
,若是是普通的 url
連接用戶點擊就會跳轉到指定網頁,而 URL Scheme
連接點擊後就會跳轉到相應的 app 界面.
url
連接演示 : snowdreams1006.tech/
URL Scheme
連接演示 : dingtalk://snowdreams1006.tech/
因此只要在瀏覽器中訪問到相似於 dingtalk://snowdreams1006.tech/ 這樣的連接就能實現自動跳轉到釘釘 app 中,既然已經解決了如何打開 app 的問題,那麼接下來的事情就是何時訪問連接的問題了.
不知疲倦的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 : github.com/Finb/Bark
很顯然,咱們須要一款推送服務,服務器定時下發推送通知給註冊手機用戶,由用戶主動點擊確認後跳轉到自定義協議網頁,緊接着就會觸發釘釘 app 的喚醒操做,從而實現自動打卡功能.
正常來講,手機上的 app 應用絕大多數都具有推送功能,然而推送內容都是由 app 自主控制,用戶只能選擇開啓或關閉通知功能,並不能決定通知內容,而 bark
倒是一款本身給本身發推送通知的軟件,簡單且開源.
# 點擊推送將跳轉到url的地址(發送時,URL參數須要編碼) https://api.day.app/yourkey/百度網址?url=https://www.baidu.com 複製代碼
只要訪問指定連接就能發送推送通知給用戶手機,進而用戶主動點擊通知就能跳轉到指定網頁,從而實現喚醒釘釘 app 的目的.
# bark 客戶端和服務器均開源,能夠獨立部署也可使用默認服務. https://api.day.app/yourkey/釘釘打卡提醒/帶我去極速打卡?url=dingtalk://snowdreams1006.tech 複製代碼
命令行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" 複製代碼
如今總算實現了定時推送通知打開釘釘 app 實現自動簽到的功能,其實整個流程並不複雜,解決的是釘釘 app 並無提供定時自動簽到的功能這一問題.
關鍵詞
+ 前提條件
+ 核心重點
+ 實現步驟
+ 主要技術
+ 感謝支持
複製代碼
本文的主要目的是解決釘釘上下班簽到打卡問題,提醒鬧鐘和極速打開只能兩者選其一,而且也沒有定時自動簽到功能,因此本文的解決思路是利用 URL Scheme
定時喚醒 app,而後藉助極速打卡實現自動簽到功能.
前提條件
只有固定上下班時間才支持極速打卡功能,不然喚醒 app 後仍是須要手動打卡豈不是畫蛇添足?
用於提供定時推送服務,若是有其餘手段完成定時訪問喚醒連接的任務也能夠不須要服務器.
用於接收推送通知,點擊推送通知內容確認後進而自動完成簽到打卡操做,省去了勞心費神的記憶時間.
核心重點
瀏覽器打開相似於 dingtalk://snowdreams1006.tech/ 這樣的帶有 dingtalk://
協議的自定義連接便可實現打開釘釘 app 操做.
實現步驟
crontab
定時推送喚醒連接到註冊手機,用戶點擊推送通知確認後自動打開釘釘 app 進行極速簽到,從而變相實現了自動簽到的目的.
因爲不須要內心暗自計算上下班時間,只須要接收到推送後手動點擊進行簽到確認,因此大大節省了很多腦細胞,剩下的時間又能夠愉快敲代碼了!
主要技術
dingtalk
crontab
curl
bark
感謝支持
若是本文對你有所幫助,歡迎點贊留言告訴我一聲,你的支持和鼓勵將會是我繼續創做的動力!