You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
945 lines
26 KiB
945 lines
26 KiB
<!-- eslint-disable vue/no-v-html--> |
|
<template> |
|
<div class="article-detail-page" style="padding: 30px 0"> |
|
<div class="left-content"> |
|
<div class="top"> |
|
<img |
|
v-if="!articleData.thumb" |
|
src="~/assets/images/article_cover.png" |
|
alt="" |
|
style="display: none" |
|
/> |
|
<img |
|
v-else |
|
:src="articleData.thumb" |
|
:alt="articleData.title" |
|
style="display: none" |
|
/> |
|
<h4>{{ articleData.title }}</h4> |
|
</div> |
|
<p> |
|
{{ articleData.hit }} <i class="el-icon-view"></i> {{ |
|
articleData.published_at |
|
}} |
|
</p> |
|
<div v-if="showNovoTeacher" class="chatbot-audio"> |
|
<img src="~/assets/images/chatbot_audio_feature.png" alt="" /> |
|
<div> |
|
<h6>保护双眼,听小诺朗读</h6> |
|
<div> |
|
<img |
|
:style="{ display: audioPause ? '' : 'none' }" |
|
src="~/assets/images/play_chatbot_audio.png" |
|
alt="" |
|
@click="playPauseAudio" |
|
/> |
|
<img |
|
:style="{ display: !audioPause ? '' : 'none' }" |
|
src="~/assets/images/pause_chatbot_audio.png" |
|
alt="" |
|
@click="playPauseAudio" |
|
/> |
|
<div> |
|
<span :style="{ color: playTime != '00:00' ? '#3099EA' : '' }">{{ |
|
playTime |
|
}}</span> |
|
<p><span :style="{ width: playWidth + '%' }"></span></p> |
|
<span>{{ allTime }}</span> |
|
</div> |
|
</div> |
|
<audio |
|
ref="chatbotAudio" |
|
:src="articleData.audio_url" |
|
@canplay="getDuration" |
|
@timeupdate="updateTime" |
|
@ended="audioEnd" |
|
></audio> |
|
</div> |
|
</div> |
|
<div v-if="articleData.video_url" class="video-box"> |
|
<video |
|
x5-video-player-type="h5" |
|
x5-video-player-fullscreen="true" |
|
x-webkit-airplay="true" |
|
x5-playsinline="true" |
|
webkit-playsinline="true" |
|
playsinline="true" |
|
width="100%" |
|
controls |
|
style="object-fit: fill" |
|
:poster="articleData.thumb" |
|
:src="articleData.video_url" |
|
></video> |
|
</div> |
|
<div class="article-content" v-html="articleData.content"></div> |
|
<div class="bottom-box"> |
|
<p |
|
v-if="!isLogin && deviceType === 'pc'" |
|
class="go-follow" |
|
@click=" |
|
baiduStat('文章详情页', 'click', '文章详情页-未登录按钮'); |
|
showLoginDialog(true); |
|
" |
|
> |
|
点击关注微信公众号,查看更多专业资讯 |
|
</p> |
|
<div class="comment-box"> |
|
<h6> |
|
<span>最新看法</span> |
|
<span @click="getCommentCorpus(1, 1)">发表你的看法</span> |
|
</h6> |
|
<div class="comment-content"> |
|
<Barrage |
|
ref="barrage" |
|
class="barrage" |
|
:barrage-list="barrageList" |
|
:speed="deviceType === 'pc' ? 4 : 3" |
|
:loop="true" |
|
:channels="3" |
|
:border-color="'#ededed'" |
|
:background="'#fff'" |
|
:barrage-height="120" |
|
:device-type="deviceType" |
|
/> |
|
</div> |
|
<p v-if="!barrageIsShow">还没有人发表看法</p> |
|
</div> |
|
</div> |
|
</div> |
|
<div |
|
class="right-content" |
|
:style="{ position: isFixed ? 'fixed' : 'static', right: right + 'px' }" |
|
> |
|
<h6 class="common-title"> |
|
猜你喜欢<img src="~/assets/images/heart.png" alt="" /> |
|
</h6> |
|
<div> |
|
<div |
|
v-for="item in recommendArticles" |
|
:key="item.id" |
|
@click=" |
|
baiduStat( |
|
'文章详情页', |
|
'click', |
|
'文章点击猜你喜欢-' + item.id + '+' + item.title |
|
); |
|
goHref('/article/' + item.id); |
|
" |
|
> |
|
<img |
|
v-if="!item.thumb" |
|
src="~/assets/images/article_cover.png" |
|
alt="" |
|
/> |
|
<img v-else :src="item.thumb" :alt="item.title" /> |
|
<p>{{ item.title }}</p> |
|
<div class="bottom"> |
|
<span |
|
>{{ item.hit |
|
}}<i class="el-icon-view" style="margin-right: 8px"></i |
|
>{{ item.collect }}<i class="el-icon-star-on"></i |
|
></span> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
<div v-if="commentModelPopupShow" class="comment-model-popup"> |
|
<div class="mask" @click="commentModelPopupShow = false"></div> |
|
<div class="content"> |
|
<div |
|
ref="commentCorpus" |
|
:style="{ maxHeight: commentMaxHeight + 'px' }" |
|
> |
|
<div ref="commentCorpusContent"> |
|
<div> |
|
<template v-for="(item, index) in commentModelList"> |
|
<div :key="'comment' + item.id"> |
|
<p |
|
:class="item.chosen ? 'chosen' : ''" |
|
@click="chooseCorpus(item.id, index)" |
|
> |
|
{{ item.content }} |
|
</p> |
|
</div> |
|
</template> |
|
</div> |
|
<p v-if="commentLoading" class="load-more"> |
|
加载更多<i class="el-icon-loading"></i> |
|
</p> |
|
</div> |
|
</div> |
|
<p @click="commentArticle">立即发布</p> |
|
</div> |
|
</div> |
|
<BottomRightFixed |
|
:show-share="true" |
|
:show-collect="true" |
|
:is-login="isLogin" |
|
:is-collect="articleData.is_collected" |
|
:show-comment="true" |
|
@commentClick="getCommentCorpus(1, 2)" |
|
@collectClick="collectArticle" |
|
/> |
|
</div> |
|
</template> |
|
|
|
<script> |
|
import { createNamespacedHelpers } from 'vuex'; |
|
|
|
const { mapActions, mapGetters } = createNamespacedHelpers('user'); |
|
export default { |
|
name: 'ArticleDetailPage', |
|
layout: 'detail', |
|
|
|
validate({ params }) { |
|
return /^\d+$/.test(params.id); |
|
}, |
|
|
|
async asyncData({ $axios, params, req, redirect }) { |
|
// if (!process.server) return; |
|
const data = await $axios.$get( |
|
'/article/detail/' + params.id, |
|
$axios.genSSROptions(req) |
|
); |
|
// data.detail.articleData.audio_url = 'https://app.diabetes.com.cn/uploadfile/article/audio/8160-16395833618215.mp3'; |
|
// console.log('dafa:', data); |
|
if (data.success === false) { |
|
redirect('/error?code=' + 404); |
|
} |
|
return { ...data.detail }; |
|
}, |
|
|
|
data() { |
|
return { |
|
audioPause: true, |
|
playTime: '00:00', |
|
allTime: '00:00', |
|
canPlayAudio: false, |
|
playWidth: 0, |
|
barrageIsShow: false, |
|
barrageList: [], |
|
commentModelPopupShow: false, |
|
commentModelList: [], |
|
inComment: false, |
|
commentPage: 1, |
|
commentLoading: false, |
|
commentHasMore: true, |
|
chosenCommentId: 0, |
|
inCollect: false, |
|
isFixed: false, |
|
right: 89, |
|
commentMaxHeight: 300 |
|
}; |
|
}, |
|
|
|
head() { |
|
return { |
|
title: this.articleData.title, |
|
meta: [ |
|
{ |
|
hid: 'description', |
|
name: 'description', |
|
content: 'Home page description' |
|
} |
|
] |
|
}; |
|
}, |
|
computed: { |
|
...mapGetters({ |
|
isLogin: 'isLogin' |
|
}), |
|
deviceType() { |
|
return this.$store.state.device.deviceType; |
|
}, |
|
env() { |
|
return this.$store.state.device.env; |
|
} |
|
}, |
|
|
|
mounted() { |
|
const that = this; |
|
this.getComment(); |
|
this.$nextTick(() => { |
|
if (that.deviceType === 'pc') { |
|
window.addEventListener('scroll', function () { |
|
that.isFixed = true; |
|
const scrollLeft = |
|
document.documentElement.scrollLeft || document.body.scrollLeft; |
|
if (document.documentElement.offsetWidth < 1258) { |
|
that.right = |
|
89 - (1258 - document.documentElement.offsetWidth) + scrollLeft; |
|
} else { |
|
that.right = (document.documentElement.offsetWidth - 1080) / 2; |
|
} |
|
}); |
|
} else { |
|
that.commentMaxHeight = |
|
(document.documentElement.clientHeight || |
|
document.body.clientHeight) * 0.6; |
|
if (this.deviceType === 'ios') { |
|
if (that.env === 'wechat') { |
|
document.addEventListener( |
|
'WeixinJSBridgeReady', |
|
function () { |
|
that.$refs.chatbotAudio.play(); |
|
that.$refs.chatbotAudio.pause(); |
|
that.$refs.chatbotAudio.currentTime = 0; |
|
}, |
|
false |
|
); |
|
} else { |
|
window.onload = function () { |
|
that.$refs.chatbotAudio.play(); |
|
that.$refs.chatbotAudio.pause(); |
|
that.$refs.chatbotAudio.currentTime = 0; |
|
if (!isNaN(that.$refs.chatbotAudio.duration)) { |
|
const duration = that.$refs.chatbotAudio.duration; |
|
let minutes = parseInt(duration / 60, 10); |
|
let seconds = parseInt(duration % 60); |
|
minutes = minutes < 10 ? '0' + minutes : minutes; |
|
seconds = seconds < 10 ? '0' + seconds : seconds; |
|
that.allTime = minutes + ':' + seconds; |
|
that.canPlayAudio = true; |
|
} else { |
|
that.canPlayAudio = true; |
|
} |
|
}; |
|
} |
|
} |
|
} |
|
}); |
|
}, |
|
methods: { |
|
...mapActions({ |
|
showLoginDialog: 'showLoginDialog' |
|
}), |
|
getDuration() { |
|
const duration = this.$refs.chatbotAudio.duration; |
|
let minutes = parseInt(duration / 60, 10); |
|
let seconds = parseInt(duration % 60); |
|
minutes = minutes < 10 ? '0' + minutes : minutes; |
|
seconds = seconds < 10 ? '0' + seconds : seconds; |
|
this.allTime = minutes + ':' + seconds; |
|
this.canPlayAudio = true; |
|
}, |
|
playPauseAudio() { |
|
if (this.canPlayAudio) { |
|
if (this.audioPause) { |
|
this.baiduStat('文章详情页', 'click', '小诺老师语音控件'); |
|
this.$refs.chatbotAudio.play(); |
|
} else { |
|
this.$refs.chatbotAudio.pause(); |
|
} |
|
this.audioPause = !this.audioPause; |
|
} |
|
}, |
|
updateTime(e) { |
|
const currentTime = e.target.currentTime; |
|
const duration = e.target.duration; |
|
let minutes = parseInt(currentTime / 60, 10); |
|
let seconds = parseInt(currentTime % 60); |
|
minutes = minutes < 10 ? '0' + minutes : minutes; |
|
seconds = seconds < 10 ? '0' + seconds : seconds; |
|
this.playWidth = (currentTime / duration) * 100; |
|
this.playTime = minutes + ':' + seconds; |
|
}, |
|
audioEnd() { |
|
this.audioPause = true; |
|
this.playTime = '00:00'; |
|
this.playWidth = 0; |
|
}, |
|
async getComment() { |
|
const data = await this.$axios.$get( |
|
'/article/comment-list?aid=' + this.$route.params.id |
|
); |
|
for (const item of data.detail.commentList) { |
|
item.time = Math.random() * 15 + 9; |
|
} |
|
this.barrageIsShow = data.detail.commentList.length > 0; |
|
const _list = []; |
|
for (const comment of data.detail.commentList) { |
|
_list.push({ |
|
content: comment.comment_content, |
|
color: '#939AA7', |
|
icon: comment.headimgurl |
|
}); |
|
} |
|
this.barrageList = _list; |
|
}, |
|
async getCommentCorpus(page, type) { |
|
if (!this.isLogin) { |
|
this.showLoginDialog(true); |
|
} else { |
|
const that = this; |
|
if (page === 1) { |
|
this.baiduStat( |
|
'文章详情页', |
|
'click', |
|
type === 1 ? '文章内发表你的想法-点击' : '文章内评论' |
|
); |
|
this.chosenCommentId = 0; |
|
this.commentModelList = []; |
|
this.commentPage = 1; |
|
this.commentHasMore = true; |
|
this.commentModelPopupShow = true; |
|
setTimeout(function () { |
|
that.$refs.commentCorpus.addEventListener('scroll', function () { |
|
// 变量scrollTop是滚动条滚动时,距离顶部的距离 |
|
const scrollTop = that.$refs.commentCorpus.scrollTop; |
|
// 变量windowHeight是可视区的高度 |
|
const contentHeight = that.$refs.commentCorpus.clientHeight; |
|
// 变量scrollHeight是滚动条的总高度 |
|
const allHeight = that.$refs.commentCorpusContent.clientHeight; |
|
// 滚动条到底部的条件 |
|
if (scrollTop + contentHeight > allHeight - 20) { |
|
// 写后台加载数据的函数 一定要用that |
|
that.getCommentCorpus(); |
|
} |
|
}); |
|
}); |
|
} |
|
if (this.commentHasMore && !this.commentLoading) { |
|
this.commentLoading = true; |
|
const data = await this.$axios.$get( |
|
'/article/comment-corpus?page=' + this.commentPage |
|
); |
|
for (const item of data.detail.list) { |
|
item.chosen = false; |
|
} |
|
this.commentPage = this.commentPage + 1; |
|
this.commentModelList = this.commentModelList.concat( |
|
data.detail.list |
|
); |
|
this.commentHasMore = data.detail.hasMore; |
|
this.commentLoading = false; |
|
} |
|
} |
|
}, |
|
chooseCorpus(id, index) { |
|
for (const item of this.commentModelList) { |
|
item.chosen = false; |
|
} |
|
this.chosenCommentId = id; |
|
this.commentModelList[index].chosen = true; |
|
}, |
|
async commentArticle() { |
|
if (this.chosenCommentId === 0) { |
|
this.$message({ |
|
message: '请选择看法模版', |
|
type: 'warning' |
|
}); |
|
} else { |
|
const loading = this.$loading({ |
|
lock: true, |
|
text: 'Loading', |
|
spinner: 'el-icon-loading', |
|
background: 'rgba(0, 0, 0, 0.7)' |
|
}); |
|
const data = await this.$axios.$post('/article/user-comment', { |
|
aid: this.$route.params.id, |
|
comment_template_id: this.chosenCommentId |
|
}); |
|
if (data && data.success) { |
|
this.baiduStat('文章详情页', 'click', '文章内发表你的想法-发表成功'); |
|
} |
|
console.log(data); |
|
loading.close(); |
|
this.commentModelPopupShow = false; |
|
this.getComment(); |
|
} |
|
}, |
|
async collectArticle() { |
|
if (!this.isLogin) { |
|
this.showLoginDialog(true); |
|
} else if (this.inCollect) { |
|
this.$message({ |
|
message: '您的操作太快了', |
|
type: 'warning' |
|
}); |
|
} else { |
|
this.baiduStat('文章详情页', 'click', '文章内收藏'); |
|
this.inCollect = true; |
|
const data = await this.$axios.$post('/article/user-collect', { |
|
aid: this.$route.params.id |
|
}); |
|
console.log(data); |
|
this.articleData.is_collected = data.detail.curState; |
|
this.inCollect = false; |
|
} |
|
}, |
|
goHref(url) { |
|
let openNew = false; |
|
if (this.deviceType === 'pc') { |
|
openNew = true; |
|
} |
|
url = this.$router.resolve({ |
|
path: url |
|
}); |
|
if (openNew) { |
|
window.open(url.href, '_blank'); |
|
} else { |
|
window.location.href = url.href; |
|
} |
|
} |
|
} |
|
}; |
|
</script> |
|
<style lang="scss"> |
|
.article-detail-page { |
|
position: relative; |
|
.left-content { |
|
div.top { |
|
margin-bottom: 20px; |
|
border-bottom: 1px solid $bg-color; |
|
padding-bottom: 30px; |
|
img { |
|
width: 100%; |
|
height: 407px; |
|
border-radius: 4px; |
|
} |
|
h4 { |
|
/*margin-top: 30px;*/ |
|
font-size: 32px; |
|
font-family: MicrosoftYaHei-Bold, MicrosoftYaHei; |
|
font-weight: bold; |
|
color: $font-color1; |
|
line-height: 44px; |
|
} |
|
} |
|
& > p:nth-child(2) { |
|
margin-bottom: 20px; |
|
font-size: 16px; |
|
font-family: Apis-Regular, Apis; |
|
font-weight: 400; |
|
color: #bac0c2; |
|
line-height: 28px; |
|
} |
|
.video-box { |
|
margin-bottom: 20px; |
|
video { |
|
width: 100%; |
|
} |
|
} |
|
.chatbot-audio { |
|
position: relative; |
|
margin-bottom: 20px; |
|
padding: 16px 16px 0 85px; |
|
width: 100%; |
|
height: 105px; |
|
background: $bg-color; |
|
border-radius: 8px; |
|
box-sizing: border-box; |
|
& > img { |
|
position: absolute; |
|
top: 12px; |
|
left: 12px; |
|
width: 57px; |
|
height: 87px; |
|
} |
|
& > div { |
|
h6 { |
|
font-size: 18px; |
|
font-family: PingFangSC-Semibold, PingFang SC; |
|
font-weight: 600; |
|
color: #333; |
|
line-height: 25px; |
|
} |
|
& > div { |
|
position: relative; |
|
margin-top: 25px; |
|
padding-left: 48px; |
|
& > img { |
|
position: absolute; |
|
top: -17px; |
|
left: -10px; |
|
width: 60px; |
|
height: 60px; |
|
cursor: pointer; |
|
} |
|
div { |
|
display: flex; |
|
& > span { |
|
width: 38px; |
|
font-size: 12px; |
|
font-family: PingFangSC-Regular, PingFang SC; |
|
font-weight: 400; |
|
color: $font-color3; |
|
line-height: 17px; |
|
} |
|
p { |
|
position: relative; |
|
margin-top: 7px; |
|
width: calc(100% - 76px); |
|
height: 3px; |
|
background: #e3e3e3; |
|
border-radius: 2px; |
|
span { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
height: 3px; |
|
background: linear-gradient(90deg, #3b97de 0%, #38b0ff 100%); |
|
border-radius: 2px; |
|
} |
|
} |
|
& > span:last-child { |
|
text-align: right; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
.article-content { |
|
border-bottom: 1px solid $bg-color; |
|
padding: 23px 0; |
|
font-size: 18px; |
|
color: $font-color1; |
|
line-height: 30px; |
|
img { |
|
max-width: 100%; |
|
border-radius: 4px; |
|
} |
|
} |
|
.bottom-box { |
|
padding-top: 20px; |
|
div.comment-box { |
|
position: relative; |
|
h6 { |
|
height: 50px; |
|
span:first-child { |
|
font-size: 24px; |
|
font-family: PingFangSC-Medium, PingFang SC; |
|
font-weight: 500; |
|
color: $main-blue-color; |
|
line-height: 50px; |
|
} |
|
span:last-child { |
|
float: right; |
|
width: 208px; |
|
height: 50px; |
|
background: #3099ea; |
|
border-radius: 4px; |
|
text-align: center; |
|
font-size: 18px; |
|
font-family: PingFangSC-Regular, PingFang SC; |
|
font-weight: 400; |
|
color: $body-color; |
|
line-height: 50px; |
|
cursor: pointer; |
|
} |
|
} |
|
.comment-content { |
|
position: relative; |
|
margin-top: 24px; |
|
height: 365px; |
|
box-sizing: border-box; |
|
.baberrage-item { |
|
padding: 0; |
|
.barrage-items { |
|
display: inline-block; |
|
border: 1px solid #ededed; |
|
padding: 0 20px 0 10px; |
|
height: 60px; |
|
background: $body-color; |
|
border-radius: 30px; |
|
box-sizing: border-box; |
|
img { |
|
margin: 9px 10px 0 0; |
|
@include roundFun(40px); |
|
} |
|
span { |
|
font-size: 18px; |
|
font-family: AppleColorEmoji; |
|
color: $font-color3; |
|
line-height: 58px; |
|
} |
|
} |
|
} |
|
} |
|
& > p { |
|
position: absolute; |
|
top: 100px; |
|
width: 100%; |
|
font-size: 20px; |
|
color: $font-color1; |
|
text-align: center; |
|
line-height: 100px; |
|
} |
|
} |
|
} |
|
} |
|
.right-content { |
|
position: fixed; |
|
top: 116px; |
|
.common-title { |
|
padding: 0 0 8px; |
|
font-size: 18px; |
|
color: $font-color1; |
|
line-height: 25px; |
|
img { |
|
margin: 3px 0 0 4px; |
|
width: 20px; |
|
height: 20px; |
|
} |
|
} |
|
& > div { |
|
& > div { |
|
display: block; |
|
position: relative; |
|
border-bottom: 1px solid $bg-color; |
|
padding: 20px 0 0 124px; |
|
height: 120px; |
|
box-sizing: border-box; |
|
img { |
|
position: absolute; |
|
left: 0; |
|
width: 110px; |
|
height: 80px; |
|
border-radius: 4px; |
|
} |
|
p { |
|
font-size: 16px; |
|
color: $font-color1; |
|
line-height: 24px; |
|
@include textEllipsisMore1Line(2); |
|
} |
|
div.bottom { |
|
position: absolute; |
|
right: 0; |
|
bottom: 19px; |
|
text-align: right; |
|
span { |
|
font-size: 16px; |
|
font-family: Apis-Regular, Apis; |
|
font-weight: 400; |
|
color: #bac0c2; |
|
line-height: 28px; |
|
i { |
|
margin-left: 3px; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
.comment-model-popup { |
|
position: fixed; |
|
top: 0; |
|
left: 0; |
|
width: 100%; |
|
height: 100%; |
|
z-index: 9; |
|
.mask { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
width: 100%; |
|
height: 100%; |
|
} |
|
.content { |
|
position: absolute; |
|
bottom: 0; |
|
left: 0; |
|
border: 1px solid #e3e3e3; |
|
padding: 44px 0 42px; |
|
width: 100%; |
|
box-shadow: 0 -10px 10px 0 rgba(0, 0, 0, 0.08); |
|
border-radius: 4px 4px 0 0; |
|
background: $body-color; |
|
text-align: center; |
|
& > div { |
|
overflow-y: scroll; |
|
margin: 0 auto 39px; |
|
max-width: 1044px; |
|
max-height: 300px; |
|
& > div { |
|
& > div { |
|
display: flex; |
|
flex-wrap: wrap; |
|
& > div { |
|
padding: 0 14px; |
|
p { |
|
margin-bottom: 20px; |
|
border: 1px solid $bg-color; |
|
padding: 0 20px; |
|
min-width: 320px; |
|
height: 60px; |
|
box-sizing: border-box; |
|
background: $bg-color; |
|
font-size: 16px; |
|
font-family: AppleColorEmoji; |
|
color: #292b2c; |
|
line-height: 58px; |
|
@extend .text-ellipsis; |
|
border-radius: 30px; |
|
cursor: pointer; |
|
} |
|
p.chosen { |
|
border-color: #3099ea; |
|
background: rgba(48, 153, 234, 0.1); |
|
} |
|
} |
|
} |
|
} |
|
} |
|
& > p { |
|
margin: 0 auto; |
|
width: 325px; |
|
height: 50px; |
|
background: #3099ea; |
|
border-radius: 4px; |
|
font-size: 18px; |
|
font-family: PingFangSC-Regular, PingFang SC; |
|
font-weight: 400; |
|
color: $body-color; |
|
line-height: 50px; |
|
cursor: pointer; |
|
} |
|
} |
|
} |
|
} |
|
.isMobile { |
|
.article-detail-page { |
|
padding: 11px 15px 400px !important; |
|
background: $body-color; |
|
.left-content { |
|
div.top { |
|
margin-bottom: 10px; |
|
padding-bottom: 10px; |
|
h4 { |
|
font-size: 24px; |
|
line-height: 30px; |
|
} |
|
} |
|
& > p:nth-child(2) { |
|
margin-bottom: 10px; |
|
font-size: 14px; |
|
} |
|
.chatbot-audio { |
|
margin-top: 20px; |
|
padding: 25px 15px 10px 70px; |
|
& > img { |
|
left: 10px; |
|
top: -15px; |
|
} |
|
& > div { |
|
& > div { |
|
margin-left: -55px; |
|
padding: 0; |
|
width: calc(100% + 55px); |
|
& > img { |
|
top: -62px; |
|
right: -13px; |
|
left: auto; |
|
} |
|
} |
|
} |
|
} |
|
.bottom-box { |
|
position: absolute; |
|
bottom: 20px; |
|
left: 0; |
|
padding: 0 15px; |
|
width: 100%; |
|
box-sizing: border-box; |
|
div.comment-box { |
|
h6 { |
|
height: 40px; |
|
span:first-child { |
|
display: none; |
|
} |
|
span:last-child { |
|
width: 150px; |
|
height: 40px; |
|
line-height: 40px; |
|
} |
|
} |
|
.comment-content { |
|
height: 290px; |
|
.z_barrage { |
|
left: -15px; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
.right-content { |
|
float: none; |
|
padding-top: 10px; |
|
width: 100%; |
|
& > div { |
|
& > div { |
|
margin-bottom: 10px; |
|
border: none; |
|
padding: 15px 15px 12px; |
|
height: auto; |
|
background: #f1f1f1; |
|
border-radius: 10px; |
|
box-sizing: border-box; |
|
img { |
|
display: none; |
|
} |
|
div.bottom { |
|
position: unset; |
|
margin-top: 4px; |
|
text-align: left; |
|
} |
|
} |
|
} |
|
} |
|
.comment-model-popup { |
|
z-index: 10; |
|
.mask { |
|
background: rgba(0, 0, 0, 0.5); |
|
} |
|
.content { |
|
border: none; |
|
padding: 62px 15px 15px; |
|
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05); |
|
border-radius: 20px 20px 0 0; |
|
box-sizing: border-box; |
|
& > div { |
|
margin: 0; |
|
width: 100%; |
|
max-width: none; |
|
& > div { |
|
& > div { |
|
display: block; |
|
& > div { |
|
padding: 0; |
|
p { |
|
margin-bottom: 10px; |
|
border: none; |
|
padding: 11px 15px; |
|
height: auto; |
|
min-width: auto; |
|
background: #eef5fb; |
|
border-radius: 10px; |
|
box-sizing: border-box; |
|
text-align: left; |
|
font-size: 16px; |
|
font-family: AppleColorEmoji; |
|
color: $font-color1; |
|
line-height: 26px; |
|
&.chosen { |
|
color: #3099ea; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
& > p { |
|
position: absolute; |
|
top: 15px; |
|
right: 15px; |
|
width: 100px; |
|
height: 32px; |
|
line-height: 32px; |
|
font-size: 16px; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
</style>
|
|
|