ujsAutoClock 江苏大学自动健康打卡项目(Chrome 扩展 & Android APP)
下面是 Chrome 扩展的使用说明,Android 版本直接下载就行了,应该不用说明了

加载已解压的扩展程序



ujs自动健康打卡 -> 查看视图 背景页 可以在 Console 里看到自动打卡记录。使用截图:


其实一开始,我是拒绝的,一是因为写代码麻烦,二是因为觉得不重要,每天手动打卡就顺手的事,然而我错了,对于尤其像我这种昼夜时差颠倒的人,一不小心就会忘记,然后被打电话,所以…╮( ̄▽ ̄")╭
在浏览器打开 会得到一个打卡网址 serviceUrl="http://yun.ujs.edu.cn/xxhgl/yqsb/index" ,很显然需要用户认证,通过 "https://pass.ujs.edu.cn/cas/login?service="+serviceUrl 进行统一身份认证,浏览器会自动保存 Cookie(或者直接 "https://pass.ujs.edu.cn/cas/login" 好像也可以,这个参数的作用好像不是很明显,我没深究)username | password | captchaResponse | lt | dllt | execution | _eventId | rmShown'https://pass.ujs.edu.cn/cas/captcha.html?ts=' + new Date().getMilliseconds() 中随机生成https://pass.ujs.edu.cn/cas/login 获取表单参数 -> 访问 'https://pass.ujs.edu.cn/cas/captcha.html?ts=' + new Date().getMilliseconds() 获取验证码图片信息 -> 丢给 OCR 处理 -> 返回验证码后把表单参数接起来 ->POST 获取返回数据 -> 检查登录状态是否成功(因为 OCR 有一定几率识别有误差,如果是验证码错误就重试,如果用户名密码错误直接结束,其他错误抛出异常))'http://yun.ujs.edu.cn/xxhgl/yqsb/grmrsb?v=' + parseInt(Math.random() * 10000) 就可以看到保存的打卡表单信息,注意到只有 下午温度 、 上午温度 和 其他异常 三个字段每天刷新,需要填写,这里用 Chrome 扩展强大的脚本插入功能,在页面加载完成后自动填写空缺字段提交,并返回提交结果chrome.storage.local 储存 用户名 、 密码 和 每日自动执行时间 ,用 chrome.notifications 实现桌面通知, popup.html 和 options.html 实现设置的读取和保存,方便用户操作这个是后来开发的,因为吧,虽然 Chrome 扩展开发起来简单,但最大的不足之处就在于无法同步通知到手机上,本来是想用发邮件的方式,找了很久也没发现什么用 JS 实现起来较为简单的方案,然后呢,我想着干脆直接在手机上开发一个应用,这样不就方便多了,而且实现原理都差不多… 嗯,原理是差不多,细节就差远了,本来以为一两天就能写完,最后边学边写写了四五天…
参考: Chrome 插件 (扩展) 开发全攻略 Android 开发者