李硕专刷视频脚本,超星学习通后台挂视频,全网最牛逼的刷视频脚本,可边打游戏边刷课。自动跳转章节,可开启复习模式,倍速播放,超星学习通尔雅,手机电脑均可使用,真正的挂机刷视频。

超星学习通视频后台挂机,文档自动完成,不得不说李硕真的是泰酷辣,如有问题联系我https://afdian.com/a/zwsssb 最终解释权归李硕所有。😀每日测试,确保脚本100%正常可用。具体测试时间请看详情页介绍😀emm……………………………………………………………………………………我还是希望你们能赞助我一瓶冰阔落,https://afdian.com/a/zwsssb 这个链接就可以赞助给我了,我相信使用这个脚本的都是我的朋友。❤️❤️❤️请看下方使用说明❤️❤️❤️

La data de 05-12-2024. Vezi ultima versiune.

// ==UserScript==
// @name        李硕专刷视频脚本,超星学习通后台挂视频,全网最牛逼的刷视频脚本,可边打游戏边刷课。自动跳转章节,可开启复习模式,倍速播放,超星学习通尔雅,手机电脑均可使用,真正的挂机刷视频。
// @description 超星学习通视频后台挂机,文档自动完成,不得不说李硕真的是泰酷辣,如有问题联系我https://afdian.com/a/zwsssb 最终解释权归李硕所有。😀每日测试,确保脚本100%正常可用。具体测试时间请看详情页介绍😀emm……………………………………………………………………………………我还是希望你们能赞助我一瓶冰阔落,https://afdian.com/a/zwsssb 这个链接就可以赞助给我了,我相信使用这个脚本的都是我的朋友。❤️❤️❤️请看下方使用说明❤️❤️❤️
// @namespace    http://tampermonkey.net/
// @version      1.9.16.13
// @author       李硕
// @match        *://*.chaoxing.com/*
// @match        *://*.edu.cn/*
// @match        *://*.nbdlib.cn/*
// @match        *://*.hnsyu.net/*
// @icon        https://scriptcat.org/api/v2/resource/image/4SZfPriSlLHYLZDn
// @run-at       document-end
// @connect      sso.chaoxing.com
// @connect      mooc1-api.chaoxing.com
// @connect      mooc1-1.chaoxing.com
// @connect      mooc1-2.chaoxing.com
// @connect      fystat-ans.chaoxing.com
// @connect      api.dbask.net
// @grant        unsafeWindow
// @grant        GM_xmlhttpRequest
// @grant        GM_info
// @compatible firefox
// @compatible chrome
// @compatible edge
// @compatible Safari
// @compatible Opera
// @compatible Maxthon
// @compatible AdGuard
// @require      https://lib.baomitu.com/jquery/3.6.0/jquery.min.js
// @require      https://update.greasyfork.org/scripts/518483/1489073/md5%E5%BA%93-666.js
// @require https://greasyfork.org/scripts/456170-hacktimerjs/code/hacktimerjs.js?version=1125728
// ==/UserScript==
//点击课程后的弹窗
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
!!(function(){
    const $w = unsafeWindow,
        $l = $w.location.href,
        $d = $w.document,
        $version = GM_info.script.version.replaceAll('.',''),
        $s = Object.fromEntries(new URLSearchParams($w.location.search)),
        getCookie = name => `; ${document.cookie}`.split(`; ${name}=`).pop().split(';').shift(),
        entrance = () => {
    let classId = encodeURIComponent($s['clazzid'] || $s['classid'] || $s['classId'] || $s['ClassId']),
        courseId = encodeURIComponent($s['courseid'] || $s['courseId']),
        cpi = encodeURIComponent($s['cpi'] || ''),
        courseName = encodeURIComponent($d.title.replace('-首页', ''));
 
    $w.location.href = 'https://i.chaoxing.com/base/settings?classid=' + classId + '&courseid=' + courseId + '&cpi=' + cpi + '&coursename=' + courseName;
};
        $uid = getCookie('UID')||getCookie('_uid'),
 
        request = (data) => {
            return new Promise((success,fail)=>{
                if(data.method == undefined){
                    data.method = 'get';
                }
                GM_xmlhttpRequest(data);
            });
        }
    if($l.includes('/mycourse/stu?')){
        let $ = $w.jQuery||$w.$,
            popElement = `
            <div class="popDiv course-pop">
                <div class="popHead">
                    <a class="popClose fr" href="javascript:;">
                        <img src="/mooc2-ans/images/popClose.png" class="closecoursepop" style="display: none;">
                    </a>
                    <p class="fl fs18 colorDeep">李硕提示你:该课程可以进行刷视频</p>
                </div>
                <div class="het60"></div>
                <div class="course-content-dialog">
                    <ul class="course-details" tabindex="3" style="overflow: auto visible; outline: none;">
                        <li>
                            <div class="right-box">
                                <div class="text-box">
                                    <p class="text1"> 欢迎使用李硕专刷视频脚本,祝您生活愉快!!!
                                    <div>
                                    <span class="blue-text">如有问题可点击刷视频界面或者学习通个人空间主页里的“遇到问题点击“ 按钮  </div>
                                    </p>
                                    <div>
                                    <span class="blue-text">💕💕我的好朋友们,让我们一起加油吧!!! ❤️❤️</div>
                                    </p>
                                </div>
                            </div>
                        </li>
                    </ul>
                    <div style="height: 70px;"></div>
                    <div class="bottom-div" style="">
                        <div class="start-study" id="fuckme">开始刷课</div>
                        &ensp;&ensp;&ensp;
                        <div class="start-study" id="fuckyou">取消</div>
                    </div>
                </div>
            </div>`;
        setTimeout(()=>{
            $(".coursenoticepop").empty();
            $(".coursenoticepop").html(popElement);
            $("#fuckme").click(function(){
                entrance($w.ServerHost.mooc1Domain.replace('https://','http://'))
            });
            $("#fuckyou").click(()=>{
                $(".closecoursepop").hide();
                $(".coursenoticepop").hide();
            });
            $(".closecoursepop").show();
            $(".coursenoticepop").show();
        },1000);
    }
 
})();
 
// 定义全局变量
const $w = unsafeWindow;
const $l = $w.location.href;
const $d = $w.document;
const $version = GM_info.script.version.replaceAll('.', '');
const $s = Object.fromEntries(new URLSearchParams($w.location.search));
 
/**
 * 获取指定名称的 Cookie 值
 * @param {string} name - Cookie 名称
 * @returns {string} Cookie 值,如果未找到则返回空字符串
 */
const getCookie = (name) => {
  const cookieStr = `; ${document.cookie}`;
  const cookieEntries = cookieStr.split(`; ${name}=`);
  if (cookieEntries.length > 1) {
    return cookieEntries.pop().split(';').shift();
  }
  return '';
};
 
/**
 * 入口函数
 */
const entrance = () => {
  let classId = encodeURIComponent($s['clazzid'] || $s['classid'] || $s['classId'] || $s['ClassId']);
  let courseId = encodeURIComponent($s['courseid'] || $s['courseId']);
  let cpi = encodeURIComponent($s['cpi'] || '');
  let courseName = encodeURIComponent($d.title.replace('-首页', ''));
 
  // 增加一些日志输出,方便调试
  console.log('Class ID:', classId);
  console.log('Course ID:', courseId);
  console.log('CPI:', cpi);
  console.log('Course Name:', courseName);
 
  $w.location.href = 'https://i.chaoxing.com/base/settings?classid=' + classId + '&courseid=' + courseId + '&cpi=' + cpi + '&coursename=' + courseName;
 
  // 检查重定向是否成功
  if ($w.location.href!== 'https://i.chaoxing.com/base/settings?classid=' + classId + '&courseid=' + courseId + '&cpi=' + cpi + '&coursename=' + courseName) {
    console.error('重定向失败,请检查参数!');
  }
};
 
// 获取 UID Cookie
const $uid = getCookie('UID') || getCookie('_uid');
 
/**
 * 发送 HTTP 请求
 * @param {Object} data - 请求配置对象
 * @returns {Promise} 包含请求结果的 Promise
 */
const request = (data) => {
  return new Promise((success, fail) => {
    if (data.method === undefined) {
      data.method = 'get';
    }
 
    // 增加请求前的日志输出
    console.log(`Sending ${data.method} request to: ${data.url}`);
 
    GM_xmlhttpRequest(data);
 
    // 处理请求完成后的回调
    data.onload = (response) => {
      if (response.status >= 200 && response.status < 300) {
        success(response.responseText);
      } else {
        fail(new Error(`Request failed with status ${response.status}`));
      }
    };
 
    data.onerror = (error) => {
      fail(error);
    };
  });
};
 
// 如果当前页面 URL 包含特定字符串
if ($l.includes('/mycourse/stu?')) {
  let $ = $w.jQuery || $w.$;
  let popElement = `
    <div class="popDiv course-pop">
      <div class="popHead">
        <a class="popClose fr" href="javascript:;">
          <img src="/mooc2-ans/images/popClose.png" class="closecoursepop" style="display: none;">
        </a>
        <p class="fl fs18 colorDeep">李硕提示你:该课程可以进行刷视频</p>
      </div>
      <div>`;
 
  // 为弹出元素添加更多的样式和内容
  popElement += `
      <div class="popContent">
        <p>以下是关于该课程的详细信息:</p>
        <ul>
          <li>课程难度:<span class="difficultyLevel">未知</span></li>
          <li>课程时长:<span class="courseDuration">未知</span></li>
          <li>授课教师:<span class="instructorName">未知</span></li>
        </ul>
      </div>
      <div class="popFooter">
        <button class="startBrushBtn">开始刷视频</button>
        <button class="cancelBtn">取消</button>
      </div>
    </div>
  `;
 
  // 将弹出元素添加到页面
  $('body').append(popElement);
 
  // 为按钮添加点击事件处理程序
  $('.startBrushBtn').click(() => {
    console.log('开始刷视频按钮被点击!');
    // 在此处添加开始刷视频的逻辑
  });
 
  $('.cancelBtn').click(() => {
    console.log('取消按钮被点击!');
    // 在此处添加取消操作的逻辑
  });
 
  // 检查页面是否存在特定元素来决定是否显示弹出窗口
  if ($('.videoPlayer').length > 0) {
    $('.popDiv').show();
  } else {
    $('.popDiv').hide();
  }
}
 
// 以下可以添加更多的功能函数或逻辑代码
 
/**
 * 检查网络连接状态
 */
const checkNetworkStatus = () => {
  if (navigator.onLine) {
    console.log('网络已连接');
  } else {
    console.log('网络已断开');
  }
};
 
/**
 * 处理页面加载完成事件
 */
$(document).ready(() => {
  console.log('页面加载完成');
  // 在此处添加页面加载完成后的其他操作
});
 
/**
 * 定期检查课程更新
 */
setInterval(() => {
  // 在此处添加检查课程更新的逻辑
  console.log('检查课程更新');
}, 60000);  // 每分钟检查一次
 
/**
 * 处理用户登录状态变化
 */
const handleLoginStatusChange = () => {
  // 在此处添加处理登录状态变化的逻辑
  console.log('登录状态发生变化');
};
 
// 更多的代码逻辑和功能实现......