This commit is contained in:
lmj
2022-09-08 20:00:38 +08:00
parent a29e6b9ef9
commit 43d5d477c1
6 changed files with 141 additions and 31 deletions

View File

@@ -13,11 +13,13 @@ const saveOrUpdate=function (data){
/** /**
* 根据key获取资源信息 * 根据key获取资源信息
* */ * */
const detail=function (key){ const detail=function (key){
return ajax.get('/xboe/subgroup/m/pageplace/detail?key='+key); return ajax.get('/xboe/subgroup/m/pageplace/detail-key?key='+key);
} }
export default { export default {
saveOrUpdate, saveOrUpdate,
detail detail

View File

@@ -3,6 +3,21 @@
border-radius: 8px; border-radius: 8px;
padding: 30px; padding: 30px;
} }
.nav-bottbor{
width: 75%;
height: 4px;
background: #FFFFFF;
border-radius: 5px;
position: absolute;
top: 75%;
left: 13%;
}
.current-nav {
// color: #fff;
font-weight: 600;
// background: #588afc;
// border-bottom: 4px solid;
}
.portal-right-text{ .portal-right-text{
font-size: 24px; font-size: 24px;
font-family: JCHEadA; font-family: JCHEadA;

View File

@@ -6,13 +6,26 @@
<img src="../assets/logo/logo.png" v-if="current == 'qa'" style="width:240px;height: 40px;" /> <img src="../assets/logo/logo.png" v-if="current == 'qa'" style="width:240px;height: 40px;" />
<img src="../assets/logo/logo2.png" v-else style="width:240px;height: 40px;" /> <img src="../assets/logo/logo2.png" v-else style="width:240px;height: 40px;" />
<div style="display: flex;justify-content: space-around;margin-left: 20px;"> <div style="display: flex;justify-content: space-around;margin-left: 20px;">
<div class="top-nav" :class="current == 'index' ? 'current-nav' : ''"><router-link to="/index">首页</router-link></div> <div class="top-nav" :class="current == 'index' ? 'current-nav' : ''">
<div class="top-nav" :class="current == 'course' ? 'current-nav' : ''"><router-link to="/course">课程</router-link></div> <router-link to="/index">
<div class="top-nav" :class="current == 'article' ? 'current-nav' : ''"><router-link to="/article">文章</router-link></div> 首页
<div class="top-nav" :class="current == 'qa' ? 'current-nav' : ''"><router-link to="/qa">问答</router-link></div> <div :class="current == 'index' ? 'nav-bottbor' : ''"></div>
</router-link></div>
<div class="top-nav" :class="current == 'course' ? 'current-nav' : ''">
<router-link to="/course">课程
<div :class="current == 'course' ? 'nav-bottbor' : ''"></div>
</router-link></div>
<div class="top-nav" :class="current == 'article' ? 'current-nav' : ''">
<router-link to="/article">文章
<div :class="current == 'article' ? 'nav-bottbor' : ''"></div>
</router-link></div>
<div class="top-nav" :class="current == 'qa' ? 'current-nav' : ''">
<router-link to="/qa">问答
<div :class="current == 'qa' ? 'nav-bottbor' : ''"></div>
</router-link></div>
<div class="top-nav"> <div class="top-nav">
<el-dropdown placement="bottom" @command="handleCommand"> <el-dropdown placement="bottom" @command="handleCommand">
<span class="el-dropdown-link" style="color:#000;font-size:16px;cursor: pointer;">专区</span> <span class="el-dropdown-link" style="font-size:16px;cursor: pointer;">专区</span>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item command="one">BOE系列公开课</el-dropdown-item> <el-dropdown-item command="one">BOE系列公开课</el-dropdown-item>
<el-dropdown-item command="two" divided>Grow180</el-dropdown-item> <el-dropdown-item command="two" divided>Grow180</el-dropdown-item>
@@ -22,8 +35,12 @@
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
<div class="top-nav" :class="current == 'case' ? 'current-nav' : ''"><router-link to="/case">推荐案例</router-link></div> <div class="top-nav" :class="current == 'case' ? 'current-nav' : ''"><router-link to="/case">推荐案例
<div class="top-nav" :class="current == 'follow' ? 'current-nav' : ''"><router-link to="/follow">我的关注</router-link></div> <div :class="current == 'case' ? 'nav-bottbor' : ''"></div>
</router-link></div>
<div class="top-nav" :class="current == 'follow' ? 'current-nav' : ''"><router-link to="/follow">我的关注
<div :class="current == 'follow' ? 'nav-bottbor' : ''"></div>
</router-link></div>
</div> </div>
</div> </div>
<div style="flex:1;display: flex;justify-content: flex-end;align-items: center;"> <div style="flex:1;display: flex;justify-content: flex-end;align-items: center;">
@@ -240,6 +257,7 @@ export default {
</script> </script>
<style scoped rel="stylesheet/scss" lang="scss"> <style scoped rel="stylesheet/scss" lang="scss">
::v-deep .el-input__inner{ ::v-deep .el-input__inner{
border-radius: 20px; border-radius: 20px;
border: 1px solid #333333; border: 1px solid #333333;
@@ -295,21 +313,18 @@ export default {
.top-nav { .top-nav {
font-size: 16px; font-size: 16px;
// text-align: center; // text-align: center;
font-weight: 600; font-weight: 400;
color: #333330; color: #fff;
line-height: 72px; line-height: 72px;
padding: 0px 10px; padding: 0px 10px;
white-space:nowrap; white-space:nowrap;
position: relative;
} }
.anav { .anav {
margin: 10px; margin: 10px;
color: #4489ce; color: #4489ce;
} }
.current-nav {
color: #387DF7;
// background: #588afc;
// border-bottom: 4px solid;
}
::v-deep .el-badge { ::v-deep .el-badge {
.el-badge__content { .el-badge__content {
top: 0px; top: 0px;
@@ -348,7 +363,7 @@ export default {
} }
.el-dropdown-link { .el-dropdown-link {
cursor: pointer; cursor: pointer;
color: #666666; color: #fff;
} }
.uavatar{ .uavatar{
div{ div{

View File

@@ -4,7 +4,7 @@
<div class="xtop-content xcontent"> <div class="xtop-content xcontent">
<div class="xtop-left"> <div class="xtop-left">
<!-- <div> --> <!-- <div> -->
<router-link class="routerLink" to="/index"><img src="../../../assets/logo/logo.png" style="width:240px;height: 30px;" /></router-link> <router-link class="routerLink" to="/index"><img src="../../../assets/logo/logo2.png" style="width:240px;height: 30px;" /></router-link>
<!-- </div> --> <!-- </div> -->
<div class="xtop-nav"> <div class="xtop-nav">
<div><a :href="`${webBaseUrl}/index`">首页</a></div> <div><a :href="`${webBaseUrl}/index`">首页</a></div>
@@ -14,7 +14,7 @@
<div><a :href="`${webBaseUrl}/qa`">问答</a></div> <div><a :href="`${webBaseUrl}/qa`">问答</a></div>
<div> <div>
<el-dropdown placement="bottom" @command="handleCommand"> <el-dropdown placement="bottom" @command="handleCommand">
<span class="el-dropdown-link" style="color:#000;font-size:16px;cursor: pointer;">专区</span> <span class="el-dropdown-link" style="color:#fff;font-size:16px;cursor: pointer;">专区</span>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item command='one'>BOE系列公开课</el-dropdown-item> <el-dropdown-item command='one'>BOE系列公开课</el-dropdown-item>
<el-dropdown-item command='two' divided>Grow180</el-dropdown-item> <el-dropdown-item command='two' divided>Grow180</el-dropdown-item>
@@ -27,12 +27,25 @@
</div> </div>
</div> </div>
<div class="xtop-right" style="display: flex;justify-content: flex-end;align-items: center;"> <div class="xtop-right" style="display: flex;justify-content: flex-end;align-items: center;">
<!-- <div> <div v-if="goSearch !=10" style="margin-left:250px;margin-right:50px;">
<el-input v-show="!hideSearch" placeholder="搜索" style="width: 260px;border-radius: 20px !important;" @keyup.enter.native="searchJump()" clearable maxlength="50" v-model="keyword" class="input-with-select">
<el-select v-model="findType" style="width: 75px;" slot="prepend" placeholder="请选择">
<el-option label="课程" value="1"></el-option>
<el-option label="案例" value="2"></el-option>
<el-option label="文章" value="3"></el-option>
<el-option label="问答" value="4"></el-option>
<!-- <el-option label="专区" value="5"></el-option> -->
</el-select>
<!-- <el-button slot="append" icon="el-icon-search" @click="searchJump()">搜索</el-button> -->
<el-button slot="append" icon="el-icon-search" @click="searchJump()" class="input-with-select-btn"></el-button>
</el-input>
</div>
<div>
<el-badge :value="userMsg" :hidden="userMsg==0" class="message-count"> <el-badge :value="userMsg" :hidden="userMsg==0" class="message-count">
<el-link type="primary" :href="`${webBaseUrl}/message`" target="_blank" icon="el-icon-message-solid" :underline="false"></el-link> <el-link type="primary" :href="`${webBaseUrl}/message`" target="_blank" icon="el-icon-message-solid" :underline="false"></el-link>
</el-badge> </el-badge>
</div> </div>
<div style="margin-left: 20px;"><el-avatar :src="userInfo.avatar" style="vertical-align: middle;width:28px;height:28px;margin-right:2px;"></el-avatar></div> <div style="margin-left: 50px;"><el-avatar :src="userInfo.avatar" style="vertical-align: middle;width:28px;height:28px;margin-right:2px;"></el-avatar></div>
<div style="margin-left: 5px;"> <div style="margin-left: 5px;">
<el-dropdown @command="handleUcCommand"> <el-dropdown @command="handleUcCommand">
<span class="el-dropdown-link"> <span class="el-dropdown-link">
@@ -42,7 +55,7 @@
<el-dropdown-item command="logout">退出</el-dropdown-item> <el-dropdown-item command="logout">退出</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> --> </div>
<div class="person-action"> <div class="person-action">
<el-badge :value="userMsg" :hidden="userMsg == 0" class="message-count"> <el-badge :value="userMsg" :hidden="userMsg == 0" class="message-count">
<el-link type="primary" :href="`${webBaseUrl}/message`" icon="el-icon-bell" :underline="false"></el-link> <el-link type="primary" :href="`${webBaseUrl}/message`" icon="el-icon-bell" :underline="false"></el-link>
@@ -219,6 +232,12 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep.xtop .xtop-right .person-action[data-v-5bcef51e] .message-count i{
color: #fff !important;
}
.el-button--text{
color: #fff;
}
::v-deep .dialog-signin{ ::v-deep .dialog-signin{
background: transparent; background: transparent;
box-shadow:none; box-shadow:none;
@@ -315,7 +334,7 @@ export default {
.xtop { .xtop {
height: 56px; height: 56px;
line-height: 56px; line-height: 56px;
background-color: #FFFFFF; background-color: #302F33;
position: fixed; position: fixed;
top: 0px; top: 0px;
left: 0px; left: 0px;
@@ -354,6 +373,7 @@ export default {
.xtop-nav > div { .xtop-nav > div {
line-height: 56px; line-height: 56px;
padding: 0px 24px; padding: 0px 24px;
color: #fff;
} }
.xtop .xtop-right { .xtop .xtop-right {
@@ -474,7 +494,7 @@ export default {
} }
} }
.message-count a{ .message-count a{
color: #858D99; color: #fff;
font-size: 28px; font-size: 28px;
margin-top: 0 !important; margin-top: 0 !important;
} }
@@ -489,6 +509,6 @@ export default {
} }
.el-dropdown-link{ .el-dropdown-link{
cursor: pointer; cursor: pointer;
color: #666666; color: #fff;
} }
</style> </style>

View File

@@ -1,11 +1,14 @@
<template> <template>
<div> <div>
<div class="course-banner"> <div class="course-banner">
<portal-header current="index" ></portal-header> <portal-header current="index" style="z-index:999; position: relative;" ></portal-header>
<div id="container"> <div id="container" style="z-index:99;">
<swiper :options="swiperOption" ref="mySwiper" > <swiper :options="swiperOption" ref="mySwiper" >
<swiper-slide v-for="(item , idx ) in resonimg" :key="idx" class="swiper-slide games"> <swiper-slide style="margin: 0 auto;" v-for="(item , idx ) in resonimg" :key="idx" class="swiper-slide games">
<img class="banner-img" :src=" fileBaseUrl + item.image" alt=""> <div class="bannbox" :style="{ 'background': `url(${fileBaseUrl + item.image})`}" >
<img class="banner-img" style=" margin: 0 auto;" :src=" fileBaseUrl + item.image" alt="">
</div>
</swiper-slide> </swiper-slide>
<div class="swiper-pagination" slot="pagination"></div> <div class="swiper-pagination" slot="pagination"></div>
@@ -364,7 +367,9 @@ export default {
autoplay:true, //可选选项,自动滑动 autoplay:true, //可选选项,自动滑动
speed: 1000, //切换速度即slider自动滑动开始到结束的时间单位ms speed: 1000, //切换速度即slider自动滑动开始到结束的时间单位ms
loop:true, //循环切换 loop:true, //循环切换
grabCursor: true, //设置为true时鼠标覆盖Swiper时指针会变成手掌形状拖动时指针会变成抓手形状 grabCursor: true,
centeredSlides:true,
//设置为true时鼠标覆盖Swiper时指针会变成手掌形状拖动时指针会变成抓手形状
// setWrapperSize: true, //Swiper使用flexbox布局(display: flex)开启这个设定会在Wrapper上添加等于slides相加的宽或高在对flexbox布局的支持不是很好的浏览器中可能需要用到。 // setWrapperSize: true, //Swiper使用flexbox布局(display: flex)开启这个设定会在Wrapper上添加等于slides相加的宽或高在对flexbox布局的支持不是很好的浏览器中可能需要用到。
autoHeight: true, //自动高度。设置为true时wrapper和container会随着当前slide的高度而发生变化。 autoHeight: true, //自动高度。设置为true时wrapper和container会随着当前slide的高度而发生变化。
scrollbar: '.swiper-scrollbar', scrollbar: '.swiper-scrollbar',
@@ -416,13 +421,28 @@ export default {
this.getArticleData(); this.getArticleData();
this.getQaData(); this.getQaData();
this.couresreso(); this.couresreso();
}, },
computed: { computed: {
swiper() { swiper() {
return this.$refs.mySwiper.swiper return this.$refs.mySwiper.swiper
} }
},
created(){
// undefined
// this.$nextTick(() => {
// console.log(this.$refs.bannimg) //获取到正确元素
// })
}, },
methods: { methods: {
// bgfun(){
// console.log(this.$refs.bannimg[0]);
// this.$nextTick(() => {
// console.log(this.$refs.bannimg[0])
// })
// },
couresreso(){ couresreso(){
let key = 'index'; let key = 'index';
apiPlace.detail(key).then(res=>{ apiPlace.detail(key).then(res=>{
@@ -707,14 +727,39 @@ export default {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.bannbox{
width: 100%;
text-align: center;
z-index: 66;
img{
z-index: 998;
filter: none;
}
}
.bannbox::before {
content: "";
filter: blur(30px);
position: absolute; /* 一定要用绝对定位 */
width: 100%;
height: 100%;
}
::v-deep.swiper-slide .games .swiper-slide-active{
text-align: center !important;
}
#container{ #container{
position: absolute; position: absolute;
top: 0; top: 0;
width: 100%; width: 100%;
} }
.banner-img{ .banner-img{
width: 100%; // width: 100%;
height: 520px; height: 520px;
text-align: center;
} }
.course-banner{ .course-banner{
height: 520px; height: 520px;

View File

@@ -1,7 +1,7 @@
<template> <template>
<div id="qa-list-content" class="qa-list-content"> <div id="qa-list-content" class="qa-list-content">
<div class="qa-banner"> <div class="qa-banner">
<portal-header current="qa" @emitInput="emitInput"></portal-header> <portal-header current="qa" class="qa-nav" @emitInput="emitInput"></portal-header>
</div> </div>
<div class="portal-content"> <div class="portal-content">
@@ -428,6 +428,19 @@ export default {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
::v-deep .top-nav{
color: #333;
}
::v-deep .current-nav{
font-weight: 500 !important;
color: #387DF7 !important;
}
::v-deep .el-dropdown-link{
color: #333 !important;
}
::v-deep .nav-bottbor{
background: #387DF7 !important;
}
.course-resources{ .course-resources{
width: 410px; width: 410px;
img{ img{