得实e学签到打卡自动化
得实e学签到打卡自动化,搭配第三方插件识别验证码,实现掉线自动登录。
使用方法:
不要让浏览器记住你账号密码!不要让浏览器记住你账号密码!不要让浏览器记住你账号密码!

1、需要修改代码中三个地方(账号、密码、在当前实习界面的网址)
2、打开后看到脚本运行即可

登录功能实现
1、安装第三方插件
2、这个插件普通用户一小时内只有两次机会,
3、注册完成之后,他会给你发个码,你点击插件有个设置识别码

Q:为什么要部署在服务器上?
A:因为服务器可以7*24h不关机运作

Q:为什么电脑要一直开着才可以?
A:脚本只是替代你做,脚本不是人,他需要借助电脑一直识别当前情况。如果嫌麻烦,可以不使用!

// ==UserScript==
// @name         得实e学签到打卡自动化
// @namespace    http://tampermonkey.net/
// @version      0.5
// @description  得实e学签到打卡自动化,搭配第三方插件识别验证码,实现掉线自动登录。解放脑子,脚本持续更新  欢迎访问程序员阿鑫博客 http://www.cxyax.com
// @author       程序员阿鑫
// @match        https://jxpt.lyvc.edu.cn/suite/person/personView.do?feature=person&action=practiceing&practiceKey=*
// @match        https://jxpt.lyvc.edu.cn/suite/login.*
// @match        https://jxpt.lyvc.edu.cn/suite/person/personView.*
// @match        https://jxpt.lyvc.edu.cn/suite/portal/portalView.do?siteKey=0
// @require      https://cdn.bootcss.com/jquery/3.6.0/jquery.min.js
// @icon         https://z3.ax1x.com/2021/09/21/4JLL7R.jpg
// @grant        none
// ==/UserScript==
 
(function() {
    //存入你的账号密码,帮你填
    var uname = "账号";
    var upwd = "密码"
 
    //如果当前页面在“实习”界面,需要登录进去把网址粘过来
    if((window.location.href) == "在实习界面的网址"){
        //获取当前时间
        var time = new Date();
        //如果当前时间在这个区间,就上班
        if(time.getHours() >= 7 && time.getHours() <= 10){
            signInData('上班','true');
            //如果执行成功,就休眠2小时,2小时之后重新请求
            sleep_reload("h",3);
        //如果时间在这个区间,就下班
        }else if(time.getHours() >= 18 && time.getHours() <= 21){
            signInData('下班','true');
            //如果执行成功,就休眠2小时,2小时之后重新请求
            sleep_reload("h",3);
        }else{
            //如果还没到时间,就1小时刷新一次
            sleep_reload("h",1);
        }
    } 
    //如果当前页面在登录界面
    if((window.location.href)=="https://jxpt.lyvc.edu.cn/suite/login.do" || (window.location.href)=="https://jxpt.lyvc.edu.cn/suite/login.do?"){
        //60秒执行一次,等待验证码识别
        var looper = setInterval(function(){
            //获取输入框中内容
            var username = $("#loginName").val();
            var password = $("#password").val();
            //判断不为空
            if((username != null && username != "") && (password != null && password != "")){
                //获取验证码框中内容
                var checkCode = $("#checkCode").val();
                //验证码框不为空
                if(checkCode!=null&&checkCode!="" && checkCode.length>=4){
                    console.log("正在提交登录");
                    //不为空就提交登录
                    setTimeout($(".sbMit").click(),sleep_reload('s',20));
                    //登录之后清除循环
                    clearInterval(looper);
                }else{
                    //如果为空就刷新一遍验证码
                    // refreshCode();
                }
            }else{
                // 为空就填入
                console.log("填入值执行成功");
                $("#loginName").val(uname)
                $("#password").val(upwd);
            }
        },sleep_reload("m",1));
    }
    
    //登录进来后跳转实习界面
    if((window.location.href)=="https://jxpt.lyvc.edu.cn/suite/person/personView.do"){
        setInterval(function(){
            window.location.href = "https://jxpt.lyvc.edu.cn/suite/person/personView.do?menuKey=myPractice"
        },sleep_reload("m",1));
    }
    
    //手动退出登录会到一个界面,让他自动跳转到登录界面
    if((window.location.href)=="https://jxpt.lyvc.edu.cn/suite/portal/portalView.do?siteKey=0"){
        window.location.href = "https://jxpt.lyvc.edu.cn/suite/person/personView.do"
    }
    
    
    /**
     * @param {String} sort 类型(h小时、m分钟、s秒)
     * @param {int} stime 十进制时间(比如一秒传入的时候就写 1 不用写 1000)
     */
    function sleep_reload(sort,stime){
        if(sort == 'h'){
            stime *= 60 * 60 * 1000;
        }else if(sort == 'm'){
            stime *= 60 * 1000;
        }else if(sort == 's'){
            stime *= 1000;
        }
        setTimeout(function(){
            window.location.reload()
        },stime);
    }
})();