Song.Site/Templates/Web/_Public/Scripts/CourseStudy.js

(开头部分) 24KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

var couid = $api.querystring("couid");
var vdata = new Vue({
    data: {
        //数据实体
        account: {}, //当前账号信息
        course: {}, //当前课程
        outline: {}, //当前课程章节
        subject: {}, //当前专业
        outlines: [], //当前课程的章节列表(树形)
        access: [], //附件列表
        events: [], //视频事件
        messages: [], //咨询留言
        //当前章节的视频信息
        video: {
            url: '', //视频路径
            total: 0, //总时长      
            playTime: 0, //当前播放时间,单位:毫秒     
            playhistime: 0, //历史播放时间
            studytime: 0, //累计学习时间
            percent: 0 //完成度(百分比)
        },
        playtime: 0, //当前播放时间,单位:秒
        playpercent: 0, //当前播放完成度百分比
        //状态
        state: {}, //课程状态       
        couid: $api.querystring("couid"),
        olid: $api.querystring("olid"),
        median: false, //分隔线折叠状态
        isMessage: false,         //是否启用留言咨询
        titState: 'loading', //左侧选项卡的状态
        rightState: 'outline', //右侧选项卡状态,章节outline,交流chat
        outlineLoaded: false, //右侧章节列表加载中
        studylogUpdate: false, //学习记录是否在递交中
        studylogState: 0, //学习记录提交状态,1为成功,-1为失败
        switchSubtitle: $api.cookie("switchSubtitle_" + $api.querystring("couid")) == "true" ? true : false, //弹幕开关
        //控件
        player: null //播放器
    },
    watch: {
        //课程状态
        state: function (val) {
            if (vdata.state.isNull) vdata.titState = 'isNull';
            if (vdata.state.isAccess) vdata.titState = 'isAccess';
            if (vdata.state.isQues) vdata.titState = 'isQues';
            if (vdata.state.isContext) vdata.titState = 'isContext';
            if (vdata.state.isLive) vdata.titState = 'isLive';
            if (vdata.state.existVideo) vdata.titState = 'existVideo';
            //if (!vdata.state.canStudy) vdata.titState = 'isNull';
            if (vdata.state.DeskAllow) return;
            //视频播放
            if (vdata.state.canStudy && (vdata.state.existVideo || vdata.state.isLive))
                vdata.videoPlay(vdata.state);
        },
        //左侧选项卡切换
        titState: function (val) {
            if (vdata.playready()) {
                vdata.titState == 'existVideo' ? vdata.player.play() : vdata.player.pause();
            }
        },
        //弹幕开关
后面还有 510 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。