Greasy Fork is available in English.

长江雨课堂刷课

个人使用

// ==UserScript==
// @name         长江雨课堂刷课
// @namespace    https://www.shegou.com/
// @version      1.0.2
// @description  个人使用
// @author       lmb
// @match        https://changjiang.yuketang.cn/v2/web/*
// @icon         https://www.google.com/s2/favicons?domain=yuketang.cn
// @require      https://cdn.staticfile.org/jquery/3.4.1/jquery.min.js
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    setTimeout(function(){


        let zk_btn = $("span.blue.ml20");
        zk_btn.click();
        setTimeout(function(){
            let a = $("section.leaf_list__wrap:first");
            let a_list = a.find("section.activity__wrap");
            for(let i=0; i<a_list.length; i++){
                // 观看进行中与未开始的视频
                if(a_list[i].lastChild.innerText.indexOf("进行中")>-1 || a_list[i].lastChild.innerText == "未开始"){
                    console.log(i+'---'+a_list[i].lastChild.innerText);
                    a_list[i].click();
                    setTimeout(function(){
                        let title = $("div.title-fl span")[0].innerText;  // 标题
                        //let timeout = 3000;  // 控制计时器间隔
                        //let reg = /[0-9]+.[0-9]+/g;  // 正则匹配进度
                        setTimeout(function(){
                            let pause_btn = $("xt-bigbutton.pause_show");  // 暂停按钮
                            if(pause_btn.length == 1){  // 判断按钮是否显示
                                console.log("视频未播放---自动点击播放视频");
                                pause_btn.click();
                            }
                        },3000);

                        // 计时器监听进度
                        let jsq = setInterval(function(){
                            let w = $("span.text:eq(1)")[0];  // 进度元素
                            console.log(title+'---'+w.innerText);
                            //console.log(w.innerText);
                            //let progress = Number(w.innerText.match(reg)[0]);  // 匹配进度转为数字
                            //console.log(title+'---进度:'+progress+'%');
                            //if(progress==100){
                            if(w.innerText=="完成度:100%"){
                                clearInterval(jsq);
                                window.history.back(-1);
                                setTimeout(function(){
                                    window.parent.location.reload();
                                },1500);
                            }
                        },3000);
                    },3000);
                    return false;
                }
                // 读未读的图文
                if(a_list[i].lastChild.innerText == "未读"){
                    console.log(i+'---'+a_list[i].lastChild.innerText);
                    a_list[i].click();
                    setTimeout(function(){
                        let title = $("div.title-fl span")[0].innerText;
                        setTimeout(function(){
                            window.history.back(-1);
                            setTimeout(function(){
                                window.parent.location.reload();
                            },1500);
                        },1000);
                    },2000);
                    return false;
                }
                // 判断如果最后一条并且为已完成或已读 结束任务
                if(i==a_list.length-1 && (a_list[i].lastChild.innerText == "已完成" || a_list[i].lastChild.innerText == "已读")){
                    // window.history.back(-1);
                    console.log("全部完成");
                    alert("已完成!");
                    return false;
                }
            }
        },500);

    },1000);

})();