QGG网课处理【学习通 U校园ai 知到 英华 仓辉 雨课堂 职教云】【学起 青书 柠檬 睿学 讯网 慕享 良师 麦能 出头科技 慕华 联大】【国开 广开 云开】等平台视频处理,作业和考试。客服微信:wkds857 备注来意
// ==UserScript==
// @name QGG网课处理【学习通 U校园ai 知到 英华 仓辉 雨课堂 职教云】【学起 青书 柠檬 睿学 讯网 慕享 良师 麦能 出头科技 慕华 联大】【国开 广开 云开】等平台视频处理,作业和考试。客服微信:wkds857 备注来意
// @namespace http://tampermonkey.net/
// @version 1.1
// @description 支持【寒假教师研修】【学习通】【智慧树】【U校园】【清华社】【智慧教】【fif】【池馆】【雨课堂】【学堂在线】【优学院】【社会公益】【Utalk】【welear】【安全微伴】【重庆高校】【e会学】【川农在线】【阿尔法编程】【小雅】【中国大学mooc】【青少年法学】【i学】【speexx】【木玛】【人卫慕课】【高校邦】【智慧职教】【普法网】【北华大学】【umooc】【在浙学【学习公社】国家开放大学】【国开实验学院】【学起】【青书学堂】【广开】【云上河开】【讯网】【电中在线】【广西开放大学】【梦想在线】【华莘学堂】【云班课】【东财会计系列】【朝明在线】【麦能网】【融学】168网校【联大】【柠檬文才【优课学堂】【安徽继续教育】【上海开放大学】【思钮教育】【春风雨】【龙知网】【一路学】【慕华】【新京人】【点墨云】【画课堂】【课程伴侣】【出头科技】【良师在线】【在浙学】【棉花糖】【朝明在线】【国培网】【河南宗教】【睿学】【兰州继教】【文鼎】【168网校】【我学习】【东奥会计】【和学在线】【慕享】【含弘慕课】【医博士】【微知库】【奥鹏】【国家智慧中小学】等平台
// @author QGG
// @match *://*.chaoxing.com/* // 学习通
// @match *://*.zhihuishu.com/* // 智慧树
// @match *://*.u.unipus.cn/* // U校园
// @match *://*.xueqi.cn/* // 学起
// @match *://*.qingshuxuetang.com/* // 青书学堂
// @match *://*.treewises.com/*
// @match *://*.swufe-online.com/*
// @match *://*.xuetangx.com/*
// @match *://*.ytccr.com/*
// @match *://*.swufe-online.com/*
// @match *://*.unipus.cn/*
// @match *://*.icourse163.org/*
// @match *://*.yuketang.cn/*
// @match *://*.ouchn.cn/*
// @match *://*.metost.com/*
// @match *://*.icve.com.cn/*
// @match *://*.zhihuishu.com/*
// @match *://*.mosoteach.cn/*
// @supportURL https://github.com/alv002/meto/
// @icon https://bkimg.cdn.bcebos.com/pic/4ec2d5628535e5dde7114110e88eb0efce1b9c16c4e1
// @require https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.min.js
// @require https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/crypto-js/4.1.1/crypto-js.min.js
// @require https://lib.baomitu.com/jquery/3.6.0/jquery.min.js
// @require https://lib.baomitu.com/crypto-js/4.1.1/crypto-js.min.js
// @require https://lib.baomitu.com/html2canvas/1.4.1/html2canvas.min.js
// @require https://lib.baomitu.com/tesseract.js/5.1.1/tesseract.min.js
// @require https://www.greasyfork.us.kg/scripts/445293/code/TyprMd5.js
// @resource Table https://www.forestpolice.org/ttf/2.0/table.json
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_addStyle
// @grant GM_getResourceText
// @grant unsafeWindow
// @grant GM_info
// @grant GM_xmlhttpRequest
// @grant GM_registerMenuCommand
// @connect metost.com
// @connect chaoxing.com
// @connect unipus.cn
// @connect *
// @license AGPL-3.0-or-later
// ==/UserScript==
;(function(_this) {
let $ = document.getElementById("yl_8") && document.getElementById("yl_8").onclick ||jQuery; // 此处为避免原生网页没有jquery
_this.y$ = $
_this.GM_setValue = GM_setValue
function MyPage(menu){
this.MainIP = "http://m.metost.com"
this.SpareIP ="http://m.metost.com"
this.ChatIP = "https://v.metost.com"
this.ShopIP ="https://d.metost.com"
this.version="5.3.14";
this.$ = $;
this.menu = menu;
this.shadowContent = '';
this.config = this.urlToObject(window.location.href);
this.config.tk_uid =null;
this.api = this.getAPI(this.config.hostname);
if(!this.api){ //是否隐藏ui
console.log("并未匹配到页面")
this.initMenu("none");
// return
}else{
this.initMenu("block");
this.prival_global();//全局定时器
}
this.initData();
// this.initVue();
return this;
}
MyPage.prototype.urlToObject = function(url){
let obj = {};
let arr1 = url.split("?");
obj["front_url"] = arr1[0].split("/");
let domain = obj["front_url"][2]
if(domain.includes('mooc.mosoteach.cn')){
obj.hostname = "mooc.mosoteach";
}else if(domain.includes('mosoteach.cn')){
obj.hostname = "mosoteach";
}else if(domain.includes("zhihuishu.com")){
obj.hostname = "zhihuishu";
}else if(domain.includes("icve.com.cn")){
obj.hostname = "icve";
}else if(domain.includes("metost.com")){
obj.hostname = "meto";
}else if(domain.includes("ouchn.cn")){
obj.hostname = "ouchn";
}else if(domain.includes("chaoxing.com")){
obj.hostname = "chaoxing";
}else if(domain.includes("yuketang.cn")){
obj.hostname = "yuketang";
}else if(domain.includes("icourse163")){
obj.hostname = "mooc";
}else if(domain.includes("unipus.cn")){
obj.hostname = "uschool";
}else if(domain.includes("xuetangx.com")){
obj.hostname = "xuetangx";
}else if(domain.includes("ytccr.com")){
obj.hostname = "ytccr";
}else if(domain.includes("treewises.com")){
obj.hostname = "sdzj"; //山东专技
}else if(domain.includes("swufe-online.com")){
obj.hostname = "xczx"; //西财在线
}
if(arr1[1]){
let arr2 = arr1[1].split("&");
for(let i=0;i<arr2.length;i++){
let res = arr2[i].split("=");
obj[res[0]]=res[1];
}
}
if(arr1[2]){
let arr2 = arr1[2].split("&");
for(let i=0;i<arr2.length;i++){
let res = arr2[i].split("=");
obj[res[0]]=res[1];
}
}
return obj;
}
MyPage.prototype.getAPI = function(hostname) {
switch (hostname) {
case "mooc.mosoteach":
console.log("精品云班课脚本准备中");
return new jpyunbanke_api(this.config);
case "mosoteach":
console.log("云班课脚本准备中");
return new yunbanke_api(this.config);
case "zhihuishu":
console.log("智慧树脚本准备中");
return new zhihuishu_api(this.config);
case "icve":
console.log("智慧职教脚本准备中");
return new icve_api(this.config);
case "meto":
console.log("meto脚本准备中");
return new meto_api(this.config);
case "ouchn":
console.log("国开脚本准备中");
return new ouchn_api(this.config);
case "chaoxing":
console.log("超星脚本准备中");
return new chaoxin_api(this.config);
case "yuketang":
console.log("雨课堂脚本准备中");
return new yuketang_api(this.config);
case "mooc":
console.log("慕课脚本准备中");
return new mooc_api(this.config);
case "uschool":
console.log("U校园脚本准备中");
return new uschool_api(this.config);
case "xuetangx":
console.log("学堂在线脚本准备中");
return new xuetangx_api(this.config);
case "ytccr":
console.log("绎通云脚本准备中");
return new ytccr_api(this.config);
case "sdzj":
console.log("山东专技脚本准备中");
return new sdzj_api(this.config);
case "xczx":
console.log("西财在线脚本准备中");
return new xczx_api(this.config);
default:
return null;
}
};
// 添加自定义样式
GM_addStyle(`
.enhanced-button {
background-color: #4CAF50;
color: white;
padding: 10px 20px;
border: none;
border-radius: 5px;
cursor: pointer;
margin: 5px;
}
.enhanced-button:hover {
background-color: #45a049;
}
`);
// 创建增强功能按钮
function createEnhancedButton(text, onClick) {
const button = document.createElement('button');
button.className = 'enhanced-button';
button.innerText = text;
button.addEventListener('click', onClick);
return button;
}
// 示例功能:快速跳转到课程页面
function addQuickAccessButtons() {
const header = document.querySelector('header');
if (header) {
const button = createEnhancedButton('跳转到课程', () => {
window.location.href = 'https://www.example.com/course'; // 替换为目标URL
});
header.appendChild(button);
}
}
// 示例功能:显示学习进度
function showProgress() {
const progress = document.querySelector('.progress-bar'); // 根据平台的实际元素调整
if (progress) {
alert(`当前学习进度:${progress.innerText}`);
} else {
alert('未找到学习进度信息');
}
}
// 示例功能:自动标记已学完的视频
function autoMarkAsCompleted() {
const video = document.querySelector('video');
if (video) {
video.addEventListener('ended', () => {
const markButton = document.querySelector('.mark-complete-button'); // 根据平台的实际元素调整
if (markButton) {
markButton.click();
GM_notification('视频已标记为完成', '学习助手');
}
});
}
}
// 初始化
function init() {
console.log('学习平台增强助手已启动');
addQuickAccessButtons();
autoMarkAsCompleted();
}
// 页面加载完成后执行
window.addEventListener('load', init);
})();