SJTU场馆后台管理核销自动刷新

场馆预约核销自动刷新并自动打开个人订单,然后在iframe中点击场地核销

  1. // ==UserScript==
  2. // @name SJTU场馆后台管理核销自动刷新
  3. // @namespace http://tampermonkey.net/
  4. // @version v2.1
  5. // @description 场馆预约核销自动刷新并自动打开个人订单,然后在iframe中点击场地核销
  6. // @author eternal-echo
  7. // @match https://sports.sjtu.edu.cn/index
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=sjtu.edu.cn
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. console.log('核销自动刷新脚本已加载');
  16.  
  17. // 尝试点击“个人订单”链接
  18. const tryClickPersonalOrder = () => {
  19. const personalOrderLink = document.querySelector('a.menuItem[href="/venue/personal"]');
  20. if (personalOrderLink && personalOrderLink.offsetParent !== null) {
  21. console.log('“个人订单”链接可见,正在尝试点击');
  22. personalOrderLink.click();
  23. // 延迟监控iframe加载,确保页面及JavaScript逻辑加载完成
  24. setTimeout(monitorIframeForVerificationButton, 1000); // 增加延迟,等待iframe加载
  25. return true;
  26. } else {
  27. console.log('未找到“个人订单”链接或链接不可见');
  28. return false;
  29. }
  30. };
  31.  
  32. // 监控iframe加载,等待“场地核销”按钮加载完成后点击
  33. const monitorIframeForVerificationButton = () => {
  34. const iframe = document.querySelector('.RuoYi_iframe[name="iframe2"]');
  35. if (!iframe) {
  36. console.log('未找到指定的iframe,无法设置监控。');
  37. return;
  38. }
  39. console.log('找到指定的iframe');
  40.  
  41. // 延时1s后尝试点击“场地核销”按钮
  42. setTimeout(() => {
  43. try {
  44. iframe.contentDocument.querySelector('#toolbar > a.btn.btn-info.btn-xs').click()
  45. } catch (e) {
  46. console.error('访问iframe内容失败:', e);
  47. }
  48. }, 1000);
  49. };
  50.  
  51. // 页面完全加载后执行操作
  52. window.addEventListener('load', function() {
  53. console.log('页面已完全加载');
  54. if (!tryClickPersonalOrder()) {
  55. // 如果“个人订单”链接不可见,尝试展开父级菜单
  56. const parentMenus = document.querySelectorAll('.fa.arrow');
  57. parentMenus.forEach(menu => menu.click());
  58. setTimeout(tryClickPersonalOrder, 500); // 延迟尝试点击“个人订单”链接
  59. }
  60. });
  61.  
  62. // 设置定时器,29分钟刷新页面
  63. setInterval(function() {
  64. console.log('正在刷新页面...');
  65. window.location.reload();
  66. }, 29 * 60 * 1000);
  67. })();

QingJ © 2025

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