my-gitbook
Blog
  • 👨‍💻简介
  • 入门教程
    • markdown 入门教程
    • git 入门教程
      • 初识 git
        • 安装 git
        • 配置 git
      • 实战 git
        • 本地仓库
        • 版本管理
        • 回到过去
        • 基本概念
        • 版本控制
        • 撤销更改
        • 删除文件
        • 远程仓库
        • 分支管理
          • 分支总览
          • 冲突合并
          • 分支策略
          • 紧急修复
          • 变基合并
          • 协同开发
          • 本地和远程仓库的本质
        • 里程碑式标签
      • 私人定制
        • 忽略文件
        • 同步推送多Git仓库
      • 搭建私服
      • 扩展工具
        • git bash 常见命令
        • git bash 朋友圈
        • git bash 扩展tree命令
        • git bash 扩展命令(上)
        • git bash 扩展命令(中)
        • git bash 扩展命令(下)
        • git submodule 父子模块
      • 沙海拾贝
        • 知识速查
        • 备忘录[译]
    • github 入门教程
      • github 访问速度太慢
      • github 徽章从何而来
    • gitbook 入门教程
      • 准备阶段
        • 前置知识
        • 环境要求
      • 快速体验
        • gitbook-cli 命令行操作
        • gitbook-editor 编辑器操作
        • gitbook.com 官网操作
      • 高级进阶
        • 插件介绍
          • 实用插件
          • 主题插件
          • 开发插件
        • 导出电子书
        • 发布电子书
      • 公众号引流
      • 优化搜索
      • 常见问题
        • 热加载失败治标之法
        • 初始化默认折叠效果
      • 参考更多
  • 编程笔记
    • java 学习笔记
    • go 学习笔记
    • php 学习笔记
    • python 学习笔记
      • 入门教程
        • 00-ubuntu安装
        • 01-Linux基础
        • 操作系统的发展史(科普章节)
      • Django教程
        • Django 学习笔记
    • Linux 学习笔记
      • Linux基础
      • Linux全栈运维
  • 兴趣开发
    • 从零开始搭建服务器
      • 从登录服务器开始
      • 更加优雅地部署项目
      • 跟着官方体验 Docker
      • 快速尝鲜基于 Docker 部署项目
      • 利用阿里云 OSS部署静态网站
      • 免费实现https访问网站
      • webhook
    • 运维部署
      • docker 环境
      • docker 操作
      • docker compose
      • docker + nginx
      • docker + blog
      • docker + resume
      • docker + gitbook
      • docker + Bark
      • docker + py12306
      • docker + mojo-Weixin
      • docker + wechat-work-message-push-go
      • docker + email
      • docker + mysql
      • docker + springboot
      • docker + redis
      • docker + gogs
      • docker + gitlab
      • docker + gitea
      • docker + crawlab
    • 工具资源
      • 给 mac 装个 vmware 虚拟机
        • 给 mac 虚拟机装个 windows
        • 给 mac 虚拟机装个 centos
        • 给 mac 虚拟机装个 ubuntu
      • 给 windows 装个 vmware 虚拟机
        • 给 windows 虚拟机装个 mac
        • 给 windows 虚拟机装个 windows
        • 给 windows 虚拟机装个 centos
        • 给 windows 虚拟机装个 ubuntu
      • 公众号历史文章备份
        • Ryen
        • 苏生不惑
        • Python技术
      • 学会开发专属 chrome 插件
      • 攻克 12306 前端加密算法
    • 如何写作
      • markdown 和富文本
      • markdown 转富文本
      • csv 半手动数据统计
      • js 半手动数据统计
      • 简述优选文章统计
      • 快速上手Mermaid流程图
      • 常见问题
  • 读书观感
    • 大数据浪潮之巅:新技术商业制胜之道
  • 程序人生
    • 待完成清单
      • yarn快速入门
      • gulp快速入门
      • nvm快速入门
      • lodash快速入门
      • regexper快速入门
      • sublime快速入门
      • github 快速入门
      • svn 快速入门
      • java 快速入门
      • mysql 快速入门
      • maven 快速入门
      • tomcat 快速入门
      • gitignore 快速入门
      • android studio 快速入门
      • npm 快速入门
      • nginx 快速入门
    • 其他
      • 重装开发环境
      • 钉钉签到提醒
      • 倒计时提醒
      • 关注网站
      • 转型之路
      • 历史统计
      • 关于作者
      • 捐赠支持
由 GitBook 提供支持
在本页
  • 大纲
  • 前言
  • 效果
  • 原理
  • 总结

这有帮助吗?

在GitHub上编辑
  1. 程序人生
  2. 其他

钉钉签到提醒

上一页重装开发环境下一页倒计时提醒

最后更新于1年前

这有帮助吗?

本文主要介绍了如何利用现成软件快速实现钉钉自动签到功能,核心思路非常简单,甚至无任何编程基础的小白也能轻松实现定时自动打卡功能.

