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获取资源信息
* */
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 {
saveOrUpdate,
detail

View File

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

View File

@@ -4,7 +4,7 @@
<div class="xtop-content xcontent">
<div class="xtop-left">
<!-- <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 class="xtop-nav">
<div><a :href="`${webBaseUrl}/index`">首页</a></div>
@@ -14,7 +14,7 @@
<div><a :href="`${webBaseUrl}/qa`">问答</a></div>
<div>
<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-item command='one'>BOE系列公开课</el-dropdown-item>
<el-dropdown-item command='two' divided>Grow180</el-dropdown-item>
@@ -27,12 +27,25 @@
</div>
</div>
<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-link type="primary" :href="`${webBaseUrl}/message`" target="_blank" icon="el-icon-message-solid" :underline="false"></el-link>
</el-badge>
</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;">
<el-dropdown @command="handleUcCommand">
<span class="el-dropdown-link">
@@ -42,7 +55,7 @@
<el-dropdown-item command="logout">退出</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div> -->
</div>
<div class="person-action">
<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>
@@ -219,6 +232,12 @@ export default {
</script>
<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{
background: transparent;
box-shadow:none;
@@ -315,7 +334,7 @@ export default {
.xtop {
height: 56px;
line-height: 56px;
background-color: #FFFFFF;
background-color: #302F33;
position: fixed;
top: 0px;
left: 0px;
@@ -354,6 +373,7 @@ export default {
.xtop-nav > div {
line-height: 56px;
padding: 0px 24px;
color: #fff;
}
.xtop .xtop-right {
@@ -474,7 +494,7 @@ export default {
}
}
.message-count a{
color: #858D99;
color: #fff;
font-size: 28px;
margin-top: 0 !important;
}
@@ -489,6 +509,6 @@ export default {
}
.el-dropdown-link{
cursor: pointer;
color: #666666;
color: #fff;
}
</style>

View File

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

View File

@@ -1,7 +1,7 @@
<template>
<div id="qa-list-content" class="qa-list-content">
<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 class="portal-content">
@@ -428,6 +428,19 @@ export default {
</script>
<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{
width: 410px;
img{