Commit c65282c3 by 冷斌

fix bug

parent e5fb1e96
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<title><neq name='_title' value=''>{$_title} - {$site.site_name}<else />{$site.site_name} - {$site.site_slogan}</neq></title>
<meta charset="utf-8">
<meta content="<neq name= '_keywords' value=''>{$_keywords}<else />{$site.site_header_keywords}</neq>" name="keywords">
<meta content="<neq name= '_description' value=''>{$_description}<else />{$site.site_header_description}</neq>" name="description">
<meta name="viewport" charset="UTF-8" content="user-scalable=no">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="qc:admins" content="1403267155765154541656375" />
<meta property="wb:webmaster" content="fdcd9430a88b1552" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Access-Control-Allow-Origin" content="*">
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<meta name="x5-fullscreen" content="true">
<meta name="full-screen" content="yes">
<link href="__THEME__/image/favicon.ico?v={$site.sys_version}" type="image/x-icon" rel="shortcut icon">
<!-- 引入 Bootstrap -->
<!-- <link rel="stylesheet" type="text/css" href="__THEME__/icon/iconfont.css">
<link rel="stylesheet" type="text/css" href="__APP__/css/search_3g.css">
<style>
@font-face {font-family: 'iconfontNEW';src: url('__THEME__/icon/iconfontNEW.woff?v={$site.sys_version}');}
.iconfontNEW{font-family:"iconfontNEW";}
</style>
<style media="screen">
<head>
<title>
<neq name='_title' value=''>{$_title} - {$site.site_name}
<else/>
{$site.site_name} - {$site.site_slogan}
</neq>
</title>
<meta charset="utf-8">
<meta content="<neq name= '_keywords' value=''>{$_keywords}<else />{$site.site_header_keywords}</neq>"
name="keywords">
<meta content="<neq name= '_description' value=''>{$_description}<else />{$site.site_header_description}</neq>"
name="description">
<meta name="viewport" charset="UTF-8" content="user-scalable=no">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="qc:admins" content="1403267155765154541656375"/>
<meta property="wb:webmaster" content="fdcd9430a88b1552"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Access-Control-Allow-Origin" content="*">
<meta name="viewport"
content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<meta name="x5-fullscreen" content="true">
<meta name="full-screen" content="yes">
<link href="__THEME__/image/favicon.ico?v={$site.sys_version}" type="image/x-icon" rel="shortcut icon">
<!-- 引入 Bootstrap -->
<!-- <link rel="stylesheet" type="text/css" href="__THEME__/icon/iconfont.css">
<link rel="stylesheet" type="text/css" href="__APP__/css/search_3g.css">
<style>
@font-face {font-family: 'iconfontNEW';src: url('__THEME__/icon/iconfontNEW.woff?v={$site.sys_version}');}
.iconfontNEW{font-family:"iconfontNEW";}
</style>
<style media="screen">
</style>
<script src="__THEMEW3G__/js/search_media.js"></script> -->
</style>
<script src="__THEMEW3G__/js/search_media.js"></script> -->
<script src="__THEMEW3G__/js/jquery-1.8.3.min.js"></script>
<link href="__THEMEW3G__/css/common.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vant@2.6/lib/index.css" />
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vant@2.6/lib/vant.min.js"></script>
<script src="__THEMEW3G__/js/extension.js" charset="utf-8"></script>
<script src="__THEMEW3G__/js/jquery-1.8.3.min.js"></script>
<link href="__THEMEW3G__/css/common.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vant@2.6/lib/index.css"/>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vant@2.6/lib/vant.min.js"></script>
<script src="__THEMEW3G__/js/extension.js" charset="utf-8"></script>
<script>
// $(function(){
// $('#btn_search_site').click(function(){
// var search_cate = $('#search_cate').val();
// var search_combo_input = $('#search_combo_input').val();
// if(search_combo_input != ''){
// if(search_cate == 'course'){
// window.open("{:U('course/Video/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'school'){
// window.open("{:U('school/Index/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'teacher'){
// window.open("{:U('classroom/Teacher/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'exams'){
// window.open("{:U('exams/Index/paper')}"+"&search="+search_combo_input);
// }else if(search_cate == 'goods'){
// window.open("{:U('mall/Goods/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'wenda'){
// window.open("{:U('wenda/Index/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'news'){
// window.open("{:U('news/Topic/index')}"+"?search="+search_combo_input);
// }
// }
// });
// $(document).keydown(function(event){
// var search_cate = $('#search_cate').val();
// var search_combo_input = $('#search_combo_input').val();
// if(search_combo_input != '') {
// if (event.keyCode == 13) {
// if(search_cate == 'course'){
// window.open("{:U('course/Video/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'school'){
// window.open("{:U('school/Index/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'teacher'){
// window.open("{:U('classroom/Teacher/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'exams'){
// window.open("{:U('exams/Index/paper')}"+"&search="+search_combo_input);
// }else if(search_cate == 'goods'){
// window.open("{:U('mall/Goods/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'wenda'){
// window.open("{:U('wenda/Index/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'news'){
// window.open("{:U('news/Topic/index')}"+"?search="+search_combo_input);
// }
// }
// }
// });
// });
</script>
</head>
<body>
<div id="app">
<script>
// $(function(){
// $('#btn_search_site').click(function(){
// var search_cate = $('#search_cate').val();
// var search_combo_input = $('#search_combo_input').val();
// if(search_combo_input != ''){
// if(search_cate == 'course'){
// window.open("{:U('course/Video/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'school'){
// window.open("{:U('school/Index/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'teacher'){
// window.open("{:U('classroom/Teacher/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'exams'){
// window.open("{:U('exams/Index/paper')}"+"&search="+search_combo_input);
// }else if(search_cate == 'goods'){
// window.open("{:U('mall/Goods/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'wenda'){
// window.open("{:U('wenda/Index/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'news'){
// window.open("{:U('news/Topic/index')}"+"?search="+search_combo_input);
// }
// }
// });
// $(document).keydown(function(event){
// var search_cate = $('#search_cate').val();
// var search_combo_input = $('#search_combo_input').val();
// if(search_combo_input != '') {
// if (event.keyCode == 13) {
// if(search_cate == 'course'){
// window.open("{:U('course/Video/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'school'){
// window.open("{:U('school/Index/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'teacher'){
// window.open("{:U('classroom/Teacher/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'exams'){
// window.open("{:U('exams/Index/paper')}"+"&search="+search_combo_input);
// }else if(search_cate == 'goods'){
// window.open("{:U('mall/Goods/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'wenda'){
// window.open("{:U('wenda/Index/index')}"+"?search="+search_combo_input);
// }else if(search_cate == 'news'){
// window.open("{:U('news/Topic/index')}"+"?search="+search_combo_input);
// }
// }
// }
// });
// });
</script>
</head>
<body>
<div id="app">
<div class="layout_v">
<div class="layout_v">
<van-sticky>
<van-sticky>
<van-search
v-model="keyword"
style="padding-bottom: 0 !important;"
left-icon="__THEME__/img/serch@3x.png"
@focus="onFocus"
@search="onSearch"
shape="round"
background="#ffffff"
placeholder="请输入关键词...">
<van-search
v-model="keyword"
style="padding-bottom: 0 !important;"
left-icon="__THEME__/img/serch@3x.png"
@focus="onFocus"
@search="onSearch"
shape="round"
background="#ffffff"
placeholder="请输入关键词...">
</van-search>
</van-search>
<div v-if="!showHistory" class="tabs_container" style="margin-top: 0.5rem;">
<div @click="onTab(idx)" v-for="(opt, idx) in options" :key="idx" :class="idx == tab ? 'tab_item_selected' : 'tab_item_normal'">
<span>{{opt.title}}</span>
</div>
</div>
<div v-if="!showHistory" class="tabs_container" style="margin-top: 0.5rem;">
<div @click="onTab(idx)" v-for="(opt, idx) in options" :key="idx"
:class="idx == tab ? 'tab_item_selected' : 'tab_item_normal'">
<span>{{opt.title}}</span>
</div>
</div>
</van-sticky>
</van-sticky>
<template v-if="showList(0)">
<div @click="onTapCourse(item)" v-for="(item, idx) in options[0].items" :key="idx" class="home_class_item layout_v">
<div class="layout_h">
<van-image
style="margin-right: 0.75rem;"
height="72"
width="128"
fit="cover"
:src="item.cover">
</van-image>
<div class="weight_full layout_v">
<span class="text_14_600 color_333333 van-multi-ellipsis--l2">{{item.title}}</span>
<span class="text_14_600 color_FF3B3B" style="margin-top: 0.5rem;">{{item.price}}</span>
<span class="text_12_400 color_999999">{{item.count}}人正在学习</span>
</div>
</div>
</div>
<span style="margin-top: 35vh;" v-if="options[0].items.length == 0" class="text_14_400 color_999999 self_center">没有找到!</span>
</template>
<template v-if="showList(0)">
<div @click="onTapCourse(item)" v-for="(item, idx) in options[0].items" :key="idx"
class="home_class_item layout_v">
<div class="layout_h">
<van-image
style="margin-right: 0.75rem;"
height="72"
width="128"
fit="cover"
:src="item.cover">
</van-image>
<div class="weight_full layout_v">
<span class="text_14_600 color_333333 van-multi-ellipsis--l2">{{item.title}}</span>
<span class="text_14_600 color_FF3B3B" style="margin-top: 0.5rem;">{{item.price}}</span>
<span class="text_12_400 color_999999">{{item.count}}人正在学习</span>
</div>
</div>
</div>
<span style="margin-top: 35vh;" v-if="options[0].items.length == 0"
class="text_14_400 color_999999 self_center">没有找到!</span>
</template>
<template v-if="showList(1)">
<div v-for="(item, idx) in options[1].items" :key="idx" class="layout_v home_question_item">
<div v-if="item.price == 0" class="layout_h">
<div class="home_item_mark_green layout_center">免费</div>
<span class="text_14_600 color_333333 weight_full van-multi-ellipsis--l2" style="margin-right: 1.5rem;margin-left: 0.625rem;">{{item.title}}</span>
<div @click="onTapQuestion(item)" class="home_button_green layout_center">开始做题</div>
</div>
<div v-else class="layout_h">
<div class="home_item_mark_orange layout_center">付费</div>
<span class="text_14_600 color_333333 weight_full van-multi-ellipsis--l2" style="margin-right: 1.5rem;margin-left: 0.625rem;">{{item.title}}</span>
<div @click="onTapQuestion(item)" class="home_button_orange layout_center">¥{{item.price}}</div>
</div>
<div class="layout_h_b" style="margin-top: 0.5rem;">
<span class="text_14_600 color_FF3B3B">¥{{item.price}}</span>
<van-image src="__THEME__/img/down_load_icon.png" width="13" height="16" ></van-image>
</div>
<div class="home_divider divider"></div>
</div>
<span style="margin-top: 35vh;" v-if="options[1].items.length == 0" class="text_14_400 color_999999 self_center">没有找到!</span>
</template>
<template v-if="showList(1)">
<div v-for="(item, idx) in options[1].items" :key="idx" class="layout_v home_question_item">
<div v-if="item.price == 0" class="layout_h">
<div class="home_item_mark_green layout_center">免费</div>
<span class="text_14_600 color_333333 weight_full van-multi-ellipsis--l2"
style="margin-right: 1.5rem;margin-left: 0.625rem;">{{item.title}}</span>
<div @click="onTapQuestion(item)" class="home_button_green layout_center">开始做题</div>
</div>
<div v-else class="layout_h">
<div class="home_item_mark_orange layout_center">付费</div>
<span class="text_14_600 color_333333 weight_full van-multi-ellipsis--l2"
style="margin-right: 1.5rem;margin-left: 0.625rem;">{{item.title}}</span>
<div @click="onTapQuestion(item)" class="home_button_orange layout_center">¥{{item.price}}</div>
</div>
<div class="layout_h_b" style="margin-top: 0.5rem;">
<span class="text_14_600 color_FF3B3B">¥{{item.price}}</span>
<van-image src="__THEME__/img/down_load_icon.png" width="13" height="16"></van-image>
</div>
<div class="home_divider divider"></div>
</div>
<span style="margin-top: 35vh;" v-if="options[1].items.length == 0"
class="text_14_400 color_999999 self_center">没有找到!</span>
</template>
<template v-if="showList(2)">
<div @click="onTapGoods(item)" v-for="(item, idx) in options[2].items" :key="idx" class="home_item_goods layout_h">
<van-image
style="margin-right: 0.75rem;"
height="68"
width="128"
fit="cover"
:src="item.cover">
</van-image>
<div class="weight_full layout_v">
<span class="text_14_600 color_333333 van-multi-ellipsis--l2">{{item.title}}</span>
<div class="layout_h_b" style="margin-top: 0.5rem;">
<span class="text_14_600 color_FF3B3B self_center">¥{{item.price}}</span>
<div class="item_green_button">购买</div>
</div>
</div>
</div>
<span style="margin-top: 35vh;" v-if="options[2].items.length == 0" class="text_14_400 color_999999 self_center">没有找到!</span>
</template>
<template v-if="showList(2)">
<div @click="onTapGoods(item)" v-for="(item, idx) in options[2].items" :key="idx"
class="home_item_goods layout_h">
<van-image
style="margin-right: 0.75rem;"
height="68"
width="128"
fit="cover"
:src="item.cover">
</van-image>
<div class="weight_full layout_v">
<span class="text_14_600 color_333333 van-multi-ellipsis--l2">{{item.title}}</span>
<div class="layout_h_b" style="margin-top: 0.5rem;">
<span class="text_14_600 color_FF3B3B self_center">¥{{item.price}}</span>
<div class="item_green_button">购买</div>
</div>
</div>
</div>
<span style="margin-top: 35vh;" v-if="options[2].items.length == 0"
class="text_14_400 color_999999 self_center">没有找到!</span>
</template>
<!-- 热门搜索 -->
<div v-if="showHistory" class="layout_v">
<span class="search_hot_title text_12_400 color_999999">历史搜索:</span>
<div class="layout_h_wrap search_hot_title_flow">
<div v-for="ck in cacheKeyWorlds" @click="onHotKeyword(ck)" class="search_flex_item layout_center">
<span class="text_14_400 color_999999">{{ck}}</span>
</div>
</div>
</div>
<!-- 热门搜索 -->
<div v-if="showHistory" class="layout_v">
<span class="search_hot_title text_12_400 color_999999">历史搜索:</span>
<div class="layout_h_wrap search_hot_title_flow">
<div v-for="ck in cacheKeyWorlds" @click="onHotKeyword(ck)" class="search_flex_item layout_center">
<span class="text_14_400 color_999999">{{ck}}</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- <div class="search-bodyer">
<div class="goods-eac-box">
<div class="eac-per-ens">
<div class="aingstoit">
<input value="course" id="search_cate" type="hidden" disabled />
<p><php>
switch ($searchConf['search'][0]) {
case 'school':
echo '机构';
break;
case 'teacher':
echo '讲师';
break;
case 'exams':
echo '考试';
break;
case 'goods':
echo '商品';
break;
case 'wenda':
echo '问答';
break;
case 'news':
echo '资讯';
break;
default:
echo '课程';
}
</php></p><i class="icon icon-xia"></i>
<span>
<php>if( in_array('course' , $searchConf['search']) ) {</php>
<a href="javascript:void(0)" attr="course">课程</a>
<php>}</php>
</div>
<!-- <div class="search-bodyer">
<div class="goods-eac-box">
<div class="eac-per-ens">
<div class="aingstoit">
<input value="course" id="search_cate" type="hidden" disabled />
<p><php>
switch ($searchConf['search'][0]) {
case 'school':
echo '机构';
break;
case 'teacher':
echo '讲师';
break;
case 'exams':
echo '考试';
break;
case 'goods':
echo '商品';
break;
case 'wenda':
echo '问答';
break;
case 'news':
echo '资讯';
break;
default:
echo '课程';
}
</php></p><i class="icon icon-xia"></i>
<span>
<php>if( in_array('course' , $searchConf['search']) ) {</php>
<a href="javascript:void(0)" attr="course">课程</a>
<php>}</php>
<php>if(!IS_CHILDS_HOST && in_array('school' , $searchConf['search']) ) {</php>
<eq name="Think.OPEN_SCHOOL" value="1"><a href="javascript:void(0)" attr="school">机构</a></eq>
<php>}</php>
<php>if(!IS_CHILDS_HOST && in_array('school' , $searchConf['search']) ) {</php>
<eq name="Think.OPEN_SCHOOL" value="1"><a href="javascript:void(0)" attr="school">机构</a></eq>
<php>}</php>
<php>if( in_array('teacher' , $searchConf['search']) ) {</php>
<a href="javascript:void(0)" attr="teacher">讲师</a>
<php>}</php>
<php>if( in_array('teacher' , $searchConf['search']) ) {</php>
<a href="javascript:void(0)" attr="teacher">讲师</a>
<php>}</php>
<php>if( in_array('exams' , $searchConf['search']) ) {</php>
<a href="javascript:void(0)" attr="exams">考试</a>
<php>}</php>
<php>if( in_array('exams' , $searchConf['search']) ) {</php>
<a href="javascript:void(0)" attr="exams">考试</a>
<php>}</php>
<php>if( in_array('goods' , $searchConf['search']) ) {</php>
<a href="javascript:void(0)" attr="goods">商品</a>
<php>}</php>
<php>if( in_array('goods' , $searchConf['search']) ) {</php>
<a href="javascript:void(0)" attr="goods">商品</a>
<php>}</php>
<php>if( in_array('wenda' , $searchConf['search']) ) {</php>
<a href="javascript:void(0)" attr="wenda">问答</a>
<php>}</php>
<php>if( in_array('wenda' , $searchConf['search']) ) {</php>
<a href="javascript:void(0)" attr="wenda">问答</a>
<php>}</php>
<php>if( in_array('news' , $searchConf['search']) ) {</php>
<a href="javascript:void(0)" attr="news">资讯</a>
<php>}</php>
</span>
</div>
<input autofocus="autofocus" placeholder="搜索您感兴趣的内容" oninput="shap()" id="search_combo_input" >
<i class="icon icon-quxiao" ></i>
<button id="btn_search_site" class="iconfontNEW">&#xe60e;</button>
</div>
<php>if( in_array('news' , $searchConf['search']) ) {</php>
<a href="javascript:void(0)" attr="news">资讯</a>
<php>}</php>
</span>
</div>
<input autofocus="autofocus" placeholder="搜索您感兴趣的内容" oninput="shap()" id="search_combo_input" >
<i class="icon icon-quxiao" ></i>
<button id="btn_search_site" class="iconfontNEW">&#xe60e;</button>
</div>
</div>
<div class="headlines">
<h5>大家都在搜</h5>
<ul id="video_list">
<volist name="video" id="vo">
<li><a <eq name="vo.type" value="1">href="{:U('course/Video/view',array('id'=>$vo['id']))}"<else/>href="{:U('live/Index/view',array('id'=>$vo['id']))}"</eq>>{$vo.video_title|mStr=10}</a></li>
</volist>
</ul>
</div>
</div> -->
</body>
<script type="text/javascript">
new Vue({
el: '#app',
data: function() {
return {
keyword: "",
showHistory: true,
tab: 0,
options: [{
title: '视频',
items: []
},{
title: '真题',
items: []
},{
title: '实物',
items: []
}]
}
},
computed: {
showList: function() {
let tab = this.tab
let showHot = this.showHistory
return function(idx) {
return (idx == tab) && !showHot
}
},
cacheKeyWorlds:function () {
let item = localStorage.getItem("search");
//['考研课程', '事业单位考试', '公务员考试'];
return item ? JSON.parse(item) : [];
}
},
methods: {
onFocus: function() {
this.showHistory = true
},
onHotKeyword: function(key) {
this.keyword = key
this.onSearch()
},
onSearch: function() {
this.showHistory = false
this.searchCourse()
this.searchQuestion()
this.searchGoods()
this.searchSave()
},
onTab: function(idx) {
this.tab = idx
},
//点击视频
onTapCourse: function(item) {
let url = "{:U('course/Video/view')}"
window.location.href = url.replace(/\[.*?\]/g, item.id)
},
//点击真题
onTapQuestion: function(item) {
if(MID <= 0) {
ui.confirm('请先登录', {
yes: function () {
window.location.href = "{:U('basic/Passport/login')}";
}
})
return
}
if(item.price == 0) {
let url = "{:U('exams/index/examsroom')}" + "&paper_id=" + item.id + "&joinType=1"
window.location.href = url
} else {
$.ajax({
type: "POST",
url: "{:U('exams/index/getPayUrl')}",
data:{
paper_id: item.id,
},
dataType:"json",
success:function(res){
var res = getResponseData(res)
if(res.status == 1){
window.location.href = res.data
}else{
ui.error(res.message)
}
}
})
}
},
//点击实物
onTapGoods: function(item) {
let url = "{:U('mall/Goods/view')}"
window.location.href = url.replace(/\[.*?\]/g, item.id)
},
//搜索课程
searchCourse: function() {
let that = this
let on = "{$marketConf['order_switch']}" == 1
$.ajax({
type: "GET",
url: "{:U('course/Video/index')}" + "?api=1&search=" + that.keyword,
dataType: "json",
success: function(res) {
let array = res.data.length > 0 ? res.data : []
that.options[0].items = array.map( r => {
let pi = r.mz_price
return {
id: r.id,
title: r.video_title,
cover: r.image_url,
price: pi.price == 0 ? '免费' : ('¥' + pi.price),
count: on ? r.video_order_count_mark : r.video_order_count
}
})
}
})
},
//搜索题目
searchQuestion: function() {
let that = this
$.ajax({
type: "GET",
url: "{:U('exams/Index/paper')}" + "&api=1&search=" + that.keyword,
dataType: "json",
success: function(res) {
if(res.status == 1) {
let result = res.data
let array = result.data.length > 0 ? result.data : []
that.options[1].items = array.map( r => {
return {
id: r.exams_paper_id,
title: r.exams_paper_title,
price: r.price
}
})
}
}
})
},
//搜索物品
searchGoods: function() {
let that = this
$.ajax({
type: "GET",
url: "{:U('mall/Goods/index')}"+"?api=1&search=" + that.keyword,
dataType: "json",
success: function(res) {
let array = res.data.length > 0 ? res.data : []
that.options[2].items = array.map( r => {
return {
id: r.uid,
title: r.title,
cover: r.cover,
price: r.price
}
})
}
})
},
searchSave: function () {
let item = localStorage.getItem("search");
//['考研课程', '事业单位考试', '公务员考试'];
let data = item ? JSON.parse(item) : [];
if (data.indexOf(this.keyword) < 0) {
data.push(this.keyword);
}
if (data.length > 8) {
data.shift();
}
localStorage.setItem("search", JSON.stringify(data));
this.cacheKeyWorlds();
}
}
})
</script>
<div class="headlines">
<h5>大家都在搜</h5>
<ul id="video_list">
<volist name="video" id="vo">
<li><a <eq name="vo.type" value="1">href="{:U('course/Video/view',array('id'=>$vo['id']))}"<else/>href="{:U('live/Index/view',array('id'=>$vo['id']))}"</eq>>{$vo.video_title|mStr=10}</a></li>
</volist>
</ul>
</div>
</div> -->
</body>
<script type="text/javascript">
new Vue({
el: '#app',
data: function () {
return {
keyword: "",
showHistory: true,
tab: 0,
options: [{
title: '视频',
items: []
}, {
title: '真题',
items: []
}, {
title: '实物',
items: []
}],
cacheKeyWorlds: this.getCacheKeyWorlds()
}
},
computed: {
showList: function () {
let tab = this.tab
let showHot = this.showHistory
return function (idx) {
return (idx == tab) && !showHot
}
}
},
methods: {
getCacheKeyWorlds: function () {
let item = localStorage.getItem("search");
//['考研课程', '事业单位考试', '公务员考试'];
return item ? JSON.parse(item) : [];
},
onFocus: function () {
this.showHistory = true
},
onHotKeyword: function (key) {
this.keyword = key
this.onSearch()
},
onSearch: function () {
this.showHistory = false
this.searchCourse()
this.searchQuestion()
this.searchGoods()
this.searchSave()
},
onTab: function (idx) {
this.tab = idx
},
//点击视频
onTapCourse: function (item) {
let url = "{:U('course/Video/view')}"
window.location.href = url.replace(/\[.*?\]/g, item.id)
},
//点击真题
onTapQuestion: function (item) {
if (MID <= 0) {
ui.confirm('请先登录', {
yes: function () {
window.location.href = "{:U('basic/Passport/login')}";
}
})
return
}
if (item.price == 0) {
let url = "{:U('exams/index/examsroom')}" + "&paper_id=" + item.id + "&joinType=1"
window.location.href = url
} else {
$.ajax({
type: "POST",
url: "{:U('exams/index/getPayUrl')}",
data: {
paper_id: item.id,
},
dataType: "json",
success: function (res) {
var res = getResponseData(res)
if (res.status == 1) {
window.location.href = res.data
} else {
ui.error(res.message)
}
}
})
}
},
//点击实物
onTapGoods: function (item) {
let url = "{:U('mall/Goods/view')}"
window.location.href = url.replace(/\[.*?\]/g, item.id)
},
//搜索课程
searchCourse: function () {
let that = this
let on = "{$marketConf['order_switch']}" == 1
$.ajax({
type: "GET",
url: "{:U('course/Video/index')}" + "?api=1&search=" + that.keyword,
dataType: "json",
success: function (res) {
let array = res.data.length > 0 ? res.data : []
that.options[0].items = array.map(r => {
let pi = r.mz_price
return {
id: r.id,
title: r.video_title,
cover: r.image_url,
price: pi.price == 0 ? '免费' : ('¥' + pi.price),
count: on ? r.video_order_count_mark : r.video_order_count
}
})
}
})
},
//搜索题目
searchQuestion: function () {
let that = this
$.ajax({
type: "GET",
url: "{:U('exams/Index/paper')}" + "&api=1&search=" + that.keyword,
dataType: "json",
success: function (res) {
if (res.status == 1) {
let result = res.data
let array = result.data.length > 0 ? result.data : []
that.options[1].items = array.map(r => {
return {
id: r.exams_paper_id,
title: r.exams_paper_title,
price: r.price
}
})
}
}
})
},
//搜索物品
searchGoods: function () {
let that = this
$.ajax({
type: "GET",
url: "{:U('mall/Goods/index')}" + "?api=1&search=" + that.keyword,
dataType: "json",
success: function (res) {
let array = res.data.length > 0 ? res.data : []
that.options[2].items = array.map(r => {
return {
id: r.uid,
title: r.title,
cover: r.cover,
price: r.price
}
})
}
})
},
searchSave: function () {
let item = localStorage.getItem("search");
//['考研课程', '事业单位考试', '公务员考试'];
let data = item ? JSON.parse(item) : [];
if (data.indexOf(this.keyword) < 0) {
data.push(this.keyword);
}
if (data.length > 8) {
data.shift();
}
localStorage.setItem("search", JSON.stringify(data));
this.cacheKeyWorlds();
}
}
})
</script>
</html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment