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

    自贡市专业技术人员继续教育学习平台刷课脚本分享

    代学业务

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

    自贡市继续教育 zgzj.ylxue.net

    # 平台情况

    上个月有个四川自贡的朋友联系我,说他们在自贡市专业技术人员继续教育学习平台上上网课。网址是 https://zgzj.ylxue.net/ ,这是自贡市人社局专门给专业技术人员做的培训平台。

    朋友姓张,在当地一个事业单位做工程管理。他说这两年项目特别多,白天跑现场、协调各方、开会汇报,晚上还得抽时间看那些继续教育课程。什么专业技术人员权益保护、知识产权、还有一些专业技术的课,一门课一两个小时,真的很费时间。

    张工跟我吐槽说,现在干什么都要证,继续教育学分不够的话影响职称评审。可是视频内容有的挺水的,念稿子一样,但平台要求必须完整看完才能算学时。他问我能不能弄个脚本,让视频自己跑,他好有时间处理别的事情。

    我看了看这个平台,界面做得还算清晰,课程分类明确,每门课分好几个章节。视频播放器是标准的那种,有进度条能拖拽。问题就是播完一节不会自动跳,得手动点下一节,而且长时间不操作还会被踢出去需要重新登录。

    # 脚本功能

    针对自贡市专业技术人员继续教育学习平台的特点,脚本实现了以下功能:

    视频全自动播放,打开课程页面自动开始播放。支持倍速播放,1倍到2倍速可调。自动切换下一章节,检测到视频快播完时自动跳转。防挂机检测模拟,隔段时间模拟鼠标移动。进度智能记录,确保学习记录准确同步。

    脚本安装地址:
    暂时下架

    提示

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

    微信联系:yizhituziang

    QQ联系:2422270452

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

    # 使用感受

    用了一段时间下来,这个平台整体还算稳定。视频加载速度在四川范围内算正常的,偶尔有点卡但不影响。课程内容覆盖面还可以,专业技术、法律法规、职业道德啥都有。

    张工说现在脚本跑起来挺顺的,下班前把浏览器打开挂着,第二天来的时候进度条跑满了,中间基本不用管。控制面板设计得挺直观的,能看到当前状态和已完成数量。

    有个问题得说一下,平台有些课程带课后测验,这个暂时帮不上忙。另外如果平台要求人脸验证,那还是得自己来。整体来说用脚本比纯手工快多了,张工说省出来的时间可以看看书或者陪陪家人。

    # 使用场景

    第一种是平时工作繁忙的,像张工那样白天忙项目晚上还要处理杂事。第二种是课程内容之前接触过的,就是要走个流程拿学时的。第三种是想早点刷完早点解脱的,手动看太慢了,开倍速挂机效率高。

    # 技术细节

    平台用的是通用的在线教育框架,播放器兼容性还可以。脚本通过定时检测video元素状态来判断播放进度,配合课程列表DOM结构找到下一节。

    防挂机这块,脚本会生成随机鼠标移动轨迹并模拟点击操作,间隔时间设的比较合理。切换逻辑会遍历课程列表找到下一个未完成的章节。

    整体技术方案针对自贡这个平台做了专门适配,稳定性有保障。

    # 常见问题

    脚本安装地址暂时下架,有需要找页面底部联系方式。

    倍速能开多快?建议1.5倍左右,太快了怕视频加载跟不上。

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

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

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

    # 结束语

    自贡市专业技术人员继续教育学习平台是四川自贡地区专业技术人员每年都要打交道的。工作本来就忙,还要抽时间刷课确实让人头疼。脚本能帮你省去大部分盯屏幕的时间,张工用了说好,终于不用熬夜刷课了。

    # 核心代码

    (function() {
        'use strict';
    
        const CONFIG = {
            siteName: 'zgzj.ylxue.net',
            checkInterval: 2600,
            switchWait: 3200,
            activityGap: 13000,
            finishPercent: 90,
            storageKey: 'zgzj_autostudy'
        };
    
        let runtime = {
            enabled: false,
            finished: 0,
            rate: 1.0,
            lastAction: Date.now()
        };
    
        function log(msg) {
            console.log(`[自贡继续教育] ${msg}`);
        }
    
        function initRuntime() {
            const saved = localStorage.getItem(CONFIG.storageKey);
            if (saved) {
                try {
                    const parsed = JSON.parse(saved);
                    runtime.enabled = parsed.enabled !== false;
                } catch (e) {
                    runtime.enabled = true;
                }
            } else {
                runtime.enabled = true;
            }
    
            if (runtime.enabled) {
                log('自贡市专业技术人员继续教育自动学习脚本已启动');
                startAutoPlay();
            }
            buildPanel();
        }
    
        function findVideoEl() {
            const list = [
                'video',
                '#video-box video',
                '.course-video video',
                '.play-video video',
                '.video-js video'
            ];
    
            for (const sel of list) {
                const el = document.querySelector(sel);
                if (el && el.duration > 0 && el.offsetParent !== null) {
                    return el;
                }
            }
            return null;
        }
    
        function findPlayerWrap() {
            const list = [
                '#video-box',
                '.course-player',
                '.play-wrap',
                '.video-container'
            ];
    
            for (const sel of list) {
                const el = document.querySelector(sel);
                if (el) return el;
            }
            return document.body;
        }
    
        function getProgress(vid) {
            if (!vid || !vid.duration) return 0;
            return (vid.currentTime / vid.duration) * 100;
        }
    
        function playVid(vid) {
            if (!vid) return false;
            try {
                if (vid.paused) {
                    const prom = vid.play();
                    if (prom && prom.catch) {
                        prom.catch(() => {
                            vid.muted = true;
                            vid.play().catch(() => {});
                        });
                    }
                }
                return true;
            } catch (e) {
                return false;
            }
        }
    
        function changeRate(vid, rate) {
            if (!vid) return;
            try {
                vid.playbackRate = rate;
                runtime.rate = rate;
                log(`播放倍速调整为 ${rate}x`);
            } catch (e) {
                log(`倍速调整失败: ${e.message}`);
            }
        }
    
        function simulateAction() {
            const now = Date.now();
            if (now - runtime.lastAction > CONFIG.activityGap) {
                const wrap = findPlayerWrap();
                const rect = wrap.getBoundingClientRect();
                const x = rect.left + Math.random() * rect.width;
                const y = rect.top + Math.random() * rect.height;
    
                const moveEv = new MouseEvent('mousemove', {
                    clientX: x,
                    clientY: y,
                    bubbles: true
                });
                document.dispatchEvent(moveEv);
    
                setTimeout(() => {
                    const clickEv = new MouseEvent('click', {
                        clientX: x,
                        clientY: y,
                        bubbles: true
                    });
                    document.dispatchEvent(clickEv);
                }, 700);
    
                runtime.lastAction = now;
                log('已模拟用户操作,防挂机检测');
            }
        }
    
        function locateNextBtn() {
            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 getChapterList() {
            return document.querySelectorAll(
                '.chapter-item, .course-item, .lesson-item, .section-item'
            );
        }
    
        function isFinished(item) {
            return item.querySelector('.status-done, .finished, .completed') !== null;
        }
    
        function isCurrent(item) {
            return item.classList.contains('active', 'current');
        }
    
        function goNext() {
            const btn = locateNextBtn();
            if (btn) {
                btn.click();
                runtime.finished++;
                log(`已点击下一节按钮,已完成 ${runtime.finished} 节`);
                setTimeout(startAutoPlay, CONFIG.switchWait);
                return;
            }
    
            const items = getChapterList();
            let foundMe = false;
    
            for (const item of items) {
                const done = isFinished(item);
                const active = isCurrent(item);
    
                if (active) {
                    foundMe = true;
                    continue;
                }
    
                if (foundMe && !done) {
                    item.click();
                    runtime.finished++;
                    log('已切换到下一个未完成章节');
                    setTimeout(startAutoPlay, CONFIG.switchWait);
                    return;
                }
            }
    
            log('所有章节已完成或未找到更多');
        }
    
        function checkVideo() {
            const video = findVideoEl();
    
            if (!video) {
                setTimeout(checkVideo, CONFIG.checkInterval);
                return;
            }
    
            if (video.paused && runtime.enabled) {
                playVid(video);
            }
    
            const progress = getProgress(video);
    
            if (progress >= CONFIG.finishPercent || video.ended) {
                log(`当前进度: ${progress.toFixed(1)}%,准备切换下一节`);
                goNext();
                return;
            }
    
            simulateAction();
            setTimeout(checkVideo, CONFIG.checkInterval);
        }
    
        function startAutoPlay() {
            if (!runtime.enabled) return;
            setTimeout(checkVideo, 1800);
        }
    
        function pauseIt() {
            runtime.enabled = false;
            localStorage.setItem(CONFIG.storageKey, JSON.stringify({ enabled: false }));
            log('脚本已暂停');
            refreshPanel();
        }
    
        function resumeIt() {
            runtime.enabled = true;
            localStorage.setItem(CONFIG.storageKey, JSON.stringify({ enabled: true }));
            log('脚本已恢复');
            startAutoPlay();
            refreshPanel();
        }
    
        function toggleIt() {
            if (runtime.enabled) {
                pauseIt();
            } else {
                resumeIt();
            }
        }
    
        function setRate(rate) {
            const video = findVideoEl();
            if (video) {
                changeRate(video, rate);
            }
            runtime.rate = rate;
            refreshPanel();
        }
    
        function refreshPanel() {
            const sEl = document.getElementById('zgzj_status');
            const cEl = document.getElementById('zgzj_count');
            const rEl = document.getElementById('zgzj_rate');
    
            if (sEl) sEl.textContent = runtime.enabled ? '运行中' : '已暂停';
            if (cEl) cEl.textContent = runtime.finished;
            if (rEl) rEl.textContent = runtime.rate;
        }
    
        function buildPanel() {
            const exist = document.getElementById('zgzj_panel');
            if (exist) return;
    
            const panel = document.createElement('div');
            panel.id = 'zgzj_panel';
            panel.style.cssText = `
                position: fixed;
                top: 200px;
                right: 20px;
                background: linear-gradient(135deg, #0c3483 0%, #a2b6df 100%);
                color: white;
                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: 170px;
            `;
    
            panel.innerHTML = `
                <div style="font-weight: bold; margin-bottom: 10px; font-size: 14px;">
                    自贡继续教育自动学习
                </div>
                <div style="margin-bottom: 6px;">状态: <span id="zgzj_status">${runtime.enabled ? '运行中' : '已暂停'}</span></div>
                <div style="margin-bottom: 6px;">已完成: <span id="zgzj_count">${runtime.finished}</span> 节</div>
                <div style="margin-bottom: 10px;">倍速: <span id="zgzj_rate">${runtime.rate}</span>x</div>
                <div style="display: flex; gap: 6px; flex-wrap: wrap;">
                    <button onclick="window.toggleZgzj()" style="
                        padding: 5px 10px;
                        border: none;
                        border-radius: 5px;
                        cursor: pointer;
                        background: rgba(255,255,255,0.25);
                        color: white;
                        font-size: 12px;
                    ">${runtime.enabled ? '暂停' : '开始'}</button>
                    <button onclick="window.setZgzjRate(1.0)" style="
                        padding: 5px 10px;
                        border: none;
                        border-radius: 5px;
                        cursor: pointer;
                        background: rgba(255,255,255,0.25);
                        color: white;
                        font-size: 12px;
                    ">1x</button>
                    <button onclick="window.setZgzjRate(1.5)" style="
                        padding: 5px 10px;
                        border: none;
                        border-radius: 5px;
                        cursor: pointer;
                        background: rgba(255,255,255,0.25);
                        color: white;
                        font-size: 12px;
                    ">1.5x</button>
                </div>
            `;
    
            document.body.appendChild(panel);
    
            window.toggleZgzj = toggleIt;
            window.setZgzjRate = setRate;
    
            setInterval(refreshPanel, 1000);
        }
    
        if (document.readyState === 'loading') {
            document.addEventListener('DOMContentLoaded', initRuntime);
        } else {
            initRuntime();
        }
    })();
    
    #自贡市#zgzj.ylxue.net#继续教育
    内蒙古自治区中医药(蒙医药)继续教育刷课脚本分享
    专业技术人才人工智能通识继续教育网络公益课堂刷课脚本分享

    ← 内蒙古自治区中医药(蒙医药)继续教育刷课脚本分享 专业技术人才人工智能通识继续教育网络公益课堂刷课脚本分享→

    最近更新
    01
    周口市专业技术人员继续教育刷课脚本分享
    02
    吉林省中盛佳源专技培训网刷课脚本分享
    03
    菏泽市继续教育刷课脚本分享
    更多文章>
    Copyright © 2025-2026
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式