U校园刷时长

支持自动跳过非必修章节

目前为 2022-04-26 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name U校园刷时长
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.3.1
  5. // @description 支持自动跳过非必修章节
  6. // @author DaXue
  7. // @
  8. // @match https://ucontent.unipus.cn/_pc_default/pc.html?cid=*
  9. // @grant none
  10. // @license GPL-3.0
  11. // @compatible chrome
  12. // ==/UserScript==
  13.  
  14. var minTime=[3,30];//最短停留时间,默认是3分30秒
  15. var maxTime=[5,30];//最大停留时间,默认为5分30秒
  16. var maxTestTime=[8,30];//单元测试最短停留时间,默认是8分30秒
  17. var minTestTime=[10,30];//单元测试最大停留时间,默认为10分30秒
  18. var autojump=1;//是否开启自动跳过非必修章节功能,0为关闭,1为开启
  19. var unitTestStay=1;//是否单独设置单元测试的时间
  20.  
  21. var feibixiu = document.getElementsByClassName("taskTipStyle--disrequired-1ZUIG");
  22. var bixiu = document.getElementsByClassName("taskTipStyle--required-23n0J");
  23. function switch_next(selector, classFlag) {
  24. let flag = false;
  25. for (let [index, unit] of document.querySelectorAll(selector).entries()) {
  26. if (flag) {
  27. unit.click();
  28. //防止必修弹窗失效,跳转便刷新页面,1000表示跳转1秒后刷新页面
  29. setTimeout(() => {
  30. location.reload();
  31. }, 1000);
  32. flag = false;
  33. break;
  34. }
  35. if (unit.classList.contains(classFlag)) {
  36. flag = true;
  37. }
  38. }
  39. }
  40. function jumpToNextSection(){
  41. switch_next('.layoutHeaderStyle--circleTabsBox-jQdMo a', 'selected');
  42. switch_next('#header .TabsBox li', 'active');
  43. switch_next('#sidemenu li.group', 'active');
  44. }
  45. if(autojump==1){
  46. setTimeout(() => {
  47. if(feibixiu[0].innerText == "非必修"){
  48. jumpToNextSection();
  49.  
  50. } else if(bixiu[0].innerText == "必修"){
  51. return 0;
  52. }
  53. },3000);
  54. }
  55.  
  56. //计算实际停留时间,防止每个页面停留时间相同
  57. function realTime(minMinutes,minSeconds,maxMinutes,maxSeconds) {
  58. let rate = Math.random();
  59. return (minMinutes * 60 +minSeconds+((maxMinutes-minMinutes)*60+maxSeconds-minSeconds)* rate) * 1000;
  60. }
  61. //自动点击必修弹窗和麦克风弹窗 3000表示延迟3秒,因为弹窗有延迟,主要看反应速度。
  62. setTimeout(() => {
  63. var x = document.getElementsByClassName("dialog-header-pc--close-yD7oN"); x[0].click();
  64. document.querySelector("div.dialog-header-pc--dialog-header-2qsXD").parentElement.querySelector('button').click();
  65. },3000);
  66. setTimeout(() => {
  67. try{
  68. var unitTest = document.getElementsByClassName("utButtonStyle--toDoButton-1S89L");
  69. if(unitTestStay==1&&unitTest[0].innerText=='开始做题'){
  70. setTimeout(() => {
  71. jumpToNextSection();
  72. }, realTime(minTestTime[0],minTestTime[1],maxTestTime[0],maxTestTime[1]));
  73. }
  74. }catch(e){
  75. setTimeout(() => {
  76. jumpToNextSection();
  77. }, realTime(minTime[0],minTime[1],maxTime[0],maxTime[1]));
  78. }
  79. setTimeout(() => {
  80. jumpToNextSection();
  81. }, realTime(minTime[0],minTime[1],maxTime[0],maxTime[1]));
  82. }
  83. ,4000);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址