您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
国家开放大学视频一键挂机脚本(0.1)
// ==UserScript== // @name 国家开放大学视频一键挂机脚本 // @namespace http://tampermonkey.net/ // @version 2024-06-01 // @description 国家开放大学视频一键挂机脚本(0.1) // @author OrangeMinus // @match https://lms.ouchn.cn/course/** // @icon https://www.google.com/s2/favicons?sz=64&domain=ouchn.cn // @require https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js // @license MIT // @grant none // ==/UserScript== (function() { $(document).on('click', '#auto-button', function () { var $this = $(this); requestActivitiesRead(this.dataset.activityId,this.dataset.time,$this) }); setInterval(function (){ const activity = document.getElementsByClassName("learning-activity ng-scope") for (const element of activity) { let autoButton = element.getElementsByClassName("auto-button"); if (autoButton && autoButton.length>0) { continue } let id = extractNumber(element.id) let activityValue = element.getElementsByClassName("attribute-value number ng-binding") if (activityValue.length>0) { let completeness = element.getElementsByClassName("completeness full"); let activityTimeStr = activityValue[0].textContent let time = timeStringToSeconds(activityTimeStr); let buttonText = completeness && completeness.length>0?"已完成":"点击挂机" let btnHtml = '<span id="auto-button" class="button button-green small gtm-label auto-button" style="font-size: 12px; width: 58px; margin-left: 4px;" data-activity-id="'+id+'" data-time="'+time+'">'+buttonText+'</span>'; $(element).prepend(btnHtml) console.log("课程id:",id,"时间:",time); } } },500) function requestActivitiesRead(id,end,$this){ $.ajax({ type: "POST", url: "https://lms.ouchn.cn/api/course/activities-read/"+id, contentType: 'application/json', data: JSON.stringify({ start: 0, end: parseInt(end), }), success: function (response) { console.log('响应结果',response); if (response.completeness=="full"){ $this.text('已完成'); } } }); } function timeStringToSeconds(timeString) { // 按冒号分割字符串 var parts = timeString.split(':'); // 将每个部分转换为整数 var hours = parseInt(parts[0], 10); var minutes = parseInt(parts[1], 10); var seconds = parseInt(parts[2], 10); // 计算总秒数 var totalSeconds = (hours * 3600) + (minutes * 60) + seconds; return totalSeconds; } function extractNumber(str) { // 找到最后一个连字符的位置 var lastDashIndex = str.lastIndexOf('-'); // 提取该位置之后的子字符串 return str.substring(lastDashIndex + 1); } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址