// ==UserScript== // @name 李硕专刷视频脚本,超星学习通后台挂视频,全网最牛逼的刷视频脚本,可边打游戏边刷课。自动跳转章节,可开启复习模式,倍速播放,超星学习通尔雅,手机电脑均可使用,真正的挂机刷视频。 // @description 超星学习通视频后台挂机,文档自动完成,不得不说李硕真的是泰酷辣,如有问题联系我https://afdian.com/a/zwsssb 最终解释权归李硕所有。😀每日测试,确保脚本100%正常可用。具体测试时间请看详情页介绍😀emm……………………………………………………………………………………我还是希望你们能赞助我一瓶冰阔落,https://afdian.com/a/zwsssb 这个链接就可以赞助给我了,我相信使用这个脚本的都是我的朋友。❤️❤️❤️请看下方使用说明❤️❤️❤️ // @namespace http://tampermonkey.net/ // @version 1.9.16.12 // @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 // @downloadURL none // ==/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 = `

李硕提示你:该课程可以进行刷视频

开始刷课
   
取消
`; 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 = `

李硕提示你:该课程可以进行刷视频

`; // 为弹出元素添加更多的样式和内容 popElement += `

以下是关于该课程的详细信息:

  • 课程难度:未知
  • 课程时长:未知
  • 授课教师:未知
`; // 将弹出元素添加到页面 $('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('登录状态发生变化'); }; // 更多的代码逻辑和功能实现......