PageSourceSearch

http://www.houdask.com/site/hd/resources/js/free/freeHome.js?v=20260904b

js houdask.com collected 2026-10-02 06:29:12 UTC 9,440 bytes, 255 lines download raw bytes

1var className={}
2initNav(1);//默认展示客观
3function initNav(courseType){
4    $.ajax({
5        url:"/api/other/freeclass/anon/pc/tab/list/v2",
6        type:"POST",
7        dataType:"json",
8        data:{
9            data:JSON.stringify({courseType:courseType})
10        },
11        success:function(res){
12            if(res.code==1){
13                var year=res.data.yearList;
14                var phase=res.data.phaseList;
15                var yearHtml="",phaseHtml="";
16                yearHtml+='<span>年&nbsp;&nbsp;&nbsp;&nbsp;份</span>';
17                phaseHtml+='<span>阶&nbsp;&nbsp;&nbsp;&nbsp;段</span>';
18                //phaseHtml+='<a href="javascript:;" data-id="">全部</a>'
19                $.each(year,function(i,item){
20                    yearHtml+='<a href="javascript:;" data-year="'+item.year+'">'+item.year+'</a>'
21                })
22
23                $.each(phase,function(j,items){
24                    className[items.phaseId]=j;
25                    phaseHtml+='<a href="javascript:;" data-id="'+items.phaseId+'">'+items.phaseName+'</a>'
26                })
27                $(".yearNav").html(yearHtml);
28                $(".phaseNav").html(phaseHtml);
29                $(".yearNav a").eq(0).addClass("active");
30                $(".phaseNav a").eq(0).addClass("active");
31                if(phase.length>0){
32                    var phaseId=phase[0].phaseId;
33                    $(".phaseNav").show();
34                }else{
35                    var phaseId="";
36                    $(".phaseNav").hide();
37                }
38                getList(courseType,year[0].year,phaseId,1);
39            }
40        }
41    })
42}
43 
44//主客观
45$(".typeNav").on("click","a",function(){
46    var type=$(this).attr("data-type");
47    $(this).addClass("active").siblings("a").removeClass("active");
48    initNav(type);
49})
50
51//å¹´
52$(".yearNav").on("click","a",function(){
53    var year=$(this).attr("data-year");
54    var type=$(".typeNav .active").attr("data-type");
55    $(this).addClass("active").siblings("a").removeClass("active");
56    getPhase(type,year);
57})
58//阶段
59$(".phaseNav").on("click","a",function(){
60    var type=$(".typeNav .active").attr("data-type"),
61        year=$(".yearNav .active").attr("data-year"),
62        phase=$(this).attr("data-id");
63    $(this).addClass("active").siblings("a").removeClass("active");
64    getList(type,year,phase,1);
65})
66//跳转详情
67$(".freeList").on("click",".freeMin",function(){
68    var islogin=sessionStorage.getItem("userID");
69    if(!islogin){
70        $(".loginWrap").show();
71        return;
72    }
73    //阶段权限校验(2026-09 免费课堂模块点击视频):受控且无权限 → 弹框
74    var isFree=$(this).attr("data-isfree")||"1";
75    var hasPower=$(this).attr("data-haspower")||"1";
76    if(isFree==="0" && hasPower==="0"){
77        var powerTips=$(this).attr("data-tips")||"";
78        var jumpUrl=$(this).attr("data-jumpurl")||"";
79        layer.confirm(powerTips, {
80            title:false,
81            closeBtn:0,
82            area:['400px','auto'],
83            btn:['取消','去购买']
84        }, function(index){
85            //取消:关闭弹框,停留当前页
86            layer.close(index);
87        }, function(index){
88            //去购买
89            layer.close(index);
90            if(jumpUrl){
91                window.open(jumpUrl);
92            }
93        });
94        return;
95    }
96    var id=$(this).attr("data-id");
97        phaseId=$(this).attr("data-phaseId"),
98        playTime=$(this).attr("data-time"),
99        videoId=$(this).attr("data-videoId"),
100        teacherId=$(this).attr("data-teacherId"),
101        currentYear=$(".yearNav .active").attr("data-year");
102    window.open("/site/hd/resources/views/free/play.html?id="+id+"&phaseId="+phaseId+"&videoId="+videoId+"&teacherId="+teacherId+"&time="+playTime+"&year="+currentYear);
103})
104
105//根据年获取阶段
106function getPhase(type,year){
107    className={};
108    $.ajax({
109        url:"/api/common/phase/anon/get/list/v2",
110        type:"POST",
111        dataType:"json",
112        data:{
113            data:JSON.stringify({courseType:type,year:year})
114        },
115        success:function(res){
116            if(res.code==1){
117                var phase=res.data.phaseList;
118                var phaseHtml="";
119                phaseHtml+='<span>阶&nbsp;&nbsp;&nbsp;&nbsp;段</span>';
120                //phaseHtml+='<a href="javascript:;" data-id="">全部</a>';
121                $.each(phase,function(i,item){
122                    className[item.phaseId]=i;
123                    phaseHtml+='<a href="javascript:;" data-id="'+item.phaseId+'">'+item.phaseName+'</a>';
124                })
125                $(".phaseNav").html(phaseHtml);
126                $(".phaseNav a").eq(0).addClass("active");
127                if(phase.length>0){
128                    var phaseId=phase[0].phaseId;
129                    $(".phaseNav").show();
130                }else{
131                    var phaseId="";
132                    $(".phaseNav").hide();
133                }
134                getList(type,year,phaseId,1);
135            }
136        }
137    })
138}
139
140//获取列表
141var pages=1;
142function getList(courseType,year,phase,page){
143    var sendData={
144        courseType:courseType,
145        year:year,
146        phaseId:phase,
147        pageNum:page,
148        pageSize:24
149    }
150    $.ajax({
151        url:"/api/other/freeclass/anon/pc/list/v2",
152        type:"POST",
153        dataType:"json",
154        data:{
155            data:JSON.stringify(sendData)
156        },
157        success:function(res){
158            if(res.code==1){
159                pages=res.data.pages;
160                var list=res.data.freeClassList;
161                if(list.length==0){
162                    $(".noList").show();
163                }else{
164                    $(".noList").hide();
165                }
166                var listHtml="";
167                $.each(list,function(i,item){
168                    var play="";
169                    if(item.videoId){
170                        play='<div class="yesStudy">'+
171                                '<p>'+item.videoName+'</p>'+
172                                '<span>'+format(item.playTime*1000,"mm:ss")+'</span>'+
173                            '</div>'
174                    }else{
175                        play='<div class="noStudy">'+
176                                '<p>还未开始学习</p>'+
177                            '</div>';
178                    }
179                    listHtml+='<dl class="freeMin" data-id="'+item.id+'" data-teacherId="'+item.teacherId+'" data-phaseId="'+item.phaseId+'" data-videoId="'+item.videoId+'" data-time="'+item.playTime+'" data-isfree="'+(item.isFree||'1')+'" data-haspower="'+(item.hasPower||'1')+'" data-jumpurl="'+(item.jumpUrl||'')+'" data-tips="'+(item.powerTips||'')+'">'+
180                                '<dt><img src="'+item.showImage+'" alt=""></dt>'+
181                                '<dd>'+
182                                    '<h6>'+item.teacherName+'讲'+item.lawName+'</h6>'+play+
183                                    '<div class="phase phaseActive'+className[item.phaseId]+'">'+
184                                        '<span class="phase1">阶段</span>'+
185                                        '<span class="phase2">'+item.phaseName+'</span>'+
186                                    '</div>'+
187                                    '<p><span>共'+(item.videoNum || 0)+'讲</span> | <span>已有'+item.playNum+'人学习过</span></p>'+
188                                '</dd>'+
189                            '</dl>'
190                })
191                $(".freeList").html(listHtml);
192                paging(page,pages);//分页
193            }
194        }
195    })
196}
197
198
199//分页
200$("#paging").on("click","li:not(.dot)",function(){
201    var courseType=$(".typeNav .active").attr("data-type"),
202        year=$(".yearNav .active").attr("data-year"),
203        phase=$(".phaseNav .active").attr("data-id"),
204        page=$(this).attr("data-val");
205    getList(courseType,year,phase,page);
206})
207
208//跳页
209$("#paging").on("click",".skipBtn",function(){
210    var courseType=$(".typeNav .active").attr("data-type"),
211        year=$(".yearNav .active").attr("data-year"),
212        phase=$(".phaseNav .active").attr("data-id"),
213        page=Number($(".skipTxt").val());
214    
215    if(!page){
216       layer.msg("请输入页码");
217       return;
218    }
219    if(page>pages){
220        layer.msg("最大页数是"+pages+"!");
221        return;
222    }else if(page<1){
223        layer.msg("最小页数是1!");
224        return;
225    }
226    getList(courseType,year,phase,page);
227})
228
229//时间格式
230function format(time, format){
231    var t = new Date(time); 
232    var tf = function(i){return (i < 10 ? '0' : '') + i}; 
233    return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function(j){ 
234        switch(j){ 
235            case 'yyyy': 
236            return tf(t.getFullYear());
237            break; 
238            case 'MM': 
239            return tf(t.getMonth() + 1);
240            break; 
241            case 'dd': 
242            return tf(t.getDate());
243            break;
244            case 'HH': 
245            return tf(t.getHours());
246            break;  
247            case 'mm': 
248            return tf(t.getMinutes());
249            break; 
250            case 'ss': 
251            return tf(t.getSeconds());
252            break; 
253        }; 
254    }); 
255}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.