通过本节课程,你将学习到以下内容:

  • 怎么开启钉钉极速打卡功能;

  • 如何唤醒手机中的知名软件;

  • 如何自己给自己发推送提醒;

  • 怎么运行24h不间断定时程序.

大纲

前言

关键词

+ 提醒闹钟
+ 极速打卡

如今钉钉早已经成为全国性的 app,不仅正在工作中的上班族离不开就连小学生也不逃不开被操控的宿命,不得不说钉钉真的是让人又爱又恨!

例如: 功能非常简单也是使用频率相当高的打卡签到功能就让我忍不住吐槽,提醒方式只有两种而且还是单选,要么设置闹钟要么设置极速打卡!

当然还有第三种方式: 你也可以选择关闭提醒,呵呵.

所以最简单操作流程如下:

上述流程中让我觉得不爽的是每次除了打开 app 响应时间过长之外,还有就是每次打卡都要自己心里盘算着打卡时间,浪费了为数不多的脑细胞.

因此需要一种更加傻瓜式操作流程来解放大脑,最好能实现自动打卡或者去掉打卡功能也可以,让我沉浸在工作的海洋中吧!

效果

上下班时间定时推送打卡通知,点击确认后自动完成打卡操作,省心省力不用记忆打卡时间,交给程序处理吧!

原理

关键词

+ 极速打卡
+ 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 界面.

不知疲倦的crontab定时程序

对于编程开发者来说,实现定时程序的最简单方式之一当属于 crontab 命令了,属于 linux 环境的基本命令之一,可用来执行定时程序,类似于日常生活中的日程表的功能.

# 早上 8 点半和下午 5 点半运行 dingtalk.sh 脚本文件并将运行结果写入到 dingtalk.log 文件
30 08,17 * * * sudo ~/reminder/dingtalk.sh >> ~/reminder/dingtalk.log

现在搞定了定时运行脚本程序的问题,接下来的事情就比较简单了,在 24h 不间断运行的服务器上需要定时执行什么命令才能实现用户实现访问到自定义链接呢?

狗吠狼吼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://adsryen.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://adsryen.tech"

现在总算实现了定时推送通知打开钉钉 app 实现自动签到的功能,其实整个流程并不复杂,解决的是钉钉 app 并没有提供定时自动签到的功能这一问题.

总结

关键词

+ 前提条件
+ 核心重点
+ 实现步骤
+ 主要技术
+ 感谢支持

本文的主要目的是解决钉钉上下班签到打卡问题,提醒闹钟和极速打开只能二者选其一,并且也没有定时自动签到功能,所以本文的解决思路是利用 URL Scheme 定时唤醒 app,然后借助极速打卡实现自动签到功能.

前提条件

  • 支持固定上下班时间且开启极速打卡功能

只有固定上下班时间才支持极速打卡功能,否则唤醒 app 后还是需要手动打卡岂不是多此一举?

  • 拥有至少一台 24h 不间断运行的服务器

用于提供定时推送服务,如果有其他手段完成定时访问唤醒链接的任务也可以不需要服务器.

  • 下载并注册 bark 软件或者其他类似软件

用于接收推送通知,点击推送通知内容确认后进而自动完成签到打卡操作,省去了劳心费神的记忆时间.

核心重点

实现步骤

crontab 定时推送唤醒链接到注册手机,用户点击推送通知确认后自动打开钉钉 app 进行极速签到,从而变相实现了自动签到的目的.

由于不需要心里暗自计算上下班时间,只需要接收到推送后手动点击进行签到确认,所以大大节省了不少脑细胞,剩下的时间又可以愉快敲代码了!

主要技术

  • 高度自定义的网页跳转协议 : dingtalk

  • 不知疲倦的定时任务命令: crontab

  • 命令行下的网络请求命令: curl

  • 自己给自己发推送通知软件: bark

感谢支持

如果本文对你有所帮助,欢迎点赞留言告诉我一声,你的支持和鼓励将会是我继续创作的动力!

url 链接演示 :

URL Scheme 链接演示 :

所以只要在浏览器中访问到类似于 这样的链接就能实现自动跳转到钉钉 app 中,既然已经解决了如何打开 app 的问题,那么接下来的事情就是什么时候访问链接的问题了.

Bark is an iOS App which allows you to push customed notifications to your iPhone :

浏览器打开类似于 这样的带有 dingtalk:// 协议的自定义链接即可实现打开钉钉 app 操作.

常用的URL Scheme
https://adsryen.tech/
dingtalk://adsryen.tech/
dingtalk://adsryen.tech/
Linux crontab 命令
https://github.com/Finb/Bark
curl 的用法指南
dingtalk://adsryen.tech/
dingtalk-reminder-simple-mind-map.png
dingtalk-reminder-setting-preview.png
dingtalk-reminder-before-flow.png
dingtalk-reminder-dingtalk-preview.gif
dingtalk-reminder-bark-preview.png
dingtalk-reminder-bark-push.png
dingtalk-reminder-after-flow.png