脚本喵-刷课脚本分享 脚本喵-刷课脚本分享
首页
刷课脚本
通用教程
网课代学
首页
刷课脚本
通用教程
网课代学
  • 山东省教师教育网刷课脚本分享
  • 北京市继续医学教育全员必修课培训刷课脚本分享
  • 好医生刷课脚本分享
  • 融学国培网chinahrt.com刷课脚本分享
  • 华医网刷课脚本分享
  • 59iedu华博教育系列刷课脚本分享
  • 安溪县中小学、幼儿园教师远程继续教育培训刷课脚本分享
  • 福建省交通运输行业专业技术人员继续教育刷课脚本分享
  • 漳州开放大学非学历培训平台刷课脚本分享
  • 莆田市专业技术人员继续教育公需课培训平台刷课脚本分享
  • 永泰县专业技术人员继续教育网络培训平台刷课脚本分享
  • 四川信息通信人才在线教育平台刷课脚本分享
  • 巴中建设行业从业人员继续教育网络培训平台刷课脚本分享
  • 扬州市网络培训远程教育平台刷课脚本分享
  • 江苏省勘察设计行业继续教育网络培训平台刷课脚本分享
  • 华博教育-甘肃省天水市刷课脚本分享
  • 永安市教师进修校继续教育网络平台刷课脚本分享
  • 平潭综合实验区专业技术人员继续教育网络平台刷课脚本分享
  • 淮安市专业技术人员继续教育网刷课脚本分享
  • 宿迁市专业技术人才继续教育基地刷课脚本分享
  • 莆田市专业技术人员继续教育培训平台刷课脚本分享
  • 甘肃省专技(武威市)刷课脚本分享
  • 闽清县专业技术人员继续教育网络平台刷课脚本分享
  • 华博教育-甘肃省庆阳市刷课脚本分享
  • 福州市教师网络培训平台刷课脚本分享
  • 河南专技学习网刷课脚本分享
  • 广安市建筑技术培训中心刷课脚本分享
  • 甘肃省白银市(卫生行业)专技刷课脚本分享
  • 华博教育-甘肃省定西市刷课脚本分享
  • 福建省专业技术人员继续教育网络平台刷课脚本分享
  • 福建省专业技术人员继续教育基地刷课脚本分享
  • 福建省专业技术与管理人员继续教育刷课脚本分享
  • 甘肃省直专技刷课脚本分享
  • 华博教育-甘肃省陇南市刷课脚本分享
  • 华博教育-甘肃省临夏回族自治州刷课脚本分享
  • 甘肃省嘉峪关专技刷课脚本分享
  • 华博教育-甘肃省白银市刷课脚本分享
  • 八冶建设集团有限公司专业技术人员继续教育刷课脚本分享
  • 德化县专业技术人员继续教育学习网刷课脚本分享
  • 华博教育-金昌市刷课脚本分享
  • 华博教育-甘肃省甘南藏族自治州刷课脚本分享
  • 华博教育-酒泉市刷课脚本分享
  • 漳州职业技术学院专业技术人员继续教育刷课脚本分享
  • 福建省工艺美术专业技术人员继续教育刷课脚本分享
  • 福清市医院专业人员继续教育刷课脚本分享
  • 芯华集成电路人才培训中心专业技术人员继续教育刷课脚本分享
  • 华博教育-河南省会计人员继续教育刷课脚本分享
  • 南平市网络培训远程教育平台刷课脚本分享
  • 大众云学yxlearning系列刷课脚本分享
  • 济南职业学院职业技能提升网络培训平台刷课脚本分享
  • 山东理工职业学院继续教育平台刷课脚本分享
  • 兰州现代职业学院专业技术人员继续教育刷课脚本分享
  • 淄博市专业技术人员继续教育刷课脚本分享
  • 枣庄市专业技术人员继续教育刷课脚本分享
  • 滨州市专业技术人员继续教育刷课脚本分享
  • 新疆生产建设兵团专业技术人员继续教育刷课脚本分享
  • 山东省威海市专业技术人员继续教育刷课脚本分享
  • 山东药品食品职业学院继续教育刷课脚本分享
  • 山东科技职业学院专业技术人员网络学习平台刷课脚本分享
  • 新泰市职业技能提升网络培训平台刷课脚本分享
  • 山东烟台市专业技术人员继续教育刷课脚本分享
  • 济宁市专业技术人员继续教育刷课脚本分享
  • 山东水利行业专业技术人员继续教育刷课脚本分享
  • 山东省大数据工程专业技术人员培训平台刷课脚本分享
  • 临沂市交通运输行业专业技术人员继续教育刷课脚本分享
  • 鲁东大学专业技术人员继续教育刷课脚本分享
  • 临沂市职业技能培训线上平台刷课脚本分享
  • 东营市专业技术人员继续教育刷课脚本分享
  • 大众云学职业技能提升公共服务平台刷课脚本分享
  • 山东交通职业学院专业技术人员继续教育刷课脚本分享
  • 吉林省专业技术人员继续教育培训平台刷课脚本分享
  • 山东大众云学省级继续教育基地刷课脚本分享
  • 威海市职业技能提升网络培训平台刷课脚本分享
  • 山东化工职业学院专业技术人员继续教育刷课脚本分享
  • 山东省快递工程专业技术人员继续教育刷课脚本分享
  • 兵团思想政治工作人员继续教育刷课脚本分享
  • 武威职业学院专业技术人员继续教育刷课脚本分享
  • 日照市专业技术人员继续教育刷课脚本分享
  • 济宁职业技术学院专业技术人员继续教育刷课脚本分享
  • 龙岩市专业技术人员继续教育培训平台刷课脚本分享
  • 潍城区委党校专业技术人员继续教育刷课脚本分享
  • 新疆生产建设兵团残疾人技能提升与创业就业服务平台刷课脚本分享
  • 德州市专业技术人员继续教育刷课脚本分享
  • 泰安市专业技术人员继续教育刷课脚本分享
  • 聊城职业技术学院专业技术人员继续教育刷课脚本分享
  • 内蒙古网络学院刷课脚本分享
  • 凉山州专业技术人员继续教育刷课脚本分享
  • 医世界-医视在线刷课脚本分享
  • 安徽继续教育在线刷课脚本分享
  • 新版陕西省专业技术人员继续教育刷课脚本分享
  • 安徽省卫生从业人员培训平台刷课脚本分享
  • 国家药品安全专业技术人员培训网刷课脚本分享
  • 学习公社刷课脚本
  • 中山教师教育网刷课脚本
  • 浙江省安全生产网络学院刷课脚本
  • 智慧教育培训管理平台刷课脚本
  • 中国医师协会远程教育平台刷课脚本
  • 学达云刷课脚本
  • 数字党校培训平台刷课脚本
  • 广州市中小学教师继续教育网刷课脚本
  • 甘肃省公务员网络培训刷课脚本
  • 聊城市专业技术人员继续教育刷课脚本
  • 医博士刷课脚本
  • 甘肃法宣在线刷课脚本
  • 东奥会计刷课脚本
  • 丽水市建设行业人才继续教育平台刷课脚本
  • 山财培训网刷课脚本
  • 东营市继续教育刷课脚本
  • 河南教师培训网刷课脚本
  • 南京市专业技术人员继续教育刷课脚本
  • 广州东方职业技术培训中心执业药师继续教育刷课脚本
  • 包头市专业技术人员继续教育刷课脚本
  • 内蒙古自治区专业技术人员继续教育刷课脚本
  • 丽水人力社保专业技术人员继续教育培训刷课脚本
  • 北京市专业技术人员公需科目刷课脚本
  • 教师专业发展培训网刷课脚本分享
  • 东财在线大连会计刷课脚本分享
  • 临沂市专业技术人员继续教育刷课脚本分享
  • 浙江水利刷课脚本分享
  • 聊城市会计人员继续教育平台刷课脚本
  • 三亚市专业技术人员继续教育网刷课脚本
  • 中华会计继续教育刷课脚本
  • 西北师范大学中小学教师远程培训网刷课脚本
  • 春宇远程培训平台刷课脚本
  • 浙江省二级建造师继续教育学习网刷课脚本分享
  • 深圳市教师教育网刷课脚本分享
  • 山西省专业技术人员继续教育网络平台刷课脚本分享
  • 督学网络学院-广东分院刷课脚本分享
  • 湖北省专业技术人员继续教育网络平台刷课脚本分享
  • 东北师范大学中小学教师网络培训平台刷课脚本
  • 甘肃智博继续教育专修学院刷课脚本
  • 云继教刷课脚本
  • 济南市会计人员继续教育刷课脚本
  • 南宁市西乡塘中小学幼教师培训网刷课脚本
  • 东财在线-四川省刷课脚本分享
  • 辽宁省干部在线学习网刷课脚本分享
  • 朝阳区教师学习服务平台刷课脚本分享
  • 地大培训在线刷课脚本分享
  • 吉林专技培训平台刷课脚本分享
  • 新疆有色集团培训中心刷课脚本分享
  • 河南省新闻传播专业技术人员继续教育培训服务平台刷课脚本分享
  • 聊城市乡村实用人才培训学院刷课脚本
  • 天津市政工人员继续教育培训网刷课脚本
  • 广东省教育双融双创智慧共享社区刷课脚本
  • 河北药师网刷课脚本分享
  • 汉中职业技术学院-教师在线学习中心刷课脚本分享
  • 河南省教育人才学会网络学院刷课脚本分享
  • 郑东新区实验幼儿园教师研修平台刷课脚本分享
  • 巴中开放大学-专业技术人员继续教育基地刷课脚本分享
  • 校本研修管理平台刷课脚本分享
  • 河南会计人员继续教育刷课脚本分享
  • 天津市执业药师协会刷课脚本分享
  • 张掖市干部在线学习平台刷课脚本分享
  • 高等教育教师专业发展平台刷课脚本分享
  • 甘肃省专业技术人员继续教育网络平台刷课脚本分享
  • 泰安市专业技术人员继续培训平台刷课脚本分享
  • 微山县人民医院(微山县)公需课刷课脚本分享
  • 焦作专技网刷课脚本分享
  • 新疆国家级医学继续教育能力提升平台刷课脚本分享
  • 建设行业人才网络教育平台刷课脚本分享
  • 安徽开放大学教师全员远程培训刷课脚本分享
  • 西安教师培训网刷课脚本分享
  • 迪尔集团有限公司(高新区)公需课刷课脚本分享
  • 广东二师在线刷课脚本分享
  • 新疆兵团卫生专业技术人员法律法规知识培训服务平台刷课脚本分享
  • 贵州执业药师继续教育在线培训刷课脚本分享
  • 青海大学继续教育学院刷课脚本分享
  • 河北干部网络学院刷课脚本分享
  • 曲阜市技工学校(曲阜市)继续教育公需课刷课脚本分享
  • 全国体育传统特色学校体育师资培训平台刷课脚本分享
  • 宁阳县继续医学教育培训网刷课脚本分享
  • 陕西干部网络学院刷课脚本分享
  • 职业成长自动轮播学习脚本分享
  • 和田地区专业技术人员继续教育刷课脚本分享
  • 合肥市中小学、幼儿园教师远程培训刷课脚本分享
  • 内蒙古自治区中医药(蒙医药)继续教育刷课脚本分享
  • 自贡市专业技术人员继续教育学习平台刷课脚本分享
  • 专业技术人才人工智能通识继续教育网络公益课堂刷课脚本分享
  • 周口市专业技术人员继续教育刷课脚本分享
  • 吉林省中盛佳源专技培训网刷课脚本分享
    • 菏泽市继续教育刷课脚本分享
    • 国家中小学智慧教育平台刷课脚本分享
    • 刷课脚本
    脚本喵
    目录

    吉林省中盛佳源专技培训网刷课脚本分享

    代学业务

    如需代学,请点击联系客服

    吉林专技培训 jlzj.ylxue.net

    # 平台情况

    吉林省中盛佳源专技培训网,网址 https://jlzj.ylxue.net/ ,吉林这边做专业技术人员培训的应该都接触过。这个平台覆盖面还挺广的,公需课专业课都有,什么发展工业互联网、深入学习二十大精神、压力与情绪管理之类的课程。

    上周长春的刘姐找我,说她在中盛佳源上刷课快刷崩溃了。刘姐在长春一家设计院做结构设计,平时项目赶工期的时候天天加班到九十点,回家还得开电脑看那些继续教育视频。她说登录账号就是身份证号,密码是ylx加身份证后六位,这个倒是方便,但视频是真的磨人。

    刘姐跟我吐槽说,有些课内容其实挺好的,像那个压力与情绪管理,她挺想认真看看的。但问题是时间不允许啊,单位要求月底之前必须完成多少学时,她哪有那个闲工夫一节一节慢慢看。而且这个平台的视频播放器有点奇怪,进度条总是卡,有时候拖拽进度条还不好使。

    我登上去看了看,界面做得还行,课程分类有公需课和专业课两大块。专家团队阵容也不错,有什么数字经济学家、高级会计师、心理咨询师之类的。但视频播完不会自动跳下一节这个问题确实烦人,还有长时间不操作会掉线。

    # 脚本功能

    提示

    如需代学,请联系客服,支持闲鱼交易。

    微信联系:yizhituziang

    QQ联系:2422270452

    - img: /img/weixin.jpg
      name: 微信联系:yizhituziang
    - img: /img/qq.jpg
      name: QQ联系:2422270452
    

    针对吉林省中盛佳源专技培训网的特点,脚本实现了以下功能:

    视频自动播放,进入课程页面后自动开始,不用手动点播放按钮。自动切换下一节,检测到视频快播完时自动跳到下一个章节。防掉线模拟,定期模拟鼠标移动和点击,避免系统判定无操作。倍速调节,1倍到2倍速可选。进度实时显示,控制面板上能看到当前状态和已完成数量。课程目录智能识别,自动跳过已经完成的章节。

    脚本安装地址: 暂时下架

    # 使用感受

    刘姐用了差不多十天了,她说整体体验比之前好太多了。现在她每天上班前打开浏览器挂着,中午吃饭的时候看一眼进度条,基本不用怎么管。控制面板在右侧,运行状态、完成数量、倍速都显示得清楚。

    不过有个事得提醒一下,中盛佳源有些专业课带课后测验,这个脚本帮不了,得自己做。还有如果你们单位要求人脸验证或者实名认证确认,那也得自己来。刘姐说她公需课基本都能自动刷,专业课有几门带测验的就自己做了。

    对了,刘姐还提到一个细节,她说有时候视频会突然卡住不动,这种情况脚本会自动检测并尝试重新播放。如果实在卡住了刷新一下页面就行,脚本会从上次的位置继续。

    # 使用场景

    工作忙没时间盯屏幕的,像刘姐那样项目赶工期天天加班的。课程内容之前接触过的,走流程拿学时的。想省心省力的,挂着脚本自动跑,自己该干嘛干嘛。

    # 技术细节

    中盛佳源用的是ylxue系列的通用框架,播放器兼容性还行但偶尔有卡顿。脚本通过定时检测video元素状态来判断播放进度,配合课程列表DOM结构找到下一节。

    防掉线这块比较重要,因为吉林这个平台对长时间不操作检测比较严格。脚本会生成随机鼠标移动轨迹,间隔时间也做了随机化处理,不会太规律。

    整体方案针对中盛佳源平台做了专门适配,刘姐用了十天没出过什么大问题。

    # 常见问题

    脚本安装地址暂时下架,有需要代学的朋友看页面底部联系方式。

    倍速怎么选?建议1.5倍,吉林这边网络质量还行,但太快了怕视频加载跟不上。

    浏览器用什么好?Chrome或Edge最稳,其他浏览器可能兼容性问题。

    进度不同步怎么办?刷新重试,平台会定时保存学习进度。

    课后测验能自动做吗?暂时不支持,得自己看题目做。

    # 结束语

    吉林省中盛佳源专技培训网是吉林地区专技人员每年都要用的平台,课程种类不少但刷起来确实费时间。刘姐之前为了刷课连着好几天晚上没休息好,用了脚本之后终于不用熬夜了。东北这边冬天本来就冷,坐在电脑前刷课更冷,脚本能帮你省去大部分盯屏幕的时间。

    # 核心代码

    (function() {
        'use strict';
    
        const CFG = {
            domain: 'jlzj.ylxue.net',
            interval: 2700,
            nextWait: 3300,
            idleGap: 13000,
            donePct: 89,
            key: 'jlzj_auto_cfg'
        };
    
        let st = {
            on: false,
            cnt: 0,
            spd: 1.0,
            lastAct: Date.now(),
            errCnt: 0
        };
    
        function log(m) {
            console.log(`[吉林中盛佳源] ${m}`);
        }
    
        function loadCfg() {
            const s = localStorage.getItem(CFG.key);
            if (s) {
                try {
                    const d = JSON.parse(s);
                    st.on = d.enabled !== false;
                } catch (e) {
                    st.on = true;
                }
            } else {
                st.on = true;
            }
        }
    
        function saveCfg() {
            localStorage.setItem(CFG.key, JSON.stringify({
                enabled: st.on,
                spd: st.spd
            }));
        }
    
        function boot() {
            loadCfg();
            if (st.on) {
                log('吉林省中盛佳源专技培训自动学习已启动');
                runCheck();
            }
            makePanel();
        }
    
        function queryVideo() {
            const list = [
                'video',
                '#videoPlayer video',
                '.course-video video',
                '.play-video video',
                '.video-js video',
                '.vjs-tech',
                'video.prism-player'
            ];
            for (const sel of list) {
                const el = document.querySelector(sel);
                if (el && el.duration > 0 && el.offsetParent !== null) {
                    return el;
                }
            }
            return null;
        }
    
        function queryWrap() {
            const list = [
                '#videoPlayer',
                '.course-player',
                '.play-wrap',
                '.video-container',
                '.player-wrap',
                '.prism-player'
            ];
            for (const sel of list) {
                const el = document.querySelector(sel);
                if (el) return el;
            }
            return document.body;
        }
    
        function pct(v) {
            if (!v || !v.duration) return 0;
            return (v.currentTime / v.duration) * 100;
        }
    
        function doPlay(v) {
            if (!v) return false;
            try {
                if (v.paused) {
                    const r = v.play();
                    if (r && r.catch) {
                        r.catch(() => {
                            v.muted = true;
                            v.play().catch(() => {});
                        });
                    }
                }
                return true;
            } catch (e) {
                return false;
            }
        }
    
        function doSpeed(v, s) {
            if (!v) return;
            try {
                v.playbackRate = s;
                st.spd = s;
                log(`倍速设为 ${s}x`);
            } catch (e) {
                log('倍速设置失败');
            }
        }
    
        function fakeAction() {
            const now = Date.now();
            if (now - st.lastAct > CFG.idleGap) {
                const wrap = queryWrap();
                const rect = wrap.getBoundingClientRect();
                const x = rect.left + Math.random() * rect.width;
                const y = rect.top + Math.random() * rect.height;
    
                const mv = new MouseEvent('mousemove', {
                    clientX: x, clientY: y, bubbles: true
                });
                document.dispatchEvent(mv);
    
                setTimeout(() => {
                    const ck = new MouseEvent('click', {
                        clientX: x, clientY: y, bubbles: true
                    });
                    document.dispatchEvent(ck);
                }, 500);
    
                st.lastAct = now;
                log('模拟操作,防掉线');
            }
        }
    
        function nextBtn() {
            const sels = ['.next-btn', '.btn-next', '.next-chapter', '[class*="next"]'];
            for (const sel of sels) {
                const btns = document.querySelectorAll(sel);
                for (const btn of btns) {
                    if (btn.offsetParent !== null && !btn.disabled) return btn;
                }
            }
            return null;
        }
    
        function courseItems() {
            return document.querySelectorAll(
                '.course-item, .chapter-item, .lesson-item, .section-item, .catalog-item'
            );
        }
    
        function isDone(item) {
            return item.querySelector('.status-done, .finished, .completed, .done-icon') !== null;
        }
    
        function isCur(item) {
            return item.classList.contains('active') || item.classList.contains('current');
        }
    
        function jumpNext() {
            const btn = nextBtn();
            if (btn) {
                btn.click();
                st.cnt++;
                log(`点击下一节,已完成 ${st.cnt} 节`);
                setTimeout(runCheck, CFG.nextWait);
                return;
            }
    
            const items = courseItems();
            let found = false;
            for (const item of items) {
                const done = isDone(item);
                const cur = isCur(item);
                if (cur) { found = true; continue; }
                if (found && !done) {
                    item.click();
                    st.cnt++;
                    log('跳到下一未完成章节');
                    setTimeout(runCheck, CFG.nextWait);
                    return;
                }
            }
            log('全部完成或无更多课程');
        }
    
        function tick() {
            const v = queryVideo();
            if (!v) {
                st.errCnt++;
                if (st.errCnt > 25) {
                    log('多次未找到视频,请检查页面');
                    return;
                }
                setTimeout(tick, CFG.interval);
                return;
            }
            st.errCnt = 0;
    
            if (v.paused && st.on) doPlay(v);
    
            const p = pct(v);
            if (p >= CFG.donePct || v.ended) {
                log(`进度 ${p.toFixed(1)}%,准备切换`);
                jumpNext();
                return;
            }
    
            fakeAction();
            setTimeout(tick, CFG.interval);
        }
    
        function runCheck() {
            if (!st.on) return;
            setTimeout(tick, 2000);
        }
    
        function stopIt() {
            st.on = false;
            saveCfg();
            log('已暂停');
            updPanel();
        }
    
        function startIt() {
            st.on = true;
            saveCfg();
            log('已恢复');
            runCheck();
            updPanel();
        }
    
        function toggleIt() {
            st.on ? stopIt() : startIt();
        }
    
        function changeSpd(s) {
            const v = queryVideo();
            if (v) doSpeed(v, s);
            st.spd = s;
            updPanel();
        }
    
        function updPanel() {
            const a = document.getElementById('jlzj_st');
            const b = document.getElementById('jlzj_ct');
            const c = document.getElementById('jlzj_sp');
            if (a) a.textContent = st.on ? '运行中' : '已暂停';
            if (b) b.textContent = st.cnt;
            if (c) c.textContent = st.spd;
        }
    
        function makePanel() {
            const old = document.getElementById('jlzj_panel');
            if (old) return;
    
            const p = document.createElement('div');
            p.id = 'jlzj_panel';
            p.style.cssText = `
                position:fixed;top:220px;right:20px;
                background:linear-gradient(135deg,#1a237e 0%,#3f51b5 100%);
                color:#fff;padding:14px 16px;border-radius:10px;
                box-shadow:0 3px 12px rgba(0,0,0,0.25);
                z-index:999999;font-size:13px;min-width:175px;
            `;
    
            p.innerHTML = `
                <div style="font-weight:bold;margin-bottom:10px;font-size:14px;">
                    吉林中盛佳源自动学习
                </div>
                <div style="margin-bottom:6px;">状态: <span id="jlzj_st">${st.on ? '运行中' : '已暂停'}</span></div>
                <div style="margin-bottom:6px;">已完成: <span id="jlzj_ct">${st.cnt}</span> 节</div>
                <div style="margin-bottom:10px;">倍速: <span id="jlzj_sp">${st.spd}</span>x</div>
                <div style="display:flex;gap:6px;flex-wrap:wrap;">
                    <button onclick="window.togJlzj()" style="
                        padding:5px 10px;border:none;border-radius:5px;
                        cursor:pointer;background:rgba(255,255,255,0.25);
                        color:#fff;font-size:12px;
                    ">${st.on ? '暂停' : '开始'}</button>
                    <button onclick="window.spdJlzj(1.0)" style="
                        padding:5px 10px;border:none;border-radius:5px;
                        cursor:pointer;background:rgba(255,255,255,0.25);
                        color:#fff;font-size:12px;
                    ">1x</button>
                    <button onclick="window.spdJlzj(1.5)" style="
                        padding:5px 10px;border:none;border-radius:5px;
                        cursor:pointer;background:rgba(255,255,255,0.25);
                        color:#fff;font-size:12px;
                    ">1.5x</button>
                    <button onclick="window.spdJlzj(2.0)" style="
                        padding:5px 10px;border:none;border-radius:5px;
                        cursor:pointer;background:rgba(255,255,255,0.25);
                        color:#fff;font-size:12px;
                    ">2x</button>
                </div>
            `;
    
            document.body.appendChild(p);
            window.togJlzj = toggleIt;
            window.spdJlzj = changeSpd;
            setInterval(updPanel, 1000);
        }
    
        if (document.readyState === 'loading') {
            document.addEventListener('DOMContentLoaded', boot);
        } else {
            boot();
        }
    })();
    
    #吉林省#jlzj.ylxue.net#专技培训#继续教育
    周口市专业技术人员继续教育刷课脚本分享
    菏泽市继续教育刷课脚本分享

    ← 周口市专业技术人员继续教育刷课脚本分享 菏泽市继续教育刷课脚本分享→

    最近更新
    01
    周口市专业技术人员继续教育刷课脚本分享
    02
    菏泽市继续教育刷课脚本分享
    03
    国家中小学智慧教育平台刷课脚本分享
    更多文章>
    Copyright © 2025-2026
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式