Merge remote-tracking branch 'yx/20250821-hz' into master-0626-prod

# Conflicts:
#	pages/study/courseStudy.vue
This commit is contained in:
joshen
2025-08-27 20:19:02 +08:00
5 changed files with 2283 additions and 2145 deletions

View File

@@ -24,7 +24,8 @@
@fullscreenchange="onFullScreen"
:drag="curriculumData.isDrag"
style="width: 100%; object-fit: fill">
></video-player>
>
</video-player>
<view class="player-box" v-if="playerBoxShow">
<view class="player-praise">
<view @click="praiseContent" style="cursor: pointer;">
@@ -77,18 +78,23 @@
<view v-if="curContent.contentType==40">
<!--pdf文档-->
<view style="min-height: 500px;padding-top: 200upx;position: relative;">
<pdf-preview v-if="curContent.content && curContent.content!=''" :src="curContent.content ? fileBaseUrl+curContent.content : ''"></pdf-preview>
<pdf-preview v-if="curContent.content && curContent.content!=''"
:src="curContent.content ? fileBaseUrl+curContent.content : ''"></pdf-preview>
</view>
</view>
<view v-if="curContent.contentType==41">
<view class="about-gongsi-info" :style="{height:articleMore? '500upx':'auto'}" style="padding: 15px;text-indent:40px;line-height: 28px;position: relative;">
<view class="about-gongsi-info" :style="{height:articleMore? '500upx':'auto'}"
style="padding: 15px;text-indent:40px;line-height: 28px;position: relative;">
<u-parse :content="curContent.content"></u-parse>
</view>
<view v-if="articleMore" @click="showMore" style="text-align: center;color: #387DF7;"><text>查看更多</text> </view>
<view v-if="articleMore" @click="showMore" style="text-align: center;color: #387DF7;">
<text>查看更多</text>
</view>
</view>
<div v-if="curContent.contentType == 50" style="min-height: 500px;">
<!--因为web-view 动态切换地址不好用所以这里先使用iframe-->
<iframe id="iframe-scorm" v-if="scormUrl" :src="scormUrl" @load="iframeScormLoad()" frameborder="0" scrolling="no" border="0px" style="width:100%;min-height:500px;border:0px;"></iframe>
<iframe id="iframe-scorm" v-if="scormUrl" :src="scormUrl" @load="iframeScormLoad()" frameborder="0"
scrolling="no" border="0px" style="width:100%;min-height:500px;border:0px;"></iframe>
</div>
<view v-if="curContent.contentType==52">
<!--外连接-->
@@ -126,8 +132,12 @@
<view v-if="!catalogShow">
<view class="tabrow">
<view class="tabrow-item" @click="goTop">目录({{totalContent}})</view>
<view class="tabrow-item" @click="changeTab(1)"><text :class="{'tabrow-active':tabIndex==1}">简介</text></view>
<view class="tabrow-item" @click="changeTab(2)"><text :class="{'tabrow-active':tabIndex==2}">评论</text></view>
<view class="tabrow-item" @click="changeTab(1)">
<text :class="{'tabrow-active':tabIndex==1}">简介</text>
</view>
<view class="tabrow-item" @click="changeTab(2)">
<text :class="{'tabrow-active':tabIndex==2}">评论</text>
</view>
<view class="player-box-tabrow">
<view class="player-praise">
<view @click="praiseContent" style="cursor: pointer;">
@@ -153,8 +163,12 @@
</view>
<view>
<text class="cinfo-tag1">{{ convertTypeName(courseInfo.sysType1) }}</text>
<text v-if="courseInfo.sysType2!= '' && courseInfo.sysType2!= '0'" class="cinfo-tag2">{{convertTypeName(courseInfo.sysType2)}}</text>
<text v-if="courseInfo.sysType3!= '' && courseInfo.sysType3!= '0'" class="cinfo-tag2">{{convertTypeName(courseInfo.sysType3)}}</text>
<text v-if="courseInfo.sysType2!= '' && courseInfo.sysType2!= '0'" class="cinfo-tag2">
{{ convertTypeName(courseInfo.sysType2) }}
</text>
<text v-if="courseInfo.sysType3!= '' && courseInfo.sysType3!= '0'" class="cinfo-tag2">
{{ convertTypeName(courseInfo.sysType3) }}
</text>
</view>
</view>
@@ -163,15 +177,22 @@
<text class="desrow-name">目标人群</text>
<text class="desrow-value">{{ courseInfo.forUsers }}</text>
</view>
<view style="color: #999999;min-width: 160upx;text-align: right;font-size: 24upx;">{{formatUserNumber(courseInfo.studys)}}人学习</view>
<view style="color: #999999;min-width: 160upx;text-align: right;font-size: 24upx;">
{{ formatUserNumber(courseInfo.studys) }}人学习
</view>
</view>
<view class="desrow" style="justify-content: flex-start;">
<view style="line-height: 60upx;"><text class="desrow-name">讲师</text></view>
<view style="line-height: 60upx;">
<text class="desrow-name">讲师</text>
</view>
<view style="flex: 1;">
<view v-for="(tea,teaIdx) in teachers" :key="tea.id" style="display: flex;justify-content: space-between;line-height: 60upx;">
<view v-for="(tea,teaIdx) in teachers" :key="tea.id"
style="display: flex;justify-content: space-between;line-height: 60upx;">
<view>
<text class="desrow-value">{{ tea.teacherName }}</text>
<text class="desrow-value" style="font-size: 24upx;margin-left: 6upx;color: #999999;">({{tea.orgInfo}})</text>
<text class="desrow-value" style="font-size: 24upx;margin-left: 6upx;color: #999999;">
({{ tea.orgInfo }})
</text>
</view>
<view @click="followUser(tea)" style="color: #387DF7;">
<text class="concern" v-if="tea.followed">已关注</text>
@@ -183,7 +204,8 @@
<view class="desrow">
<view style="display: flex;">
<text class="desrow-name">课程评分</text>
<u-rate readonly v-if="courseInfo.score>0" :count="5" activeColor="#F37101" :size="16" v-model="courseInfo.score"></u-rate>
<u-rate readonly v-if="courseInfo.score>0" :count="5" activeColor="#F37101" :size="16"
v-model="courseInfo.score"></u-rate>
<text class="score">{{ toScore(courseInfo.score) }}</text>
</view>
@@ -227,11 +249,15 @@
<view v-else>
<view v-if="courseInfo.type==10">
<view v-if="scrollItemWidth>0" class="main-cata-active">
<scroll-view scroll-x :scroll-y="false" style="min-height:180upx;white-space: nowrap;overflow: hidden;" :scroll-left="scrollInfo.scrollLeft" @scroll="scrollHandler">
<scroll-view scroll-x :scroll-y="false"
style="min-height:180upx;white-space: nowrap;overflow: hidden;"
:scroll-left="scrollInfo.scrollLeft" @scroll="scrollHandler">
<!-- <view class="mycrollcontent" style="display: flex;justify-content:flex-start;"> -->
<view v-for="(con,conIdx) in contentList" :key="conIdx" style="display: inline-block;" :id="con.id" @click="playContent(con,conIdx,0)">
<view v-for="(con,conIdx) in contentList" :key="conIdx" style="display: inline-block;" :id="con.id"
@click="playContent(con,conIdx,0)">
<!---->
<view :style="{width:scrollItemWidth+'px'}" class="scroll-item" :class="{'box-studying':curContent.id==con.id}">
<view :style="{width:scrollItemWidth+'px'}" class="scroll-item"
:class="{'box-studying':curContent.id==con.id}">
<view class="scroll-item-con">
<view class="scroll-item-name">
{{ con.contentName }}
@@ -255,11 +281,14 @@
</view>
<view v-else>
<view v-if="scrollItemWidth>0" class="main-cata-active">
<scroll-view scroll-x :scroll-y="false" style="height:115px;white-space: nowrap;overflow: hidden;" :scroll-left="scrollInfo.scrollLeft" @scroll="scrollHandler">
<scroll-view scroll-x :scroll-y="false" style="height:115px;white-space: nowrap;overflow: hidden;"
:scroll-left="scrollInfo.scrollLeft" @scroll="scrollHandler">
<!-- <view class="mycrollcontent" style="display: flex;justify-content:flex-start;"> -->
<view v-for="(con,conIdx) in scrollList" :key="conIdx" style="display: inline-block;" :id="con.id" @click="playContent(con,conIdx,0)">
<view v-for="(con,conIdx) in scrollList" :key="conIdx" style="display: inline-block;" :id="con.id"
@click="playContent(con,conIdx,0)">
<!---->
<view :style="{width:scrollItemWidth+'px'}" class="scroll-item" :class="{'color-studying':curContent.id==con.id}">
<view :style="{width:scrollItemWidth+'px'}" class="scroll-item"
:class="{'color-studying':curContent.id==con.id}">
<view class="scroll-item-sec">{{ con.cataName }}
<!-- <text v-if="con.cataStatus && con.cataStatus==1" class="status-tag" :class="statusClass(con.cataStatus)">未开始</text>
<text v-if="con.cataStatus && con.cataStatus==2" class="status-tag" :class="statusClass(con.cataStatus)">进行中</text>
@@ -291,15 +320,21 @@
<!--交互-->
<view class="cinfo-btns">
<view class="cinfo-btn" @click="openScore()">
<view><image src="/static/images/course/c_comment.png" style="width: 80upx;height: 80upx;"></image> </view>
<view>
<image src="/static/images/course/c_comment.png" style="width: 80upx;height: 80upx;"></image>
</view>
<view>评价</view>
</view>
<view class="cinfo-btn" @click="addFavorite()">
<view>
<image v-if="isFavorite" src="/static/images/course/c_favorite_2.png" style="width: 80upx;height: 80upx;">
<image v-if="isFavorite" src="/static/images/course/c_favorite_2.png"
style="width: 80upx;height: 80upx;">
<image v-else src="/static/images/course/c_favorite.png" style="width: 80upx;height: 80upx;">
</view>
<view><text v-if="isFavorite">已收藏</text><text v-else>收藏</text> </view>
<view>
<text v-if="isFavorite">已收藏</text>
<text v-else>收藏</text>
</view>
</view>
<view class="cinfo-btn" @click="openShare()">
<view>
@@ -312,18 +347,25 @@
<!--评论-->
<view v-show="tabIndex==2" class="pinglun">
<comments ref="comments" v-if="courseId && courseId!=''" :objType="1" :objId="courseId"></comments>
<interact-fixed ref="fiexdbar" :type="1" :data="courseInfo" :users="teachers" :praises="false" :favorites="false" :shares="false" :comments="false" @comment-success="refreshComments" @share-success="shareSuccess"></interact-fixed>
<interact-fixed ref="fiexdbar" :type="1" :data="courseInfo" :users="teachers" :praises="false"
:favorites="false" :shares="false" :comments="false" @comment-success="refreshComments"
@share-success="shareSuccess"></interact-fixed>
</view>
</view>
<!--全部目录-->
<view v-else>
<view class="tabrow" style="justify-content: space-between;">
<view class="tabrow-item"><text class="tabrow-active">目录</text></view>
<view @click="closeAllCatalog"> <image src="/static/images/close.png" style="width: 50upx;height: 50upx;"></image> </view>
<view class="tabrow-item">
<text class="tabrow-active">目录</text>
</view>
<view @click="closeAllCatalog">
<image src="/static/images/close.png" style="width: 50upx;height: 50upx;"></image>
</view>
</view>
<view class="catalogbox">
<view v-if="courseInfo.type>10" class="catalog">
<view v-for="(cata,catIdx) in catalogTree" :key="catIdx" style="border-bottom: 1px solid #ebebeb;padding-bottom: 30upx;">
<view v-for="(cata,catIdx) in catalogTree" :key="catIdx"
style="border-bottom: 1px solid #ebebeb;padding-bottom: 30upx;">
<view class="catalog-sec" style="margin-bottom: 20rpx;">
<view class="catalog-sec-name">
<!-- <text>{{catIdx+1}}, </text> -->
@@ -336,7 +378,8 @@
</view>
</view>
<view>
<view v-for="(con,conIdx) in cata.children" :key="conIdx" class="catalog-con" @click="playContent(con,conIdx,catIdx)">
<view v-for="(con,conIdx) in cata.children" :key="conIdx" class="catalog-con"
@click="playContent(con,conIdx,catIdx)">
<view class="catalog-con-name" :class="{'color-studying':curContent.id==con.id}">
<text>{{ catIdx + 1 }}.{{ conIdx + 1 }}.</text>
<!-- <text class="square-border">{{getConType(con.contentType)}}</text> -->
@@ -353,7 +396,8 @@
</view>
<view v-else class="catalog">
<view>
<view v-for="(con,conIdx) in contentList" :key="conIdx" class="catalog-con" @click="playContent(con,conIdx)">
<view v-for="(con,conIdx) in contentList" :key="conIdx" class="catalog-con"
@click="playContent(con,conIdx)">
<view class="catalog-con-name" :class="{'color-studying':curContent.id==con.id}">
<text>{{ conIdx + 1 }}.</text>
<!-- <text class="square-border">{{getConType(con.contentType)}}</text> -->
@@ -380,7 +424,8 @@
<!--弹出窗口-->
<!--课程简介-->
<u-popup :show="summarylogShow" mode="right" @close="summaryCatalog" :safeAreaInsetTop="true" :closeable="true">
<view class="summary-log" :style="`width: ${treePopupWidth};padding-top: 20px;`" style="height: 100vh; overflow: auto;">
<view class="summary-log" :style="`width: ${treePopupWidth};padding-top: 20px;`"
style="height: 100vh; overflow: auto;">
<!-- <view class=""> -->
<view class="particulars">课程详情</view>
<view class="matter">
@@ -391,7 +436,8 @@
</view>
</u-popup>
<!-- 评分赞和踩 -->
<u-popup :show="scoreInfo.dlgShow" mode="center" :closeable="false" :closeOnClickOverlay="false" :round="14" @close="closeScore" @open="openScore">
<u-popup :show="scoreInfo.dlgShow" mode="center" :closeable="false" :closeOnClickOverlay="false" :round="14"
@close="closeScore" @open="openScore">
<view class="dlgscore">
<view class="dlgscore-top">
<view class="dlgscore-title">课程评价</view>
@@ -448,6 +494,7 @@
import studyUtil from '@/utils/study.js';
import {toScore, cutOrgNamePath, formatUserNumber} from '@/utils/tools.js';
import {mapGetters, mapActions} from 'vuex'
export default {
data() {
return {
@@ -619,7 +666,9 @@
this.appendStudyTime();//启动追加学习时长
},
convertTypeName(code) {
if(!code){return '';}
if (!code) {
return '';
}
return this.sysTypeMap.get(code);
},
clearTimeHandle() {
@@ -1045,7 +1094,8 @@
this.conLink.url = con.content;
this.conLink.openType = 1;
}
if (this.conLink.openType == 2) {
// todo: 暂时不知道这个 52 是干嘛的, 先写死吧
// if (this.conLink.openType == 2) {
//新的窗口直接打开
const url = this.conLink.url
@@ -1055,7 +1105,7 @@
} else {
location.href = url
}
}
// }
} else if (con.contentType == 10 || con.contentType == 20) {
if (con.content.startsWith('\{')) {
var d = JSON.parse(con.content)
@@ -1120,7 +1170,9 @@
//this.appendStudyTime();
//非视频音频的5秒后学习完成
if (con.contentType != 50) {
this.handleTimeout = setTimeout(function(){$this.saveStudyInfo();},5000);//5秒后记录学习完成
this.handleTimeout = setTimeout(function () {
$this.saveStudyInfo();
}, 5000);//5秒后记录学习完成
} else {
//scorm课件不记录完成情况由播放回调记录完成情况
//当前先保存学习记录,未学习状态
@@ -1292,7 +1344,9 @@
conType: this.courseInfo.type,
}
apiMessage.save(message).then(res => {
if(res.status!=200){ console.log('发送消息失败') }
if (res.status != 200) {
console.log('发送消息失败')
}
})
} else {
this.$refs.messager.show({message: '收藏失败', type: 'error'});
@@ -1385,7 +1439,9 @@
conType: this.courseInfo.type,
}
apiMessage.save(message).then(res => {
if(res.status!=200){ console.log('发送消息失败') }
if (res.status != 200) {
console.log('发送消息失败')
}
})
} else {
this.$refs.messager.show({message: '点赞失败,请稍后再试', type: 'success'});
@@ -1921,33 +1977,41 @@
padding: 3upx 20upx;
border-radius: 30upx;
}
.pinglun {
/deep/ .comments {
padding: 0;
.comments-top {
display: none;
}
}
/deep/ .interact-fixed {
.interact-bar {
padding-right: 40upx;
}
}
/deep/ .interact-bar {
padding-left: 0 !important;
}
/deep/ .field-right {
width: 0 !important;
}
/deep/ .interact-bar-item {
width: 100% !important;
.field {
width: 100% !important;
}
}
// /deep/ .interact-bar{
// // padding-left: 0;
// }
@@ -1958,17 +2022,21 @@
// margin-right: 60upx;
// }
}
body {
background-color: #fff;
}
.playbox {
//padding: 10upx;
background-color: #fff;
}
.contentbox {
padding: 34upx;
background-color: #fff;
}
.player-box {
position: absolute;
// top: 62px;
@@ -1984,17 +2052,20 @@
text-align: center;
padding: 20px;
box-sizing: border-box;
image {
width: 40px;
height: 40px;
margin: 0px 10px;
}
.player-praise {
margin-top: 5px;
display: flex;
// justify-items: center;
justify-content: center;
}
.player-rate {
margin-top: 20px;
text-align: center;
@@ -2002,24 +2073,29 @@
justify-content: center;
}
}
.tabrow {
display: flex;
border-bottom: 1px solid rgba(153, 153, 153, 0.14);
font-size: 28upx;
position: relative;
.tabrow-active {
font-size: 32upx;
color: #387DF7;
border-bottom: 4upx solid #007DFF;
}
.tabrow-item {
margin-right: 30upx;
line-height: 60upx;
font-weight: 600;
text {
padding-bottom: 10upx;
}
}
.player-box-tabrow {
position: absolute;
top: -20px;
@@ -2036,6 +2112,7 @@
// text-align: center;
padding: 20px;
box-sizing: border-box;
image {
width: 20px;
height: 20px;
@@ -2043,12 +2120,14 @@
margin-right: 4px;
// margin: 0px 10px;
}
.player-praise {
margin-top: 5px;
display: flex;
// justify-items: center;
justify-content: center;
}
.player-rate {
margin-top: 20px;
text-align: center;
@@ -2057,6 +2136,7 @@
}
}
}
.cinfo {
.cinfo-title {
min-height: 18upx;
@@ -2064,6 +2144,7 @@
font-size: 32upx;
padding: 28upx 0upx;
}
.cinfo-tag1 {
font-size: 22upx;
color: #528CEC;
@@ -2073,6 +2154,7 @@
margin-right: 12upx;
padding: 2upx 12upx;
}
.cinfo-tag2 {
font-size: 22upx;
color: #D98135;
@@ -2081,18 +2163,22 @@
margin-right: 12upx;
padding: 4upx 12upx;
}
.desrow {
display: flex;
justify-content: space-between;
padding: 26upx 0upx;
.desrow-name {
color: #333333;
font-size: 28upx;
}
.desrow-value {
color: #666666;
font-size: 28upx;
}
.score {
color: #FB7303;
margin-left: 10upx;
@@ -2100,10 +2186,12 @@
font-size: 32upx;
}
}
.cinfo-btns {
display: flex;
justify-content: center;
margin-top: 66upx;
.cinfo-btn {
flex: 1;
font-size: 28upx;
@@ -2112,14 +2200,18 @@
}
}
}
.citembox1 {
display: flex;
.citembox1-item {
width: 50%;
}
}
.citem {
margin: 10upx;
.citem-title {
color: #333333;
word-break: break-all;
@@ -2127,6 +2219,7 @@
display: -webkit-box;
overflow: hidden;
}
.citem-body {
background-color: #F7F8F9;
border-radius: 4upx;
@@ -2143,9 +2236,11 @@
}
}
.scroll-item {
// margin: 3px;
margin-right: 20upx;
.scroll-item-sec {
height: 20px;
// padding: 10upx;
@@ -2158,6 +2253,7 @@
-webkit-box-orient: vertical;
-webkit-line-clamp: 1
}
.scroll-item-con {
width: 220rpx;
display: inline-flex;
@@ -2166,6 +2262,7 @@
min-height: 100upx;
// line-height: 60rpx;
background-color: #f4f5f7;
.scroll-item-name {
width: 100%;
height: 76rpx;
@@ -2181,12 +2278,14 @@
font-size: 28upx;
// margin-bottom: 20upx;
}
.scroll-item-type {
font-size: 26upx;
display: flex;
justify-content: flex-start;
align-items: center;
line-height: 1;
.square-border {
margin-right: 20upx;
display: flex;
@@ -2194,9 +2293,11 @@
align-items: center;
border: 1px solid;
padding: 3px 5px;
.finish {
padding: 5upx;
}
.nostart {
padding: 5upx;
}
@@ -2204,30 +2305,37 @@
}
}
}
.box-studying {
//color:#FFB30F;
color: #387DF7;
border: 1upx solid rgba(56, 125, 247, 0.14);
}
.box-finish {
color: #3C7EFF;
}
.box-nostart {
color: #EE474A;
}
.color-studying {
// background: #FDF1D7;
//color: #FFB30F;
color: #387DF7;
}
.color-finish {
// background: #f3f9ff;
color: #666666;
}
.color-nostart {
// background: #ffe8e7;
color: #666666;
}
.status-tag {
height: 40upx;
width: 44px;
@@ -2238,18 +2346,22 @@
padding: 2upx 10upx;
border-radius: 14upx;
}
.tag-studying {
// color: #FFB30F;
color: #588AFC;
}
.tag-finish {
// color: #00aaff;
color: #08A890;
}
.tag-nostart {
// color: #ff0000;
color: #787878;
}
.text-ellipsis {
//display: inline-block;
max-width: 80%;
@@ -2257,6 +2369,7 @@
overflow: hidden;
text-overflow: ellipsis;
}
.player-controls-btn {
position: absolute;
right: 10px;
@@ -2267,9 +2380,11 @@
transition: color 0.3s;
height: 22px;
}
.btn-speed:hover .speed-control {
// visibility: visible;
}
.speed-control {
position: absolute;
top: 180px;
@@ -2277,6 +2392,7 @@
transition: visibility 0.3s;
transform: translate(-50%, -100%);
}
.speed-control .speed-control-list {
list-style: none;
color: #e5e5e5;
@@ -2289,28 +2405,34 @@
border-radius: 4px;
background: rgba(21, 21, 21, 0.8);
}
.speed-control .speed-control-list .li {
position: relative;
display: block;
height: 25px;
line-height: 25px;
}
.speed-control .speed-control-list .li:hover {
color: #fff;
background: rgba(99, 99, 99, 0.8);
}
.speed-control .speed-control-list .li.current {
color: var(--primaryColor);
}
.catalog {
background: #FFFFFF;
padding: 20upx;
.catalog-sec {
display: flex;
justify-content: space-between;
// border-bottom: 2upx solid #FAFAFA;
// padding:20upx;
line-height: 40upx;
.catalog-sec-name {
max-width: 90%;
font-weight: 600;
@@ -2319,9 +2441,11 @@
text-overflow: ellipsis;
}
}
.catalog-con:last-child {
border: none;
}
.catalog-con {
display: flex;
justify-content: space-between;
@@ -2329,6 +2453,7 @@
padding-right: 0;
border-bottom: 1px solid rgba(153, 153, 153, 0.08);
.square-border {
display: inline-block;
border: 1px solid;
@@ -2336,6 +2461,7 @@
font-size: 0.8em;
margin: 0upx 8upx;
}
.catalog-con-name {
padding-left: 0upx;
white-space: nowrap;
@@ -2344,32 +2470,38 @@
}
}
}
.dlgscore { //评分的样式
.dlgscore-top {
text-align: center;
padding: 50upx 100upx 0upx 100upx;
.dlgscore-title {
text-align: center;
font-size: 36upx;
}
.dlgscore-desc {
text-align: center;
color: #999999;
font-size: 24upx;
padding-top: 10upx;
}
.dlgscore-score {
padding-top: 40upx;
display: flex;
justify-content: center;
}
}
.dlgscore-btns {
margin-top: 60upx;
height: 100upx;
display: flex;
justify-content: center;
border-top: 1px solid rgba(153, 153, 153, 0.14);
.dlgscore-cancel {
text-align: center;
width: 49%;
@@ -2377,6 +2509,7 @@
line-height: 100upx;
color: #666666;
}
.dlgscore-submit {
text-align: center;
width: 50%;
@@ -2385,7 +2518,12 @@
}
}
}
.about-gongsi-info{overflow: hidden; position: relative;}
.about-gongsi-info {
overflow: hidden;
position: relative;
}
.about-gongsi-info::after {
content: '';
position: absolute;

View File

@@ -19,4 +19,4 @@
hm.src = "https://hm.baidu.com/hm.js?ea89f02dca369037a73c5e3907e2c14a";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();</script></head><body><div id=app></div><script src=/mobile/static/js/chunk-vendors.b01deae1.js></script><script src=/mobile/static/js/index.061101f6.js></script></body></html>
})();</script></head><body><div id=app></div><script src=/mobile/static/js/chunk-vendors.b01deae1.js></script><script src=/mobile/static/js/index.b1f4fbaa.js></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long