智慧职教 | 职教云 —— 课件下载

专门用于对智慧职教旗下的职教云、MOOC学院和资源库的课件下载

目前為 2022-12-28 提交的版本,檢視 最新版本

// ==UserScript==
// @name         智慧职教 | 职教云 —— 课件下载
// @namespace    https://gf.qytechs.cn/zh-CN/users/856720
// @version      0.5
// @description  专门用于对智慧职教旗下的职教云、MOOC学院和资源库的课件下载
// @license      GPL License
// @author       a我还是少年a
// @match        *://zjy2.icve.com.cn/common/directory/directory.html?*
// @match        *://mooc.icve.com.cn/study/courseLearn/resourcesStudy.html?*
// @match        *://www.icve.com.cn/study/directory/dir_course.html?*
// @match        *://www.icve.com.cn/portal_new/sourcematerial/edit_seematerial.html?*
// @icon         https://zjy2.icve.com.cn/favicon.ico
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    var path = window.location.pathname.split("/");
    var pathLength = path.length;
    var page = path[pathLength-1].split(".")[0];

    // 资源库-素材
    if(page == 'edit_seematerial'){
        window.onload = function () {
            let gold = document.getElementsByClassName("gold")[0];
            if(gold == undefined){
                let download = document.getElementsByClassName("download clefix")[0];
                let data_id = document.getElementsByClassName("Collection")[0].getAttribute('data-id');
                download.innerHTML = `<div class = "gold"></div>
                    <a href="#" class="downloadMaterial" data-id="`+data_id+`">
                       <div class="download-icon" data-id="`+data_id+`">下载 </div>
                    </a>`;
            }
        }
    }

    // 资源库-课程、技能培训
    if(page == "dir_course"){
        let header_draw = document.getElementsByClassName("header-draw")[0];
        let div = document.createElement("div");
        div.innerHTML = `
            <button class="downloadData">点击下载</button>
        `;
        div.style = 'float:right;padding:30px 20px;';
        header_draw.appendChild(div);
        document.getElementsByClassName("downloadData")[0].addEventListener("click", downloadData);
        function downloadData(){
            let downloadUrl = document.querySelector("[data-downloadurl]").getAttribute('data-downloadurl');
            let downloadName = downloadUrl.split("=")[2];
            let aDom = document.createElement('a');
            aDom.style.display = 'none';
            aDom.href = downloadUrl;
            aDom.setAttribute('download',downloadName);
            document.body.appendChild(aDom);aDom.click();
            document.body.removeChild(aDom);
        }
    }

    // 旧版职教云
    if(page == "directory"){
        let div = document.createElement("div");
        div.style = "position:absolute;top:8px;right:10px;z-index:999;";
        div.innerHTML = `<a id="downloadData" href="javascript:;" title="下载"><span class="am-icon am-icon-cloud-download" style="font-size: 35px;color:white;"></span></a>`;
        document.body.appendChild(div);
        document.getElementById("downloadData").addEventListener("click", downloadData);
        function downloadData(){
            let courseOpenId = document.querySelector("input[name=courseOpenId]").value;
            let openClassId = document.querySelector("input[name=openClassId]").value;
            let moduleId = document.querySelector("input[name=moduleId]").value;
            let cellId = document.querySelector("input[name=cellId]").value;
            let value = {'courseOpenId':courseOpenId,'openClassId':openClassId,'moduleId':moduleId,'cellId':cellId};
            let data = postUrl('https://zjy2.icve.com.cn/api/common/Directory/viewDirectory',value);
            let downloadUrl = strToJson(data).downLoadUrl;
            let downloadName = downloadUrl.split("=")[2];
            DownloadFile(downloadUrl,downloadName,"_self");
        }
    }

    // 旧版MOOC
    if(page == "resourcesStudy"){
        let div = document.createElement("div");
        div.style = "position:absolute;top:8px;right:10px;z-index:999;";
        div.innerHTML = `<a id="downloadData" href="javascript:;" title="下载"><span class="am-icon am-icon-cloud-download" style="font-size: 35px;color:#23b8ff;"></span></a>`;
        document.body.appendChild(div);
        document.getElementById("downloadData").addEventListener("click", downloadData);
        function downloadData(){
            let courseOpenId = document.querySelector("input[name=courseOpenId]").value;
            let moduleId = document.querySelector("input[name=moduleId]").value;
            let processCellId = document.querySelector("input[name=processCellId]").value;
            //let upCellId = document.querySelector("[data-cellid=py0qayarh4fjymjv1ahhw]").getAttribute('data-upcellid');
            let value = {"courseOpenId":courseOpenId,"cellId":processCellId,"moduleId":moduleId};
            let data = postUrl('https://mooc.icve.com.cn/study/learn/viewDirectory',value);
            let downloadUrl = strToJson(data).downLoadUrl;
            let downloadName = downloadUrl.split("=")[2];
            DownloadFile(downloadUrl,downloadName,"_blank");
       }
    }

    // 字符串转JSON
    function strToJson(str){
        var json = (new Function("return " + str))();
        return json;
    }

    // 发送POST请求
    function postUrl(url,value){
        let a = $.ajax({
            url : url,
            type : "post",
            data :value,
            dataType : 'json',
            async: false,
            success: function(data){
            }
        });
        return a.responseText;
    }

    // 下载课件
    function DownloadFile(downloadUrl,downloadName,target){
        let aDom = document.createElement('a');
        aDom.style.display = 'none';
        aDom.href = downloadUrl;
        aDom.target = target;
        aDom.setAttribute('download',downloadName);
        document.body.appendChild(aDom);aDom.click();
        document.body.removeChild(aDom);
    }

})();

QingJ © 2025

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