『帮帮客网课助手』

帮帮客平台精心打造了多款实用脚本和工具,涵盖了『帮帮客网课助手』、帮帮客本地预览版(BBK Local preview)以及帮帮客程序版。欢迎查看并感受它们为您带来的便利与效益!详情请看介绍。温馨提示:华医网平台已全面禁止视频倍速、跳过(程序版支持倍速且多门课程同时学,适用无需人脸认证地区的学员)。

当前为 2024-03-29 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         『帮帮客网课助手』
// @namespace    http://tampermonkey.net/
// @version      4.8
// @description  帮帮客平台精心打造了多款实用脚本和工具,涵盖了『帮帮客网课助手』、帮帮客本地预览版(BBK Local preview)以及帮帮客程序版。欢迎查看并感受它们为您带来的便利与效益!详情请看介绍。温馨提示:华医网平台已全面禁止视频倍速、跳过(程序版支持倍速且多门课程同时学,适用无需人脸认证地区的学员)。
// @author       帮帮客
// @license      MIT
// @match        *://*.91huayi.com/*
// @match        *://*.yxlearning.com/*
// @match        *://*.cmechina.net/*
// @match        *://*.ghlearning.com/*
// @match        *://basic.smartedu.cn/teacherTraining*
// @match        *://*.zxx.edu.cn/teacherTraining/courseDetail*
// @match        *://*.qutjxjy.cn/*
// @match        *://*.hbysw.org/*
// @match        *://*.jxjyedu.org.cn/*
// @match        *://*.xjzyysxh.cn/*
// @match        *://*.mtnet.com.cn/*
// @grant        GM_setValue
// @grant        GM_getValue
// @grant        GM_listValues
// @grant        GM_xmlhttpRequest
// @grant        unsafeWindow
// @require      https://lib.baomitu.com/jquery/1.12.4/jquery.min.js
// @icon         https://mmbiz.qpic.cn/mmbiz_jpg/nc15h3nWHMVYP16HAuFe6PNJcic7mB6GFnNmk61LSHfH9ZPUoOWKnZiaaB9Jze8hCyrEYzIyicOzibs3e6ZIJTlcgw/640?wx_fmt=jpeg
// @run-at       document-start
// ==/UserScript==

