Greasy Fork

Greasy Fork is available in English.

USTC eeo 机构界面增强

添加大屏按钮,巡课界面增加直达直播地址的链接

当前为 2020-04-26 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

 // ==UserScript==
// @namespace    https://www.eeo.cn
// @name         USTC eeo 机构界面增强
// @description  添加大屏按钮,巡课界面增加直达直播地址的链接
// @version      1.0.2
// @license      MIT
// @icon         https://www.eeo.cn/favicon.ico
// @author       old9@ustc
// @match        *://www.eeo.cn/saas/school/index.html
// @require      https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js
// @grant        GM_addStyle
// ==/UserScript==

GM_addStyle(`
  .big-screen-button {
  position: absolute;
  z-index: 9999;
  padding: 0.1em .8em .3em;
  border: 0;
  left: 50%;
  background: rgba(255,255,255, 0.8);
  transform: translate3D(-50%, 0, 0);
  cursor: pointer;
  display: none;
  }
  .big-screen-button .el-icon-menu{
  font-size: 1.2em;
  }

  .big-screen-button:hover {
  background: #FFF;
  }
  .big-screen-button.visible {
  display: inline-block;
  }





.lesson_container:fullscreen .lesson_parentCourse{
	display: none;
}

.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content {

}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content.questionTeacher{
	opacity: 1;
}
.lessonlist_image_content>.el-col .lesson_content{
	transition: opacity .4s ease;
}
.lessonlist_image_content>.el-col .lesson_content.questionTeacher:hover{
	opacity: 1;
}
.lessonlist_image_content>.el-col .lesson_content.questionTeacher{
	opacity: .3
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col{
	margin: 5px;
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info {
	overflow: visible;
	position: relative;
	width: 100%;
	bottom: 0;
	z-index: 10;
	margin: 0;
	padding: 5px 10px 0;
	color: #FFF;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.6);
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content.questionTeacher .lessonlist_Info {
	opacity: .2;
	transition: opacity .4s ease;
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content.questionTeacher:hover .lessonlist_Info{
	opacity: 1;
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .question_enterClass {
	position: absolute;
	display: none;
	left:0; right:0;
}
.lesson_container:fullscreen .lesson_list_image .lessonlist_image_content{
	display: flex;
	flex-wrap: wrap;
	background: linear-gradient(176deg, #039BE5, #164575 50%, #020923);
	border: none !important;
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col {
	flex: 0 1 calc(20% - 30px);
	margin: 10px 15px 0;
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .image_info {
	height:10vw;
	}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .image_info .image_info_image a {
	width: 100%;
	height: 100%;
	top:0;
	left:0;
	transition: all .2s ease;
	position: relative;
	border-radius:8px;
	box-shadow: 1px 1px 10px rgba(0,0,0,0.6);
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .image_info .image_info_image a:hover {
    box-shadow: 1px 1px 20px 3px rgba(0,0,0,0.8);
    top: -2px;
    left: -2px;
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .image_info .image_info_image a:after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	border-radius: 8px;
	border: 1px solid;
	border-color: rgba(255,255,255,0.1) rgba(0,0,0,0.2) rgba(0,0,0,0.2) rgba(255,255,255,0.1);
	background: linear-gradient(173deg, rgba(255,255,255,0) 20%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0) 50.5%, transparent);
	box-sizing: border-box;
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .image_info img {
	object-fit: cover;
	border-radius: 8px;
	height:100%;
	box-shadow: 0 0 0px 2px rgba(0,0,0,0.5);
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .image_info .lessonlist_emptyimage {
	display: none
}

.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_info .lesson_name {
	font-size: 20px !important;
	line-height: 30px;
	height: 30px;
	font-weight: bold;
	max-width:none;
}

.lesson_container:fullscreen .lessonCardListTr,
.lesson_container:fullscreen .el-card,
.lesson_container:fullscreen .lessonCardListTr.isOpen {
	background: none;
}
.lesson_container:fullscreen .el-card{
	border: none;
	box-shadow: none;
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_info .lesson_time{
	display: none;
}

.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_members {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border:0;
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_members .lesson_assistant button .contactList li .info,
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_members .lesson_teacher button .contactList li .info {
	display: none;
}

.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_members .lesson_assistant button span,
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_members .lesson_teacher button span {
	color:#FFF;
	vertical-align:3px;
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_members .lesson_student span:nth-of-type(2) {
	display:none;
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_members .lesson_student span button span {
	color:#fff;
}

.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_members .lesson_student .questionMember,
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_members .questionMember .contactList li .info,
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_members .questionMember .contactList li .info span,
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_members .questionMember .contactList li .title,
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_members .questionMember .contactList li .title span {
	color:#FF9F44;
}
.lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_info .lesson_name{
	transition: color 0.4s ease;
}
.lesson_container:fullscreen .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_info .lesson_name:hover {
	color: #7defab
}







  .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_info .lesson_name {
   cursor: pointer;
  }
  .lessonlist_image_content>.el-col .lesson_content .lessonlist_Info .lesson_info .lesson_name:hover {
   color: #70ba7c;

  }
`);

(function() {
  'use strict';
  var bigScreenButton = document.createElement('button');
  bigScreenButton.innerHTML = '<i class="el-icon-menu"></i>';
  bigScreenButton.classList.add('big-screen-button');
  document.body.appendChild(bigScreenButton);
  var showBigScreenButton = function(){
    bigScreenButton.classList.add('visible');
  }
  var hideBigScreenButton = function(){
    bigScreenButton.classList.remove('visible');
  }
  var clickhandle = function(e) {
    try {
      let $lessonName = $(this);
      let $container = $('.lessonlist_image');
      let index = $container.find('.lesson_name').index(this);
      let key = $container.get(0).__vue__._props.lessonList[index].lessonKey;
      let isInteractive = $lessonName.text().indexOf('✱') > 0
      let $enterClassBtn = $lessonName.parents('.lessonlist_Info').find('.enterClassBtn');
      if (isInteractive){
        $enterClassBtn.click();
      } else {
        window.open('https://www.eeo.cn/live.php?lessonKey='+key);
      }
    } catch(e){
    }
  }
  var observer = new MutationObserver(function(mutations) {
     let filteredMutations = mutations.filter(function(mutation) {
       return mutation.type === 'attributes' && mutation.attributeName === 'class' && mutation.target.classList.contains('el-button') && mutation.target.parentNode.parentNode.classList.contains('lesson_teacher');
     });
     filteredMutations.forEach(mutation => {
       let hasQuestion = mutation.target.classList.contains('questionMember');
       let $target = $(mutation.target);
       if (hasQuestion) {
         $target.closest('.el-card').addClass('questionTeacher');
       } else {
         $target.closest('.el-card').removeClass('questionTeacher');
       }
     });
  });
  var keyhandle = function(e) {
    if (e.ctrlKey) {
      switch (e.which) {
        case 37: // prev
          $('.btn-prev').click();
          break;
        case 39: // next
          $('.btn-next').click();
          break;
        case 38: //fullscreen
          bigScreenButton.click();
          break;
      }
    }
  }
  var setup = function(){
    showBigScreenButton();
    $(document).on('click','.lesson_name',clickhandle);
    observer.observe(document, { childList: true, subtree: true, attributes: true });
    $(document).on('keyup', keyhandle)
  }
  var cleanup = function(){
    hideBigScreenButton();
    $(document).off('click',clickhandle);
    $(document).off('keyup',keyhandle);
  }
  var checkHash = function() {
    location.hash === '#/fullPage/LessonMonitor' ? setup() : cleanup();
  }
  var open = function(){
    var target = document.querySelector('.lesson_container');
    if(target) {
      target.requestFullscreen();
    }

    let cards = document.querySelectorAll('.lessonlist_image_content .el-card')
    cards.forEach(card => {
       let teacherIn = card.querySelectorAll('.lesson_teacher .questionMember').length === 0;
       teacherIn ? card.classList.remove('question') : card.classList.add('question');
    })
  }
  checkHash();
  window.addEventListener('hashchange', checkHash, false);
  bigScreenButton.addEventListener('click', open);
})();