var myTimer;
function hnzj_gx() {//河南专技_公需
    if (document.querySelector(".item-box")) {
        try {
            for (var i = 0; i < document.querySelectorAll(".item-box").length; i++) {
                if (document.querySelectorAll(".sr-only")[i * 2].innerText != "100.0%") {
                    document.querySelectorAll(".item-box")[i].click();
                    break;
                }
            }
        } catch (error) {
            console.log("加载失败");
        }
        setTimeout(function () {
            alert("当前已选的所有课程均已完成!\n感谢您的使用");
            clearInterval(myTimer);
        }, 2000);
    }
    let jd = document.querySelector("#a span[du-html=sumschedule]");//获取视频进度
    if (jd) {
        if (!document.querySelector("#hnzjfz")) {
            document.querySelector("#defaultBtn > span.titlesname").insertAdjacentHTML('afterEnd', "<div style=\"font-weight:700;float:left;margin-left: 30px;\"><a href=https://greasyfork.org/zh-CN/scripts/441391-%E5%B8%AE%E5%B8%AE%E5%AE%A2%E7%BD%91%E8%AF%BE%E5%8A%A9%E6%89%8B target=_blank><span id=hnzjfz style=\"color:rgb(255 127 1);\">『帮帮客网课助手』</span> </a>");
            document.querySelector("#defaultBtn > div").insertAdjacentHTML('afterEnd',`
                    <div id="xl" style="margin-left: 30px; text-decoration: underline;">
                        <a id="xbfw" href="http://139.224.47.209:91/%E5%B0%8F%E5%B8%AE%E6%9C%8D%E5%8A%A1.png" target="_blank" style="color: #aaa;">小帮服务</a>
                        <a href="https://www.123pan.com/s/aYv7Vv-WgLN3" style="margin-left: 10px; margin-right: 10px; color: #aaa;" target="_blank">程序版下载</a>
                        <a href="http://139.224.47.209:91/wechat_bbk.jpg" style="margin-right: 10px; color: #aaa;" target="_blank">联系小帮</a>
                        <a href="https://www.bilibili.com/video/BV1H44y1Z7cr/" target="_blank" style="color: #aaa;">视频教程</a>
                    </div>
                `)
            setTimeout(function () {document.querySelector('#speaker').parentElement.click();}, 2000);//执行静音
        }
        if (jd.innerText != "100.00") {
            if (document.querySelector("#bplayer-ffplayer")) {
                if (document.querySelector("#stop") == null) {
                    document.querySelector("#play").parentElement.click();//执行播放
                }
            }
            let dangqian = document.querySelector(".videoLi.active");
            if (dangqian.innerText.match(/单元测试/)) {
                location.reload();
            } else if (document.querySelector("button.pv-ask-skip.pv-hide")) {
                document.querySelector("button.pv-ask-skip.pv-hide").click();//跳过答题
            } else if (dangqian.innerText.match(/[0-9]+%/)[0] == "100%" && document.querySelector(".pt5 [class=progress-bar]")) {
                document.querySelector(".pt5 [class=progress-bar]").parentElement.parentElement.click();//下一节
                setTimeout("location.reload();", 2000);
            }
        } else {
            history.back(-1);//返回
        }
    }
}
function gjzxx(){//国家中小学教育平台
    const xljkUrlList = [
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=52437a43-1e09-43cf-b7af-2beb4f96baca&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=9ca7b73a-9386-4b58-9cf9-4e452b86b47f&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=8cf90221-98c8-416f-b819-ce271b946922&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=ea4a8bdb-6819-47af-bfc2-233933bb5049&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=1238d399-6ea6-4d5c-b010-4d469b3f9d2c&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=2f22d9c1-2510-4db1-81e2-152e94f45b00&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=f97c5ef3-4163-4551-bbe6-c2282de8002e&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=03ce293f-ce99-4905-8088-62d3efd1415f&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=9c50d48e-b997-4371-bfde-c9ef9da36006&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=b13aa14e-29e0-48fd-be51-aa32f343095a&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=6e00246a-4264-4e7f-a4ba-67150cebdc97&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=3b785768-a164-4346-af41-f7edb7ba9d02&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=98b8ea15-c39c-4ab0-9c90-89cc16ea345e&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=0b8c7836-3b5a-47f9-b6f2-6a57d9208148&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=81e12411-afee-47e3-9567-fc5dd17c3ac7&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=9099c3ad-9643-476e-b74f-8dede233ea88&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=c0234602-7ba1-4c9f-b409-39d15732a1d2&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=25928aa1-3029-4442-814a-2e73123e409c&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=c29ac9f3-dc69-4ad2-8629-92bbdd3b9cf7&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
        "https://www.zxx.edu.cn/teacherTraining/courseDetail?courseId=64f2dcad-6020-4be6-a150-eb3bfa9d0de8&tag=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD&channelId=&libraryId=bb042e69-9a11-49a1-af22-0c3fab2e92b9&breadcrumb=%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD",
    ];
    const xljkUrlTag =
          "%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7%E6%95%99%E8%82%B2%E6%95%99%E5%B8%88%E5%9F%B9%E8%AE%AD";
    // function
    const changInputValue = (inputDom, newText) => {
        if (!inputDom) {
            return;
        }
        let lastValue = inputDom.value;
        inputDom.value = newText;
        let event = new Event("input", { bubbles: true });
        event.simulated = true;
        let tracker = inputDom._valueTracker;
        if (tracker) {
            tracker.setValue(lastValue);
        }
        inputDom.dispatchEvent(event);
    };

    function findLastIndex(array, predicate) {
        // 先将数组反转
        const reversedArray = array.slice().reverse();
        // 使用findIndex找到满足条件的元素的索引
        const index = reversedArray.findIndex(predicate);
        if (index === -1) {
            return -1; // 若未找到,则直接返回-1
        }
        // 计算满足条件的元素在原数组中的索引
        const originalIndex = array.length - 1 - index;
        return originalIndex;
    }

    const State = {
        LoadPage: "loadPage",
        GetActive: "getActive",
        SwitchSource: "switchSource",
        PlayVideo: "playVideo",
        HandlePlayRes: "handlePlayRes",
        WaitPlay: "waitPlay",
        SwitchActive: "switchActive",
        SwitchFirst: "switchFirst",
        TaskEnd: "taskEnd",
    }

    var state = State.LoadPage;
    var groups = undefined;
    var groupNo = undefined;
    var resItems = undefined;
    var resNo = undefined;
    var videoErr = undefined;

    const func_table = {
        loadPage: () => {
            var video = document.querySelector("video");
            var resItems = document.querySelector(".resource-item");
            if (!!video && !!resItems) {
                return State.GetActive
            }
            else {
                console.log("Bbk", "等待视频加载")
                return State.LoadPage
            }
        },
        getActive: () => {
            groups = document.getElementsByClassName("fish-collapse-item");
            //寻找最后一个打开的group(子group可能打开多个)
            //适配chrome版本低于97, firefox版本低于108的用户
            groupNo = findLastIndex([...groups], (item) => {
                return item.className.includes("active");
            })

            var base = groupNo === -1 ? document : groups[groupNo];
            resItems = base.getElementsByClassName("resource-item");
            resNo = [...resItems].findIndex((item) => {
                return item.className.includes("active");
            });
            return State.SwitchSource
        },
        switchSource: () => {
            //视频修改为标清 zxj663建议添加
            let sped = document.querySelector(
                "div.vjs-menu-button.vjs-menu-button-popup.vjs-control.vjs-button.vjs-resolution-button > span"
            );
            if (sped && sped.innerText != "标清") {
                document
                    .querySelector(
                    "div.vjs-menu-button.vjs-menu-button-popup.vjs-control.vjs-button.vjs-resolution-button > div > ul > li:nth-child(2) > span.vjs-menu-item-text"
                )
                    .click();
            }
            return State.PlayVideo
        },
        playVideo: () => {
            let icons = resItems[resNo].getElementsByClassName("iconfont");
            if (icons[1] && icons[1].className.includes("icon_checkbox_fill")) {
                console.log("Bbk", `第${groupNo + 1}组, 第${resNo + 1}个视频已经观看`);
                return State.SwitchActive
            }

            console.log("Bbk", `开始观看: 第${resNo + 1}个视频,第${groupNo + 1}组`);
            var video = document.getElementsByTagName("video")[0];
            video.muted = true;
            video.play().then(() => {
                videoErr = false
            }).catch((err) => {
                console.log("Bbk", err);
                videoErr = true
            });
            renderMenu()
            video.playbackRate = rateMenu[active].value;
            video.addEventListener("pause", () => state = State.PlayVideo, false)
            video.addEventListener("ended", () => state = State.SwitchActive, false)
            return State.HandlePlayRes
        },
        handlePlayRes: () => {
            //处理播放的结果
            return videoErr === undefined ? State.HandlePlayRes : videoErr ? State.PlayVideo : State.WaitPlay
        },
        waitPlay: () => { return State.WaitPlay },
        switchActive: () => {
            //如果没看完当前组,则观看当前组的下一个视频
            if (resNo + 1 != resItems.length) {
                resNo += 1
                resItems[resNo].click();
                console.log("Bbk", `点击当前组的下一个视频`);
                return State.SwitchSource;
            }

            //如果看完了当前组,没看完当前页面,则看下一个页面
            if (groupNo + 1 != groups.length) {
                console.log("Bbk", `点击下一组的第一个视频`);
                groupNo += 1
                document.getElementsByClassName("fish-collapse-header")[groupNo].click();
                return State.SwitchFirst
            }
            //如果都看完了
            var urlList = [];
            //是心理健康教育培训
            if (location.href.includes(xljkUrlTag)) {
                urlList = [...xljkUrlList];
            }
            var curUrl = urlList.indexOf(location.href);
            if (curUrl + 1 == urlList.length) {
                console.log("Bbk", "看完了所有学习页面,退出");
                return State.TaskEnd;

            } else if (curUrl != -1) {
                console.log("Bbk", "进入下一个学习页面");
                window.open(urlList[curUrl + 1], "_self");
            }
        },
        switchFirst: () => {
            resItems = groups[groupNo].getElementsByClassName("resource-item");
            resNo = 0
            resItems[resNo].click();
            return State.SwitchSource
        },
        taskEnd: () => {
            return State.TaskEnd;
        }
    }

    const setPopupHandler = () => {
        //点击页面的题目和弹窗
        setInterval(() => {
            [".nqti-option", ".index-module_markerExercise_KM5bU .fish-btn", ".fish-modal-confirm-btns .fish-btn"].forEach(selector => {
                let dom = document.querySelector(selector)
                if (!!dom) {
                    dom.click();
                }
            })
            //增加填空题支持
            var inputForm = document.querySelector(".index-module_box_blt8G");
            if (!!inputForm) {
                changInputValue(inputForm.getElementsByTagName("input")[1], "&nbsp;");
            }
        }, 5000);
    };

    const setVideoHandler = () => {
        setInterval(() => {
            try {
                state = func_table[state]()
                //console.log("Bbk", `${state}已经完成!`)
            }
            catch (err) {
                //tusi("BBK提示:"+`${state}: ${err}`,1000,true);
                console.log("Bbk", `${state}: ${err}`)
            }
        }, 5000)
    }

    //修改播放速度
    const changeRate = (rate, index) => {
        localStorage.setItem("active", `${index}`)
        active = index
        document.querySelector(".vjs-playback-rate-value").innerHTML = rateMenu[index].title
        document.getElementsByTagName("video")[0].playbackRate = rate
        return false
    }

    //修改速度菜单
    const renderMenu = () => {
        document.querySelector(".vjs-playback-rate .vjs-menu-content").innerHTML =
            rateMenu.map((rate, index) =>
                         `<li class="vjs-menu-item" tabindex="-1" role="menuitemradio" aria-disabled="false" aria-checked="${index == active}">
            <span class="vjs-menu-item-text">${rate.title}</span>
            <span class="vjs-control-text" aria-live="polite"></span>
          </li>`
          ).join(" ")
        const doms = document.querySelectorAll(".vjs-playback-rate .vjs-menu-content .vjs-menu-item")
        rateMenu.forEach((rate, index) => {
            doms[index].addEventListener("click", () => changeRate(rate.value, index), false)
        })

        //显示速度控制菜单
        const rateButtons = document.getElementsByClassName("vjs-playback-rate vjs-menu-button vjs-menu-button-popup vjs-control vjs-button vjs-hidden")
        if (rateButtons.length > 0) {
            rateButtons[0].classList.remove("vjs-hidden")
            document.querySelector(".vjs-playback-rate-value").innerHTML = rateMenu[active].title
        }
    }

    //获取速度
    let activeStr = localStorage.getItem("active")
    const rateMenu = [{ title: "1x", value: 1 }, { title: "4x", value: 4 }, { title: "8x", value: 8 }, { title: "12x", value: 12 }, { title: "16x", value: 16 }]
    let active = activeStr === null ? rateMenu.length - 1 : parseInt(activeStr)

    //下面开始运行脚本
    //tusi("BBK提示:脚本加载成功,稍后执行自动化操作...",1000,true);
    console.log("Bbk", "加载成功")
    setVideoHandler();
    setPopupHandler();
}
class Verify {
    constructor() {
        var version = 'version',hear = 'hear',version_ = "4.5";
        var txt,str;
        txt =
            '1.鉴于帮帮客网课助手(原)进入重构阶段,同时为了兼顾各学员学习需求,决定推出帮帮客本地预览版(BBK Local preview)\n' +
            '2.该版本简化了安装流程,更易操作使用\n' +
            '更新建议:推荐(适配未超期的旧用户,新用户按提示操作)\n' +
            '疑问解答:\n' +
            '1.帮帮客本地预览版(BBK Local preview)具备旧版功能\n' +
            '2.帮帮客本地预览版(BBK Local preview)属非正式发布版本\n' +
            '3.助手自发布以来,承蒙各学员的支持,总安装量达15000+\n' +
            '4.帮帮客注重用户体验、使用效率,如有不懂之处或疑问可通过公众号、博客、QQ等方式联系我\n' +
            '下方链接则是帮帮客本地预览版(BBK Local preview)地址\n点击确定按钮进行跳转或复制输入框内的地址到浏览器上打开亦可\n' +
            '注意事项:点击确定按钮后,个别浏览器会阻止弹窗而导致跳出失败,注意浏览器提示选择允许即可\n';
        str = 'https://www.cnblogs.com/BBK1106/p/17770770.html';
        let Set = GM_getValue("set");
        if (GM_listValues().indexOf("set") == -1) {
            GM_setValue("set", {"idCard": "","code": "","hear": "","version": ""});
            confirm("BBK_JavaScript\n初始化完毕!");
        }
        setTimeout(function () {
            Set = GM_getValue("set");
            if (Set[hear] != true) {
                data();
                let url_n = unsafeWindow.location.href.split("/");
                if (url_n[3] != 'rawsystem' && getCookie("Bbk_Sx") != "true") {
                    if (prompt(txt, str)){window.open(str);};
                }
            } else if (Set[hear] == true && Set[version] != version_) {
                data();
                let v1 = prompt('BBK_JavaScript\n\n温馨提示;您有新版本更新\n\n最新版本:' + Set[version] + ',当前版本:' + Vs + '\n\n更新流程:\n1.点击确定按钮进行跳转\n2.复制输入框内的地址到浏览器上打开即可\n\n注意事项:点击确定按钮后,个别浏览器会阻止弹窗而导致跳出失败,注意浏览器提示选择允许即可',str);
                if(v1){window.open(str);}
            }
            if (document.querySelector('#floatTips2')) {
                document.querySelector('#imga3').style.display = 'none';
                if (document.querySelector('#floatTips')) {
                    document.querySelector('#floatTips').style.display = 'none';
                }
            }
        }, 1500);
        function data() {
            var url_n, url_t;
            url_n = unsafeWindow.location.href.split("/");
            url_t = url_n[url_n.length - 1].split("?")[0];
            if (url_t != "course_list_v2.aspx") {
                $('body').append(`
                    <div id=gzh style="font-weight: bold;right: 17px;font-size: 14px;height: 32px;text-align: center;display: block;background: #ffffff;position: fixed;top: 272px;width: 129px;color: #717375;margin-left: 0px;line-height: 15px;">
                        微信扫一扫
                        <br>
                        关注帮帮客公众号
                    </div>
                    <iframe src="https://mp.weixin.qq.com/mp/qrcode?scene=10000004&size=102&__biz=Mzk0MjMxNTcxOQ==&mid=2247483681&idx=1&sn=382747485cbe09c94f7e7ee0eef363b5&send_time="
                    style="right: 17px;display: block;position: fixed; top:143px;width: 129px;color: #555;margin-left: 0px;line-height: 11px;border-radius: 6px;height: 160px;">
                    </iframe>
                    `);
            }
        }
        function getCookie(name)
        {
            var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
            if(arr=document.cookie.match(reg))
                return unescape(arr[2]);
            else
                return null;
        }
    }
}
new Verify();
//河南专技
if (location.host.includes('ghlearning')) {
    myTimer = setInterval(hnzj_gx,3000);
}
//国家中小学教育平台
else if (location.host.includes("courseDetail")) {
    gjzxx();
}